LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/ARM - ARMGenDAGISel.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 460 491 93.7 %
Date: 2018-05-20 00:06:23 Functions: 4 4 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* DAG Instruction Selector for the ARM target                                *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : // *** NOTE: This file is #included into the middle of the target
      10             : // *** instruction selector class.  These functions are really methods.
      11             : 
      12             : // If GET_DAGISEL_DECL is #defined with any value, only function
      13             : // declarations will be included when this file is included.
      14             : // If GET_DAGISEL_BODY is #defined, its value should be the name of
      15             : // the instruction selector class. Function bodies will be emitted
      16             : // and each function's name will be qualified with the name of the
      17             : // class.
      18             : //
      19             : // When neither of the GET_DAGISEL* macros is defined, the functions
      20             : // are emitted inline.
      21             : 
      22             : #if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
      23             : #error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
      24             : #endif
      25             : 
      26             : #ifdef GET_DAGISEL_BODY
      27             : #define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
      28             : #define LOCAL_DAGISEL_STRINGIZE_(X) #X
      29             : static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
      30             :    "GET_DAGISEL_BODY is empty: it should be defined with the class name");
      31             : #undef LOCAL_DAGISEL_STRINGIZE_
      32             : #undef LOCAL_DAGISEL_STRINGIZE
      33             : #endif
      34             : 
      35             : #if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
      36             : #define DAGISEL_INLINE 1
      37             : #else
      38             : #define DAGISEL_INLINE 0
      39             : #endif
      40             : 
      41             : #if !DAGISEL_INLINE
      42             : #define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
      43             : #else
      44             : #define DAGISEL_CLASS_COLONCOLON
      45             : #endif
      46             : 
      47             : #ifdef GET_DAGISEL_DECL
      48             : void SelectCode(SDNode *N);
      49             : #endif
      50             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
      51             : void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
      52             : {
      53             :   // Some target values are emitted as 2 bytes, TARGET_VAL handles
      54             :   // this.
      55             :   #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
      56             :   static const unsigned char MatcherTable[] = {
      57             : /*     0*/  OPC_SwitchOpcode /*180 cases */, 95|128,43/*5599*/, TARGET_VAL(ISD::OR),// ->5604
      58             : /*     5*/    OPC_Scope, 101|128,5/*741*/, /*->749*/ // 17 children in Scope
      59             : /*     8*/      OPC_MoveChild0,
      60             : /*     9*/      OPC_Scope, 74, /*->85*/ // 9 children in Scope
      61             : /*    11*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
      62             : /*    14*/        OPC_MoveChild0,
      63             : /*    15*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      64             : /*    18*/        OPC_RecordChild0, // #0 = $Rm
      65             : /*    19*/        OPC_CheckChild1Integer, 24, 
      66             : /*    21*/        OPC_CheckChild1Type, MVT::i32,
      67             : /*    23*/        OPC_MoveParent,
      68             : /*    24*/        OPC_CheckChild1Integer, 16, 
      69             : /*    26*/        OPC_CheckChild1Type, MVT::i32,
      70             : /*    28*/        OPC_MoveParent,
      71             : /*    29*/        OPC_MoveChild1,
      72             : /*    30*/        OPC_CheckAndImm, 127|128,1/*255*/, 
      73             : /*    33*/        OPC_MoveChild0,
      74             : /*    34*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
      75             : /*    37*/        OPC_CheckChild0Same, 0,
      76             : /*    39*/        OPC_CheckChild1Integer, 8, 
      77             : /*    41*/        OPC_CheckChild1Type, MVT::i32,
      78             : /*    43*/        OPC_MoveParent,
      79             : /*    44*/        OPC_MoveParent,
      80             : /*    45*/        OPC_CheckType, MVT::i32,
      81             : /*    47*/        OPC_Scope, 17, /*->66*/ // 2 children in Scope
      82             : /*    49*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
      83             : /*    51*/          OPC_EmitInteger, MVT::i32, 14, 
      84             : /*    54*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
      85             : /*    57*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::REVSH), 0,
      86             :                         MVT::i32, 3/*#Ops*/, 0, 1, 2, 
      87             :                     // Src: (or:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), 16:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 8:{ *:[i32] }), 255:{ *:[i32] })) - Complexity = 35
      88             :                     // Dst: (REVSH:{ *:[i32] } GPR:{ *:[i32] }:$Rm)
      89             : /*    66*/        /*Scope*/ 17, /*->84*/
      90             : /*    67*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
      91             : /*    69*/          OPC_EmitInteger, MVT::i32, 14, 
      92             : /*    72*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
      93             : /*    75*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2REVSH), 0,
      94             :                         MVT::i32, 3/*#Ops*/, 0, 1, 2, 
      95             :                     // Src: (or:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), 16:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 8:{ *:[i32] }), 255:{ *:[i32] })) - Complexity = 35
      96             :                     // Dst: (t2REVSH:{ *:[i32] } rGPR:{ *:[i32] }:$Rm)
      97             : /*    84*/        0, /*End of Scope*/
      98             : /*    85*/      /*Scope*/ 74, /*->160*/
      99             : /*    86*/        OPC_CheckAndImm, 127|128,1/*255*/, 
     100             : /*    89*/        OPC_MoveChild0,
     101             : /*    90*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     102             : /*    93*/        OPC_RecordChild0, // #0 = $Rm
     103             : /*    94*/        OPC_CheckChild1Integer, 8, 
     104             : /*    96*/        OPC_CheckChild1Type, MVT::i32,
     105             : /*    98*/        OPC_MoveParent,
     106             : /*    99*/        OPC_MoveParent,
     107             : /*   100*/        OPC_MoveChild1,
     108             : /*   101*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     109             : /*   104*/        OPC_MoveChild0,
     110             : /*   105*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     111             : /*   108*/        OPC_CheckChild0Same, 0,
     112             : /*   110*/        OPC_CheckChild1Integer, 24, 
     113             : /*   112*/        OPC_CheckChild1Type, MVT::i32,
     114             : /*   114*/        OPC_MoveParent,
     115             : /*   115*/        OPC_CheckChild1Integer, 16, 
     116             : /*   117*/        OPC_CheckChild1Type, MVT::i32,
     117             : /*   119*/        OPC_MoveParent,
     118             : /*   120*/        OPC_CheckType, MVT::i32,
     119             : /*   122*/        OPC_Scope, 17, /*->141*/ // 2 children in Scope
     120             : /*   124*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     121             : /*   126*/          OPC_EmitInteger, MVT::i32, 14, 
     122             : /*   129*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     123             : /*   132*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::REVSH), 0,
     124             :                         MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     125             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 8:{ *:[i32] }), 255:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), 16:{ *:[i32] })) - Complexity = 35
     126             :                     // Dst: (REVSH:{ *:[i32] } GPR:{ *:[i32] }:$Rm)
     127             : /*   141*/        /*Scope*/ 17, /*->159*/
     128             : /*   142*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     129             : /*   144*/          OPC_EmitInteger, MVT::i32, 14, 
     130             : /*   147*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     131             : /*   150*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2REVSH), 0,
     132             :                         MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     133             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 8:{ *:[i32] }), 255:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), 16:{ *:[i32] })) - Complexity = 35
     134             :                     // Dst: (t2REVSH:{ *:[i32] } rGPR:{ *:[i32] }:$Rm)
     135             : /*   159*/        0, /*End of Scope*/
     136             : /*   160*/      /*Scope*/ 53, /*->214*/
     137             : /*   161*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     138             : /*   165*/        OPC_RecordChild0, // #0 = $Rn
     139             : /*   166*/        OPC_MoveParent,
     140             : /*   167*/        OPC_MoveChild1,
     141             : /*   168*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     142             : /*   174*/        OPC_MoveChild0,
     143             : /*   175*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     144             : /*   178*/        OPC_RecordChild0, // #1 = $Rm
     145             : /*   179*/        OPC_RecordChild1, // #2 = $sh
     146             : /*   180*/        OPC_MoveChild1,
     147             : /*   181*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     148             : /*   184*/        OPC_CheckPredicate, 0, // Predicate_pkh_lsl_amt
     149             : /*   186*/        OPC_CheckType, MVT::i32,
     150             : /*   188*/        OPC_MoveParent,
     151             : /*   189*/        OPC_MoveParent,
     152             : /*   190*/        OPC_MoveParent,
     153             : /*   191*/        OPC_CheckType, MVT::i32,
     154             : /*   193*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     155             : /*   195*/        OPC_EmitConvertToTarget, 2,
     156             : /*   197*/        OPC_EmitInteger, MVT::i32, 14, 
     157             : /*   200*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     158             : /*   203*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
     159             :                       MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     160             :                   // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 65535:{ *:[i32] }), (and:{ *:[i32] } (shl:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_lsl_amt>>:$sh), 4294901760:{ *:[i32] })) - Complexity = 26
     161             :                   // Dst: (PKHBT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     162             : /*   214*/      /*Scope*/ 94, /*->309*/
     163             : /*   215*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     164             : /*   221*/        OPC_RecordChild0, // #0 = $Rn
     165             : /*   222*/        OPC_MoveParent,
     166             : /*   223*/        OPC_MoveChild1,
     167             : /*   224*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     168             : /*   228*/        OPC_MoveChild0,
     169             : /*   229*/        OPC_SwitchOpcode /*2 cases */, 36, TARGET_VAL(ISD::SRA),// ->269
     170             : /*   233*/          OPC_RecordChild0, // #1 = $Rm
     171             : /*   234*/          OPC_RecordChild1, // #2 = $sh
     172             : /*   235*/          OPC_MoveChild1,
     173             : /*   236*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     174             : /*   239*/          OPC_CheckPredicate, 1, // Predicate_pkh_asr_amt
     175             : /*   241*/          OPC_CheckType, MVT::i32,
     176             : /*   243*/          OPC_MoveParent,
     177             : /*   244*/          OPC_MoveParent,
     178             : /*   245*/          OPC_MoveParent,
     179             : /*   246*/          OPC_CheckType, MVT::i32,
     180             : /*   248*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     181             : /*   250*/          OPC_EmitConvertToTarget, 2,
     182             : /*   252*/          OPC_EmitInteger, MVT::i32, 14, 
     183             : /*   255*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     184             : /*   258*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     185             :                         MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     186             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 4294901760:{ *:[i32] }), (and:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_asr_amt>>:$sh), 65535:{ *:[i32] })) - Complexity = 26
     187             :                     // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     188             : /*   269*/        /*SwitchOpcode*/ 36, TARGET_VAL(ISD::SRL),// ->308
     189             : /*   272*/          OPC_RecordChild0, // #1 = $src2
     190             : /*   273*/          OPC_RecordChild1, // #2 = $sh
     191             : /*   274*/          OPC_MoveChild1,
     192             : /*   275*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     193             : /*   278*/          OPC_CheckPredicate, 2, // Predicate_imm1_15
     194             : /*   280*/          OPC_CheckType, MVT::i32,
     195             : /*   282*/          OPC_MoveParent,
     196             : /*   283*/          OPC_MoveParent,
     197             : /*   284*/          OPC_MoveParent,
     198             : /*   285*/          OPC_CheckType, MVT::i32,
     199             : /*   287*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     200             : /*   289*/          OPC_EmitConvertToTarget, 2,
     201             : /*   291*/          OPC_EmitInteger, MVT::i32, 14, 
     202             : /*   294*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     203             : /*   297*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     204             :                         MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     205             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, 4294901760:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh), 65535:{ *:[i32] })) - Complexity = 26
     206             :                     // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh)
     207             : /*   308*/        0, // EndSwitchOpcode
     208             : /*   309*/      /*Scope*/ 53, /*->363*/
     209             : /*   310*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     210             : /*   314*/        OPC_RecordChild0, // #0 = $Rn
     211             : /*   315*/        OPC_MoveParent,
     212             : /*   316*/        OPC_MoveChild1,
     213             : /*   317*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     214             : /*   323*/        OPC_MoveChild0,
     215             : /*   324*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     216             : /*   327*/        OPC_RecordChild0, // #1 = $Rm
     217             : /*   328*/        OPC_RecordChild1, // #2 = $sh
     218             : /*   329*/        OPC_MoveChild1,
     219             : /*   330*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     220             : /*   333*/        OPC_CheckPredicate, 0, // Predicate_pkh_lsl_amt
     221             : /*   335*/        OPC_CheckType, MVT::i32,
     222             : /*   337*/        OPC_MoveParent,
     223             : /*   338*/        OPC_MoveParent,
     224             : /*   339*/        OPC_MoveParent,
     225             : /*   340*/        OPC_CheckType, MVT::i32,
     226             : /*   342*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     227             : /*   344*/        OPC_EmitConvertToTarget, 2,
     228             : /*   346*/        OPC_EmitInteger, MVT::i32, 14, 
     229             : /*   349*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     230             : /*   352*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
     231             :                       MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     232             :                   // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 65535:{ *:[i32] }), (and:{ *:[i32] } (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_lsl_amt>>:$sh), 4294901760:{ *:[i32] })) - Complexity = 26
     233             :                   // Dst: (t2PKHBT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     234             : /*   363*/      /*Scope*/ 17|128,1/*145*/, /*->510*/
     235             : /*   365*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     236             : /*   371*/        OPC_Scope, 88, /*->461*/ // 2 children in Scope
     237             : /*   373*/          OPC_RecordChild0, // #0 = $Rn
     238             : /*   374*/          OPC_MoveParent,
     239             : /*   375*/          OPC_MoveChild1,
     240             : /*   376*/          OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     241             : /*   380*/          OPC_MoveChild0,
     242             : /*   381*/          OPC_SwitchOpcode /*2 cases */, 36, TARGET_VAL(ISD::SRA),// ->421
     243             : /*   385*/            OPC_RecordChild0, // #1 = $Rm
     244             : /*   386*/            OPC_RecordChild1, // #2 = $sh
     245             : /*   387*/            OPC_MoveChild1,
     246             : /*   388*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     247             : /*   391*/            OPC_CheckPredicate, 1, // Predicate_pkh_asr_amt
     248             : /*   393*/            OPC_CheckType, MVT::i32,
     249             : /*   395*/            OPC_MoveParent,
     250             : /*   396*/            OPC_MoveParent,
     251             : /*   397*/            OPC_MoveParent,
     252             : /*   398*/            OPC_CheckType, MVT::i32,
     253             : /*   400*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     254             : /*   402*/            OPC_EmitConvertToTarget, 2,
     255             : /*   404*/            OPC_EmitInteger, MVT::i32, 14, 
     256             : /*   407*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     257             : /*   410*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     258             :                           MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     259             :                       // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 4294901760:{ *:[i32] }), (and:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_asr_amt>>:$sh), 65535:{ *:[i32] })) - Complexity = 26
     260             :                       // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     261             : /*   421*/          /*SwitchOpcode*/ 36, TARGET_VAL(ISD::SRL),// ->460
     262             : /*   424*/            OPC_RecordChild0, // #1 = $src2
     263             : /*   425*/            OPC_RecordChild1, // #2 = $sh
     264             : /*   426*/            OPC_MoveChild1,
     265             : /*   427*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     266             : /*   430*/            OPC_CheckPredicate, 2, // Predicate_imm1_15
     267             : /*   432*/            OPC_CheckType, MVT::i32,
     268             : /*   434*/            OPC_MoveParent,
     269             : /*   435*/            OPC_MoveParent,
     270             : /*   436*/            OPC_MoveParent,
     271             : /*   437*/            OPC_CheckType, MVT::i32,
     272             : /*   439*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     273             : /*   441*/            OPC_EmitConvertToTarget, 2,
     274             : /*   443*/            OPC_EmitInteger, MVT::i32, 14, 
     275             : /*   446*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     276             : /*   449*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     277             :                           MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     278             :                       // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 4294901760:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh), 65535:{ *:[i32] })) - Complexity = 26
     279             :                       // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh)
     280             : /*   460*/          0, // EndSwitchOpcode
     281             : /*   461*/        /*Scope*/ 47, /*->509*/
     282             : /*   462*/          OPC_MoveChild0,
     283             : /*   463*/          OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     284             : /*   466*/          OPC_RecordChild0, // #0 = $Rm
     285             : /*   467*/          OPC_RecordChild1, // #1 = $sh
     286             : /*   468*/          OPC_MoveChild1,
     287             : /*   469*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     288             : /*   472*/          OPC_CheckPredicate, 0, // Predicate_pkh_lsl_amt
     289             : /*   474*/          OPC_CheckType, MVT::i32,
     290             : /*   476*/          OPC_MoveParent,
     291             : /*   477*/          OPC_MoveParent,
     292             : /*   478*/          OPC_MoveParent,
     293             : /*   479*/          OPC_MoveChild1,
     294             : /*   480*/          OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     295             : /*   484*/          OPC_RecordChild0, // #2 = $Rn
     296             : /*   485*/          OPC_MoveParent,
     297             : /*   486*/          OPC_CheckType, MVT::i32,
     298             : /*   488*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     299             : /*   490*/          OPC_EmitConvertToTarget, 1,
     300             : /*   492*/          OPC_EmitInteger, MVT::i32, 14, 
     301             : /*   495*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     302             : /*   498*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
     303             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     304             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } (shl:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_lsl_amt>>:$sh), 4294901760:{ *:[i32] }), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 65535:{ *:[i32] })) - Complexity = 26
     305             :                     // Dst: (PKHBT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     306             : /*   509*/        0, /*End of Scope*/
     307             : /*   510*/      /*Scope*/ 53, /*->564*/
     308             : /*   511*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     309             : /*   515*/        OPC_MoveChild0,
     310             : /*   516*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     311             : /*   519*/        OPC_RecordChild0, // #0 = $Rm
     312             : /*   520*/        OPC_RecordChild1, // #1 = $sh
     313             : /*   521*/        OPC_MoveChild1,
     314             : /*   522*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     315             : /*   525*/        OPC_CheckPredicate, 1, // Predicate_pkh_asr_amt
     316             : /*   527*/        OPC_CheckType, MVT::i32,
     317             : /*   529*/        OPC_MoveParent,
     318             : /*   530*/        OPC_MoveParent,
     319             : /*   531*/        OPC_MoveParent,
     320             : /*   532*/        OPC_MoveChild1,
     321             : /*   533*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     322             : /*   539*/        OPC_RecordChild0, // #2 = $Rn
     323             : /*   540*/        OPC_MoveParent,
     324             : /*   541*/        OPC_CheckType, MVT::i32,
     325             : /*   543*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     326             : /*   545*/        OPC_EmitConvertToTarget, 1,
     327             : /*   547*/        OPC_EmitInteger, MVT::i32, 14, 
     328             : /*   550*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     329             : /*   553*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     330             :                       MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     331             :                   // Src: (or:{ *:[i32] } (and:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_asr_amt>>:$sh), 65535:{ *:[i32] }), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 4294901760:{ *:[i32] })) - Complexity = 26
     332             :                   // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     333             : /*   564*/      /*Scope*/ 53, /*->618*/
     334             : /*   565*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     335             : /*   571*/        OPC_MoveChild0,
     336             : /*   572*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     337             : /*   575*/        OPC_RecordChild0, // #0 = $Rm
     338             : /*   576*/        OPC_RecordChild1, // #1 = $sh
     339             : /*   577*/        OPC_MoveChild1,
     340             : /*   578*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     341             : /*   581*/        OPC_CheckPredicate, 0, // Predicate_pkh_lsl_amt
     342             : /*   583*/        OPC_CheckType, MVT::i32,
     343             : /*   585*/        OPC_MoveParent,
     344             : /*   586*/        OPC_MoveParent,
     345             : /*   587*/        OPC_MoveParent,
     346             : /*   588*/        OPC_MoveChild1,
     347             : /*   589*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     348             : /*   593*/        OPC_RecordChild0, // #2 = $Rn
     349             : /*   594*/        OPC_MoveParent,
     350             : /*   595*/        OPC_CheckType, MVT::i32,
     351             : /*   597*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     352             : /*   599*/        OPC_EmitConvertToTarget, 1,
     353             : /*   601*/        OPC_EmitInteger, MVT::i32, 14, 
     354             : /*   604*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     355             : /*   607*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
     356             :                       MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     357             :                   // Src: (or:{ *:[i32] } (and:{ *:[i32] } (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_lsl_amt>>:$sh), 4294901760:{ *:[i32] }), (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 65535:{ *:[i32] })) - Complexity = 26
     358             :                   // Dst: (t2PKHBT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     359             : /*   618*/      /*Scope*/ 0|128,1/*128*/, /*->748*/
     360             : /*   620*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     361             : /*   624*/        OPC_MoveChild0,
     362             : /*   625*/        OPC_SwitchOpcode /*2 cases */, 45, TARGET_VAL(ISD::SRA),// ->674
     363             : /*   629*/          OPC_RecordChild0, // #0 = $Rm
     364             : /*   630*/          OPC_RecordChild1, // #1 = $sh
     365             : /*   631*/          OPC_MoveChild1,
     366             : /*   632*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     367             : /*   635*/          OPC_CheckPredicate, 1, // Predicate_pkh_asr_amt
     368             : /*   637*/          OPC_CheckType, MVT::i32,
     369             : /*   639*/          OPC_MoveParent,
     370             : /*   640*/          OPC_MoveParent,
     371             : /*   641*/          OPC_MoveParent,
     372             : /*   642*/          OPC_MoveChild1,
     373             : /*   643*/          OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     374             : /*   649*/          OPC_RecordChild0, // #2 = $Rn
     375             : /*   650*/          OPC_MoveParent,
     376             : /*   651*/          OPC_CheckType, MVT::i32,
     377             : /*   653*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     378             : /*   655*/          OPC_EmitConvertToTarget, 1,
     379             : /*   657*/          OPC_EmitInteger, MVT::i32, 14, 
     380             : /*   660*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     381             : /*   663*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     382             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     383             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_pkh_asr_amt>>:$sh), 65535:{ *:[i32] }), (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 4294901760:{ *:[i32] })) - Complexity = 26
     384             :                     // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$sh)
     385             : /*   674*/        /*SwitchOpcode*/ 70, TARGET_VAL(ISD::SRL),// ->747
     386             : /*   677*/          OPC_RecordChild0, // #0 = $src2
     387             : /*   678*/          OPC_RecordChild1, // #1 = $sh
     388             : /*   679*/          OPC_MoveChild1,
     389             : /*   680*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     390             : /*   683*/          OPC_CheckPredicate, 2, // Predicate_imm1_15
     391             : /*   685*/          OPC_CheckType, MVT::i32,
     392             : /*   687*/          OPC_MoveParent,
     393             : /*   688*/          OPC_MoveParent,
     394             : /*   689*/          OPC_MoveParent,
     395             : /*   690*/          OPC_MoveChild1,
     396             : /*   691*/          OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     397             : /*   697*/          OPC_RecordChild0, // #2 = $src1
     398             : /*   698*/          OPC_MoveParent,
     399             : /*   699*/          OPC_CheckType, MVT::i32,
     400             : /*   701*/          OPC_Scope, 21, /*->724*/ // 2 children in Scope
     401             : /*   703*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     402             : /*   705*/            OPC_EmitConvertToTarget, 1,
     403             : /*   707*/            OPC_EmitInteger, MVT::i32, 14, 
     404             : /*   710*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     405             : /*   713*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     406             :                           MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     407             :                       // Src: (or:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh), 65535:{ *:[i32] }), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, 4294901760:{ *:[i32] })) - Complexity = 26
     408             :                       // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh)
     409             : /*   724*/          /*Scope*/ 21, /*->746*/
     410             : /*   725*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     411             : /*   727*/            OPC_EmitConvertToTarget, 1,
     412             : /*   729*/            OPC_EmitInteger, MVT::i32, 14, 
     413             : /*   732*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     414             : /*   735*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     415             :                           MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     416             :                       // Src: (or:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh), 65535:{ *:[i32] }), (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 4294901760:{ *:[i32] })) - Complexity = 26
     417             :                       // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm1_15>>:$sh)
     418             : /*   746*/          0, /*End of Scope*/
     419             : /*   747*/        0, // EndSwitchOpcode
     420             : /*   748*/      0, /*End of Scope*/
     421             : /*   749*/    /*Scope*/ 46, /*->796*/
     422             : /*   750*/      OPC_RecordChild0, // #0 = $Rn
     423             : /*   751*/      OPC_MoveChild1,
     424             : /*   752*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     425             : /*   755*/      OPC_RecordChild0, // #1 = $ShiftedRm
     426             : /*   756*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     427             : /*   767*/      OPC_MoveParent,
     428             : /*   768*/      OPC_CheckType, MVT::i32,
     429             : /*   770*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     430             : /*   772*/      OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
     431             : /*   775*/      OPC_EmitInteger, MVT::i32, 14, 
     432             : /*   778*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     433             : /*   781*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     434             : /*   784*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrs), 0,
     435             :                     MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
     436             :                 // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, -1:{ *:[i32] })) - Complexity = 20
     437             :                 // Dst: (t2ORNrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
     438             : /*   796*/    /*Scope*/ 66|128,5/*706*/, /*->1504*/
     439             : /*   798*/      OPC_MoveChild0,
     440             : /*   799*/      OPC_Scope, 45, /*->846*/ // 11 children in Scope
     441             : /*   801*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     442             : /*   804*/        OPC_RecordChild0, // #0 = $ShiftedRm
     443             : /*   805*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     444             : /*   816*/        OPC_MoveParent,
     445             : /*   817*/        OPC_RecordChild1, // #1 = $Rn
     446             : /*   818*/        OPC_CheckType, MVT::i32,
     447             : /*   820*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     448             : /*   822*/        OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
     449             : /*   825*/        OPC_EmitInteger, MVT::i32, 14, 
     450             : /*   828*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     451             : /*   831*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     452             : /*   834*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrs), 0,
     453             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
     454             :                   // Src: (or:{ *:[i32] } (xor:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 20
     455             :                   // Dst: (t2ORNrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
     456             : /*   846*/      /*Scope*/ 65, /*->912*/
     457             : /*   847*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     458             : /*   851*/        OPC_RecordChild0, // #0 = $Rn
     459             : /*   852*/        OPC_MoveParent,
     460             : /*   853*/        OPC_MoveChild1,
     461             : /*   854*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     462             : /*   860*/        OPC_RecordChild0, // #1 = $Rm
     463             : /*   861*/        OPC_MoveParent,
     464             : /*   862*/        OPC_CheckType, MVT::i32,
     465             : /*   864*/        OPC_Scope, 22, /*->888*/ // 2 children in Scope
     466             : /*   866*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     467             : /*   868*/          OPC_EmitInteger, MVT::i32, 0, 
     468             : /*   871*/          OPC_EmitInteger, MVT::i32, 14, 
     469             : /*   874*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     470             : /*   877*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
     471             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
     472             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 65535:{ *:[i32] }), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 4294901760:{ *:[i32] })) - Complexity = 19
     473             :                     // Dst: (PKHBT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
     474             : /*   888*/        /*Scope*/ 22, /*->911*/
     475             : /*   889*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     476             : /*   891*/          OPC_EmitInteger, MVT::i32, 0, 
     477             : /*   894*/          OPC_EmitInteger, MVT::i32, 14, 
     478             : /*   897*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     479             : /*   900*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
     480             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
     481             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 65535:{ *:[i32] }), (and:{ *:[i32] } rGPR:{ *:[i32] }:$src2, 4294901760:{ *:[i32] })) - Complexity = 19
     482             :                     // Dst: (t2PKHBT:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, 0:{ *:[i32] })
     483             : /*   911*/        0, /*End of Scope*/
     484             : /*   912*/      /*Scope*/ 65, /*->978*/
     485             : /*   913*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     486             : /*   919*/        OPC_RecordChild0, // #0 = $Rm
     487             : /*   920*/        OPC_MoveParent,
     488             : /*   921*/        OPC_MoveChild1,
     489             : /*   922*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     490             : /*   926*/        OPC_RecordChild0, // #1 = $Rn
     491             : /*   927*/        OPC_MoveParent,
     492             : /*   928*/        OPC_CheckType, MVT::i32,
     493             : /*   930*/        OPC_Scope, 22, /*->954*/ // 2 children in Scope
     494             : /*   932*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     495             : /*   934*/          OPC_EmitInteger, MVT::i32, 0, 
     496             : /*   937*/          OPC_EmitInteger, MVT::i32, 14, 
     497             : /*   940*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     498             : /*   943*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
     499             :                         MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
     500             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 4294901760:{ *:[i32] }), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 65535:{ *:[i32] })) - Complexity = 19
     501             :                     // Dst: (PKHBT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
     502             : /*   954*/        /*Scope*/ 22, /*->977*/
     503             : /*   955*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     504             : /*   957*/          OPC_EmitInteger, MVT::i32, 0, 
     505             : /*   960*/          OPC_EmitInteger, MVT::i32, 14, 
     506             : /*   963*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     507             : /*   966*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
     508             :                         MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
     509             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$src2, 4294901760:{ *:[i32] }), (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 65535:{ *:[i32] })) - Complexity = 19
     510             :                     // Dst: (t2PKHBT:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, 0:{ *:[i32] })
     511             : /*   977*/        0, /*End of Scope*/
     512             : /*   978*/      /*Scope*/ 45, /*->1024*/
     513             : /*   979*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     514             : /*   983*/        OPC_RecordChild0, // #0 = $Rn
     515             : /*   984*/        OPC_MoveParent,
     516             : /*   985*/        OPC_MoveChild1,
     517             : /*   986*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     518             : /*   989*/        OPC_RecordChild0, // #1 = $Rm
     519             : /*   990*/        OPC_RecordChild1, // #2 = $sh
     520             : /*   991*/        OPC_MoveChild1,
     521             : /*   992*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     522             : /*   995*/        OPC_CheckPredicate, 3, // Predicate_imm16_31
     523             : /*   997*/        OPC_CheckType, MVT::i32,
     524             : /*   999*/        OPC_MoveParent,
     525             : /*  1000*/        OPC_MoveParent,
     526             : /*  1001*/        OPC_CheckType, MVT::i32,
     527             : /*  1003*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     528             : /*  1005*/        OPC_EmitConvertToTarget, 2,
     529             : /*  1007*/        OPC_EmitInteger, MVT::i32, 14, 
     530             : /*  1010*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     531             : /*  1013*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
     532             :                       MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     533             :                   // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 65535:{ *:[i32] }), (shl:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)) - Complexity = 18
     534             :                   // Dst: (PKHBT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     535             : /*  1024*/      /*Scope*/ 87, /*->1112*/
     536             : /*  1025*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     537             : /*  1031*/        OPC_RecordChild0, // #0 = $src1
     538             : /*  1032*/        OPC_MoveParent,
     539             : /*  1033*/        OPC_MoveChild1,
     540             : /*  1034*/        OPC_SwitchOpcode /*2 cases */, 35, TARGET_VAL(ISD::SRL),// ->1073
     541             : /*  1038*/          OPC_RecordChild0, // #1 = $src2
     542             : /*  1039*/          OPC_RecordChild1, // #2 = $sh
     543             : /*  1040*/          OPC_MoveChild1,
     544             : /*  1041*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     545             : /*  1044*/          OPC_CheckPredicate, 4, // Predicate_imm16
     546             : /*  1046*/          OPC_CheckType, MVT::i32,
     547             : /*  1048*/          OPC_MoveParent,
     548             : /*  1049*/          OPC_MoveParent,
     549             : /*  1050*/          OPC_CheckType, MVT::i32,
     550             : /*  1052*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     551             : /*  1054*/          OPC_EmitConvertToTarget, 2,
     552             : /*  1056*/          OPC_EmitInteger, MVT::i32, 14, 
     553             : /*  1059*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     554             : /*  1062*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     555             :                         MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     556             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, 4294901760:{ *:[i32] }), (srl:{ *:[i32] } GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh)) - Complexity = 18
     557             :                     // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh)
     558             : /*  1073*/        /*SwitchOpcode*/ 35, TARGET_VAL(ISD::SRA),// ->1111
     559             : /*  1076*/          OPC_RecordChild0, // #1 = $src2
     560             : /*  1077*/          OPC_RecordChild1, // #2 = $sh
     561             : /*  1078*/          OPC_MoveChild1,
     562             : /*  1079*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     563             : /*  1082*/          OPC_CheckPredicate, 3, // Predicate_imm16_31
     564             : /*  1084*/          OPC_CheckType, MVT::i32,
     565             : /*  1086*/          OPC_MoveParent,
     566             : /*  1087*/          OPC_MoveParent,
     567             : /*  1088*/          OPC_CheckType, MVT::i32,
     568             : /*  1090*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     569             : /*  1092*/          OPC_EmitConvertToTarget, 2,
     570             : /*  1094*/          OPC_EmitInteger, MVT::i32, 14, 
     571             : /*  1097*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     572             : /*  1100*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     573             :                         MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     574             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, 4294901760:{ *:[i32] }), (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)) - Complexity = 18
     575             :                     // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     576             : /*  1111*/        0, // EndSwitchOpcode
     577             : /*  1112*/      /*Scope*/ 45, /*->1158*/
     578             : /*  1113*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     579             : /*  1117*/        OPC_RecordChild0, // #0 = $src1
     580             : /*  1118*/        OPC_MoveParent,
     581             : /*  1119*/        OPC_MoveChild1,
     582             : /*  1120*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     583             : /*  1123*/        OPC_RecordChild0, // #1 = $src2
     584             : /*  1124*/        OPC_RecordChild1, // #2 = $sh
     585             : /*  1125*/        OPC_MoveChild1,
     586             : /*  1126*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     587             : /*  1129*/        OPC_CheckPredicate, 3, // Predicate_imm16_31
     588             : /*  1131*/        OPC_CheckType, MVT::i32,
     589             : /*  1133*/        OPC_MoveParent,
     590             : /*  1134*/        OPC_MoveParent,
     591             : /*  1135*/        OPC_CheckType, MVT::i32,
     592             : /*  1137*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     593             : /*  1139*/        OPC_EmitConvertToTarget, 2,
     594             : /*  1141*/        OPC_EmitInteger, MVT::i32, 14, 
     595             : /*  1144*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     596             : /*  1147*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
     597             :                       MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     598             :                   // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 65535:{ *:[i32] }), (shl:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)) - Complexity = 18
     599             :                   // Dst: (t2PKHBT:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     600             : /*  1158*/      /*Scope*/ 87, /*->1246*/
     601             : /*  1159*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     602             : /*  1165*/        OPC_RecordChild0, // #0 = $src1
     603             : /*  1166*/        OPC_MoveParent,
     604             : /*  1167*/        OPC_MoveChild1,
     605             : /*  1168*/        OPC_SwitchOpcode /*2 cases */, 35, TARGET_VAL(ISD::SRL),// ->1207
     606             : /*  1172*/          OPC_RecordChild0, // #1 = $src2
     607             : /*  1173*/          OPC_RecordChild1, // #2 = $sh
     608             : /*  1174*/          OPC_MoveChild1,
     609             : /*  1175*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     610             : /*  1178*/          OPC_CheckPredicate, 4, // Predicate_imm16
     611             : /*  1180*/          OPC_CheckType, MVT::i32,
     612             : /*  1182*/          OPC_MoveParent,
     613             : /*  1183*/          OPC_MoveParent,
     614             : /*  1184*/          OPC_CheckType, MVT::i32,
     615             : /*  1186*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     616             : /*  1188*/          OPC_EmitConvertToTarget, 2,
     617             : /*  1190*/          OPC_EmitInteger, MVT::i32, 14, 
     618             : /*  1193*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     619             : /*  1196*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     620             :                         MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     621             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 4294901760:{ *:[i32] }), (srl:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh)) - Complexity = 18
     622             :                     // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh)
     623             : /*  1207*/        /*SwitchOpcode*/ 35, TARGET_VAL(ISD::SRA),// ->1245
     624             : /*  1210*/          OPC_RecordChild0, // #1 = $src2
     625             : /*  1211*/          OPC_RecordChild1, // #2 = $sh
     626             : /*  1212*/          OPC_MoveChild1,
     627             : /*  1213*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     628             : /*  1216*/          OPC_CheckPredicate, 3, // Predicate_imm16_31
     629             : /*  1218*/          OPC_CheckType, MVT::i32,
     630             : /*  1220*/          OPC_MoveParent,
     631             : /*  1221*/          OPC_MoveParent,
     632             : /*  1222*/          OPC_CheckType, MVT::i32,
     633             : /*  1224*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     634             : /*  1226*/          OPC_EmitConvertToTarget, 2,
     635             : /*  1228*/          OPC_EmitInteger, MVT::i32, 14, 
     636             : /*  1231*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     637             : /*  1234*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     638             :                         MVT::i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
     639             :                     // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 4294901760:{ *:[i32] }), (sra:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)) - Complexity = 18
     640             :                     // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     641             : /*  1245*/        0, // EndSwitchOpcode
     642             : /*  1246*/      /*Scope*/ 70, /*->1317*/
     643             : /*  1247*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     644             : /*  1250*/        OPC_RecordChild0, // #0 = $Rm
     645             : /*  1251*/        OPC_RecordChild1, // #1 = $sh
     646             : /*  1252*/        OPC_MoveChild1,
     647             : /*  1253*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     648             : /*  1256*/        OPC_CheckPredicate, 3, // Predicate_imm16_31
     649             : /*  1258*/        OPC_CheckType, MVT::i32,
     650             : /*  1260*/        OPC_MoveParent,
     651             : /*  1261*/        OPC_MoveParent,
     652             : /*  1262*/        OPC_MoveChild1,
     653             : /*  1263*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     654             : /*  1267*/        OPC_RecordChild0, // #2 = $Rn
     655             : /*  1268*/        OPC_MoveParent,
     656             : /*  1269*/        OPC_CheckType, MVT::i32,
     657             : /*  1271*/        OPC_Scope, 21, /*->1294*/ // 2 children in Scope
     658             : /*  1273*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     659             : /*  1275*/          OPC_EmitConvertToTarget, 1,
     660             : /*  1277*/          OPC_EmitInteger, MVT::i32, 14, 
     661             : /*  1280*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     662             : /*  1283*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
     663             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     664             :                     // Src: (or:{ *:[i32] } (shl:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 65535:{ *:[i32] })) - Complexity = 18
     665             :                     // Dst: (PKHBT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     666             : /*  1294*/        /*Scope*/ 21, /*->1316*/
     667             : /*  1295*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     668             : /*  1297*/          OPC_EmitConvertToTarget, 1,
     669             : /*  1299*/          OPC_EmitInteger, MVT::i32, 14, 
     670             : /*  1302*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     671             : /*  1305*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
     672             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     673             :                     // Src: (or:{ *:[i32] } (shl:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh), (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 65535:{ *:[i32] })) - Complexity = 18
     674             :                     // Dst: (t2PKHBT:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     675             : /*  1316*/        0, /*End of Scope*/
     676             : /*  1317*/      /*Scope*/ 72, /*->1390*/
     677             : /*  1318*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     678             : /*  1321*/        OPC_RecordChild0, // #0 = $src2
     679             : /*  1322*/        OPC_RecordChild1, // #1 = $sh
     680             : /*  1323*/        OPC_MoveChild1,
     681             : /*  1324*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     682             : /*  1327*/        OPC_CheckPredicate, 4, // Predicate_imm16
     683             : /*  1329*/        OPC_CheckType, MVT::i32,
     684             : /*  1331*/        OPC_MoveParent,
     685             : /*  1332*/        OPC_MoveParent,
     686             : /*  1333*/        OPC_MoveChild1,
     687             : /*  1334*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     688             : /*  1340*/        OPC_RecordChild0, // #2 = $src1
     689             : /*  1341*/        OPC_MoveParent,
     690             : /*  1342*/        OPC_CheckType, MVT::i32,
     691             : /*  1344*/        OPC_Scope, 21, /*->1367*/ // 2 children in Scope
     692             : /*  1346*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     693             : /*  1348*/          OPC_EmitConvertToTarget, 1,
     694             : /*  1350*/          OPC_EmitInteger, MVT::i32, 14, 
     695             : /*  1353*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     696             : /*  1356*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     697             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     698             :                     // Src: (or:{ *:[i32] } (srl:{ *:[i32] } GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, 4294901760:{ *:[i32] })) - Complexity = 18
     699             :                     // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh)
     700             : /*  1367*/        /*Scope*/ 21, /*->1389*/
     701             : /*  1368*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     702             : /*  1370*/          OPC_EmitConvertToTarget, 1,
     703             : /*  1372*/          OPC_EmitInteger, MVT::i32, 14, 
     704             : /*  1375*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     705             : /*  1378*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     706             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     707             :                     // Src: (or:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh), (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 4294901760:{ *:[i32] })) - Complexity = 18
     708             :                     // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16>>:$sh)
     709             : /*  1389*/        0, /*End of Scope*/
     710             : /*  1390*/      /*Scope*/ 72, /*->1463*/
     711             : /*  1391*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     712             : /*  1394*/        OPC_RecordChild0, // #0 = $src2
     713             : /*  1395*/        OPC_RecordChild1, // #1 = $sh
     714             : /*  1396*/        OPC_MoveChild1,
     715             : /*  1397*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     716             : /*  1400*/        OPC_CheckPredicate, 3, // Predicate_imm16_31
     717             : /*  1402*/        OPC_CheckType, MVT::i32,
     718             : /*  1404*/        OPC_MoveParent,
     719             : /*  1405*/        OPC_MoveParent,
     720             : /*  1406*/        OPC_MoveChild1,
     721             : /*  1407*/        OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     722             : /*  1413*/        OPC_RecordChild0, // #2 = $src1
     723             : /*  1414*/        OPC_MoveParent,
     724             : /*  1415*/        OPC_CheckType, MVT::i32,
     725             : /*  1417*/        OPC_Scope, 21, /*->1440*/ // 2 children in Scope
     726             : /*  1419*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
     727             : /*  1421*/          OPC_EmitConvertToTarget, 1,
     728             : /*  1423*/          OPC_EmitInteger, MVT::i32, 14, 
     729             : /*  1426*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     730             : /*  1429*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
     731             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     732             :                     // Src: (or:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh), (and:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, 4294901760:{ *:[i32] })) - Complexity = 18
     733             :                     // Dst: (PKHTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$src1, GPRnopc:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     734             : /*  1440*/        /*Scope*/ 21, /*->1462*/
     735             : /*  1441*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
     736             : /*  1443*/          OPC_EmitConvertToTarget, 1,
     737             : /*  1445*/          OPC_EmitInteger, MVT::i32, 14, 
     738             : /*  1448*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     739             : /*  1451*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
     740             :                         MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
     741             :                     // Src: (or:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh), (and:{ *:[i32] } rGPR:{ *:[i32] }:$src1, 4294901760:{ *:[i32] })) - Complexity = 18
     742             :                     // Dst: (t2PKHTB:{ *:[i32] } rGPR:{ *:[i32] }:$src1, rGPR:{ *:[i32] }:$src2, (imm:{ *:[i32] })<<P:Predicate_imm16_31>>:$sh)
     743             : /*  1462*/        0, /*End of Scope*/
     744             : /*  1463*/      /*Scope*/ 39, /*->1503*/
     745             : /*  1464*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     746             : /*  1468*/        OPC_RecordChild0, // #0 = $src
     747             : /*  1469*/        OPC_MoveParent,
     748             : /*  1470*/        OPC_RecordChild1, // #1 = $imm
     749             : /*  1471*/        OPC_MoveChild1,
     750             : /*  1472*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     751             : /*  1475*/        OPC_CheckPredicate, 5, // Predicate_lo16AllZero
     752             : /*  1477*/        OPC_MoveParent,
     753             : /*  1478*/        OPC_CheckType, MVT::i32,
     754             : /*  1480*/        OPC_CheckPatternPredicate, 3, // (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb())
     755             : /*  1482*/        OPC_EmitConvertToTarget, 1,
     756             : /*  1484*/        OPC_EmitNodeXForm, 0, 2, // hi16
     757             : /*  1487*/        OPC_EmitInteger, MVT::i32, 14, 
     758             : /*  1490*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     759             : /*  1493*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVTi16), 0,
     760             :                       MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
     761             :                   // Src: (or:{ *:[i32] } (and:{ *:[i32] } GPR:{ *:[i32] }:$src, 65535:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_lo16AllZero>><<X:hi16>>:$imm) - Complexity = 15
     762             :                   // Dst: (MOVTi16:{ *:[i32] } GPR:{ *:[i32] }:$src, (hi16:{ *:[i32] } (imm:{ *:[i32] }):$imm))
     763             : /*  1503*/      0, /*End of Scope*/
     764             : /*  1504*/    /*Scope*/ 31, /*->1536*/
     765             : /*  1505*/      OPC_RecordChild0, // #0 = $Rn
     766             : /*  1506*/      OPC_RecordChild1, // #1 = $shift
     767             : /*  1507*/      OPC_CheckType, MVT::i32,
     768             : /*  1509*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
     769             : /*  1511*/      OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectRegShifterOperand:$shift #2 #3 #4
     770             : /*  1514*/      OPC_EmitInteger, MVT::i32, 14, 
     771             : /*  1517*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     772             : /*  1520*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     773             : /*  1523*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsr), 0,
     774             :                     MVT::i32, 7/*#Ops*/, 0, 2, 3, 4, 5, 6, 7, 
     775             :                 // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift) - Complexity = 15
     776             :                 // Dst: (ORRrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
     777             : /*  1536*/    /*Scope*/ 40, /*->1577*/
     778             : /*  1537*/      OPC_MoveChild0,
     779             : /*  1538*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     780             : /*  1542*/      OPC_RecordChild0, // #0 = $src
     781             : /*  1543*/      OPC_MoveParent,
     782             : /*  1544*/      OPC_RecordChild1, // #1 = $imm
     783             : /*  1545*/      OPC_MoveChild1,
     784             : /*  1546*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     785             : /*  1549*/      OPC_CheckPredicate, 5, // Predicate_lo16AllZero
     786             : /*  1551*/      OPC_MoveParent,
     787             : /*  1552*/      OPC_CheckType, MVT::i32,
     788             : /*  1554*/      OPC_CheckPatternPredicate, 5, // (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb())
     789             : /*  1556*/      OPC_EmitConvertToTarget, 1,
     790             : /*  1558*/      OPC_EmitNodeXForm, 0, 2, // hi16
     791             : /*  1561*/      OPC_EmitInteger, MVT::i32, 14, 
     792             : /*  1564*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     793             : /*  1567*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVTi16), 0,
     794             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
     795             :                 // Src: (or:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$src, 65535:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_lo16AllZero>><<X:hi16>>:$imm) - Complexity = 15
     796             :                 // Dst: (t2MOVTi16:{ *:[i32] } rGPR:{ *:[i32] }:$src, (hi16:{ *:[i32] } (imm:{ *:[i32] }):$imm))
     797             : /*  1577*/    /*Scope*/ 8|128,1/*136*/, /*->1715*/
     798             : /*  1579*/      OPC_RecordChild0, // #0 = $Rn
     799             : /*  1580*/      OPC_Scope, 50, /*->1632*/ // 3 children in Scope
     800             : /*  1582*/        OPC_MoveChild1,
     801             : /*  1583*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     802             : /*  1586*/        OPC_RecordChild0, // #1 = $imm
     803             : /*  1587*/        OPC_MoveChild0,
     804             : /*  1588*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     805             : /*  1591*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
     806             : /*  1593*/        OPC_MoveParent,
     807             : /*  1594*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     808             : /*  1605*/        OPC_MoveParent,
     809             : /*  1606*/        OPC_CheckType, MVT::i32,
     810             : /*  1608*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     811             : /*  1610*/        OPC_EmitConvertToTarget, 1,
     812             : /*  1612*/        OPC_EmitInteger, MVT::i32, 14, 
     813             : /*  1615*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     814             : /*  1618*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     815             : /*  1621*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
     816             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
     817             :                   // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm, -1:{ *:[i32] })) - Complexity = 15
     818             :                   // Dst: (t2ORNri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
     819             : /*  1632*/      /*Scope*/ 30, /*->1663*/
     820             : /*  1633*/        OPC_RecordChild1, // #1 = $Rn
     821             : /*  1634*/        OPC_CheckType, MVT::i32,
     822             : /*  1636*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
     823             : /*  1638*/        OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectRegShifterOperand:$shift #2 #3 #4
     824             : /*  1641*/        OPC_EmitInteger, MVT::i32, 14, 
     825             : /*  1644*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     826             : /*  1647*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     827             : /*  1650*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsr), 0,
     828             :                       MVT::i32, 7/*#Ops*/, 1, 2, 3, 4, 5, 6, 7, 
     829             :                   // Src: (or:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 15
     830             :                   // Dst: (ORRrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
     831             : /*  1663*/      /*Scope*/ 50, /*->1714*/
     832             : /*  1664*/        OPC_MoveChild1,
     833             : /*  1665*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     834             : /*  1668*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     835             : /*  1679*/        OPC_RecordChild1, // #1 = $imm
     836             : /*  1680*/        OPC_MoveChild1,
     837             : /*  1681*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     838             : /*  1684*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
     839             : /*  1686*/        OPC_MoveParent,
     840             : /*  1687*/        OPC_MoveParent,
     841             : /*  1688*/        OPC_CheckType, MVT::i32,
     842             : /*  1690*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     843             : /*  1692*/        OPC_EmitConvertToTarget, 1,
     844             : /*  1694*/        OPC_EmitInteger, MVT::i32, 14, 
     845             : /*  1697*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     846             : /*  1700*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     847             : /*  1703*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
     848             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
     849             :                   // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm)) - Complexity = 15
     850             :                   // Dst: (t2ORNri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
     851             : /*  1714*/      0, /*End of Scope*/
     852             : /*  1715*/    /*Scope*/ 102, /*->1818*/
     853             : /*  1716*/      OPC_MoveChild0,
     854             : /*  1717*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     855             : /*  1720*/      OPC_Scope, 47, /*->1769*/ // 2 children in Scope
     856             : /*  1722*/        OPC_RecordChild0, // #0 = $imm
     857             : /*  1723*/        OPC_MoveChild0,
     858             : /*  1724*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     859             : /*  1727*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
     860             : /*  1729*/        OPC_MoveParent,
     861             : /*  1730*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     862             : /*  1741*/        OPC_MoveParent,
     863             : /*  1742*/        OPC_RecordChild1, // #1 = $Rn
     864             : /*  1743*/        OPC_CheckType, MVT::i32,
     865             : /*  1745*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     866             : /*  1747*/        OPC_EmitConvertToTarget, 0,
     867             : /*  1749*/        OPC_EmitInteger, MVT::i32, 14, 
     868             : /*  1752*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     869             : /*  1755*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     870             : /*  1758*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
     871             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
     872             :                   // Src: (or:{ *:[i32] } (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 15
     873             :                   // Dst: (t2ORNri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
     874             : /*  1769*/      /*Scope*/ 47, /*->1817*/
     875             : /*  1770*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     876             : /*  1781*/        OPC_RecordChild1, // #0 = $imm
     877             : /*  1782*/        OPC_MoveChild1,
     878             : /*  1783*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     879             : /*  1786*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
     880             : /*  1788*/        OPC_MoveParent,
     881             : /*  1789*/        OPC_MoveParent,
     882             : /*  1790*/        OPC_RecordChild1, // #1 = $Rn
     883             : /*  1791*/        OPC_CheckType, MVT::i32,
     884             : /*  1793*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     885             : /*  1795*/        OPC_EmitConvertToTarget, 0,
     886             : /*  1797*/        OPC_EmitInteger, MVT::i32, 14, 
     887             : /*  1800*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     888             : /*  1803*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     889             : /*  1806*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
     890             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
     891             :                   // Src: (or:{ *:[i32] } (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm), rGPR:{ *:[i32] }:$Rn) - Complexity = 15
     892             :                   // Dst: (t2ORNri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
     893             : /*  1817*/      0, /*End of Scope*/
     894             : /*  1818*/    /*Scope*/ 31|128,1/*159*/, /*->1979*/
     895             : /*  1820*/      OPC_RecordChild0, // #0 = $Rn
     896             : /*  1821*/      OPC_Scope, 113, /*->1936*/ // 2 children in Scope
     897             : /*  1823*/        OPC_RecordChild1, // #1 = $shift
     898             : /*  1824*/        OPC_CheckType, MVT::i32,
     899             : /*  1826*/        OPC_Scope, 26, /*->1854*/ // 4 children in Scope
     900             : /*  1828*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
     901             : /*  1830*/          OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
     902             : /*  1833*/          OPC_EmitInteger, MVT::i32, 14, 
     903             : /*  1836*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     904             : /*  1839*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     905             : /*  1842*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsi), 0,
     906             :                         MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
     907             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift) - Complexity = 12
     908             :                     // Dst: (ORRrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
     909             : /*  1854*/        /*Scope*/ 26, /*->1881*/
     910             : /*  1855*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     911             : /*  1857*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
     912             : /*  1860*/          OPC_EmitInteger, MVT::i32, 14, 
     913             : /*  1863*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     914             : /*  1866*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     915             : /*  1869*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrs), 0,
     916             :                         MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
     917             :                     // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm) - Complexity = 12
     918             :                     // Dst: (t2ORRrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
     919             : /*  1881*/        /*Scope*/ 26, /*->1908*/
     920             : /*  1882*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
     921             : /*  1884*/          OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
     922             : /*  1887*/          OPC_EmitInteger, MVT::i32, 14, 
     923             : /*  1890*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     924             : /*  1893*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     925             : /*  1896*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsi), 0,
     926             :                         MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
     927             :                     // Src: (or:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 12
     928             :                     // Dst: (ORRrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
     929             : /*  1908*/        /*Scope*/ 26, /*->1935*/
     930             : /*  1909*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     931             : /*  1911*/          OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
     932             : /*  1914*/          OPC_EmitInteger, MVT::i32, 14, 
     933             : /*  1917*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     934             : /*  1920*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     935             : /*  1923*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrs), 0,
     936             :                         MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
     937             :                     // Src: (or:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, rGPR:{ *:[i32] }:$Rn) - Complexity = 12
     938             :                     // Dst: (t2ORRrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
     939             : /*  1935*/        0, /*End of Scope*/
     940             : /*  1936*/      /*Scope*/ 41, /*->1978*/
     941             : /*  1937*/        OPC_MoveChild1,
     942             : /*  1938*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     943             : /*  1941*/        OPC_RecordChild0, // #1 = $Rm
     944             : /*  1942*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     945             : /*  1953*/        OPC_MoveParent,
     946             : /*  1954*/        OPC_CheckType, MVT::i32,
     947             : /*  1956*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     948             : /*  1958*/        OPC_EmitInteger, MVT::i32, 14, 
     949             : /*  1961*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     950             : /*  1964*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     951             : /*  1967*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrr), 0,
     952             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
     953             :                   // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
     954             :                   // Dst: (t2ORNrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
     955             : /*  1978*/      0, /*End of Scope*/
     956             : /*  1979*/    /*Scope*/ 42, /*->2022*/
     957             : /*  1980*/      OPC_MoveChild0,
     958             : /*  1981*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     959             : /*  1984*/      OPC_RecordChild0, // #0 = $Rm
     960             : /*  1985*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
     961             : /*  1996*/      OPC_MoveParent,
     962             : /*  1997*/      OPC_RecordChild1, // #1 = $Rn
     963             : /*  1998*/      OPC_CheckType, MVT::i32,
     964             : /*  2000*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     965             : /*  2002*/      OPC_EmitInteger, MVT::i32, 14, 
     966             : /*  2005*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     967             : /*  2008*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     968             : /*  2011*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrr), 0,
     969             :                     MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
     970             :                 // Src: (or:{ *:[i32] } (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 11
     971             :                 // Dst: (t2ORNrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
     972             : /*  2022*/    /*Scope*/ 59, /*->2082*/
     973             : /*  2023*/      OPC_CheckOrImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
     974             : /*  2029*/      OPC_RecordChild0, // #0 = $src
     975             : /*  2030*/      OPC_CheckType, MVT::i32,
     976             : /*  2032*/      OPC_Scope, 23, /*->2057*/ // 2 children in Scope
     977             : /*  2034*/        OPC_CheckPatternPredicate, 3, // (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb())
     978             : /*  2036*/        OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/, 
     979             : /*  2041*/        OPC_EmitInteger, MVT::i32, 14, 
     980             : /*  2044*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     981             : /*  2047*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVTi16), 0,
     982             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
     983             :                   // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$src, 4294901760:{ *:[i32] }) - Complexity = 8
     984             :                   // Dst: (MOVTi16:{ *:[i32] } GPR:{ *:[i32] }:$src, 65535:{ *:[i32] })
     985             : /*  2057*/      /*Scope*/ 23, /*->2081*/
     986             : /*  2058*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     987             : /*  2060*/        OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/, 
     988             : /*  2065*/        OPC_EmitInteger, MVT::i32, 14, 
     989             : /*  2068*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     990             : /*  2071*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVTi16), 0,
     991             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
     992             :                   // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$src, 4294901760:{ *:[i32] }) - Complexity = 8
     993             :                   // Dst: (t2MOVTi16:{ *:[i32] } rGPR:{ *:[i32] }:$src, 65535:{ *:[i32] })
     994             : /*  2081*/      0, /*End of Scope*/
     995             : /*  2082*/    /*Scope*/ 50|128,1/*178*/, /*->2262*/
     996             : /*  2084*/      OPC_RecordChild0, // #0 = $Rn
     997             : /*  2085*/      OPC_RecordChild1, // #1 = $imm
     998             : /*  2086*/      OPC_Scope, 99, /*->2187*/ // 2 children in Scope
     999             : /*  2088*/        OPC_MoveChild1,
    1000             : /*  2089*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1001             : /*  2092*/        OPC_Scope, 29, /*->2123*/ // 3 children in Scope
    1002             : /*  2094*/          OPC_CheckPredicate, 7, // Predicate_mod_imm
    1003             : /*  2096*/          OPC_MoveParent,
    1004             : /*  2097*/          OPC_CheckType, MVT::i32,
    1005             : /*  2099*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    1006             : /*  2101*/          OPC_EmitConvertToTarget, 1,
    1007             : /*  2103*/          OPC_EmitInteger, MVT::i32, 14, 
    1008             : /*  2106*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1009             : /*  2109*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1010             : /*  2112*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRri), 0,
    1011             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    1012             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm) - Complexity = 7
    1013             :                     // Dst: (ORRri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    1014             : /*  2123*/        /*Scope*/ 29, /*->2153*/
    1015             : /*  2124*/          OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    1016             : /*  2126*/          OPC_MoveParent,
    1017             : /*  2127*/          OPC_CheckType, MVT::i32,
    1018             : /*  2129*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1019             : /*  2131*/          OPC_EmitConvertToTarget, 1,
    1020             : /*  2133*/          OPC_EmitInteger, MVT::i32, 14, 
    1021             : /*  2136*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1022             : /*  2139*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1023             : /*  2142*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRri), 0,
    1024             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    1025             :                     // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm) - Complexity = 7
    1026             :                     // Dst: (t2ORRri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    1027             : /*  2153*/        /*Scope*/ 32, /*->2186*/
    1028             : /*  2154*/          OPC_CheckPredicate, 8, // Predicate_t2_so_imm_not
    1029             : /*  2156*/          OPC_MoveParent,
    1030             : /*  2157*/          OPC_CheckType, MVT::i32,
    1031             : /*  2159*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1032             : /*  2161*/          OPC_EmitConvertToTarget, 1,
    1033             : /*  2163*/          OPC_EmitNodeXForm, 1, 2, // t2_so_imm_not_XFORM
    1034             : /*  2166*/          OPC_EmitInteger, MVT::i32, 14, 
    1035             : /*  2169*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1036             : /*  2172*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1037             : /*  2175*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
    1038             :                         MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    1039             :                     // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>><<X:t2_so_imm_not_XFORM>>:$imm) - Complexity = 7
    1040             :                     // Dst: (t2ORNri:{ *:[i32] } rGPR:{ *:[i32] }:$src, (t2_so_imm_not_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>>:$imm))
    1041             : /*  2186*/        0, /*End of Scope*/
    1042             : /*  2187*/      /*Scope*/ 73, /*->2261*/
    1043             : /*  2188*/        OPC_CheckType, MVT::i32,
    1044             : /*  2190*/        OPC_Scope, 22, /*->2214*/ // 3 children in Scope
    1045             : /*  2192*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    1046             : /*  2194*/          OPC_EmitInteger, MVT::i32, 14, 
    1047             : /*  2197*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1048             : /*  2200*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1049             : /*  2203*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrr), 0,
    1050             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1051             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm) - Complexity = 3
    1052             :                     // Dst: (ORRrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    1053             : /*  2214*/        /*Scope*/ 22, /*->2237*/
    1054             : /*  2215*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    1055             : /*  2217*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    1056             : /*  2220*/          OPC_EmitInteger, MVT::i32, 14, 
    1057             : /*  2223*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1058             : /*  2226*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tORR), 0,
    1059             :                         MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    1060             :                     // Src: (or:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 3
    1061             :                     // Dst: (tORR:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    1062             : /*  2237*/        /*Scope*/ 22, /*->2260*/
    1063             : /*  2238*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1064             : /*  2240*/          OPC_EmitInteger, MVT::i32, 14, 
    1065             : /*  2243*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1066             : /*  2246*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1067             : /*  2249*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrr), 0,
    1068             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1069             :                     // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm) - Complexity = 3
    1070             :                     // Dst: (t2ORRrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    1071             : /*  2260*/        0, /*End of Scope*/
    1072             : /*  2261*/      0, /*End of Scope*/
    1073             : /*  2262*/    /*Scope*/ 126|128,22/*2942*/, /*->5206*/
    1074             : /*  2264*/      OPC_MoveChild0,
    1075             : /*  2265*/      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1076             : /*  2268*/      OPC_Scope, 13|128,5/*653*/, /*->2924*/ // 8 children in Scope
    1077             : /*  2271*/        OPC_RecordChild0, // #0 = $Vn
    1078             : /*  2272*/        OPC_Scope, 94|128,3/*478*/, /*->2753*/ // 2 children in Scope
    1079             : /*  2275*/          OPC_RecordChild1, // #1 = $Vd
    1080             : /*  2276*/          OPC_MoveParent,
    1081             : /*  2277*/          OPC_MoveChild1,
    1082             : /*  2278*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1083             : /*  2281*/          OPC_Scope, 44|128,1/*172*/, /*->2456*/ // 4 children in Scope
    1084             : /*  2284*/            OPC_RecordChild0, // #2 = $Vm
    1085             : /*  2285*/            OPC_MoveChild1,
    1086             : /*  2286*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1087             : /*  2289*/            OPC_Scope, 119, /*->2410*/ // 2 children in Scope
    1088             : /*  2291*/              OPC_CheckChild0Same, 1,
    1089             : /*  2293*/              OPC_MoveChild1,
    1090             : /*  2294*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1091             : /*  2297*/              OPC_MoveChild0,
    1092             : /*  2298*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1093             : /*  2301*/              OPC_MoveChild0,
    1094             : /*  2302*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1095             : /*  2305*/              OPC_MoveParent,
    1096             : /*  2306*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1097             : /*  2308*/              OPC_SwitchType /*2 cases */, 48, MVT::v8i8,// ->2359
    1098             : /*  2311*/                OPC_MoveParent,
    1099             : /*  2312*/                OPC_MoveParent,
    1100             : /*  2313*/                OPC_MoveParent,
    1101             : /*  2314*/                OPC_MoveParent,
    1102             : /*  2315*/                OPC_SwitchType /*2 cases */, 19, MVT::v2i32,// ->2337
    1103             : /*  2318*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1104             : /*  2320*/                  OPC_EmitInteger, MVT::i32, 14, 
    1105             : /*  2323*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1106             : /*  2326*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1107             :                                 MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1108             :                             // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    1109             :                             // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1110             : /*  2337*/                /*SwitchType*/ 19, MVT::v1i64,// ->2358
    1111             : /*  2339*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1112             : /*  2341*/                  OPC_EmitInteger, MVT::i32, 14, 
    1113             : /*  2344*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1114             : /*  2347*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1115             :                                 MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1116             :                             // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    1117             :                             // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1118             : /*  2358*/                0, // EndSwitchType
    1119             : /*  2359*/              /*SwitchType*/ 48, MVT::v16i8,// ->2409
    1120             : /*  2361*/                OPC_MoveParent,
    1121             : /*  2362*/                OPC_MoveParent,
    1122             : /*  2363*/                OPC_MoveParent,
    1123             : /*  2364*/                OPC_MoveParent,
    1124             : /*  2365*/                OPC_SwitchType /*2 cases */, 19, MVT::v4i32,// ->2387
    1125             : /*  2368*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1126             : /*  2370*/                  OPC_EmitInteger, MVT::i32, 14, 
    1127             : /*  2373*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1128             : /*  2376*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1129             :                                 MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1130             :                             // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    1131             :                             // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    1132             : /*  2387*/                /*SwitchType*/ 19, MVT::v2i64,// ->2408
    1133             : /*  2389*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1134             : /*  2391*/                  OPC_EmitInteger, MVT::i32, 14, 
    1135             : /*  2394*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1136             : /*  2397*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1137             :                                 MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1138             :                             // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    1139             :                             // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    1140             : /*  2408*/                0, // EndSwitchType
    1141             : /*  2409*/              0, // EndSwitchType
    1142             : /*  2410*/            /*Scope*/ 44, /*->2455*/
    1143             : /*  2411*/              OPC_MoveChild0,
    1144             : /*  2412*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1145             : /*  2415*/              OPC_MoveChild0,
    1146             : /*  2416*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1147             : /*  2419*/              OPC_MoveChild0,
    1148             : /*  2420*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1149             : /*  2423*/              OPC_MoveParent,
    1150             : /*  2424*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1151             : /*  2426*/              OPC_CheckType, MVT::v8i8,
    1152             : /*  2428*/              OPC_MoveParent,
    1153             : /*  2429*/              OPC_MoveParent,
    1154             : /*  2430*/              OPC_CheckChild1Same, 1,
    1155             : /*  2432*/              OPC_MoveParent,
    1156             : /*  2433*/              OPC_MoveParent,
    1157             : /*  2434*/              OPC_CheckType, MVT::v2i32,
    1158             : /*  2436*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1159             : /*  2438*/              OPC_EmitInteger, MVT::i32, 14, 
    1160             : /*  2441*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1161             : /*  2444*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1162             :                             MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1163             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd))) - Complexity = 22
    1164             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1165             : /*  2455*/            0, /*End of Scope*/
    1166             : /*  2456*/          /*Scope*/ 98, /*->2555*/
    1167             : /*  2457*/            OPC_MoveChild0,
    1168             : /*  2458*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1169             : /*  2461*/            OPC_Scope, 45, /*->2508*/ // 2 children in Scope
    1170             : /*  2463*/              OPC_CheckChild0Same, 1,
    1171             : /*  2465*/              OPC_MoveChild1,
    1172             : /*  2466*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1173             : /*  2469*/              OPC_MoveChild0,
    1174             : /*  2470*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1175             : /*  2473*/              OPC_MoveChild0,
    1176             : /*  2474*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1177             : /*  2477*/              OPC_MoveParent,
    1178             : /*  2478*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1179             : /*  2480*/              OPC_CheckType, MVT::v8i8,
    1180             : /*  2482*/              OPC_MoveParent,
    1181             : /*  2483*/              OPC_MoveParent,
    1182             : /*  2484*/              OPC_MoveParent,
    1183             : /*  2485*/              OPC_RecordChild1, // #2 = $Vm
    1184             : /*  2486*/              OPC_MoveParent,
    1185             : /*  2487*/              OPC_CheckType, MVT::v2i32,
    1186             : /*  2489*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1187             : /*  2491*/              OPC_EmitInteger, MVT::i32, 14, 
    1188             : /*  2494*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1189             : /*  2497*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1190             :                             MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1191             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 22
    1192             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1193             : /*  2508*/            /*Scope*/ 45, /*->2554*/
    1194             : /*  2509*/              OPC_MoveChild0,
    1195             : /*  2510*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1196             : /*  2513*/              OPC_MoveChild0,
    1197             : /*  2514*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1198             : /*  2517*/              OPC_MoveChild0,
    1199             : /*  2518*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1200             : /*  2521*/              OPC_MoveParent,
    1201             : /*  2522*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1202             : /*  2524*/              OPC_CheckType, MVT::v8i8,
    1203             : /*  2526*/              OPC_MoveParent,
    1204             : /*  2527*/              OPC_MoveParent,
    1205             : /*  2528*/              OPC_CheckChild1Same, 1,
    1206             : /*  2530*/              OPC_MoveParent,
    1207             : /*  2531*/              OPC_RecordChild1, // #2 = $Vm
    1208             : /*  2532*/              OPC_MoveParent,
    1209             : /*  2533*/              OPC_CheckType, MVT::v2i32,
    1210             : /*  2535*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1211             : /*  2537*/              OPC_EmitInteger, MVT::i32, 14, 
    1212             : /*  2540*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1213             : /*  2543*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1214             :                             MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1215             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 22
    1216             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1217             : /*  2554*/            0, /*End of Scope*/
    1218             : /*  2555*/          /*Scope*/ 97, /*->2653*/
    1219             : /*  2556*/            OPC_RecordChild0, // #2 = $Vm
    1220             : /*  2557*/            OPC_MoveChild1,
    1221             : /*  2558*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1222             : /*  2561*/            OPC_Scope, 44, /*->2607*/ // 2 children in Scope
    1223             : /*  2563*/              OPC_CheckChild0Same, 0,
    1224             : /*  2565*/              OPC_MoveChild1,
    1225             : /*  2566*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1226             : /*  2569*/              OPC_MoveChild0,
    1227             : /*  2570*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1228             : /*  2573*/              OPC_MoveChild0,
    1229             : /*  2574*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1230             : /*  2577*/              OPC_MoveParent,
    1231             : /*  2578*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1232             : /*  2580*/              OPC_CheckType, MVT::v8i8,
    1233             : /*  2582*/              OPC_MoveParent,
    1234             : /*  2583*/              OPC_MoveParent,
    1235             : /*  2584*/              OPC_MoveParent,
    1236             : /*  2585*/              OPC_MoveParent,
    1237             : /*  2586*/              OPC_CheckType, MVT::v2i32,
    1238             : /*  2588*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1239             : /*  2590*/              OPC_EmitInteger, MVT::i32, 14, 
    1240             : /*  2593*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1241             : /*  2596*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1242             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1243             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    1244             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1245             : /*  2607*/            /*Scope*/ 44, /*->2652*/
    1246             : /*  2608*/              OPC_MoveChild0,
    1247             : /*  2609*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1248             : /*  2612*/              OPC_MoveChild0,
    1249             : /*  2613*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1250             : /*  2616*/              OPC_MoveChild0,
    1251             : /*  2617*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1252             : /*  2620*/              OPC_MoveParent,
    1253             : /*  2621*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1254             : /*  2623*/              OPC_CheckType, MVT::v8i8,
    1255             : /*  2625*/              OPC_MoveParent,
    1256             : /*  2626*/              OPC_MoveParent,
    1257             : /*  2627*/              OPC_CheckChild1Same, 0,
    1258             : /*  2629*/              OPC_MoveParent,
    1259             : /*  2630*/              OPC_MoveParent,
    1260             : /*  2631*/              OPC_CheckType, MVT::v2i32,
    1261             : /*  2633*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1262             : /*  2635*/              OPC_EmitInteger, MVT::i32, 14, 
    1263             : /*  2638*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1264             : /*  2641*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1265             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1266             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd))) - Complexity = 22
    1267             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1268             : /*  2652*/            0, /*End of Scope*/
    1269             : /*  2653*/          /*Scope*/ 98, /*->2752*/
    1270             : /*  2654*/            OPC_MoveChild0,
    1271             : /*  2655*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1272             : /*  2658*/            OPC_Scope, 45, /*->2705*/ // 2 children in Scope
    1273             : /*  2660*/              OPC_CheckChild0Same, 0,
    1274             : /*  2662*/              OPC_MoveChild1,
    1275             : /*  2663*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1276             : /*  2666*/              OPC_MoveChild0,
    1277             : /*  2667*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1278             : /*  2670*/              OPC_MoveChild0,
    1279             : /*  2671*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1280             : /*  2674*/              OPC_MoveParent,
    1281             : /*  2675*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1282             : /*  2677*/              OPC_CheckType, MVT::v8i8,
    1283             : /*  2679*/              OPC_MoveParent,
    1284             : /*  2680*/              OPC_MoveParent,
    1285             : /*  2681*/              OPC_MoveParent,
    1286             : /*  2682*/              OPC_RecordChild1, // #2 = $Vm
    1287             : /*  2683*/              OPC_MoveParent,
    1288             : /*  2684*/              OPC_CheckType, MVT::v2i32,
    1289             : /*  2686*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1290             : /*  2688*/              OPC_EmitInteger, MVT::i32, 14, 
    1291             : /*  2691*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1292             : /*  2694*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1293             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1294             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 22
    1295             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1296             : /*  2705*/            /*Scope*/ 45, /*->2751*/
    1297             : /*  2706*/              OPC_MoveChild0,
    1298             : /*  2707*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1299             : /*  2710*/              OPC_MoveChild0,
    1300             : /*  2711*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1301             : /*  2714*/              OPC_MoveChild0,
    1302             : /*  2715*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1303             : /*  2718*/              OPC_MoveParent,
    1304             : /*  2719*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1305             : /*  2721*/              OPC_CheckType, MVT::v8i8,
    1306             : /*  2723*/              OPC_MoveParent,
    1307             : /*  2724*/              OPC_MoveParent,
    1308             : /*  2725*/              OPC_CheckChild1Same, 0,
    1309             : /*  2727*/              OPC_MoveParent,
    1310             : /*  2728*/              OPC_RecordChild1, // #2 = $Vm
    1311             : /*  2729*/              OPC_MoveParent,
    1312             : /*  2730*/              OPC_CheckType, MVT::v2i32,
    1313             : /*  2732*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1314             : /*  2734*/              OPC_EmitInteger, MVT::i32, 14, 
    1315             : /*  2737*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1316             : /*  2740*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1317             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1318             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 22
    1319             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1320             : /*  2751*/            0, /*End of Scope*/
    1321             : /*  2752*/          0, /*End of Scope*/
    1322             : /*  2753*/        /*Scope*/ 40|128,1/*168*/, /*->2923*/
    1323             : /*  2755*/          OPC_MoveChild1,
    1324             : /*  2756*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1325             : /*  2759*/          OPC_Scope, 80, /*->2841*/ // 2 children in Scope
    1326             : /*  2761*/            OPC_RecordChild0, // #1 = $Vd
    1327             : /*  2762*/            OPC_MoveChild1,
    1328             : /*  2763*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1329             : /*  2766*/            OPC_MoveChild0,
    1330             : /*  2767*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1331             : /*  2770*/            OPC_MoveChild0,
    1332             : /*  2771*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1333             : /*  2774*/            OPC_MoveParent,
    1334             : /*  2775*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1335             : /*  2777*/            OPC_CheckType, MVT::v8i8,
    1336             : /*  2779*/            OPC_MoveParent,
    1337             : /*  2780*/            OPC_MoveParent,
    1338             : /*  2781*/            OPC_MoveParent,
    1339             : /*  2782*/            OPC_MoveParent,
    1340             : /*  2783*/            OPC_MoveChild1,
    1341             : /*  2784*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1342             : /*  2787*/            OPC_Scope, 25, /*->2814*/ // 2 children in Scope
    1343             : /*  2789*/              OPC_RecordChild0, // #2 = $Vn
    1344             : /*  2790*/              OPC_CheckChild1Same, 1,
    1345             : /*  2792*/              OPC_MoveParent,
    1346             : /*  2793*/              OPC_CheckType, MVT::v2i32,
    1347             : /*  2795*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1348             : /*  2797*/              OPC_EmitInteger, MVT::i32, 14, 
    1349             : /*  2800*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1350             : /*  2803*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1351             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1352             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd)) - Complexity = 22
    1353             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1354             : /*  2814*/            /*Scope*/ 25, /*->2840*/
    1355             : /*  2815*/              OPC_CheckChild0Same, 1,
    1356             : /*  2817*/              OPC_RecordChild1, // #2 = $Vn
    1357             : /*  2818*/              OPC_MoveParent,
    1358             : /*  2819*/              OPC_CheckType, MVT::v2i32,
    1359             : /*  2821*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1360             : /*  2823*/              OPC_EmitInteger, MVT::i32, 14, 
    1361             : /*  2826*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1362             : /*  2829*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1363             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1364             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn)) - Complexity = 22
    1365             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1366             : /*  2840*/            0, /*End of Scope*/
    1367             : /*  2841*/          /*Scope*/ 80, /*->2922*/
    1368             : /*  2842*/            OPC_MoveChild0,
    1369             : /*  2843*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1370             : /*  2846*/            OPC_MoveChild0,
    1371             : /*  2847*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1372             : /*  2850*/            OPC_MoveChild0,
    1373             : /*  2851*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1374             : /*  2854*/            OPC_MoveParent,
    1375             : /*  2855*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1376             : /*  2857*/            OPC_CheckType, MVT::v8i8,
    1377             : /*  2859*/            OPC_MoveParent,
    1378             : /*  2860*/            OPC_MoveParent,
    1379             : /*  2861*/            OPC_RecordChild1, // #1 = $Vd
    1380             : /*  2862*/            OPC_MoveParent,
    1381             : /*  2863*/            OPC_MoveParent,
    1382             : /*  2864*/            OPC_MoveChild1,
    1383             : /*  2865*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1384             : /*  2868*/            OPC_Scope, 25, /*->2895*/ // 2 children in Scope
    1385             : /*  2870*/              OPC_RecordChild0, // #2 = $Vn
    1386             : /*  2871*/              OPC_CheckChild1Same, 1,
    1387             : /*  2873*/              OPC_MoveParent,
    1388             : /*  2874*/              OPC_CheckType, MVT::v2i32,
    1389             : /*  2876*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1390             : /*  2878*/              OPC_EmitInteger, MVT::i32, 14, 
    1391             : /*  2881*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1392             : /*  2884*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1393             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1394             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd)), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd)) - Complexity = 22
    1395             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1396             : /*  2895*/            /*Scope*/ 25, /*->2921*/
    1397             : /*  2896*/              OPC_CheckChild0Same, 1,
    1398             : /*  2898*/              OPC_RecordChild1, // #2 = $Vn
    1399             : /*  2899*/              OPC_MoveParent,
    1400             : /*  2900*/              OPC_CheckType, MVT::v2i32,
    1401             : /*  2902*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1402             : /*  2904*/              OPC_EmitInteger, MVT::i32, 14, 
    1403             : /*  2907*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1404             : /*  2910*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1405             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1406             :                         // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd)), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn)) - Complexity = 22
    1407             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1408             : /*  2921*/            0, /*End of Scope*/
    1409             : /*  2922*/          0, /*End of Scope*/
    1410             : /*  2923*/        0, /*End of Scope*/
    1411             : /*  2924*/      /*Scope*/ 42|128,1/*170*/, /*->3096*/
    1412             : /*  2926*/        OPC_MoveChild0,
    1413             : /*  2927*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1414             : /*  2930*/        OPC_Scope, 81, /*->3013*/ // 2 children in Scope
    1415             : /*  2932*/          OPC_RecordChild0, // #0 = $Vd
    1416             : /*  2933*/          OPC_MoveChild1,
    1417             : /*  2934*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1418             : /*  2937*/          OPC_MoveChild0,
    1419             : /*  2938*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1420             : /*  2941*/          OPC_MoveChild0,
    1421             : /*  2942*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1422             : /*  2945*/          OPC_MoveParent,
    1423             : /*  2946*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1424             : /*  2948*/          OPC_CheckType, MVT::v8i8,
    1425             : /*  2950*/          OPC_MoveParent,
    1426             : /*  2951*/          OPC_MoveParent,
    1427             : /*  2952*/          OPC_MoveParent,
    1428             : /*  2953*/          OPC_RecordChild1, // #1 = $Vm
    1429             : /*  2954*/          OPC_MoveParent,
    1430             : /*  2955*/          OPC_MoveChild1,
    1431             : /*  2956*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1432             : /*  2959*/          OPC_Scope, 25, /*->2986*/ // 2 children in Scope
    1433             : /*  2961*/            OPC_RecordChild0, // #2 = $Vn
    1434             : /*  2962*/            OPC_CheckChild1Same, 0,
    1435             : /*  2964*/            OPC_MoveParent,
    1436             : /*  2965*/            OPC_CheckType, MVT::v2i32,
    1437             : /*  2967*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1438             : /*  2969*/            OPC_EmitInteger, MVT::i32, 14, 
    1439             : /*  2972*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1440             : /*  2975*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1441             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1442             :                       // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vm), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd)) - Complexity = 22
    1443             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1444             : /*  2986*/          /*Scope*/ 25, /*->3012*/
    1445             : /*  2987*/            OPC_CheckChild0Same, 0,
    1446             : /*  2989*/            OPC_RecordChild1, // #2 = $Vn
    1447             : /*  2990*/            OPC_MoveParent,
    1448             : /*  2991*/            OPC_CheckType, MVT::v2i32,
    1449             : /*  2993*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1450             : /*  2995*/            OPC_EmitInteger, MVT::i32, 14, 
    1451             : /*  2998*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1452             : /*  3001*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1453             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1454             :                       // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vm), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn)) - Complexity = 22
    1455             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1456             : /*  3012*/          0, /*End of Scope*/
    1457             : /*  3013*/        /*Scope*/ 81, /*->3095*/
    1458             : /*  3014*/          OPC_MoveChild0,
    1459             : /*  3015*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1460             : /*  3018*/          OPC_MoveChild0,
    1461             : /*  3019*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1462             : /*  3022*/          OPC_MoveChild0,
    1463             : /*  3023*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1464             : /*  3026*/          OPC_MoveParent,
    1465             : /*  3027*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1466             : /*  3029*/          OPC_CheckType, MVT::v8i8,
    1467             : /*  3031*/          OPC_MoveParent,
    1468             : /*  3032*/          OPC_MoveParent,
    1469             : /*  3033*/          OPC_RecordChild1, // #0 = $Vd
    1470             : /*  3034*/          OPC_MoveParent,
    1471             : /*  3035*/          OPC_RecordChild1, // #1 = $Vm
    1472             : /*  3036*/          OPC_MoveParent,
    1473             : /*  3037*/          OPC_MoveChild1,
    1474             : /*  3038*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1475             : /*  3041*/          OPC_Scope, 25, /*->3068*/ // 2 children in Scope
    1476             : /*  3043*/            OPC_RecordChild0, // #2 = $Vn
    1477             : /*  3044*/            OPC_CheckChild1Same, 0,
    1478             : /*  3046*/            OPC_MoveParent,
    1479             : /*  3047*/            OPC_CheckType, MVT::v2i32,
    1480             : /*  3049*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1481             : /*  3051*/            OPC_EmitInteger, MVT::i32, 14, 
    1482             : /*  3054*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1483             : /*  3057*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1484             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1485             :                       // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd), DPR:{ *:[v2i32] }:$Vm), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vd)) - Complexity = 22
    1486             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1487             : /*  3068*/          /*Scope*/ 25, /*->3094*/
    1488             : /*  3069*/            OPC_CheckChild0Same, 0,
    1489             : /*  3071*/            OPC_RecordChild1, // #2 = $Vn
    1490             : /*  3072*/            OPC_MoveParent,
    1491             : /*  3073*/            OPC_CheckType, MVT::v2i32,
    1492             : /*  3075*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1493             : /*  3077*/            OPC_EmitInteger, MVT::i32, 14, 
    1494             : /*  3080*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1495             : /*  3083*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1496             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1497             :                       // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vd), DPR:{ *:[v2i32] }:$Vm), (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn)) - Complexity = 22
    1498             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1499             : /*  3094*/          0, /*End of Scope*/
    1500             : /*  3095*/        0, /*End of Scope*/
    1501             : /*  3096*/      /*Scope*/ 17|128,4/*529*/, /*->3627*/
    1502             : /*  3098*/        OPC_RecordChild0, // #0 = $Vn
    1503             : /*  3099*/        OPC_Scope, 98|128,2/*354*/, /*->3456*/ // 2 children in Scope
    1504             : /*  3102*/          OPC_RecordChild1, // #1 = $Vd
    1505             : /*  3103*/          OPC_MoveParent,
    1506             : /*  3104*/          OPC_MoveChild1,
    1507             : /*  3105*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1508             : /*  3108*/          OPC_Scope, 49, /*->3159*/ // 4 children in Scope
    1509             : /*  3110*/            OPC_RecordChild0, // #2 = $Vm
    1510             : /*  3111*/            OPC_MoveChild1,
    1511             : /*  3112*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1512             : /*  3115*/            OPC_MoveChild0,
    1513             : /*  3116*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1514             : /*  3119*/            OPC_MoveChild0,
    1515             : /*  3120*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1516             : /*  3123*/            OPC_MoveChild0,
    1517             : /*  3124*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1518             : /*  3127*/            OPC_MoveParent,
    1519             : /*  3128*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1520             : /*  3130*/            OPC_CheckType, MVT::v8i8,
    1521             : /*  3132*/            OPC_MoveParent,
    1522             : /*  3133*/            OPC_MoveParent,
    1523             : /*  3134*/            OPC_CheckChild1Same, 1,
    1524             : /*  3136*/            OPC_MoveParent,
    1525             : /*  3137*/            OPC_MoveParent,
    1526             : /*  3138*/            OPC_CheckType, MVT::v1i64,
    1527             : /*  3140*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1528             : /*  3142*/            OPC_EmitInteger, MVT::i32, 14, 
    1529             : /*  3145*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1530             : /*  3148*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1531             :                           MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1532             :                       // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd))) - Complexity = 22
    1533             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1534             : /*  3159*/          /*Scope*/ 98, /*->3258*/
    1535             : /*  3160*/            OPC_MoveChild0,
    1536             : /*  3161*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1537             : /*  3164*/            OPC_Scope, 45, /*->3211*/ // 2 children in Scope
    1538             : /*  3166*/              OPC_CheckChild0Same, 1,
    1539             : /*  3168*/              OPC_MoveChild1,
    1540             : /*  3169*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1541             : /*  3172*/              OPC_MoveChild0,
    1542             : /*  3173*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1543             : /*  3176*/              OPC_MoveChild0,
    1544             : /*  3177*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1545             : /*  3180*/              OPC_MoveParent,
    1546             : /*  3181*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1547             : /*  3183*/              OPC_CheckType, MVT::v8i8,
    1548             : /*  3185*/              OPC_MoveParent,
    1549             : /*  3186*/              OPC_MoveParent,
    1550             : /*  3187*/              OPC_MoveParent,
    1551             : /*  3188*/              OPC_RecordChild1, // #2 = $Vm
    1552             : /*  3189*/              OPC_MoveParent,
    1553             : /*  3190*/              OPC_CheckType, MVT::v1i64,
    1554             : /*  3192*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1555             : /*  3194*/              OPC_EmitInteger, MVT::i32, 14, 
    1556             : /*  3197*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1557             : /*  3200*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1558             :                             MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1559             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v1i64] }:$Vm)) - Complexity = 22
    1560             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1561             : /*  3211*/            /*Scope*/ 45, /*->3257*/
    1562             : /*  3212*/              OPC_MoveChild0,
    1563             : /*  3213*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1564             : /*  3216*/              OPC_MoveChild0,
    1565             : /*  3217*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1566             : /*  3220*/              OPC_MoveChild0,
    1567             : /*  3221*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1568             : /*  3224*/              OPC_MoveParent,
    1569             : /*  3225*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1570             : /*  3227*/              OPC_CheckType, MVT::v8i8,
    1571             : /*  3229*/              OPC_MoveParent,
    1572             : /*  3230*/              OPC_MoveParent,
    1573             : /*  3231*/              OPC_CheckChild1Same, 1,
    1574             : /*  3233*/              OPC_MoveParent,
    1575             : /*  3234*/              OPC_RecordChild1, // #2 = $Vm
    1576             : /*  3235*/              OPC_MoveParent,
    1577             : /*  3236*/              OPC_CheckType, MVT::v1i64,
    1578             : /*  3238*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1579             : /*  3240*/              OPC_EmitInteger, MVT::i32, 14, 
    1580             : /*  3243*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1581             : /*  3246*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1582             :                             MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1583             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd), DPR:{ *:[v1i64] }:$Vm)) - Complexity = 22
    1584             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1585             : /*  3257*/            0, /*End of Scope*/
    1586             : /*  3258*/          /*Scope*/ 97, /*->3356*/
    1587             : /*  3259*/            OPC_RecordChild0, // #2 = $Vm
    1588             : /*  3260*/            OPC_MoveChild1,
    1589             : /*  3261*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1590             : /*  3264*/            OPC_Scope, 44, /*->3310*/ // 2 children in Scope
    1591             : /*  3266*/              OPC_CheckChild0Same, 0,
    1592             : /*  3268*/              OPC_MoveChild1,
    1593             : /*  3269*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1594             : /*  3272*/              OPC_MoveChild0,
    1595             : /*  3273*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1596             : /*  3276*/              OPC_MoveChild0,
    1597             : /*  3277*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1598             : /*  3280*/              OPC_MoveParent,
    1599             : /*  3281*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1600             : /*  3283*/              OPC_CheckType, MVT::v8i8,
    1601             : /*  3285*/              OPC_MoveParent,
    1602             : /*  3286*/              OPC_MoveParent,
    1603             : /*  3287*/              OPC_MoveParent,
    1604             : /*  3288*/              OPC_MoveParent,
    1605             : /*  3289*/              OPC_CheckType, MVT::v1i64,
    1606             : /*  3291*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1607             : /*  3293*/              OPC_EmitInteger, MVT::i32, 14, 
    1608             : /*  3296*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1609             : /*  3299*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1610             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1611             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    1612             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1613             : /*  3310*/            /*Scope*/ 44, /*->3355*/
    1614             : /*  3311*/              OPC_MoveChild0,
    1615             : /*  3312*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1616             : /*  3315*/              OPC_MoveChild0,
    1617             : /*  3316*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1618             : /*  3319*/              OPC_MoveChild0,
    1619             : /*  3320*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1620             : /*  3323*/              OPC_MoveParent,
    1621             : /*  3324*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1622             : /*  3326*/              OPC_CheckType, MVT::v8i8,
    1623             : /*  3328*/              OPC_MoveParent,
    1624             : /*  3329*/              OPC_MoveParent,
    1625             : /*  3330*/              OPC_CheckChild1Same, 0,
    1626             : /*  3332*/              OPC_MoveParent,
    1627             : /*  3333*/              OPC_MoveParent,
    1628             : /*  3334*/              OPC_CheckType, MVT::v1i64,
    1629             : /*  3336*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1630             : /*  3338*/              OPC_EmitInteger, MVT::i32, 14, 
    1631             : /*  3341*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1632             : /*  3344*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1633             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1634             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd))) - Complexity = 22
    1635             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1636             : /*  3355*/            0, /*End of Scope*/
    1637             : /*  3356*/          /*Scope*/ 98, /*->3455*/
    1638             : /*  3357*/            OPC_MoveChild0,
    1639             : /*  3358*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1640             : /*  3361*/            OPC_Scope, 45, /*->3408*/ // 2 children in Scope
    1641             : /*  3363*/              OPC_CheckChild0Same, 0,
    1642             : /*  3365*/              OPC_MoveChild1,
    1643             : /*  3366*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1644             : /*  3369*/              OPC_MoveChild0,
    1645             : /*  3370*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1646             : /*  3373*/              OPC_MoveChild0,
    1647             : /*  3374*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1648             : /*  3377*/              OPC_MoveParent,
    1649             : /*  3378*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1650             : /*  3380*/              OPC_CheckType, MVT::v8i8,
    1651             : /*  3382*/              OPC_MoveParent,
    1652             : /*  3383*/              OPC_MoveParent,
    1653             : /*  3384*/              OPC_MoveParent,
    1654             : /*  3385*/              OPC_RecordChild1, // #2 = $Vm
    1655             : /*  3386*/              OPC_MoveParent,
    1656             : /*  3387*/              OPC_CheckType, MVT::v1i64,
    1657             : /*  3389*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1658             : /*  3391*/              OPC_EmitInteger, MVT::i32, 14, 
    1659             : /*  3394*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1660             : /*  3397*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1661             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1662             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v1i64] }:$Vm)) - Complexity = 22
    1663             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1664             : /*  3408*/            /*Scope*/ 45, /*->3454*/
    1665             : /*  3409*/              OPC_MoveChild0,
    1666             : /*  3410*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1667             : /*  3413*/              OPC_MoveChild0,
    1668             : /*  3414*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1669             : /*  3417*/              OPC_MoveChild0,
    1670             : /*  3418*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1671             : /*  3421*/              OPC_MoveParent,
    1672             : /*  3422*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1673             : /*  3424*/              OPC_CheckType, MVT::v8i8,
    1674             : /*  3426*/              OPC_MoveParent,
    1675             : /*  3427*/              OPC_MoveParent,
    1676             : /*  3428*/              OPC_CheckChild1Same, 0,
    1677             : /*  3430*/              OPC_MoveParent,
    1678             : /*  3431*/              OPC_RecordChild1, // #2 = $Vm
    1679             : /*  3432*/              OPC_MoveParent,
    1680             : /*  3433*/              OPC_CheckType, MVT::v1i64,
    1681             : /*  3435*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1682             : /*  3437*/              OPC_EmitInteger, MVT::i32, 14, 
    1683             : /*  3440*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1684             : /*  3443*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1685             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1686             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd), DPR:{ *:[v1i64] }:$Vm)) - Complexity = 22
    1687             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1688             : /*  3454*/            0, /*End of Scope*/
    1689             : /*  3455*/          0, /*End of Scope*/
    1690             : /*  3456*/        /*Scope*/ 40|128,1/*168*/, /*->3626*/
    1691             : /*  3458*/          OPC_MoveChild1,
    1692             : /*  3459*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1693             : /*  3462*/          OPC_Scope, 80, /*->3544*/ // 2 children in Scope
    1694             : /*  3464*/            OPC_RecordChild0, // #1 = $Vd
    1695             : /*  3465*/            OPC_MoveChild1,
    1696             : /*  3466*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1697             : /*  3469*/            OPC_MoveChild0,
    1698             : /*  3470*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1699             : /*  3473*/            OPC_MoveChild0,
    1700             : /*  3474*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1701             : /*  3477*/            OPC_MoveParent,
    1702             : /*  3478*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1703             : /*  3480*/            OPC_CheckType, MVT::v8i8,
    1704             : /*  3482*/            OPC_MoveParent,
    1705             : /*  3483*/            OPC_MoveParent,
    1706             : /*  3484*/            OPC_MoveParent,
    1707             : /*  3485*/            OPC_MoveParent,
    1708             : /*  3486*/            OPC_MoveChild1,
    1709             : /*  3487*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1710             : /*  3490*/            OPC_Scope, 25, /*->3517*/ // 2 children in Scope
    1711             : /*  3492*/              OPC_RecordChild0, // #2 = $Vn
    1712             : /*  3493*/              OPC_CheckChild1Same, 1,
    1713             : /*  3495*/              OPC_MoveParent,
    1714             : /*  3496*/              OPC_CheckType, MVT::v1i64,
    1715             : /*  3498*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1716             : /*  3500*/              OPC_EmitInteger, MVT::i32, 14, 
    1717             : /*  3503*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1718             : /*  3506*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1719             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1720             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd)) - Complexity = 22
    1721             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1722             : /*  3517*/            /*Scope*/ 25, /*->3543*/
    1723             : /*  3518*/              OPC_CheckChild0Same, 1,
    1724             : /*  3520*/              OPC_RecordChild1, // #2 = $Vn
    1725             : /*  3521*/              OPC_MoveParent,
    1726             : /*  3522*/              OPC_CheckType, MVT::v1i64,
    1727             : /*  3524*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1728             : /*  3526*/              OPC_EmitInteger, MVT::i32, 14, 
    1729             : /*  3529*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1730             : /*  3532*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1731             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1732             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn)) - Complexity = 22
    1733             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1734             : /*  3543*/            0, /*End of Scope*/
    1735             : /*  3544*/          /*Scope*/ 80, /*->3625*/
    1736             : /*  3545*/            OPC_MoveChild0,
    1737             : /*  3546*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1738             : /*  3549*/            OPC_MoveChild0,
    1739             : /*  3550*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1740             : /*  3553*/            OPC_MoveChild0,
    1741             : /*  3554*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1742             : /*  3557*/            OPC_MoveParent,
    1743             : /*  3558*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1744             : /*  3560*/            OPC_CheckType, MVT::v8i8,
    1745             : /*  3562*/            OPC_MoveParent,
    1746             : /*  3563*/            OPC_MoveParent,
    1747             : /*  3564*/            OPC_RecordChild1, // #1 = $Vd
    1748             : /*  3565*/            OPC_MoveParent,
    1749             : /*  3566*/            OPC_MoveParent,
    1750             : /*  3567*/            OPC_MoveChild1,
    1751             : /*  3568*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1752             : /*  3571*/            OPC_Scope, 25, /*->3598*/ // 2 children in Scope
    1753             : /*  3573*/              OPC_RecordChild0, // #2 = $Vn
    1754             : /*  3574*/              OPC_CheckChild1Same, 1,
    1755             : /*  3576*/              OPC_MoveParent,
    1756             : /*  3577*/              OPC_CheckType, MVT::v1i64,
    1757             : /*  3579*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1758             : /*  3581*/              OPC_EmitInteger, MVT::i32, 14, 
    1759             : /*  3584*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1760             : /*  3587*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1761             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1762             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd)), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd)) - Complexity = 22
    1763             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1764             : /*  3598*/            /*Scope*/ 25, /*->3624*/
    1765             : /*  3599*/              OPC_CheckChild0Same, 1,
    1766             : /*  3601*/              OPC_RecordChild1, // #2 = $Vn
    1767             : /*  3602*/              OPC_MoveParent,
    1768             : /*  3603*/              OPC_CheckType, MVT::v1i64,
    1769             : /*  3605*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1770             : /*  3607*/              OPC_EmitInteger, MVT::i32, 14, 
    1771             : /*  3610*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1772             : /*  3613*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1773             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1774             :                         // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd)), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn)) - Complexity = 22
    1775             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1776             : /*  3624*/            0, /*End of Scope*/
    1777             : /*  3625*/          0, /*End of Scope*/
    1778             : /*  3626*/        0, /*End of Scope*/
    1779             : /*  3627*/      /*Scope*/ 42|128,1/*170*/, /*->3799*/
    1780             : /*  3629*/        OPC_MoveChild0,
    1781             : /*  3630*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1782             : /*  3633*/        OPC_Scope, 81, /*->3716*/ // 2 children in Scope
    1783             : /*  3635*/          OPC_RecordChild0, // #0 = $Vd
    1784             : /*  3636*/          OPC_MoveChild1,
    1785             : /*  3637*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1786             : /*  3640*/          OPC_MoveChild0,
    1787             : /*  3641*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1788             : /*  3644*/          OPC_MoveChild0,
    1789             : /*  3645*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1790             : /*  3648*/          OPC_MoveParent,
    1791             : /*  3649*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1792             : /*  3651*/          OPC_CheckType, MVT::v8i8,
    1793             : /*  3653*/          OPC_MoveParent,
    1794             : /*  3654*/          OPC_MoveParent,
    1795             : /*  3655*/          OPC_MoveParent,
    1796             : /*  3656*/          OPC_RecordChild1, // #1 = $Vm
    1797             : /*  3657*/          OPC_MoveParent,
    1798             : /*  3658*/          OPC_MoveChild1,
    1799             : /*  3659*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1800             : /*  3662*/          OPC_Scope, 25, /*->3689*/ // 2 children in Scope
    1801             : /*  3664*/            OPC_RecordChild0, // #2 = $Vn
    1802             : /*  3665*/            OPC_CheckChild1Same, 0,
    1803             : /*  3667*/            OPC_MoveParent,
    1804             : /*  3668*/            OPC_CheckType, MVT::v1i64,
    1805             : /*  3670*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1806             : /*  3672*/            OPC_EmitInteger, MVT::i32, 14, 
    1807             : /*  3675*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1808             : /*  3678*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1809             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1810             :                       // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v1i64] }:$Vm), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd)) - Complexity = 22
    1811             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1812             : /*  3689*/          /*Scope*/ 25, /*->3715*/
    1813             : /*  3690*/            OPC_CheckChild0Same, 0,
    1814             : /*  3692*/            OPC_RecordChild1, // #2 = $Vn
    1815             : /*  3693*/            OPC_MoveParent,
    1816             : /*  3694*/            OPC_CheckType, MVT::v1i64,
    1817             : /*  3696*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1818             : /*  3698*/            OPC_EmitInteger, MVT::i32, 14, 
    1819             : /*  3701*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1820             : /*  3704*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1821             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1822             :                       // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v1i64] }:$Vm), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn)) - Complexity = 22
    1823             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1824             : /*  3715*/          0, /*End of Scope*/
    1825             : /*  3716*/        /*Scope*/ 81, /*->3798*/
    1826             : /*  3717*/          OPC_MoveChild0,
    1827             : /*  3718*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1828             : /*  3721*/          OPC_MoveChild0,
    1829             : /*  3722*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1830             : /*  3725*/          OPC_MoveChild0,
    1831             : /*  3726*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1832             : /*  3729*/          OPC_MoveParent,
    1833             : /*  3730*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1834             : /*  3732*/          OPC_CheckType, MVT::v8i8,
    1835             : /*  3734*/          OPC_MoveParent,
    1836             : /*  3735*/          OPC_MoveParent,
    1837             : /*  3736*/          OPC_RecordChild1, // #0 = $Vd
    1838             : /*  3737*/          OPC_MoveParent,
    1839             : /*  3738*/          OPC_RecordChild1, // #1 = $Vm
    1840             : /*  3739*/          OPC_MoveParent,
    1841             : /*  3740*/          OPC_MoveChild1,
    1842             : /*  3741*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1843             : /*  3744*/          OPC_Scope, 25, /*->3771*/ // 2 children in Scope
    1844             : /*  3746*/            OPC_RecordChild0, // #2 = $Vn
    1845             : /*  3747*/            OPC_CheckChild1Same, 0,
    1846             : /*  3749*/            OPC_MoveParent,
    1847             : /*  3750*/            OPC_CheckType, MVT::v1i64,
    1848             : /*  3752*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1849             : /*  3754*/            OPC_EmitInteger, MVT::i32, 14, 
    1850             : /*  3757*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1851             : /*  3760*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1852             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1853             :                       // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd), DPR:{ *:[v1i64] }:$Vm), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vd)) - Complexity = 22
    1854             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1855             : /*  3771*/          /*Scope*/ 25, /*->3797*/
    1856             : /*  3772*/            OPC_CheckChild0Same, 0,
    1857             : /*  3774*/            OPC_RecordChild1, // #2 = $Vn
    1858             : /*  3775*/            OPC_MoveParent,
    1859             : /*  3776*/            OPC_CheckType, MVT::v1i64,
    1860             : /*  3778*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1861             : /*  3780*/            OPC_EmitInteger, MVT::i32, 14, 
    1862             : /*  3783*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1863             : /*  3786*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1864             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1865             :                       // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } (bitconvert:{ *:[v1i64] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v1i64] }:$Vd), DPR:{ *:[v1i64] }:$Vm), (and:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn)) - Complexity = 22
    1866             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1867             : /*  3797*/          0, /*End of Scope*/
    1868             : /*  3798*/        0, /*End of Scope*/
    1869             : /*  3799*/      /*Scope*/ 17|128,4/*529*/, /*->4330*/
    1870             : /*  3801*/        OPC_RecordChild0, // #0 = $Vn
    1871             : /*  3802*/        OPC_Scope, 98|128,2/*354*/, /*->4159*/ // 2 children in Scope
    1872             : /*  3805*/          OPC_RecordChild1, // #1 = $Vd
    1873             : /*  3806*/          OPC_MoveParent,
    1874             : /*  3807*/          OPC_MoveChild1,
    1875             : /*  3808*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1876             : /*  3811*/          OPC_Scope, 49, /*->3862*/ // 4 children in Scope
    1877             : /*  3813*/            OPC_RecordChild0, // #2 = $Vm
    1878             : /*  3814*/            OPC_MoveChild1,
    1879             : /*  3815*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1880             : /*  3818*/            OPC_MoveChild0,
    1881             : /*  3819*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1882             : /*  3822*/            OPC_MoveChild0,
    1883             : /*  3823*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1884             : /*  3826*/            OPC_MoveChild0,
    1885             : /*  3827*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1886             : /*  3830*/            OPC_MoveParent,
    1887             : /*  3831*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1888             : /*  3833*/            OPC_CheckType, MVT::v16i8,
    1889             : /*  3835*/            OPC_MoveParent,
    1890             : /*  3836*/            OPC_MoveParent,
    1891             : /*  3837*/            OPC_CheckChild1Same, 1,
    1892             : /*  3839*/            OPC_MoveParent,
    1893             : /*  3840*/            OPC_MoveParent,
    1894             : /*  3841*/            OPC_CheckType, MVT::v4i32,
    1895             : /*  3843*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1896             : /*  3845*/            OPC_EmitInteger, MVT::i32, 14, 
    1897             : /*  3848*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1898             : /*  3851*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1899             :                           MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1900             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd))) - Complexity = 22
    1901             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    1902             : /*  3862*/          /*Scope*/ 98, /*->3961*/
    1903             : /*  3863*/            OPC_MoveChild0,
    1904             : /*  3864*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1905             : /*  3867*/            OPC_Scope, 45, /*->3914*/ // 2 children in Scope
    1906             : /*  3869*/              OPC_CheckChild0Same, 1,
    1907             : /*  3871*/              OPC_MoveChild1,
    1908             : /*  3872*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1909             : /*  3875*/              OPC_MoveChild0,
    1910             : /*  3876*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1911             : /*  3879*/              OPC_MoveChild0,
    1912             : /*  3880*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1913             : /*  3883*/              OPC_MoveParent,
    1914             : /*  3884*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1915             : /*  3886*/              OPC_CheckType, MVT::v16i8,
    1916             : /*  3888*/              OPC_MoveParent,
    1917             : /*  3889*/              OPC_MoveParent,
    1918             : /*  3890*/              OPC_MoveParent,
    1919             : /*  3891*/              OPC_RecordChild1, // #2 = $Vm
    1920             : /*  3892*/              OPC_MoveParent,
    1921             : /*  3893*/              OPC_CheckType, MVT::v4i32,
    1922             : /*  3895*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1923             : /*  3897*/              OPC_EmitInteger, MVT::i32, 14, 
    1924             : /*  3900*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1925             : /*  3903*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1926             :                             MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1927             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 22
    1928             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    1929             : /*  3914*/            /*Scope*/ 45, /*->3960*/
    1930             : /*  3915*/              OPC_MoveChild0,
    1931             : /*  3916*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1932             : /*  3919*/              OPC_MoveChild0,
    1933             : /*  3920*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1934             : /*  3923*/              OPC_MoveChild0,
    1935             : /*  3924*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1936             : /*  3927*/              OPC_MoveParent,
    1937             : /*  3928*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1938             : /*  3930*/              OPC_CheckType, MVT::v16i8,
    1939             : /*  3932*/              OPC_MoveParent,
    1940             : /*  3933*/              OPC_MoveParent,
    1941             : /*  3934*/              OPC_CheckChild1Same, 1,
    1942             : /*  3936*/              OPC_MoveParent,
    1943             : /*  3937*/              OPC_RecordChild1, // #2 = $Vm
    1944             : /*  3938*/              OPC_MoveParent,
    1945             : /*  3939*/              OPC_CheckType, MVT::v4i32,
    1946             : /*  3941*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1947             : /*  3943*/              OPC_EmitInteger, MVT::i32, 14, 
    1948             : /*  3946*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1949             : /*  3949*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1950             :                             MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1951             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 22
    1952             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    1953             : /*  3960*/            0, /*End of Scope*/
    1954             : /*  3961*/          /*Scope*/ 97, /*->4059*/
    1955             : /*  3962*/            OPC_RecordChild0, // #2 = $Vm
    1956             : /*  3963*/            OPC_MoveChild1,
    1957             : /*  3964*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1958             : /*  3967*/            OPC_Scope, 44, /*->4013*/ // 2 children in Scope
    1959             : /*  3969*/              OPC_CheckChild0Same, 0,
    1960             : /*  3971*/              OPC_MoveChild1,
    1961             : /*  3972*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1962             : /*  3975*/              OPC_MoveChild0,
    1963             : /*  3976*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1964             : /*  3979*/              OPC_MoveChild0,
    1965             : /*  3980*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1966             : /*  3983*/              OPC_MoveParent,
    1967             : /*  3984*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1968             : /*  3986*/              OPC_CheckType, MVT::v16i8,
    1969             : /*  3988*/              OPC_MoveParent,
    1970             : /*  3989*/              OPC_MoveParent,
    1971             : /*  3990*/              OPC_MoveParent,
    1972             : /*  3991*/              OPC_MoveParent,
    1973             : /*  3992*/              OPC_CheckType, MVT::v4i32,
    1974             : /*  3994*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1975             : /*  3996*/              OPC_EmitInteger, MVT::i32, 14, 
    1976             : /*  3999*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1977             : /*  4002*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1978             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1979             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    1980             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    1981             : /*  4013*/            /*Scope*/ 44, /*->4058*/
    1982             : /*  4014*/              OPC_MoveChild0,
    1983             : /*  4015*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1984             : /*  4018*/              OPC_MoveChild0,
    1985             : /*  4019*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1986             : /*  4022*/              OPC_MoveChild0,
    1987             : /*  4023*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1988             : /*  4026*/              OPC_MoveParent,
    1989             : /*  4027*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    1990             : /*  4029*/              OPC_CheckType, MVT::v16i8,
    1991             : /*  4031*/              OPC_MoveParent,
    1992             : /*  4032*/              OPC_MoveParent,
    1993             : /*  4033*/              OPC_CheckChild1Same, 0,
    1994             : /*  4035*/              OPC_MoveParent,
    1995             : /*  4036*/              OPC_MoveParent,
    1996             : /*  4037*/              OPC_CheckType, MVT::v4i32,
    1997             : /*  4039*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1998             : /*  4041*/              OPC_EmitInteger, MVT::i32, 14, 
    1999             : /*  4044*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2000             : /*  4047*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2001             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2002             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd))) - Complexity = 22
    2003             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2004             : /*  4058*/            0, /*End of Scope*/
    2005             : /*  4059*/          /*Scope*/ 98, /*->4158*/
    2006             : /*  4060*/            OPC_MoveChild0,
    2007             : /*  4061*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2008             : /*  4064*/            OPC_Scope, 45, /*->4111*/ // 2 children in Scope
    2009             : /*  4066*/              OPC_CheckChild0Same, 0,
    2010             : /*  4068*/              OPC_MoveChild1,
    2011             : /*  4069*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2012             : /*  4072*/              OPC_MoveChild0,
    2013             : /*  4073*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2014             : /*  4076*/              OPC_MoveChild0,
    2015             : /*  4077*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2016             : /*  4080*/              OPC_MoveParent,
    2017             : /*  4081*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2018             : /*  4083*/              OPC_CheckType, MVT::v16i8,
    2019             : /*  4085*/              OPC_MoveParent,
    2020             : /*  4086*/              OPC_MoveParent,
    2021             : /*  4087*/              OPC_MoveParent,
    2022             : /*  4088*/              OPC_RecordChild1, // #2 = $Vm
    2023             : /*  4089*/              OPC_MoveParent,
    2024             : /*  4090*/              OPC_CheckType, MVT::v4i32,
    2025             : /*  4092*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2026             : /*  4094*/              OPC_EmitInteger, MVT::i32, 14, 
    2027             : /*  4097*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2028             : /*  4100*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2029             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2030             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 22
    2031             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2032             : /*  4111*/            /*Scope*/ 45, /*->4157*/
    2033             : /*  4112*/              OPC_MoveChild0,
    2034             : /*  4113*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2035             : /*  4116*/              OPC_MoveChild0,
    2036             : /*  4117*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2037             : /*  4120*/              OPC_MoveChild0,
    2038             : /*  4121*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2039             : /*  4124*/              OPC_MoveParent,
    2040             : /*  4125*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2041             : /*  4127*/              OPC_CheckType, MVT::v16i8,
    2042             : /*  4129*/              OPC_MoveParent,
    2043             : /*  4130*/              OPC_MoveParent,
    2044             : /*  4131*/              OPC_CheckChild1Same, 0,
    2045             : /*  4133*/              OPC_MoveParent,
    2046             : /*  4134*/              OPC_RecordChild1, // #2 = $Vm
    2047             : /*  4135*/              OPC_MoveParent,
    2048             : /*  4136*/              OPC_CheckType, MVT::v4i32,
    2049             : /*  4138*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2050             : /*  4140*/              OPC_EmitInteger, MVT::i32, 14, 
    2051             : /*  4143*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2052             : /*  4146*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2053             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2054             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 22
    2055             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2056             : /*  4157*/            0, /*End of Scope*/
    2057             : /*  4158*/          0, /*End of Scope*/
    2058             : /*  4159*/        /*Scope*/ 40|128,1/*168*/, /*->4329*/
    2059             : /*  4161*/          OPC_MoveChild1,
    2060             : /*  4162*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2061             : /*  4165*/          OPC_Scope, 80, /*->4247*/ // 2 children in Scope
    2062             : /*  4167*/            OPC_RecordChild0, // #1 = $Vd
    2063             : /*  4168*/            OPC_MoveChild1,
    2064             : /*  4169*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2065             : /*  4172*/            OPC_MoveChild0,
    2066             : /*  4173*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2067             : /*  4176*/            OPC_MoveChild0,
    2068             : /*  4177*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2069             : /*  4180*/            OPC_MoveParent,
    2070             : /*  4181*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2071             : /*  4183*/            OPC_CheckType, MVT::v16i8,
    2072             : /*  4185*/            OPC_MoveParent,
    2073             : /*  4186*/            OPC_MoveParent,
    2074             : /*  4187*/            OPC_MoveParent,
    2075             : /*  4188*/            OPC_MoveParent,
    2076             : /*  4189*/            OPC_MoveChild1,
    2077             : /*  4190*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2078             : /*  4193*/            OPC_Scope, 25, /*->4220*/ // 2 children in Scope
    2079             : /*  4195*/              OPC_RecordChild0, // #2 = $Vn
    2080             : /*  4196*/              OPC_CheckChild1Same, 1,
    2081             : /*  4198*/              OPC_MoveParent,
    2082             : /*  4199*/              OPC_CheckType, MVT::v4i32,
    2083             : /*  4201*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2084             : /*  4203*/              OPC_EmitInteger, MVT::i32, 14, 
    2085             : /*  4206*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2086             : /*  4209*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2087             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2088             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd)) - Complexity = 22
    2089             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2090             : /*  4220*/            /*Scope*/ 25, /*->4246*/
    2091             : /*  4221*/              OPC_CheckChild0Same, 1,
    2092             : /*  4223*/              OPC_RecordChild1, // #2 = $Vn
    2093             : /*  4224*/              OPC_MoveParent,
    2094             : /*  4225*/              OPC_CheckType, MVT::v4i32,
    2095             : /*  4227*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2096             : /*  4229*/              OPC_EmitInteger, MVT::i32, 14, 
    2097             : /*  4232*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2098             : /*  4235*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2099             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2100             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn)) - Complexity = 22
    2101             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2102             : /*  4246*/            0, /*End of Scope*/
    2103             : /*  4247*/          /*Scope*/ 80, /*->4328*/
    2104             : /*  4248*/            OPC_MoveChild0,
    2105             : /*  4249*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2106             : /*  4252*/            OPC_MoveChild0,
    2107             : /*  4253*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2108             : /*  4256*/            OPC_MoveChild0,
    2109             : /*  4257*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2110             : /*  4260*/            OPC_MoveParent,
    2111             : /*  4261*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2112             : /*  4263*/            OPC_CheckType, MVT::v16i8,
    2113             : /*  4265*/            OPC_MoveParent,
    2114             : /*  4266*/            OPC_MoveParent,
    2115             : /*  4267*/            OPC_RecordChild1, // #1 = $Vd
    2116             : /*  4268*/            OPC_MoveParent,
    2117             : /*  4269*/            OPC_MoveParent,
    2118             : /*  4270*/            OPC_MoveChild1,
    2119             : /*  4271*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2120             : /*  4274*/            OPC_Scope, 25, /*->4301*/ // 2 children in Scope
    2121             : /*  4276*/              OPC_RecordChild0, // #2 = $Vn
    2122             : /*  4277*/              OPC_CheckChild1Same, 1,
    2123             : /*  4279*/              OPC_MoveParent,
    2124             : /*  4280*/              OPC_CheckType, MVT::v4i32,
    2125             : /*  4282*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2126             : /*  4284*/              OPC_EmitInteger, MVT::i32, 14, 
    2127             : /*  4287*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2128             : /*  4290*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2129             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2130             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd)), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd)) - Complexity = 22
    2131             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2132             : /*  4301*/            /*Scope*/ 25, /*->4327*/
    2133             : /*  4302*/              OPC_CheckChild0Same, 1,
    2134             : /*  4304*/              OPC_RecordChild1, // #2 = $Vn
    2135             : /*  4305*/              OPC_MoveParent,
    2136             : /*  4306*/              OPC_CheckType, MVT::v4i32,
    2137             : /*  4308*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2138             : /*  4310*/              OPC_EmitInteger, MVT::i32, 14, 
    2139             : /*  4313*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2140             : /*  4316*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2141             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2142             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd)), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn)) - Complexity = 22
    2143             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2144             : /*  4327*/            0, /*End of Scope*/
    2145             : /*  4328*/          0, /*End of Scope*/
    2146             : /*  4329*/        0, /*End of Scope*/
    2147             : /*  4330*/      /*Scope*/ 42|128,1/*170*/, /*->4502*/
    2148             : /*  4332*/        OPC_MoveChild0,
    2149             : /*  4333*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2150             : /*  4336*/        OPC_Scope, 81, /*->4419*/ // 2 children in Scope
    2151             : /*  4338*/          OPC_RecordChild0, // #0 = $Vd
    2152             : /*  4339*/          OPC_MoveChild1,
    2153             : /*  4340*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2154             : /*  4343*/          OPC_MoveChild0,
    2155             : /*  4344*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2156             : /*  4347*/          OPC_MoveChild0,
    2157             : /*  4348*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2158             : /*  4351*/          OPC_MoveParent,
    2159             : /*  4352*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2160             : /*  4354*/          OPC_CheckType, MVT::v16i8,
    2161             : /*  4356*/          OPC_MoveParent,
    2162             : /*  4357*/          OPC_MoveParent,
    2163             : /*  4358*/          OPC_MoveParent,
    2164             : /*  4359*/          OPC_RecordChild1, // #1 = $Vm
    2165             : /*  4360*/          OPC_MoveParent,
    2166             : /*  4361*/          OPC_MoveChild1,
    2167             : /*  4362*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2168             : /*  4365*/          OPC_Scope, 25, /*->4392*/ // 2 children in Scope
    2169             : /*  4367*/            OPC_RecordChild0, // #2 = $Vn
    2170             : /*  4368*/            OPC_CheckChild1Same, 0,
    2171             : /*  4370*/            OPC_MoveParent,
    2172             : /*  4371*/            OPC_CheckType, MVT::v4i32,
    2173             : /*  4373*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2174             : /*  4375*/            OPC_EmitInteger, MVT::i32, 14, 
    2175             : /*  4378*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2176             : /*  4381*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2177             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2178             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vm), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd)) - Complexity = 22
    2179             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2180             : /*  4392*/          /*Scope*/ 25, /*->4418*/
    2181             : /*  4393*/            OPC_CheckChild0Same, 0,
    2182             : /*  4395*/            OPC_RecordChild1, // #2 = $Vn
    2183             : /*  4396*/            OPC_MoveParent,
    2184             : /*  4397*/            OPC_CheckType, MVT::v4i32,
    2185             : /*  4399*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2186             : /*  4401*/            OPC_EmitInteger, MVT::i32, 14, 
    2187             : /*  4404*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2188             : /*  4407*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2189             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2190             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vm), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn)) - Complexity = 22
    2191             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2192             : /*  4418*/          0, /*End of Scope*/
    2193             : /*  4419*/        /*Scope*/ 81, /*->4501*/
    2194             : /*  4420*/          OPC_MoveChild0,
    2195             : /*  4421*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2196             : /*  4424*/          OPC_MoveChild0,
    2197             : /*  4425*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2198             : /*  4428*/          OPC_MoveChild0,
    2199             : /*  4429*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2200             : /*  4432*/          OPC_MoveParent,
    2201             : /*  4433*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2202             : /*  4435*/          OPC_CheckType, MVT::v16i8,
    2203             : /*  4437*/          OPC_MoveParent,
    2204             : /*  4438*/          OPC_MoveParent,
    2205             : /*  4439*/          OPC_RecordChild1, // #0 = $Vd
    2206             : /*  4440*/          OPC_MoveParent,
    2207             : /*  4441*/          OPC_RecordChild1, // #1 = $Vm
    2208             : /*  4442*/          OPC_MoveParent,
    2209             : /*  4443*/          OPC_MoveChild1,
    2210             : /*  4444*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2211             : /*  4447*/          OPC_Scope, 25, /*->4474*/ // 2 children in Scope
    2212             : /*  4449*/            OPC_RecordChild0, // #2 = $Vn
    2213             : /*  4450*/            OPC_CheckChild1Same, 0,
    2214             : /*  4452*/            OPC_MoveParent,
    2215             : /*  4453*/            OPC_CheckType, MVT::v4i32,
    2216             : /*  4455*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2217             : /*  4457*/            OPC_EmitInteger, MVT::i32, 14, 
    2218             : /*  4460*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2219             : /*  4463*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2220             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2221             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd), QPR:{ *:[v4i32] }:$Vm), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vd)) - Complexity = 22
    2222             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2223             : /*  4474*/          /*Scope*/ 25, /*->4500*/
    2224             : /*  4475*/            OPC_CheckChild0Same, 0,
    2225             : /*  4477*/            OPC_RecordChild1, // #2 = $Vn
    2226             : /*  4478*/            OPC_MoveParent,
    2227             : /*  4479*/            OPC_CheckType, MVT::v4i32,
    2228             : /*  4481*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2229             : /*  4483*/            OPC_EmitInteger, MVT::i32, 14, 
    2230             : /*  4486*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2231             : /*  4489*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2232             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2233             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vd), QPR:{ *:[v4i32] }:$Vm), (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn)) - Complexity = 22
    2234             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2235             : /*  4500*/          0, /*End of Scope*/
    2236             : /*  4501*/        0, /*End of Scope*/
    2237             : /*  4502*/      /*Scope*/ 17|128,4/*529*/, /*->5033*/
    2238             : /*  4504*/        OPC_RecordChild0, // #0 = $Vn
    2239             : /*  4505*/        OPC_Scope, 98|128,2/*354*/, /*->4862*/ // 2 children in Scope
    2240             : /*  4508*/          OPC_RecordChild1, // #1 = $Vd
    2241             : /*  4509*/          OPC_MoveParent,
    2242             : /*  4510*/          OPC_MoveChild1,
    2243             : /*  4511*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2244             : /*  4514*/          OPC_Scope, 49, /*->4565*/ // 4 children in Scope
    2245             : /*  4516*/            OPC_RecordChild0, // #2 = $Vm
    2246             : /*  4517*/            OPC_MoveChild1,
    2247             : /*  4518*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2248             : /*  4521*/            OPC_MoveChild0,
    2249             : /*  4522*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2250             : /*  4525*/            OPC_MoveChild0,
    2251             : /*  4526*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2252             : /*  4529*/            OPC_MoveChild0,
    2253             : /*  4530*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2254             : /*  4533*/            OPC_MoveParent,
    2255             : /*  4534*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2256             : /*  4536*/            OPC_CheckType, MVT::v16i8,
    2257             : /*  4538*/            OPC_MoveParent,
    2258             : /*  4539*/            OPC_MoveParent,
    2259             : /*  4540*/            OPC_CheckChild1Same, 1,
    2260             : /*  4542*/            OPC_MoveParent,
    2261             : /*  4543*/            OPC_MoveParent,
    2262             : /*  4544*/            OPC_CheckType, MVT::v2i64,
    2263             : /*  4546*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2264             : /*  4548*/            OPC_EmitInteger, MVT::i32, 14, 
    2265             : /*  4551*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2266             : /*  4554*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2267             :                           MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2268             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd))) - Complexity = 22
    2269             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2270             : /*  4565*/          /*Scope*/ 98, /*->4664*/
    2271             : /*  4566*/            OPC_MoveChild0,
    2272             : /*  4567*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2273             : /*  4570*/            OPC_Scope, 45, /*->4617*/ // 2 children in Scope
    2274             : /*  4572*/              OPC_CheckChild0Same, 1,
    2275             : /*  4574*/              OPC_MoveChild1,
    2276             : /*  4575*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2277             : /*  4578*/              OPC_MoveChild0,
    2278             : /*  4579*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2279             : /*  4582*/              OPC_MoveChild0,
    2280             : /*  4583*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2281             : /*  4586*/              OPC_MoveParent,
    2282             : /*  4587*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2283             : /*  4589*/              OPC_CheckType, MVT::v16i8,
    2284             : /*  4591*/              OPC_MoveParent,
    2285             : /*  4592*/              OPC_MoveParent,
    2286             : /*  4593*/              OPC_MoveParent,
    2287             : /*  4594*/              OPC_RecordChild1, // #2 = $Vm
    2288             : /*  4595*/              OPC_MoveParent,
    2289             : /*  4596*/              OPC_CheckType, MVT::v2i64,
    2290             : /*  4598*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2291             : /*  4600*/              OPC_EmitInteger, MVT::i32, 14, 
    2292             : /*  4603*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2293             : /*  4606*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2294             :                             MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2295             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v2i64] }:$Vm)) - Complexity = 22
    2296             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2297             : /*  4617*/            /*Scope*/ 45, /*->4663*/
    2298             : /*  4618*/              OPC_MoveChild0,
    2299             : /*  4619*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2300             : /*  4622*/              OPC_MoveChild0,
    2301             : /*  4623*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2302             : /*  4626*/              OPC_MoveChild0,
    2303             : /*  4627*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2304             : /*  4630*/              OPC_MoveParent,
    2305             : /*  4631*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2306             : /*  4633*/              OPC_CheckType, MVT::v16i8,
    2307             : /*  4635*/              OPC_MoveParent,
    2308             : /*  4636*/              OPC_MoveParent,
    2309             : /*  4637*/              OPC_CheckChild1Same, 1,
    2310             : /*  4639*/              OPC_MoveParent,
    2311             : /*  4640*/              OPC_RecordChild1, // #2 = $Vm
    2312             : /*  4641*/              OPC_MoveParent,
    2313             : /*  4642*/              OPC_CheckType, MVT::v2i64,
    2314             : /*  4644*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2315             : /*  4646*/              OPC_EmitInteger, MVT::i32, 14, 
    2316             : /*  4649*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2317             : /*  4652*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2318             :                             MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2319             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd), QPR:{ *:[v2i64] }:$Vm)) - Complexity = 22
    2320             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2321             : /*  4663*/            0, /*End of Scope*/
    2322             : /*  4664*/          /*Scope*/ 97, /*->4762*/
    2323             : /*  4665*/            OPC_RecordChild0, // #2 = $Vm
    2324             : /*  4666*/            OPC_MoveChild1,
    2325             : /*  4667*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2326             : /*  4670*/            OPC_Scope, 44, /*->4716*/ // 2 children in Scope
    2327             : /*  4672*/              OPC_CheckChild0Same, 0,
    2328             : /*  4674*/              OPC_MoveChild1,
    2329             : /*  4675*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2330             : /*  4678*/              OPC_MoveChild0,
    2331             : /*  4679*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2332             : /*  4682*/              OPC_MoveChild0,
    2333             : /*  4683*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2334             : /*  4686*/              OPC_MoveParent,
    2335             : /*  4687*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2336             : /*  4689*/              OPC_CheckType, MVT::v16i8,
    2337             : /*  4691*/              OPC_MoveParent,
    2338             : /*  4692*/              OPC_MoveParent,
    2339             : /*  4693*/              OPC_MoveParent,
    2340             : /*  4694*/              OPC_MoveParent,
    2341             : /*  4695*/              OPC_CheckType, MVT::v2i64,
    2342             : /*  4697*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2343             : /*  4699*/              OPC_EmitInteger, MVT::i32, 14, 
    2344             : /*  4702*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2345             : /*  4705*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2346             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2347             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)))) - Complexity = 22
    2348             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2349             : /*  4716*/            /*Scope*/ 44, /*->4761*/
    2350             : /*  4717*/              OPC_MoveChild0,
    2351             : /*  4718*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2352             : /*  4721*/              OPC_MoveChild0,
    2353             : /*  4722*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2354             : /*  4725*/              OPC_MoveChild0,
    2355             : /*  4726*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2356             : /*  4729*/              OPC_MoveParent,
    2357             : /*  4730*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2358             : /*  4732*/              OPC_CheckType, MVT::v16i8,
    2359             : /*  4734*/              OPC_MoveParent,
    2360             : /*  4735*/              OPC_MoveParent,
    2361             : /*  4736*/              OPC_CheckChild1Same, 0,
    2362             : /*  4738*/              OPC_MoveParent,
    2363             : /*  4739*/              OPC_MoveParent,
    2364             : /*  4740*/              OPC_CheckType, MVT::v2i64,
    2365             : /*  4742*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2366             : /*  4744*/              OPC_EmitInteger, MVT::i32, 14, 
    2367             : /*  4747*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2368             : /*  4750*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2369             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2370             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd))) - Complexity = 22
    2371             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2372             : /*  4761*/            0, /*End of Scope*/
    2373             : /*  4762*/          /*Scope*/ 98, /*->4861*/
    2374             : /*  4763*/            OPC_MoveChild0,
    2375             : /*  4764*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2376             : /*  4767*/            OPC_Scope, 45, /*->4814*/ // 2 children in Scope
    2377             : /*  4769*/              OPC_CheckChild0Same, 0,
    2378             : /*  4771*/              OPC_MoveChild1,
    2379             : /*  4772*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2380             : /*  4775*/              OPC_MoveChild0,
    2381             : /*  4776*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2382             : /*  4779*/              OPC_MoveChild0,
    2383             : /*  4780*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2384             : /*  4783*/              OPC_MoveParent,
    2385             : /*  4784*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2386             : /*  4786*/              OPC_CheckType, MVT::v16i8,
    2387             : /*  4788*/              OPC_MoveParent,
    2388             : /*  4789*/              OPC_MoveParent,
    2389             : /*  4790*/              OPC_MoveParent,
    2390             : /*  4791*/              OPC_RecordChild1, // #2 = $Vm
    2391             : /*  4792*/              OPC_MoveParent,
    2392             : /*  4793*/              OPC_CheckType, MVT::v2i64,
    2393             : /*  4795*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2394             : /*  4797*/              OPC_EmitInteger, MVT::i32, 14, 
    2395             : /*  4800*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2396             : /*  4803*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2397             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2398             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v2i64] }:$Vm)) - Complexity = 22
    2399             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2400             : /*  4814*/            /*Scope*/ 45, /*->4860*/
    2401             : /*  4815*/              OPC_MoveChild0,
    2402             : /*  4816*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2403             : /*  4819*/              OPC_MoveChild0,
    2404             : /*  4820*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2405             : /*  4823*/              OPC_MoveChild0,
    2406             : /*  4824*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2407             : /*  4827*/              OPC_MoveParent,
    2408             : /*  4828*/              OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2409             : /*  4830*/              OPC_CheckType, MVT::v16i8,
    2410             : /*  4832*/              OPC_MoveParent,
    2411             : /*  4833*/              OPC_MoveParent,
    2412             : /*  4834*/              OPC_CheckChild1Same, 0,
    2413             : /*  4836*/              OPC_MoveParent,
    2414             : /*  4837*/              OPC_RecordChild1, // #2 = $Vm
    2415             : /*  4838*/              OPC_MoveParent,
    2416             : /*  4839*/              OPC_CheckType, MVT::v2i64,
    2417             : /*  4841*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2418             : /*  4843*/              OPC_EmitInteger, MVT::i32, 14, 
    2419             : /*  4846*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2420             : /*  4849*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2421             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2422             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd), QPR:{ *:[v2i64] }:$Vm)) - Complexity = 22
    2423             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2424             : /*  4860*/            0, /*End of Scope*/
    2425             : /*  4861*/          0, /*End of Scope*/
    2426             : /*  4862*/        /*Scope*/ 40|128,1/*168*/, /*->5032*/
    2427             : /*  4864*/          OPC_MoveChild1,
    2428             : /*  4865*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2429             : /*  4868*/          OPC_Scope, 80, /*->4950*/ // 2 children in Scope
    2430             : /*  4870*/            OPC_RecordChild0, // #1 = $Vd
    2431             : /*  4871*/            OPC_MoveChild1,
    2432             : /*  4872*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2433             : /*  4875*/            OPC_MoveChild0,
    2434             : /*  4876*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2435             : /*  4879*/            OPC_MoveChild0,
    2436             : /*  4880*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2437             : /*  4883*/            OPC_MoveParent,
    2438             : /*  4884*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2439             : /*  4886*/            OPC_CheckType, MVT::v16i8,
    2440             : /*  4888*/            OPC_MoveParent,
    2441             : /*  4889*/            OPC_MoveParent,
    2442             : /*  4890*/            OPC_MoveParent,
    2443             : /*  4891*/            OPC_MoveParent,
    2444             : /*  4892*/            OPC_MoveChild1,
    2445             : /*  4893*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2446             : /*  4896*/            OPC_Scope, 25, /*->4923*/ // 2 children in Scope
    2447             : /*  4898*/              OPC_RecordChild0, // #2 = $Vn
    2448             : /*  4899*/              OPC_CheckChild1Same, 1,
    2449             : /*  4901*/              OPC_MoveParent,
    2450             : /*  4902*/              OPC_CheckType, MVT::v2i64,
    2451             : /*  4904*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2452             : /*  4906*/              OPC_EmitInteger, MVT::i32, 14, 
    2453             : /*  4909*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2454             : /*  4912*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2455             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2456             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd)) - Complexity = 22
    2457             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2458             : /*  4923*/            /*Scope*/ 25, /*->4949*/
    2459             : /*  4924*/              OPC_CheckChild0Same, 1,
    2460             : /*  4926*/              OPC_RecordChild1, // #2 = $Vn
    2461             : /*  4927*/              OPC_MoveParent,
    2462             : /*  4928*/              OPC_CheckType, MVT::v2i64,
    2463             : /*  4930*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2464             : /*  4932*/              OPC_EmitInteger, MVT::i32, 14, 
    2465             : /*  4935*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2466             : /*  4938*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2467             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2468             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn)) - Complexity = 22
    2469             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2470             : /*  4949*/            0, /*End of Scope*/
    2471             : /*  4950*/          /*Scope*/ 80, /*->5031*/
    2472             : /*  4951*/            OPC_MoveChild0,
    2473             : /*  4952*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2474             : /*  4955*/            OPC_MoveChild0,
    2475             : /*  4956*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2476             : /*  4959*/            OPC_MoveChild0,
    2477             : /*  4960*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2478             : /*  4963*/            OPC_MoveParent,
    2479             : /*  4964*/            OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2480             : /*  4966*/            OPC_CheckType, MVT::v16i8,
    2481             : /*  4968*/            OPC_MoveParent,
    2482             : /*  4969*/            OPC_MoveParent,
    2483             : /*  4970*/            OPC_RecordChild1, // #1 = $Vd
    2484             : /*  4971*/            OPC_MoveParent,
    2485             : /*  4972*/            OPC_MoveParent,
    2486             : /*  4973*/            OPC_MoveChild1,
    2487             : /*  4974*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2488             : /*  4977*/            OPC_Scope, 25, /*->5004*/ // 2 children in Scope
    2489             : /*  4979*/              OPC_RecordChild0, // #2 = $Vn
    2490             : /*  4980*/              OPC_CheckChild1Same, 1,
    2491             : /*  4982*/              OPC_MoveParent,
    2492             : /*  4983*/              OPC_CheckType, MVT::v2i64,
    2493             : /*  4985*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2494             : /*  4987*/              OPC_EmitInteger, MVT::i32, 14, 
    2495             : /*  4990*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2496             : /*  4993*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2497             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2498             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd)), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd)) - Complexity = 22
    2499             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2500             : /*  5004*/            /*Scope*/ 25, /*->5030*/
    2501             : /*  5005*/              OPC_CheckChild0Same, 1,
    2502             : /*  5007*/              OPC_RecordChild1, // #2 = $Vn
    2503             : /*  5008*/              OPC_MoveParent,
    2504             : /*  5009*/              OPC_CheckType, MVT::v2i64,
    2505             : /*  5011*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2506             : /*  5013*/              OPC_EmitInteger, MVT::i32, 14, 
    2507             : /*  5016*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2508             : /*  5019*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2509             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2510             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd)), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn)) - Complexity = 22
    2511             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2512             : /*  5030*/            0, /*End of Scope*/
    2513             : /*  5031*/          0, /*End of Scope*/
    2514             : /*  5032*/        0, /*End of Scope*/
    2515             : /*  5033*/      /*Scope*/ 42|128,1/*170*/, /*->5205*/
    2516             : /*  5035*/        OPC_MoveChild0,
    2517             : /*  5036*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2518             : /*  5039*/        OPC_Scope, 81, /*->5122*/ // 2 children in Scope
    2519             : /*  5041*/          OPC_RecordChild0, // #0 = $Vd
    2520             : /*  5042*/          OPC_MoveChild1,
    2521             : /*  5043*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2522             : /*  5046*/          OPC_MoveChild0,
    2523             : /*  5047*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2524             : /*  5050*/          OPC_MoveChild0,
    2525             : /*  5051*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2526             : /*  5054*/          OPC_MoveParent,
    2527             : /*  5055*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2528             : /*  5057*/          OPC_CheckType, MVT::v16i8,
    2529             : /*  5059*/          OPC_MoveParent,
    2530             : /*  5060*/          OPC_MoveParent,
    2531             : /*  5061*/          OPC_MoveParent,
    2532             : /*  5062*/          OPC_RecordChild1, // #1 = $Vm
    2533             : /*  5063*/          OPC_MoveParent,
    2534             : /*  5064*/          OPC_MoveChild1,
    2535             : /*  5065*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2536             : /*  5068*/          OPC_Scope, 25, /*->5095*/ // 2 children in Scope
    2537             : /*  5070*/            OPC_RecordChild0, // #2 = $Vn
    2538             : /*  5071*/            OPC_CheckChild1Same, 0,
    2539             : /*  5073*/            OPC_MoveParent,
    2540             : /*  5074*/            OPC_CheckType, MVT::v2i64,
    2541             : /*  5076*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2542             : /*  5078*/            OPC_EmitInteger, MVT::i32, 14, 
    2543             : /*  5081*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2544             : /*  5084*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2545             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2546             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v2i64] }:$Vm), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd)) - Complexity = 22
    2547             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2548             : /*  5095*/          /*Scope*/ 25, /*->5121*/
    2549             : /*  5096*/            OPC_CheckChild0Same, 0,
    2550             : /*  5098*/            OPC_RecordChild1, // #2 = $Vn
    2551             : /*  5099*/            OPC_MoveParent,
    2552             : /*  5100*/            OPC_CheckType, MVT::v2i64,
    2553             : /*  5102*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2554             : /*  5104*/            OPC_EmitInteger, MVT::i32, 14, 
    2555             : /*  5107*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2556             : /*  5110*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2557             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2558             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v2i64] }:$Vm), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn)) - Complexity = 22
    2559             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2560             : /*  5121*/          0, /*End of Scope*/
    2561             : /*  5122*/        /*Scope*/ 81, /*->5204*/
    2562             : /*  5123*/          OPC_MoveChild0,
    2563             : /*  5124*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2564             : /*  5127*/          OPC_MoveChild0,
    2565             : /*  5128*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2566             : /*  5131*/          OPC_MoveChild0,
    2567             : /*  5132*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2568             : /*  5135*/          OPC_MoveParent,
    2569             : /*  5136*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2570             : /*  5138*/          OPC_CheckType, MVT::v16i8,
    2571             : /*  5140*/          OPC_MoveParent,
    2572             : /*  5141*/          OPC_MoveParent,
    2573             : /*  5142*/          OPC_RecordChild1, // #0 = $Vd
    2574             : /*  5143*/          OPC_MoveParent,
    2575             : /*  5144*/          OPC_RecordChild1, // #1 = $Vm
    2576             : /*  5145*/          OPC_MoveParent,
    2577             : /*  5146*/          OPC_MoveChild1,
    2578             : /*  5147*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2579             : /*  5150*/          OPC_Scope, 25, /*->5177*/ // 2 children in Scope
    2580             : /*  5152*/            OPC_RecordChild0, // #2 = $Vn
    2581             : /*  5153*/            OPC_CheckChild1Same, 0,
    2582             : /*  5155*/            OPC_MoveParent,
    2583             : /*  5156*/            OPC_CheckType, MVT::v2i64,
    2584             : /*  5158*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2585             : /*  5160*/            OPC_EmitInteger, MVT::i32, 14, 
    2586             : /*  5163*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2587             : /*  5166*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2588             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2589             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd), QPR:{ *:[v2i64] }:$Vm), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vd)) - Complexity = 22
    2590             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2591             : /*  5177*/          /*Scope*/ 25, /*->5203*/
    2592             : /*  5178*/            OPC_CheckChild0Same, 0,
    2593             : /*  5180*/            OPC_RecordChild1, // #2 = $Vn
    2594             : /*  5181*/            OPC_MoveParent,
    2595             : /*  5182*/            OPC_CheckType, MVT::v2i64,
    2596             : /*  5184*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2597             : /*  5186*/            OPC_EmitInteger, MVT::i32, 14, 
    2598             : /*  5189*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2599             : /*  5192*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2600             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2601             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (bitconvert:{ *:[v2i64] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v2i64] }:$Vd), QPR:{ *:[v2i64] }:$Vm), (and:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn)) - Complexity = 22
    2602             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2603             : /*  5203*/          0, /*End of Scope*/
    2604             : /*  5204*/        0, /*End of Scope*/
    2605             : /*  5205*/      0, /*End of Scope*/
    2606             : /*  5206*/    /*Scope*/ 118, /*->5325*/
    2607             : /*  5207*/      OPC_RecordChild0, // #0 = $Vn
    2608             : /*  5208*/      OPC_MoveChild1,
    2609             : /*  5209*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2610             : /*  5212*/      OPC_Scope, 68, /*->5282*/ // 2 children in Scope
    2611             : /*  5214*/        OPC_RecordChild0, // #1 = $Vm
    2612             : /*  5215*/        OPC_MoveChild1,
    2613             : /*  5216*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2614             : /*  5219*/        OPC_MoveChild0,
    2615             : /*  5220*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2616             : /*  5223*/        OPC_MoveChild0,
    2617             : /*  5224*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2618             : /*  5227*/        OPC_MoveParent,
    2619             : /*  5228*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2620             : /*  5230*/        OPC_SwitchType /*2 cases */, 23, MVT::v8i8,// ->5256
    2621             : /*  5233*/          OPC_MoveParent,
    2622             : /*  5234*/          OPC_MoveParent,
    2623             : /*  5235*/          OPC_MoveParent,
    2624             : /*  5236*/          OPC_CheckType, MVT::v2i32,
    2625             : /*  5238*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2626             : /*  5240*/          OPC_EmitInteger, MVT::i32, 14, 
    2627             : /*  5243*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2628             : /*  5246*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2629             :                         MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2630             :                     // Src: (or:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    2631             :                     // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2632             : /*  5256*/        /*SwitchType*/ 23, MVT::v16i8,// ->5281
    2633             : /*  5258*/          OPC_MoveParent,
    2634             : /*  5259*/          OPC_MoveParent,
    2635             : /*  5260*/          OPC_MoveParent,
    2636             : /*  5261*/          OPC_CheckType, MVT::v4i32,
    2637             : /*  5263*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2638             : /*  5265*/          OPC_EmitInteger, MVT::i32, 14, 
    2639             : /*  5268*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2640             : /*  5271*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2641             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2642             :                     // Src: (or:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    2643             :                     // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2644             : /*  5281*/        0, // EndSwitchType
    2645             : /*  5282*/      /*Scope*/ 41, /*->5324*/
    2646             : /*  5283*/        OPC_MoveChild0,
    2647             : /*  5284*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2648             : /*  5287*/        OPC_MoveChild0,
    2649             : /*  5288*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2650             : /*  5291*/        OPC_MoveChild0,
    2651             : /*  5292*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2652             : /*  5295*/        OPC_MoveParent,
    2653             : /*  5296*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2654             : /*  5298*/        OPC_CheckType, MVT::v8i8,
    2655             : /*  5300*/        OPC_MoveParent,
    2656             : /*  5301*/        OPC_MoveParent,
    2657             : /*  5302*/        OPC_RecordChild1, // #1 = $Vm
    2658             : /*  5303*/        OPC_MoveParent,
    2659             : /*  5304*/        OPC_CheckType, MVT::v2i32,
    2660             : /*  5306*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2661             : /*  5308*/        OPC_EmitInteger, MVT::i32, 14, 
    2662             : /*  5311*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2663             : /*  5314*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2664             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2665             :                   // Src: (or:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 16
    2666             :                   // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2667             : /*  5324*/      0, /*End of Scope*/
    2668             : /*  5325*/    /*Scope*/ 92, /*->5418*/
    2669             : /*  5326*/      OPC_MoveChild0,
    2670             : /*  5327*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2671             : /*  5330*/      OPC_Scope, 42, /*->5374*/ // 2 children in Scope
    2672             : /*  5332*/        OPC_RecordChild0, // #0 = $Vm
    2673             : /*  5333*/        OPC_MoveChild1,
    2674             : /*  5334*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2675             : /*  5337*/        OPC_MoveChild0,
    2676             : /*  5338*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2677             : /*  5341*/        OPC_MoveChild0,
    2678             : /*  5342*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2679             : /*  5345*/        OPC_MoveParent,
    2680             : /*  5346*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2681             : /*  5348*/        OPC_CheckType, MVT::v8i8,
    2682             : /*  5350*/        OPC_MoveParent,
    2683             : /*  5351*/        OPC_MoveParent,
    2684             : /*  5352*/        OPC_MoveParent,
    2685             : /*  5353*/        OPC_RecordChild1, // #1 = $Vn
    2686             : /*  5354*/        OPC_CheckType, MVT::v2i32,
    2687             : /*  5356*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2688             : /*  5358*/        OPC_EmitInteger, MVT::i32, 14, 
    2689             : /*  5361*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2690             : /*  5364*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2691             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2692             :                   // Src: (or:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    2693             :                   // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2694             : /*  5374*/      /*Scope*/ 42, /*->5417*/
    2695             : /*  5375*/        OPC_MoveChild0,
    2696             : /*  5376*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2697             : /*  5379*/        OPC_MoveChild0,
    2698             : /*  5380*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2699             : /*  5383*/        OPC_MoveChild0,
    2700             : /*  5384*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2701             : /*  5387*/        OPC_MoveParent,
    2702             : /*  5388*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2703             : /*  5390*/        OPC_CheckType, MVT::v8i8,
    2704             : /*  5392*/        OPC_MoveParent,
    2705             : /*  5393*/        OPC_MoveParent,
    2706             : /*  5394*/        OPC_RecordChild1, // #0 = $Vm
    2707             : /*  5395*/        OPC_MoveParent,
    2708             : /*  5396*/        OPC_RecordChild1, // #1 = $Vn
    2709             : /*  5397*/        OPC_CheckType, MVT::v2i32,
    2710             : /*  5399*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2711             : /*  5401*/        OPC_EmitInteger, MVT::i32, 14, 
    2712             : /*  5404*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2713             : /*  5407*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2714             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2715             :                   // Src: (or:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    2716             :                   // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2717             : /*  5417*/      0, /*End of Scope*/
    2718             : /*  5418*/    /*Scope*/ 46, /*->5465*/
    2719             : /*  5419*/      OPC_RecordChild0, // #0 = $Vn
    2720             : /*  5420*/      OPC_MoveChild1,
    2721             : /*  5421*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2722             : /*  5424*/      OPC_MoveChild0,
    2723             : /*  5425*/      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2724             : /*  5428*/      OPC_MoveChild0,
    2725             : /*  5429*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2726             : /*  5432*/      OPC_MoveChild0,
    2727             : /*  5433*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2728             : /*  5436*/      OPC_MoveParent,
    2729             : /*  5437*/      OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2730             : /*  5439*/      OPC_CheckType, MVT::v16i8,
    2731             : /*  5441*/      OPC_MoveParent,
    2732             : /*  5442*/      OPC_MoveParent,
    2733             : /*  5443*/      OPC_RecordChild1, // #1 = $Vm
    2734             : /*  5444*/      OPC_MoveParent,
    2735             : /*  5445*/      OPC_CheckType, MVT::v4i32,
    2736             : /*  5447*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2737             : /*  5449*/      OPC_EmitInteger, MVT::i32, 14, 
    2738             : /*  5452*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2739             : /*  5455*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2740             :                     MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2741             :                 // Src: (or:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 16
    2742             :                 // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2743             : /*  5465*/    /*Scope*/ 92, /*->5558*/
    2744             : /*  5466*/      OPC_MoveChild0,
    2745             : /*  5467*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2746             : /*  5470*/      OPC_Scope, 42, /*->5514*/ // 2 children in Scope
    2747             : /*  5472*/        OPC_RecordChild0, // #0 = $Vm
    2748             : /*  5473*/        OPC_MoveChild1,
    2749             : /*  5474*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2750             : /*  5477*/        OPC_MoveChild0,
    2751             : /*  5478*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2752             : /*  5481*/        OPC_MoveChild0,
    2753             : /*  5482*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2754             : /*  5485*/        OPC_MoveParent,
    2755             : /*  5486*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2756             : /*  5488*/        OPC_CheckType, MVT::v16i8,
    2757             : /*  5490*/        OPC_MoveParent,
    2758             : /*  5491*/        OPC_MoveParent,
    2759             : /*  5492*/        OPC_MoveParent,
    2760             : /*  5493*/        OPC_RecordChild1, // #1 = $Vn
    2761             : /*  5494*/        OPC_CheckType, MVT::v4i32,
    2762             : /*  5496*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2763             : /*  5498*/        OPC_EmitInteger, MVT::i32, 14, 
    2764             : /*  5501*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2765             : /*  5504*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2766             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2767             :                   // Src: (or:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    2768             :                   // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2769             : /*  5514*/      /*Scope*/ 42, /*->5557*/
    2770             : /*  5515*/        OPC_MoveChild0,
    2771             : /*  5516*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2772             : /*  5519*/        OPC_MoveChild0,
    2773             : /*  5520*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2774             : /*  5523*/        OPC_MoveChild0,
    2775             : /*  5524*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2776             : /*  5527*/        OPC_MoveParent,
    2777             : /*  5528*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    2778             : /*  5530*/        OPC_CheckType, MVT::v16i8,
    2779             : /*  5532*/        OPC_MoveParent,
    2780             : /*  5533*/        OPC_MoveParent,
    2781             : /*  5534*/        OPC_RecordChild1, // #0 = $Vm
    2782             : /*  5535*/        OPC_MoveParent,
    2783             : /*  5536*/        OPC_RecordChild1, // #1 = $Vn
    2784             : /*  5537*/        OPC_CheckType, MVT::v4i32,
    2785             : /*  5539*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2786             : /*  5541*/        OPC_EmitInteger, MVT::i32, 14, 
    2787             : /*  5544*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2788             : /*  5547*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2789             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2790             :                   // Src: (or:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    2791             :                   // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2792             : /*  5557*/      0, /*End of Scope*/
    2793             : /*  5558*/    /*Scope*/ 44, /*->5603*/
    2794             : /*  5559*/      OPC_RecordChild0, // #0 = $Vn
    2795             : /*  5560*/      OPC_RecordChild1, // #1 = $Vm
    2796             : /*  5561*/      OPC_SwitchType /*2 cases */, 18, MVT::v2i32,// ->5582
    2797             : /*  5564*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2798             : /*  5566*/        OPC_EmitInteger, MVT::i32, 14, 
    2799             : /*  5569*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2800             : /*  5572*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRd), 0,
    2801             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2802             :                   // Src: (or:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm) - Complexity = 3
    2803             :                   // Dst: (VORRd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2804             : /*  5582*/      /*SwitchType*/ 18, MVT::v4i32,// ->5602
    2805             : /*  5584*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2806             : /*  5586*/        OPC_EmitInteger, MVT::i32, 14, 
    2807             : /*  5589*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2808             : /*  5592*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRq), 0,
    2809             :                       MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2810             :                   // Src: (or:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm) - Complexity = 3
    2811             :                   // Dst: (VORRq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2812             : /*  5602*/      0, // EndSwitchType
    2813             : /*  5603*/    0, /*End of Scope*/
    2814             : /*  5604*/  /*SwitchOpcode*/ 114|128,77/*9970*/, TARGET_VAL(ISD::ADD),// ->15578
    2815             : /*  5608*/    OPC_Scope, 0|128,3/*384*/, /*->5995*/ // 51 children in Scope
    2816             : /*  5611*/      OPC_RecordChild0, // #0 = $Rn
    2817             : /*  5612*/      OPC_MoveChild1,
    2818             : /*  5613*/      OPC_Scope, 46, /*->5661*/ // 8 children in Scope
    2819             : /*  5615*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    2820             : /*  5618*/        OPC_MoveChild0,
    2821             : /*  5619*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    2822             : /*  5622*/        OPC_RecordChild0, // #1 = $Rm
    2823             : /*  5623*/        OPC_RecordChild1, // #2 = $rot
    2824             : /*  5624*/        OPC_MoveChild1,
    2825             : /*  5625*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2826             : /*  5628*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    2827             : /*  5630*/        OPC_CheckType, MVT::i32,
    2828             : /*  5632*/        OPC_MoveParent,
    2829             : /*  5633*/        OPC_MoveParent,
    2830             : /*  5634*/        OPC_MoveParent,
    2831             : /*  5635*/        OPC_CheckType, MVT::i32,
    2832             : /*  5637*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    2833             : /*  5639*/        OPC_EmitConvertToTarget, 2,
    2834             : /*  5641*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2835             : /*  5644*/        OPC_EmitInteger, MVT::i32, 14, 
    2836             : /*  5647*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2837             : /*  5650*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    2838             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2839             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] })) - Complexity = 34
    2840             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    2841             : /*  5661*/      /*Scope*/ 47, /*->5709*/
    2842             : /*  5662*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2843             : /*  5666*/        OPC_MoveChild0,
    2844             : /*  5667*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    2845             : /*  5670*/        OPC_RecordChild0, // #1 = $Rm
    2846             : /*  5671*/        OPC_RecordChild1, // #2 = $rot
    2847             : /*  5672*/        OPC_MoveChild1,
    2848             : /*  5673*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2849             : /*  5676*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    2850             : /*  5678*/        OPC_CheckType, MVT::i32,
    2851             : /*  5680*/        OPC_MoveParent,
    2852             : /*  5681*/        OPC_MoveParent,
    2853             : /*  5682*/        OPC_MoveParent,
    2854             : /*  5683*/        OPC_CheckType, MVT::i32,
    2855             : /*  5685*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    2856             : /*  5687*/        OPC_EmitConvertToTarget, 2,
    2857             : /*  5689*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2858             : /*  5692*/        OPC_EmitInteger, MVT::i32, 14, 
    2859             : /*  5695*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2860             : /*  5698*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    2861             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2862             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] })) - Complexity = 34
    2863             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    2864             : /*  5709*/      /*Scope*/ 46, /*->5756*/
    2865             : /*  5710*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    2866             : /*  5713*/        OPC_MoveChild0,
    2867             : /*  5714*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2868             : /*  5717*/        OPC_RecordChild0, // #1 = $Rm
    2869             : /*  5718*/        OPC_RecordChild1, // #2 = $rot
    2870             : /*  5719*/        OPC_MoveChild1,
    2871             : /*  5720*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2872             : /*  5723*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    2873             : /*  5725*/        OPC_CheckType, MVT::i32,
    2874             : /*  5727*/        OPC_MoveParent,
    2875             : /*  5728*/        OPC_MoveParent,
    2876             : /*  5729*/        OPC_MoveParent,
    2877             : /*  5730*/        OPC_CheckType, MVT::i32,
    2878             : /*  5732*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    2879             : /*  5734*/        OPC_EmitConvertToTarget, 2,
    2880             : /*  5736*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2881             : /*  5739*/        OPC_EmitInteger, MVT::i32, 14, 
    2882             : /*  5742*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2883             : /*  5745*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    2884             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2885             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] })) - Complexity = 34
    2886             :                   // Dst: (UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    2887             : /*  5756*/      /*Scope*/ 47, /*->5804*/
    2888             : /*  5757*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2889             : /*  5761*/        OPC_MoveChild0,
    2890             : /*  5762*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2891             : /*  5765*/        OPC_RecordChild0, // #1 = $Rm
    2892             : /*  5766*/        OPC_RecordChild1, // #2 = $rot
    2893             : /*  5767*/        OPC_MoveChild1,
    2894             : /*  5768*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2895             : /*  5771*/        OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    2896             : /*  5773*/        OPC_CheckType, MVT::i32,
    2897             : /*  5775*/        OPC_MoveParent,
    2898             : /*  5776*/        OPC_MoveParent,
    2899             : /*  5777*/        OPC_MoveParent,
    2900             : /*  5778*/        OPC_CheckType, MVT::i32,
    2901             : /*  5780*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    2902             : /*  5782*/        OPC_EmitConvertToTarget, 2,
    2903             : /*  5784*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2904             : /*  5787*/        OPC_EmitInteger, MVT::i32, 14, 
    2905             : /*  5790*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2906             : /*  5793*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    2907             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2908             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), 65535:{ *:[i32] })) - Complexity = 34
    2909             :                   // Dst: (UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    2910             : /*  5804*/      /*Scope*/ 46, /*->5851*/
    2911             : /*  5805*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    2912             : /*  5808*/        OPC_MoveChild0,
    2913             : /*  5809*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    2914             : /*  5812*/        OPC_RecordChild0, // #1 = $Rm
    2915             : /*  5813*/        OPC_RecordChild1, // #2 = $rot
    2916             : /*  5814*/        OPC_MoveChild1,
    2917             : /*  5815*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2918             : /*  5818*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    2919             : /*  5820*/        OPC_CheckType, MVT::i32,
    2920             : /*  5822*/        OPC_MoveParent,
    2921             : /*  5823*/        OPC_MoveParent,
    2922             : /*  5824*/        OPC_MoveParent,
    2923             : /*  5825*/        OPC_CheckType, MVT::i32,
    2924             : /*  5827*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    2925             : /*  5829*/        OPC_EmitConvertToTarget, 2,
    2926             : /*  5831*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2927             : /*  5834*/        OPC_EmitInteger, MVT::i32, 14, 
    2928             : /*  5837*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2929             : /*  5840*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    2930             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2931             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] })) - Complexity = 34
    2932             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    2933             : /*  5851*/      /*Scope*/ 47, /*->5899*/
    2934             : /*  5852*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2935             : /*  5856*/        OPC_MoveChild0,
    2936             : /*  5857*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    2937             : /*  5860*/        OPC_RecordChild0, // #1 = $Rm
    2938             : /*  5861*/        OPC_RecordChild1, // #2 = $rot
    2939             : /*  5862*/        OPC_MoveChild1,
    2940             : /*  5863*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2941             : /*  5866*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    2942             : /*  5868*/        OPC_CheckType, MVT::i32,
    2943             : /*  5870*/        OPC_MoveParent,
    2944             : /*  5871*/        OPC_MoveParent,
    2945             : /*  5872*/        OPC_MoveParent,
    2946             : /*  5873*/        OPC_CheckType, MVT::i32,
    2947             : /*  5875*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    2948             : /*  5877*/        OPC_EmitConvertToTarget, 2,
    2949             : /*  5879*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2950             : /*  5882*/        OPC_EmitInteger, MVT::i32, 14, 
    2951             : /*  5885*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2952             : /*  5888*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    2953             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2954             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] })) - Complexity = 34
    2955             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    2956             : /*  5899*/      /*Scope*/ 46, /*->5946*/
    2957             : /*  5900*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    2958             : /*  5903*/        OPC_MoveChild0,
    2959             : /*  5904*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2960             : /*  5907*/        OPC_RecordChild0, // #1 = $Rm
    2961             : /*  5908*/        OPC_RecordChild1, // #2 = $rot
    2962             : /*  5909*/        OPC_MoveChild1,
    2963             : /*  5910*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2964             : /*  5913*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    2965             : /*  5915*/        OPC_CheckType, MVT::i32,
    2966             : /*  5917*/        OPC_MoveParent,
    2967             : /*  5918*/        OPC_MoveParent,
    2968             : /*  5919*/        OPC_MoveParent,
    2969             : /*  5920*/        OPC_CheckType, MVT::i32,
    2970             : /*  5922*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    2971             : /*  5924*/        OPC_EmitConvertToTarget, 2,
    2972             : /*  5926*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2973             : /*  5929*/        OPC_EmitInteger, MVT::i32, 14, 
    2974             : /*  5932*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2975             : /*  5935*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    2976             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2977             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] })) - Complexity = 34
    2978             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    2979             : /*  5946*/      /*Scope*/ 47, /*->5994*/
    2980             : /*  5947*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2981             : /*  5951*/        OPC_MoveChild0,
    2982             : /*  5952*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2983             : /*  5955*/        OPC_RecordChild0, // #1 = $Rm
    2984             : /*  5956*/        OPC_RecordChild1, // #2 = $rot
    2985             : /*  5957*/        OPC_MoveChild1,
    2986             : /*  5958*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2987             : /*  5961*/        OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    2988             : /*  5963*/        OPC_CheckType, MVT::i32,
    2989             : /*  5965*/        OPC_MoveParent,
    2990             : /*  5966*/        OPC_MoveParent,
    2991             : /*  5967*/        OPC_MoveParent,
    2992             : /*  5968*/        OPC_CheckType, MVT::i32,
    2993             : /*  5970*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    2994             : /*  5972*/        OPC_EmitConvertToTarget, 2,
    2995             : /*  5974*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2996             : /*  5977*/        OPC_EmitInteger, MVT::i32, 14, 
    2997             : /*  5980*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2998             : /*  5983*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    2999             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3000             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), 65535:{ *:[i32] })) - Complexity = 34
    3001             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3002             : /*  5994*/      0, /*End of Scope*/
    3003             : /*  5995*/    /*Scope*/ 7|128,3/*391*/, /*->6388*/
    3004             : /*  5997*/      OPC_MoveChild0,
    3005             : /*  5998*/      OPC_Scope, 47, /*->6047*/ // 8 children in Scope
    3006             : /*  6000*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3007             : /*  6003*/        OPC_MoveChild0,
    3008             : /*  6004*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3009             : /*  6007*/        OPC_RecordChild0, // #0 = $Rm
    3010             : /*  6008*/        OPC_RecordChild1, // #1 = $rot
    3011             : /*  6009*/        OPC_MoveChild1,
    3012             : /*  6010*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3013             : /*  6013*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    3014             : /*  6015*/        OPC_CheckType, MVT::i32,
    3015             : /*  6017*/        OPC_MoveParent,
    3016             : /*  6018*/        OPC_MoveParent,
    3017             : /*  6019*/        OPC_MoveParent,
    3018             : /*  6020*/        OPC_RecordChild1, // #2 = $Rn
    3019             : /*  6021*/        OPC_CheckType, MVT::i32,
    3020             : /*  6023*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3021             : /*  6025*/        OPC_EmitConvertToTarget, 1,
    3022             : /*  6027*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3023             : /*  6030*/        OPC_EmitInteger, MVT::i32, 14, 
    3024             : /*  6033*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3025             : /*  6036*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3026             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3027             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 34
    3028             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    3029             : /*  6047*/      /*Scope*/ 48, /*->6096*/
    3030             : /*  6048*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3031             : /*  6052*/        OPC_MoveChild0,
    3032             : /*  6053*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3033             : /*  6056*/        OPC_RecordChild0, // #0 = $Rm
    3034             : /*  6057*/        OPC_RecordChild1, // #1 = $rot
    3035             : /*  6058*/        OPC_MoveChild1,
    3036             : /*  6059*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3037             : /*  6062*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    3038             : /*  6064*/        OPC_CheckType, MVT::i32,
    3039             : /*  6066*/        OPC_MoveParent,
    3040             : /*  6067*/        OPC_MoveParent,
    3041             : /*  6068*/        OPC_MoveParent,
    3042             : /*  6069*/        OPC_RecordChild1, // #2 = $Rn
    3043             : /*  6070*/        OPC_CheckType, MVT::i32,
    3044             : /*  6072*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3045             : /*  6074*/        OPC_EmitConvertToTarget, 1,
    3046             : /*  6076*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3047             : /*  6079*/        OPC_EmitInteger, MVT::i32, 14, 
    3048             : /*  6082*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3049             : /*  6085*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3050             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3051             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 34
    3052             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    3053             : /*  6096*/      /*Scope*/ 47, /*->6144*/
    3054             : /*  6097*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3055             : /*  6100*/        OPC_MoveChild0,
    3056             : /*  6101*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3057             : /*  6104*/        OPC_RecordChild0, // #0 = $Rm
    3058             : /*  6105*/        OPC_RecordChild1, // #1 = $rot
    3059             : /*  6106*/        OPC_MoveChild1,
    3060             : /*  6107*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3061             : /*  6110*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    3062             : /*  6112*/        OPC_CheckType, MVT::i32,
    3063             : /*  6114*/        OPC_MoveParent,
    3064             : /*  6115*/        OPC_MoveParent,
    3065             : /*  6116*/        OPC_MoveParent,
    3066             : /*  6117*/        OPC_RecordChild1, // #2 = $Rn
    3067             : /*  6118*/        OPC_CheckType, MVT::i32,
    3068             : /*  6120*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3069             : /*  6122*/        OPC_EmitConvertToTarget, 1,
    3070             : /*  6124*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3071             : /*  6127*/        OPC_EmitInteger, MVT::i32, 14, 
    3072             : /*  6130*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3073             : /*  6133*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3074             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3075             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 34
    3076             :                   // Dst: (UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3077             : /*  6144*/      /*Scope*/ 48, /*->6193*/
    3078             : /*  6145*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3079             : /*  6149*/        OPC_MoveChild0,
    3080             : /*  6150*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3081             : /*  6153*/        OPC_RecordChild0, // #0 = $Rm
    3082             : /*  6154*/        OPC_RecordChild1, // #1 = $rot
    3083             : /*  6155*/        OPC_MoveChild1,
    3084             : /*  6156*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3085             : /*  6159*/        OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    3086             : /*  6161*/        OPC_CheckType, MVT::i32,
    3087             : /*  6163*/        OPC_MoveParent,
    3088             : /*  6164*/        OPC_MoveParent,
    3089             : /*  6165*/        OPC_MoveParent,
    3090             : /*  6166*/        OPC_RecordChild1, // #2 = $Rn
    3091             : /*  6167*/        OPC_CheckType, MVT::i32,
    3092             : /*  6169*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3093             : /*  6171*/        OPC_EmitConvertToTarget, 1,
    3094             : /*  6173*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3095             : /*  6176*/        OPC_EmitInteger, MVT::i32, 14, 
    3096             : /*  6179*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3097             : /*  6182*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3098             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3099             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), 65535:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 34
    3100             :                   // Dst: (UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3101             : /*  6193*/      /*Scope*/ 47, /*->6241*/
    3102             : /*  6194*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3103             : /*  6197*/        OPC_MoveChild0,
    3104             : /*  6198*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3105             : /*  6201*/        OPC_RecordChild0, // #0 = $Rm
    3106             : /*  6202*/        OPC_RecordChild1, // #1 = $rot
    3107             : /*  6203*/        OPC_MoveChild1,
    3108             : /*  6204*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3109             : /*  6207*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    3110             : /*  6209*/        OPC_CheckType, MVT::i32,
    3111             : /*  6211*/        OPC_MoveParent,
    3112             : /*  6212*/        OPC_MoveParent,
    3113             : /*  6213*/        OPC_MoveParent,
    3114             : /*  6214*/        OPC_RecordChild1, // #2 = $Rn
    3115             : /*  6215*/        OPC_CheckType, MVT::i32,
    3116             : /*  6217*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3117             : /*  6219*/        OPC_EmitConvertToTarget, 1,
    3118             : /*  6221*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3119             : /*  6224*/        OPC_EmitInteger, MVT::i32, 14, 
    3120             : /*  6227*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3121             : /*  6230*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3122             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3123             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 34
    3124             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3125             : /*  6241*/      /*Scope*/ 48, /*->6290*/
    3126             : /*  6242*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3127             : /*  6246*/        OPC_MoveChild0,
    3128             : /*  6247*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3129             : /*  6250*/        OPC_RecordChild0, // #0 = $Rm
    3130             : /*  6251*/        OPC_RecordChild1, // #1 = $rot
    3131             : /*  6252*/        OPC_MoveChild1,
    3132             : /*  6253*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3133             : /*  6256*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    3134             : /*  6258*/        OPC_CheckType, MVT::i32,
    3135             : /*  6260*/        OPC_MoveParent,
    3136             : /*  6261*/        OPC_MoveParent,
    3137             : /*  6262*/        OPC_MoveParent,
    3138             : /*  6263*/        OPC_RecordChild1, // #2 = $Rn
    3139             : /*  6264*/        OPC_CheckType, MVT::i32,
    3140             : /*  6266*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3141             : /*  6268*/        OPC_EmitConvertToTarget, 1,
    3142             : /*  6270*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3143             : /*  6273*/        OPC_EmitInteger, MVT::i32, 14, 
    3144             : /*  6276*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3145             : /*  6279*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3146             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3147             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 34
    3148             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3149             : /*  6290*/      /*Scope*/ 47, /*->6338*/
    3150             : /*  6291*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3151             : /*  6294*/        OPC_MoveChild0,
    3152             : /*  6295*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3153             : /*  6298*/        OPC_RecordChild0, // #0 = $Rm
    3154             : /*  6299*/        OPC_RecordChild1, // #1 = $rot
    3155             : /*  6300*/        OPC_MoveChild1,
    3156             : /*  6301*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3157             : /*  6304*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    3158             : /*  6306*/        OPC_CheckType, MVT::i32,
    3159             : /*  6308*/        OPC_MoveParent,
    3160             : /*  6309*/        OPC_MoveParent,
    3161             : /*  6310*/        OPC_MoveParent,
    3162             : /*  6311*/        OPC_RecordChild1, // #2 = $Rn
    3163             : /*  6312*/        OPC_CheckType, MVT::i32,
    3164             : /*  6314*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3165             : /*  6316*/        OPC_EmitConvertToTarget, 1,
    3166             : /*  6318*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3167             : /*  6321*/        OPC_EmitInteger, MVT::i32, 14, 
    3168             : /*  6324*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3169             : /*  6327*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3170             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3171             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 34
    3172             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3173             : /*  6338*/      /*Scope*/ 48, /*->6387*/
    3174             : /*  6339*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3175             : /*  6343*/        OPC_MoveChild0,
    3176             : /*  6344*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3177             : /*  6347*/        OPC_RecordChild0, // #0 = $Rm
    3178             : /*  6348*/        OPC_RecordChild1, // #1 = $rot
    3179             : /*  6349*/        OPC_MoveChild1,
    3180             : /*  6350*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3181             : /*  6353*/        OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    3182             : /*  6355*/        OPC_CheckType, MVT::i32,
    3183             : /*  6357*/        OPC_MoveParent,
    3184             : /*  6358*/        OPC_MoveParent,
    3185             : /*  6359*/        OPC_MoveParent,
    3186             : /*  6360*/        OPC_RecordChild1, // #2 = $Rn
    3187             : /*  6361*/        OPC_CheckType, MVT::i32,
    3188             : /*  6363*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3189             : /*  6365*/        OPC_EmitConvertToTarget, 1,
    3190             : /*  6367*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3191             : /*  6370*/        OPC_EmitInteger, MVT::i32, 14, 
    3192             : /*  6373*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3193             : /*  6376*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3194             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3195             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), 65535:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 34
    3196             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3197             : /*  6387*/      0, /*End of Scope*/
    3198             : /*  6388*/    /*Scope*/ 126, /*->6515*/
    3199             : /*  6389*/      OPC_RecordChild0, // #0 = $Rn
    3200             : /*  6390*/      OPC_MoveChild1,
    3201             : /*  6391*/      OPC_Scope, 29, /*->6422*/ // 4 children in Scope
    3202             : /*  6393*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3203             : /*  6396*/        OPC_RecordChild0, // #1 = $Rm
    3204             : /*  6397*/        OPC_MoveParent,
    3205             : /*  6398*/        OPC_CheckType, MVT::i32,
    3206             : /*  6400*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3207             : /*  6402*/        OPC_EmitInteger, MVT::i32, 0, 
    3208             : /*  6405*/        OPC_EmitInteger, MVT::i32, 14, 
    3209             : /*  6408*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3210             : /*  6411*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3211             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3212             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 255:{ *:[i32] })) - Complexity = 27
    3213             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3214             : /*  6422*/      /*Scope*/ 30, /*->6453*/
    3215             : /*  6423*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3216             : /*  6427*/        OPC_RecordChild0, // #1 = $Rm
    3217             : /*  6428*/        OPC_MoveParent,
    3218             : /*  6429*/        OPC_CheckType, MVT::i32,
    3219             : /*  6431*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3220             : /*  6433*/        OPC_EmitInteger, MVT::i32, 0, 
    3221             : /*  6436*/        OPC_EmitInteger, MVT::i32, 14, 
    3222             : /*  6439*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3223             : /*  6442*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3224             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3225             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] })) - Complexity = 27
    3226             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3227             : /*  6453*/      /*Scope*/ 29, /*->6483*/
    3228             : /*  6454*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3229             : /*  6457*/        OPC_RecordChild0, // #1 = $Rm
    3230             : /*  6458*/        OPC_MoveParent,
    3231             : /*  6459*/        OPC_CheckType, MVT::i32,
    3232             : /*  6461*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3233             : /*  6463*/        OPC_EmitInteger, MVT::i32, 0, 
    3234             : /*  6466*/        OPC_EmitInteger, MVT::i32, 14, 
    3235             : /*  6469*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3236             : /*  6472*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3237             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3238             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] })) - Complexity = 27
    3239             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3240             : /*  6483*/      /*Scope*/ 30, /*->6514*/
    3241             : /*  6484*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3242             : /*  6488*/        OPC_RecordChild0, // #1 = $Rm
    3243             : /*  6489*/        OPC_MoveParent,
    3244             : /*  6490*/        OPC_CheckType, MVT::i32,
    3245             : /*  6492*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3246             : /*  6494*/        OPC_EmitInteger, MVT::i32, 0, 
    3247             : /*  6497*/        OPC_EmitInteger, MVT::i32, 14, 
    3248             : /*  6500*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3249             : /*  6503*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3250             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3251             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] })) - Complexity = 27
    3252             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3253             : /*  6514*/      0, /*End of Scope*/
    3254             : /*  6515*/    /*Scope*/ 1|128,1/*129*/, /*->6646*/
    3255             : /*  6517*/      OPC_MoveChild0,
    3256             : /*  6518*/      OPC_Scope, 30, /*->6550*/ // 4 children in Scope
    3257             : /*  6520*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3258             : /*  6523*/        OPC_RecordChild0, // #0 = $Rm
    3259             : /*  6524*/        OPC_MoveParent,
    3260             : /*  6525*/        OPC_RecordChild1, // #1 = $Rn
    3261             : /*  6526*/        OPC_CheckType, MVT::i32,
    3262             : /*  6528*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3263             : /*  6530*/        OPC_EmitInteger, MVT::i32, 0, 
    3264             : /*  6533*/        OPC_EmitInteger, MVT::i32, 14, 
    3265             : /*  6536*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3266             : /*  6539*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3267             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3268             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 27
    3269             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3270             : /*  6550*/      /*Scope*/ 31, /*->6582*/
    3271             : /*  6551*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3272             : /*  6555*/        OPC_RecordChild0, // #0 = $Rm
    3273             : /*  6556*/        OPC_MoveParent,
    3274             : /*  6557*/        OPC_RecordChild1, // #1 = $Rn
    3275             : /*  6558*/        OPC_CheckType, MVT::i32,
    3276             : /*  6560*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3277             : /*  6562*/        OPC_EmitInteger, MVT::i32, 0, 
    3278             : /*  6565*/        OPC_EmitInteger, MVT::i32, 14, 
    3279             : /*  6568*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3280             : /*  6571*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3281             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3282             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 27
    3283             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3284             : /*  6582*/      /*Scope*/ 30, /*->6613*/
    3285             : /*  6583*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3286             : /*  6586*/        OPC_RecordChild0, // #0 = $Rm
    3287             : /*  6587*/        OPC_MoveParent,
    3288             : /*  6588*/        OPC_RecordChild1, // #1 = $Rn
    3289             : /*  6589*/        OPC_CheckType, MVT::i32,
    3290             : /*  6591*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3291             : /*  6593*/        OPC_EmitInteger, MVT::i32, 0, 
    3292             : /*  6596*/        OPC_EmitInteger, MVT::i32, 14, 
    3293             : /*  6599*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3294             : /*  6602*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3295             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3296             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 27
    3297             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3298             : /*  6613*/      /*Scope*/ 31, /*->6645*/
    3299             : /*  6614*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3300             : /*  6618*/        OPC_RecordChild0, // #0 = $Rm
    3301             : /*  6619*/        OPC_MoveParent,
    3302             : /*  6620*/        OPC_RecordChild1, // #1 = $Rn
    3303             : /*  6621*/        OPC_CheckType, MVT::i32,
    3304             : /*  6623*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3305             : /*  6625*/        OPC_EmitInteger, MVT::i32, 0, 
    3306             : /*  6628*/        OPC_EmitInteger, MVT::i32, 14, 
    3307             : /*  6631*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3308             : /*  6634*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3309             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3310             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 27
    3311             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3312             : /*  6645*/      0, /*End of Scope*/
    3313             : /*  6646*/    /*Scope*/ 108, /*->6755*/
    3314             : /*  6647*/      OPC_RecordChild0, // #0 = $Rn
    3315             : /*  6648*/      OPC_MoveChild1,
    3316             : /*  6649*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3317             : /*  6652*/      OPC_MoveChild0,
    3318             : /*  6653*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    3319             : /*  6656*/      OPC_MoveChild0,
    3320             : /*  6657*/      OPC_SwitchOpcode /*2 cases */, 45, TARGET_VAL(ISD::SRL),// ->6706
    3321             : /*  6661*/        OPC_RecordChild0, // #1 = $Rm
    3322             : /*  6662*/        OPC_CheckChild1Integer, 24, 
    3323             : /*  6664*/        OPC_CheckChild1Type, MVT::i32,
    3324             : /*  6666*/        OPC_MoveParent,
    3325             : /*  6667*/        OPC_MoveChild1,
    3326             : /*  6668*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    3327             : /*  6671*/        OPC_CheckChild0Same, 1,
    3328             : /*  6673*/        OPC_CheckChild1Integer, 8, 
    3329             : /*  6675*/        OPC_CheckChild1Type, MVT::i32,
    3330             : /*  6677*/        OPC_MoveParent,
    3331             : /*  6678*/        OPC_MoveParent,
    3332             : /*  6679*/        OPC_MoveChild1,
    3333             : /*  6680*/        OPC_CheckValueType, MVT::i16,
    3334             : /*  6682*/        OPC_MoveParent,
    3335             : /*  6683*/        OPC_MoveParent,
    3336             : /*  6684*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3337             : /*  6686*/        OPC_EmitInteger, MVT::i32, 3, 
    3338             : /*  6689*/        OPC_EmitInteger, MVT::i32, 14, 
    3339             : /*  6692*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3340             : /*  6695*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3341             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3342             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (or:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 8:{ *:[i32] })), i16:{ *:[Other] })) - Complexity = 25
    3343             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3344             : /*  6706*/      /*SwitchOpcode*/ 45, TARGET_VAL(ISD::SHL),// ->6754
    3345             : /*  6709*/        OPC_RecordChild0, // #1 = $Rm
    3346             : /*  6710*/        OPC_CheckChild1Integer, 8, 
    3347             : /*  6712*/        OPC_CheckChild1Type, MVT::i32,
    3348             : /*  6714*/        OPC_MoveParent,
    3349             : /*  6715*/        OPC_MoveChild1,
    3350             : /*  6716*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3351             : /*  6719*/        OPC_CheckChild0Same, 1,
    3352             : /*  6721*/        OPC_CheckChild1Integer, 24, 
    3353             : /*  6723*/        OPC_CheckChild1Type, MVT::i32,
    3354             : /*  6725*/        OPC_MoveParent,
    3355             : /*  6726*/        OPC_MoveParent,
    3356             : /*  6727*/        OPC_MoveChild1,
    3357             : /*  6728*/        OPC_CheckValueType, MVT::i16,
    3358             : /*  6730*/        OPC_MoveParent,
    3359             : /*  6731*/        OPC_MoveParent,
    3360             : /*  6732*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3361             : /*  6734*/        OPC_EmitInteger, MVT::i32, 3, 
    3362             : /*  6737*/        OPC_EmitInteger, MVT::i32, 14, 
    3363             : /*  6740*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3364             : /*  6743*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3365             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3366             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (or:{ *:[i32] } (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 8:{ *:[i32] }), (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] })), i16:{ *:[Other] })) - Complexity = 25
    3367             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3368             : /*  6754*/      0, // EndSwitchOpcode
    3369             : /*  6755*/    /*Scope*/ 109, /*->6865*/
    3370             : /*  6756*/      OPC_MoveChild0,
    3371             : /*  6757*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3372             : /*  6760*/      OPC_MoveChild0,
    3373             : /*  6761*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    3374             : /*  6764*/      OPC_MoveChild0,
    3375             : /*  6765*/      OPC_SwitchOpcode /*2 cases */, 46, TARGET_VAL(ISD::SRL),// ->6815
    3376             : /*  6769*/        OPC_RecordChild0, // #0 = $Rm
    3377             : /*  6770*/        OPC_CheckChild1Integer, 24, 
    3378             : /*  6772*/        OPC_CheckChild1Type, MVT::i32,
    3379             : /*  6774*/        OPC_MoveParent,
    3380             : /*  6775*/        OPC_MoveChild1,
    3381             : /*  6776*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    3382             : /*  6779*/        OPC_CheckChild0Same, 0,
    3383             : /*  6781*/        OPC_CheckChild1Integer, 8, 
    3384             : /*  6783*/        OPC_CheckChild1Type, MVT::i32,
    3385             : /*  6785*/        OPC_MoveParent,
    3386             : /*  6786*/        OPC_MoveParent,
    3387             : /*  6787*/        OPC_MoveChild1,
    3388             : /*  6788*/        OPC_CheckValueType, MVT::i16,
    3389             : /*  6790*/        OPC_MoveParent,
    3390             : /*  6791*/        OPC_MoveParent,
    3391             : /*  6792*/        OPC_RecordChild1, // #1 = $Rn
    3392             : /*  6793*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3393             : /*  6795*/        OPC_EmitInteger, MVT::i32, 3, 
    3394             : /*  6798*/        OPC_EmitInteger, MVT::i32, 14, 
    3395             : /*  6801*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3396             : /*  6804*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3397             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3398             :                   // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (or:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 8:{ *:[i32] })), i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 25
    3399             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3400             : /*  6815*/      /*SwitchOpcode*/ 46, TARGET_VAL(ISD::SHL),// ->6864
    3401             : /*  6818*/        OPC_RecordChild0, // #0 = $Rm
    3402             : /*  6819*/        OPC_CheckChild1Integer, 8, 
    3403             : /*  6821*/        OPC_CheckChild1Type, MVT::i32,
    3404             : /*  6823*/        OPC_MoveParent,
    3405             : /*  6824*/        OPC_MoveChild1,
    3406             : /*  6825*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3407             : /*  6828*/        OPC_CheckChild0Same, 0,
    3408             : /*  6830*/        OPC_CheckChild1Integer, 24, 
    3409             : /*  6832*/        OPC_CheckChild1Type, MVT::i32,
    3410             : /*  6834*/        OPC_MoveParent,
    3411             : /*  6835*/        OPC_MoveParent,
    3412             : /*  6836*/        OPC_MoveChild1,
    3413             : /*  6837*/        OPC_CheckValueType, MVT::i16,
    3414             : /*  6839*/        OPC_MoveParent,
    3415             : /*  6840*/        OPC_MoveParent,
    3416             : /*  6841*/        OPC_RecordChild1, // #1 = $Rn
    3417             : /*  6842*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3418             : /*  6844*/        OPC_EmitInteger, MVT::i32, 3, 
    3419             : /*  6847*/        OPC_EmitInteger, MVT::i32, 14, 
    3420             : /*  6850*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3421             : /*  6853*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3422             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3423             :                   // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (or:{ *:[i32] } (shl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 8:{ *:[i32] }), (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] })), i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 25
    3424             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3425             : /*  6864*/      0, // EndSwitchOpcode
    3426             : /*  6865*/    /*Scope*/ 70, /*->6936*/
    3427             : /*  6866*/      OPC_RecordChild0, // #0 = $Ra
    3428             : /*  6867*/      OPC_MoveChild1,
    3429             : /*  6868*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3430             : /*  6871*/      OPC_MoveChild0,
    3431             : /*  6872*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3432             : /*  6875*/      OPC_RecordChild0, // #1 = $Rn
    3433             : /*  6876*/      OPC_CheckChild1Integer, 16, 
    3434             : /*  6878*/      OPC_CheckChild1Type, MVT::i32,
    3435             : /*  6880*/      OPC_MoveParent,
    3436             : /*  6881*/      OPC_MoveChild1,
    3437             : /*  6882*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3438             : /*  6885*/      OPC_RecordChild0, // #2 = $Rm
    3439             : /*  6886*/      OPC_CheckChild1Integer, 16, 
    3440             : /*  6888*/      OPC_CheckChild1Type, MVT::i32,
    3441             : /*  6890*/      OPC_MoveParent,
    3442             : /*  6891*/      OPC_MoveParent,
    3443             : /*  6892*/      OPC_CheckType, MVT::i32,
    3444             : /*  6894*/      OPC_Scope, 19, /*->6915*/ // 2 children in Scope
    3445             : /*  6896*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3446             : /*  6898*/        OPC_EmitInteger, MVT::i32, 14, 
    3447             : /*  6901*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3448             : /*  6904*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATT), 0,
    3449             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3450             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 16:{ *:[i32] }))) - Complexity = 22
    3451             :                   // Dst: (SMLATT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3452             : /*  6915*/      /*Scope*/ 19, /*->6935*/
    3453             : /*  6916*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3454             : /*  6918*/        OPC_EmitInteger, MVT::i32, 14, 
    3455             : /*  6921*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3456             : /*  6924*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATT), 0,
    3457             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3458             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] }))) - Complexity = 22
    3459             :                   // Dst: (t2SMLATT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3460             : /*  6935*/      0, /*End of Scope*/
    3461             : /*  6936*/    /*Scope*/ 70, /*->7007*/
    3462             : /*  6937*/      OPC_MoveChild0,
    3463             : /*  6938*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3464             : /*  6941*/      OPC_MoveChild0,
    3465             : /*  6942*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3466             : /*  6945*/      OPC_RecordChild0, // #0 = $Rn
    3467             : /*  6946*/      OPC_CheckChild1Integer, 16, 
    3468             : /*  6948*/      OPC_CheckChild1Type, MVT::i32,
    3469             : /*  6950*/      OPC_MoveParent,
    3470             : /*  6951*/      OPC_MoveChild1,
    3471             : /*  6952*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3472             : /*  6955*/      OPC_RecordChild0, // #1 = $Rm
    3473             : /*  6956*/      OPC_CheckChild1Integer, 16, 
    3474             : /*  6958*/      OPC_CheckChild1Type, MVT::i32,
    3475             : /*  6960*/      OPC_MoveParent,
    3476             : /*  6961*/      OPC_MoveParent,
    3477             : /*  6962*/      OPC_RecordChild1, // #2 = $Ra
    3478             : /*  6963*/      OPC_CheckType, MVT::i32,
    3479             : /*  6965*/      OPC_Scope, 19, /*->6986*/ // 2 children in Scope
    3480             : /*  6967*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3481             : /*  6969*/        OPC_EmitInteger, MVT::i32, 14, 
    3482             : /*  6972*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3483             : /*  6975*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATT), 0,
    3484             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3485             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 16:{ *:[i32] })), GPR:{ *:[i32] }:$Ra) - Complexity = 22
    3486             :                   // Dst: (SMLATT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3487             : /*  6986*/      /*Scope*/ 19, /*->7006*/
    3488             : /*  6987*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3489             : /*  6989*/        OPC_EmitInteger, MVT::i32, 14, 
    3490             : /*  6992*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3491             : /*  6995*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATT), 0,
    3492             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3493             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] })), rGPR:{ *:[i32] }:$Ra) - Complexity = 22
    3494             :                   // Dst: (t2SMLATT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3495             : /*  7006*/      0, /*End of Scope*/
    3496             : /*  7007*/    /*Scope*/ 4|128,1/*132*/, /*->7141*/
    3497             : /*  7009*/      OPC_RecordChild0, // #0 = $Ra
    3498             : /*  7010*/      OPC_MoveChild1,
    3499             : /*  7011*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3500             : /*  7014*/      OPC_MoveChild0,
    3501             : /*  7015*/      OPC_SwitchOpcode /*2 cases */, 59, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->7078
    3502             : /*  7019*/        OPC_RecordChild0, // #1 = $Rn
    3503             : /*  7020*/        OPC_MoveChild1,
    3504             : /*  7021*/        OPC_CheckValueType, MVT::i16,
    3505             : /*  7023*/        OPC_MoveParent,
    3506             : /*  7024*/        OPC_MoveParent,
    3507             : /*  7025*/        OPC_MoveChild1,
    3508             : /*  7026*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3509             : /*  7029*/        OPC_RecordChild0, // #2 = $Rm
    3510             : /*  7030*/        OPC_CheckChild1Integer, 16, 
    3511             : /*  7032*/        OPC_CheckChild1Type, MVT::i32,
    3512             : /*  7034*/        OPC_MoveParent,
    3513             : /*  7035*/        OPC_MoveParent,
    3514             : /*  7036*/        OPC_Scope, 19, /*->7057*/ // 2 children in Scope
    3515             : /*  7038*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3516             : /*  7040*/          OPC_EmitInteger, MVT::i32, 14, 
    3517             : /*  7043*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3518             : /*  7046*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3519             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3520             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 16:{ *:[i32] }))) - Complexity = 17
    3521             :                     // Dst: (SMLABT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3522             : /*  7057*/        /*Scope*/ 19, /*->7077*/
    3523             : /*  7058*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3524             : /*  7060*/          OPC_EmitInteger, MVT::i32, 14, 
    3525             : /*  7063*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3526             : /*  7066*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3527             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3528             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] }))) - Complexity = 17
    3529             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3530             : /*  7077*/        0, /*End of Scope*/
    3531             : /*  7078*/      /*SwitchOpcode*/ 59, TARGET_VAL(ISD::SRA),// ->7140
    3532             : /*  7081*/        OPC_RecordChild0, // #1 = $Rn
    3533             : /*  7082*/        OPC_CheckChild1Integer, 16, 
    3534             : /*  7084*/        OPC_CheckChild1Type, MVT::i32,
    3535             : /*  7086*/        OPC_MoveParent,
    3536             : /*  7087*/        OPC_MoveChild1,
    3537             : /*  7088*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3538             : /*  7091*/        OPC_RecordChild0, // #2 = $Rm
    3539             : /*  7092*/        OPC_MoveChild1,
    3540             : /*  7093*/        OPC_CheckValueType, MVT::i16,
    3541             : /*  7095*/        OPC_MoveParent,
    3542             : /*  7096*/        OPC_MoveParent,
    3543             : /*  7097*/        OPC_MoveParent,
    3544             : /*  7098*/        OPC_Scope, 19, /*->7119*/ // 2 children in Scope
    3545             : /*  7100*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3546             : /*  7102*/          OPC_EmitInteger, MVT::i32, 14, 
    3547             : /*  7105*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3548             : /*  7108*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATB), 0,
    3549             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3550             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i16:{ *:[Other] }))) - Complexity = 17
    3551             :                     // Dst: (SMLATB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3552             : /*  7119*/        /*Scope*/ 19, /*->7139*/
    3553             : /*  7120*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3554             : /*  7122*/          OPC_EmitInteger, MVT::i32, 14, 
    3555             : /*  7125*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3556             : /*  7128*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATB), 0,
    3557             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3558             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i16:{ *:[Other] }))) - Complexity = 17
    3559             :                     // Dst: (t2SMLATB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3560             : /*  7139*/        0, /*End of Scope*/
    3561             : /*  7140*/      0, // EndSwitchOpcode
    3562             : /*  7141*/    /*Scope*/ 5|128,1/*133*/, /*->7276*/
    3563             : /*  7143*/      OPC_MoveChild0,
    3564             : /*  7144*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3565             : /*  7147*/      OPC_MoveChild0,
    3566             : /*  7148*/      OPC_SwitchOpcode /*2 cases */, 60, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->7212
    3567             : /*  7152*/        OPC_RecordChild0, // #0 = $Rn
    3568             : /*  7153*/        OPC_MoveChild1,
    3569             : /*  7154*/        OPC_CheckValueType, MVT::i16,
    3570             : /*  7156*/        OPC_MoveParent,
    3571             : /*  7157*/        OPC_MoveParent,
    3572             : /*  7158*/        OPC_MoveChild1,
    3573             : /*  7159*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3574             : /*  7162*/        OPC_RecordChild0, // #1 = $Rm
    3575             : /*  7163*/        OPC_CheckChild1Integer, 16, 
    3576             : /*  7165*/        OPC_CheckChild1Type, MVT::i32,
    3577             : /*  7167*/        OPC_MoveParent,
    3578             : /*  7168*/        OPC_MoveParent,
    3579             : /*  7169*/        OPC_RecordChild1, // #2 = $Ra
    3580             : /*  7170*/        OPC_Scope, 19, /*->7191*/ // 2 children in Scope
    3581             : /*  7172*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3582             : /*  7174*/          OPC_EmitInteger, MVT::i32, 14, 
    3583             : /*  7177*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3584             : /*  7180*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3585             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3586             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 16:{ *:[i32] })), GPR:{ *:[i32] }:$Ra) - Complexity = 17
    3587             :                     // Dst: (SMLABT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3588             : /*  7191*/        /*Scope*/ 19, /*->7211*/
    3589             : /*  7192*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3590             : /*  7194*/          OPC_EmitInteger, MVT::i32, 14, 
    3591             : /*  7197*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3592             : /*  7200*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3593             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3594             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] })), rGPR:{ *:[i32] }:$Ra) - Complexity = 17
    3595             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3596             : /*  7211*/        0, /*End of Scope*/
    3597             : /*  7212*/      /*SwitchOpcode*/ 60, TARGET_VAL(ISD::SRA),// ->7275
    3598             : /*  7215*/        OPC_RecordChild0, // #0 = $Rm
    3599             : /*  7216*/        OPC_CheckChild1Integer, 16, 
    3600             : /*  7218*/        OPC_CheckChild1Type, MVT::i32,
    3601             : /*  7220*/        OPC_MoveParent,
    3602             : /*  7221*/        OPC_MoveChild1,
    3603             : /*  7222*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3604             : /*  7225*/        OPC_RecordChild0, // #1 = $Rn
    3605             : /*  7226*/        OPC_MoveChild1,
    3606             : /*  7227*/        OPC_CheckValueType, MVT::i16,
    3607             : /*  7229*/        OPC_MoveParent,
    3608             : /*  7230*/        OPC_MoveParent,
    3609             : /*  7231*/        OPC_MoveParent,
    3610             : /*  7232*/        OPC_RecordChild1, // #2 = $Ra
    3611             : /*  7233*/        OPC_Scope, 19, /*->7254*/ // 2 children in Scope
    3612             : /*  7235*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3613             : /*  7237*/          OPC_EmitInteger, MVT::i32, 14, 
    3614             : /*  7240*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3615             : /*  7243*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3616             :                         MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3617             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 16:{ *:[i32] }), (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, i16:{ *:[Other] })), GPR:{ *:[i32] }:$Ra) - Complexity = 17
    3618             :                     // Dst: (SMLABT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3619             : /*  7254*/        /*Scope*/ 19, /*->7274*/
    3620             : /*  7255*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3621             : /*  7257*/          OPC_EmitInteger, MVT::i32, 14, 
    3622             : /*  7260*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3623             : /*  7263*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3624             :                         MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3625             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] }), (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, i16:{ *:[Other] })), rGPR:{ *:[i32] }:$Ra) - Complexity = 17
    3626             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3627             : /*  7274*/        0, /*End of Scope*/
    3628             : /*  7275*/      0, // EndSwitchOpcode
    3629             : /*  7276*/    /*Scope*/ 97|128,1/*225*/, /*->7503*/
    3630             : /*  7278*/      OPC_RecordChild0, // #0 = $Rn
    3631             : /*  7279*/      OPC_Scope, 30, /*->7311*/ // 3 children in Scope
    3632             : /*  7281*/        OPC_RecordChild1, // #1 = $shift
    3633             : /*  7282*/        OPC_CheckType, MVT::i32,
    3634             : /*  7284*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    3635             : /*  7286*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectRegShifterOperand:$shift #2 #3 #4
    3636             : /*  7289*/        OPC_EmitInteger, MVT::i32, 14, 
    3637             : /*  7292*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3638             : /*  7295*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3639             : /*  7298*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsr), 0,
    3640             :                       MVT::i32, 7/*#Ops*/, 0, 2, 3, 4, 5, 6, 7, 
    3641             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift) - Complexity = 15
    3642             :                   // Dst: (ADDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    3643             : /*  7311*/      /*Scope*/ 30|128,1/*158*/, /*->7471*/
    3644             : /*  7313*/        OPC_MoveChild1,
    3645             : /*  7314*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3646             : /*  7317*/        OPC_Scope, 37, /*->7356*/ // 4 children in Scope
    3647             : /*  7319*/          OPC_RecordChild0, // #1 = $a
    3648             : /*  7320*/          OPC_MoveChild0,
    3649             : /*  7321*/          OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3650             : /*  7323*/          OPC_MoveParent,
    3651             : /*  7324*/          OPC_MoveChild1,
    3652             : /*  7325*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3653             : /*  7328*/          OPC_RecordChild0, // #2 = $b
    3654             : /*  7329*/          OPC_CheckChild1Integer, 16, 
    3655             : /*  7331*/          OPC_CheckChild1Type, MVT::i32,
    3656             : /*  7333*/          OPC_MoveParent,
    3657             : /*  7334*/          OPC_MoveParent,
    3658             : /*  7335*/          OPC_CheckType, MVT::i32,
    3659             : /*  7337*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3660             : /*  7339*/          OPC_EmitInteger, MVT::i32, 14, 
    3661             : /*  7342*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3662             : /*  7345*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3663             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3664             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$acc, (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$a, (sra:{ *:[i32] } GPR:{ *:[i32] }:$b, 16:{ *:[i32] }))) - Complexity = 15
    3665             :                     // Dst: (SMLABT:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3666             : /*  7356*/        /*Scope*/ 37, /*->7394*/
    3667             : /*  7357*/          OPC_MoveChild0,
    3668             : /*  7358*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3669             : /*  7361*/          OPC_RecordChild0, // #1 = $a
    3670             : /*  7362*/          OPC_CheckChild1Integer, 16, 
    3671             : /*  7364*/          OPC_CheckChild1Type, MVT::i32,
    3672             : /*  7366*/          OPC_MoveParent,
    3673             : /*  7367*/          OPC_RecordChild1, // #2 = $b
    3674             : /*  7368*/          OPC_MoveChild1,
    3675             : /*  7369*/          OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3676             : /*  7371*/          OPC_MoveParent,
    3677             : /*  7372*/          OPC_MoveParent,
    3678             : /*  7373*/          OPC_CheckType, MVT::i32,
    3679             : /*  7375*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3680             : /*  7377*/          OPC_EmitInteger, MVT::i32, 14, 
    3681             : /*  7380*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3682             : /*  7383*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATB), 0,
    3683             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3684             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$acc, (mul:{ *:[i32] } (sra:{ *:[i32] } GPR:{ *:[i32] }:$a, 16:{ *:[i32] }), GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$b)) - Complexity = 15
    3685             :                     // Dst: (SMLATB:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3686             : /*  7394*/        /*Scope*/ 37, /*->7432*/
    3687             : /*  7395*/          OPC_RecordChild0, // #1 = $Rn
    3688             : /*  7396*/          OPC_MoveChild0,
    3689             : /*  7397*/          OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3690             : /*  7399*/          OPC_MoveParent,
    3691             : /*  7400*/          OPC_MoveChild1,
    3692             : /*  7401*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3693             : /*  7404*/          OPC_RecordChild0, // #2 = $Rm
    3694             : /*  7405*/          OPC_CheckChild1Integer, 16, 
    3695             : /*  7407*/          OPC_CheckChild1Type, MVT::i32,
    3696             : /*  7409*/          OPC_MoveParent,
    3697             : /*  7410*/          OPC_MoveParent,
    3698             : /*  7411*/          OPC_CheckType, MVT::i32,
    3699             : /*  7413*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3700             : /*  7415*/          OPC_EmitInteger, MVT::i32, 14, 
    3701             : /*  7418*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3702             : /*  7421*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3703             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3704             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rn, (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] }))) - Complexity = 15
    3705             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3706             : /*  7432*/        /*Scope*/ 37, /*->7470*/
    3707             : /*  7433*/          OPC_MoveChild0,
    3708             : /*  7434*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3709             : /*  7437*/          OPC_RecordChild0, // #1 = $Rn
    3710             : /*  7438*/          OPC_CheckChild1Integer, 16, 
    3711             : /*  7440*/          OPC_CheckChild1Type, MVT::i32,
    3712             : /*  7442*/          OPC_MoveParent,
    3713             : /*  7443*/          OPC_RecordChild1, // #2 = $Rm
    3714             : /*  7444*/          OPC_MoveChild1,
    3715             : /*  7445*/          OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3716             : /*  7447*/          OPC_MoveParent,
    3717             : /*  7448*/          OPC_MoveParent,
    3718             : /*  7449*/          OPC_CheckType, MVT::i32,
    3719             : /*  7451*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3720             : /*  7453*/          OPC_EmitInteger, MVT::i32, 14, 
    3721             : /*  7456*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3722             : /*  7459*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATB), 0,
    3723             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3724             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 16:{ *:[i32] }), GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rm)) - Complexity = 15
    3725             :                     // Dst: (t2SMLATB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3726             : /*  7470*/        0, /*End of Scope*/
    3727             : /*  7471*/      /*Scope*/ 30, /*->7502*/
    3728             : /*  7472*/        OPC_RecordChild1, // #1 = $Rn
    3729             : /*  7473*/        OPC_CheckType, MVT::i32,
    3730             : /*  7475*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    3731             : /*  7477*/        OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectRegShifterOperand:$shift #2 #3 #4
    3732             : /*  7480*/        OPC_EmitInteger, MVT::i32, 14, 
    3733             : /*  7483*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3734             : /*  7486*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3735             : /*  7489*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsr), 0,
    3736             :                       MVT::i32, 7/*#Ops*/, 1, 2, 3, 4, 5, 6, 7, 
    3737             :                   // Src: (add:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 15
    3738             :                   // Dst: (ADDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    3739             : /*  7502*/      0, /*End of Scope*/
    3740             : /*  7503*/    /*Scope*/ 34|128,1/*162*/, /*->7667*/
    3741             : /*  7505*/      OPC_MoveChild0,
    3742             : /*  7506*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3743             : /*  7509*/      OPC_Scope, 38, /*->7549*/ // 4 children in Scope
    3744             : /*  7511*/        OPC_RecordChild0, // #0 = $a
    3745             : /*  7512*/        OPC_MoveChild0,
    3746             : /*  7513*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3747             : /*  7515*/        OPC_MoveParent,
    3748             : /*  7516*/        OPC_MoveChild1,
    3749             : /*  7517*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3750             : /*  7520*/        OPC_RecordChild0, // #1 = $b
    3751             : /*  7521*/        OPC_CheckChild1Integer, 16, 
    3752             : /*  7523*/        OPC_CheckChild1Type, MVT::i32,
    3753             : /*  7525*/        OPC_MoveParent,
    3754             : /*  7526*/        OPC_MoveParent,
    3755             : /*  7527*/        OPC_RecordChild1, // #2 = $acc
    3756             : /*  7528*/        OPC_CheckType, MVT::i32,
    3757             : /*  7530*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3758             : /*  7532*/        OPC_EmitInteger, MVT::i32, 14, 
    3759             : /*  7535*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3760             : /*  7538*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3761             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3762             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$a, (sra:{ *:[i32] } GPR:{ *:[i32] }:$b, 16:{ *:[i32] })), GPR:{ *:[i32] }:$acc) - Complexity = 15
    3763             :                   // Dst: (SMLABT:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3764             : /*  7549*/      /*Scope*/ 38, /*->7588*/
    3765             : /*  7550*/        OPC_MoveChild0,
    3766             : /*  7551*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3767             : /*  7554*/        OPC_RecordChild0, // #0 = $b
    3768             : /*  7555*/        OPC_CheckChild1Integer, 16, 
    3769             : /*  7557*/        OPC_CheckChild1Type, MVT::i32,
    3770             : /*  7559*/        OPC_MoveParent,
    3771             : /*  7560*/        OPC_RecordChild1, // #1 = $a
    3772             : /*  7561*/        OPC_MoveChild1,
    3773             : /*  7562*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3774             : /*  7564*/        OPC_MoveParent,
    3775             : /*  7565*/        OPC_MoveParent,
    3776             : /*  7566*/        OPC_RecordChild1, // #2 = $acc
    3777             : /*  7567*/        OPC_CheckType, MVT::i32,
    3778             : /*  7569*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3779             : /*  7571*/        OPC_EmitInteger, MVT::i32, 14, 
    3780             : /*  7574*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3781             : /*  7577*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3782             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3783             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } GPR:{ *:[i32] }:$b, 16:{ *:[i32] }), GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$a), GPR:{ *:[i32] }:$acc) - Complexity = 15
    3784             :                   // Dst: (SMLABT:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3785             : /*  7588*/      /*Scope*/ 38, /*->7627*/
    3786             : /*  7589*/        OPC_RecordChild0, // #0 = $Rn
    3787             : /*  7590*/        OPC_MoveChild0,
    3788             : /*  7591*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3789             : /*  7593*/        OPC_MoveParent,
    3790             : /*  7594*/        OPC_MoveChild1,
    3791             : /*  7595*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3792             : /*  7598*/        OPC_RecordChild0, // #1 = $Rm
    3793             : /*  7599*/        OPC_CheckChild1Integer, 16, 
    3794             : /*  7601*/        OPC_CheckChild1Type, MVT::i32,
    3795             : /*  7603*/        OPC_MoveParent,
    3796             : /*  7604*/        OPC_MoveParent,
    3797             : /*  7605*/        OPC_RecordChild1, // #2 = $Ra
    3798             : /*  7606*/        OPC_CheckType, MVT::i32,
    3799             : /*  7608*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3800             : /*  7610*/        OPC_EmitInteger, MVT::i32, 14, 
    3801             : /*  7613*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3802             : /*  7616*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3803             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3804             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rn, (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] })), rGPR:{ *:[i32] }:$Ra) - Complexity = 15
    3805             :                   // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3806             : /*  7627*/      /*Scope*/ 38, /*->7666*/
    3807             : /*  7628*/        OPC_MoveChild0,
    3808             : /*  7629*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3809             : /*  7632*/        OPC_RecordChild0, // #0 = $Rm
    3810             : /*  7633*/        OPC_CheckChild1Integer, 16, 
    3811             : /*  7635*/        OPC_CheckChild1Type, MVT::i32,
    3812             : /*  7637*/        OPC_MoveParent,
    3813             : /*  7638*/        OPC_RecordChild1, // #1 = $Rn
    3814             : /*  7639*/        OPC_MoveChild1,
    3815             : /*  7640*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    3816             : /*  7642*/        OPC_MoveParent,
    3817             : /*  7643*/        OPC_MoveParent,
    3818             : /*  7644*/        OPC_RecordChild1, // #2 = $Ra
    3819             : /*  7645*/        OPC_CheckType, MVT::i32,
    3820             : /*  7647*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3821             : /*  7649*/        OPC_EmitInteger, MVT::i32, 14, 
    3822             : /*  7652*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3823             : /*  7655*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3824             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3825             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] }), GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rn), rGPR:{ *:[i32] }:$Ra) - Complexity = 15
    3826             :                   // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3827             : /*  7666*/      0, /*End of Scope*/
    3828             : /*  7667*/    /*Scope*/ 42, /*->7710*/
    3829             : /*  7668*/      OPC_RecordChild0, // #0 = $Rn
    3830             : /*  7669*/      OPC_MoveChild1,
    3831             : /*  7670*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3832             : /*  7673*/      OPC_MoveChild0,
    3833             : /*  7674*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3834             : /*  7677*/      OPC_RecordChild0, // #1 = $Rm
    3835             : /*  7678*/      OPC_CheckChild1Integer, 24, 
    3836             : /*  7680*/      OPC_CheckChild1Type, MVT::i32,
    3837             : /*  7682*/      OPC_MoveParent,
    3838             : /*  7683*/      OPC_MoveChild1,
    3839             : /*  7684*/      OPC_CheckValueType, MVT::i16,
    3840             : /*  7686*/      OPC_MoveParent,
    3841             : /*  7687*/      OPC_MoveParent,
    3842             : /*  7688*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3843             : /*  7690*/      OPC_EmitInteger, MVT::i32, 3, 
    3844             : /*  7693*/      OPC_EmitInteger, MVT::i32, 14, 
    3845             : /*  7696*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3846             : /*  7699*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3847             :                     MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3848             :                 // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), i16:{ *:[Other] })) - Complexity = 14
    3849             :                 // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3850             : /*  7710*/    /*Scope*/ 42, /*->7753*/
    3851             : /*  7711*/      OPC_MoveChild0,
    3852             : /*  7712*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3853             : /*  7715*/      OPC_MoveChild0,
    3854             : /*  7716*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3855             : /*  7719*/      OPC_RecordChild0, // #0 = $Rm
    3856             : /*  7720*/      OPC_CheckChild1Integer, 24, 
    3857             : /*  7722*/      OPC_CheckChild1Type, MVT::i32,
    3858             : /*  7724*/      OPC_MoveParent,
    3859             : /*  7725*/      OPC_MoveChild1,
    3860             : /*  7726*/      OPC_CheckValueType, MVT::i16,
    3861             : /*  7728*/      OPC_MoveParent,
    3862             : /*  7729*/      OPC_MoveParent,
    3863             : /*  7730*/      OPC_RecordChild1, // #1 = $Rn
    3864             : /*  7731*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3865             : /*  7733*/      OPC_EmitInteger, MVT::i32, 3, 
    3866             : /*  7736*/      OPC_EmitInteger, MVT::i32, 14, 
    3867             : /*  7739*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3868             : /*  7742*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3869             :                     MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3870             :                 // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 14
    3871             :                 // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3872             : /*  7753*/    /*Scope*/ 35|128,2/*291*/, /*->8046*/
    3873             : /*  7755*/      OPC_RecordChild0, // #0 = $Rn
    3874             : /*  7756*/      OPC_MoveChild1,
    3875             : /*  7757*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3876             : /*  7760*/      OPC_MoveChild0,
    3877             : /*  7761*/      OPC_SwitchOpcode /*2 cases */, 1|128,1/*129*/, TARGET_VAL(ISD::ROTR),// ->7895
    3878             : /*  7766*/        OPC_RecordChild0, // #1 = $Rm
    3879             : /*  7767*/        OPC_RecordChild1, // #2 = $rot
    3880             : /*  7768*/        OPC_MoveChild1,
    3881             : /*  7769*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3882             : /*  7772*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    3883             : /*  7774*/        OPC_CheckType, MVT::i32,
    3884             : /*  7776*/        OPC_MoveParent,
    3885             : /*  7777*/        OPC_MoveParent,
    3886             : /*  7778*/        OPC_MoveChild1,
    3887             : /*  7779*/        OPC_Scope, 56, /*->7837*/ // 2 children in Scope
    3888             : /*  7781*/          OPC_CheckValueType, MVT::i8,
    3889             : /*  7783*/          OPC_MoveParent,
    3890             : /*  7784*/          OPC_MoveParent,
    3891             : /*  7785*/          OPC_Scope, 24, /*->7811*/ // 2 children in Scope
    3892             : /*  7787*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3893             : /*  7789*/            OPC_EmitConvertToTarget, 2,
    3894             : /*  7791*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3895             : /*  7794*/            OPC_EmitInteger, MVT::i32, 14, 
    3896             : /*  7797*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3897             : /*  7800*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    3898             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3899             :                       // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] })) - Complexity = 13
    3900             :                       // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    3901             : /*  7811*/          /*Scope*/ 24, /*->7836*/
    3902             : /*  7812*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3903             : /*  7814*/            OPC_EmitConvertToTarget, 2,
    3904             : /*  7816*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3905             : /*  7819*/            OPC_EmitInteger, MVT::i32, 14, 
    3906             : /*  7822*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3907             : /*  7825*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    3908             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3909             :                       // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] })) - Complexity = 13
    3910             :                       // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3911             : /*  7836*/          0, /*End of Scope*/
    3912             : /*  7837*/        /*Scope*/ 56, /*->7894*/
    3913             : /*  7838*/          OPC_CheckValueType, MVT::i16,
    3914             : /*  7840*/          OPC_MoveParent,
    3915             : /*  7841*/          OPC_MoveParent,
    3916             : /*  7842*/          OPC_Scope, 24, /*->7868*/ // 2 children in Scope
    3917             : /*  7844*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3918             : /*  7846*/            OPC_EmitConvertToTarget, 2,
    3919             : /*  7848*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3920             : /*  7851*/            OPC_EmitInteger, MVT::i32, 14, 
    3921             : /*  7854*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3922             : /*  7857*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    3923             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3924             :                       // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i16:{ *:[Other] })) - Complexity = 13
    3925             :                       // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    3926             : /*  7868*/          /*Scope*/ 24, /*->7893*/
    3927             : /*  7869*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3928             : /*  7871*/            OPC_EmitConvertToTarget, 2,
    3929             : /*  7873*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3930             : /*  7876*/            OPC_EmitInteger, MVT::i32, 14, 
    3931             : /*  7879*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3932             : /*  7882*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3933             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3934             :                       // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i16:{ *:[Other] })) - Complexity = 13
    3935             :                       // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3936             : /*  7893*/          0, /*End of Scope*/
    3937             : /*  7894*/        0, /*End of Scope*/
    3938             : /*  7895*/      /*SwitchOpcode*/ 18|128,1/*146*/, TARGET_VAL(ISD::SRL),// ->8045
    3939             : /*  7899*/        OPC_RecordChild0, // #1 = $Rm
    3940             : /*  7900*/        OPC_RecordChild1, // #2 = $rot
    3941             : /*  7901*/        OPC_MoveChild1,
    3942             : /*  7902*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3943             : /*  7905*/        OPC_CheckType, MVT::i32,
    3944             : /*  7907*/        OPC_Scope, 33, /*->7942*/ // 4 children in Scope
    3945             : /*  7909*/          OPC_CheckPredicate, 10, // Predicate_rot_imm
    3946             : /*  7911*/          OPC_MoveParent,
    3947             : /*  7912*/          OPC_MoveParent,
    3948             : /*  7913*/          OPC_MoveChild1,
    3949             : /*  7914*/          OPC_CheckValueType, MVT::i8,
    3950             : /*  7916*/          OPC_MoveParent,
    3951             : /*  7917*/          OPC_MoveParent,
    3952             : /*  7918*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3953             : /*  7920*/          OPC_EmitConvertToTarget, 2,
    3954             : /*  7922*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3955             : /*  7925*/          OPC_EmitInteger, MVT::i32, 14, 
    3956             : /*  7928*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3957             : /*  7931*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    3958             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3959             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] })) - Complexity = 13
    3960             :                     // Dst: (SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3961             : /*  7942*/        /*Scope*/ 33, /*->7976*/
    3962             : /*  7943*/          OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    3963             : /*  7945*/          OPC_MoveParent,
    3964             : /*  7946*/          OPC_MoveParent,
    3965             : /*  7947*/          OPC_MoveChild1,
    3966             : /*  7948*/          OPC_CheckValueType, MVT::i16,
    3967             : /*  7950*/          OPC_MoveParent,
    3968             : /*  7951*/          OPC_MoveParent,
    3969             : /*  7952*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3970             : /*  7954*/          OPC_EmitConvertToTarget, 2,
    3971             : /*  7956*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3972             : /*  7959*/          OPC_EmitInteger, MVT::i32, 14, 
    3973             : /*  7962*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3974             : /*  7965*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    3975             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3976             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), i16:{ *:[Other] })) - Complexity = 13
    3977             :                     // Dst: (SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3978             : /*  7976*/        /*Scope*/ 33, /*->8010*/
    3979             : /*  7977*/          OPC_CheckPredicate, 10, // Predicate_rot_imm
    3980             : /*  7979*/          OPC_MoveParent,
    3981             : /*  7980*/          OPC_MoveParent,
    3982             : /*  7981*/          OPC_MoveChild1,
    3983             : /*  7982*/          OPC_CheckValueType, MVT::i8,
    3984             : /*  7984*/          OPC_MoveParent,
    3985             : /*  7985*/          OPC_MoveParent,
    3986             : /*  7986*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3987             : /*  7988*/          OPC_EmitConvertToTarget, 2,
    3988             : /*  7990*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3989             : /*  7993*/          OPC_EmitInteger, MVT::i32, 14, 
    3990             : /*  7996*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3991             : /*  7999*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    3992             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3993             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] })) - Complexity = 13
    3994             :                     // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3995             : /*  8010*/        /*Scope*/ 33, /*->8044*/
    3996             : /*  8011*/          OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    3997             : /*  8013*/          OPC_MoveParent,
    3998             : /*  8014*/          OPC_MoveParent,
    3999             : /*  8015*/          OPC_MoveChild1,
    4000             : /*  8016*/          OPC_CheckValueType, MVT::i16,
    4001             : /*  8018*/          OPC_MoveParent,
    4002             : /*  8019*/          OPC_MoveParent,
    4003             : /*  8020*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4004             : /*  8022*/          OPC_EmitConvertToTarget, 2,
    4005             : /*  8024*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4006             : /*  8027*/          OPC_EmitInteger, MVT::i32, 14, 
    4007             : /*  8030*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4008             : /*  8033*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4009             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4010             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), i16:{ *:[Other] })) - Complexity = 13
    4011             :                     // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4012             : /*  8044*/        0, /*End of Scope*/
    4013             : /*  8045*/      0, // EndSwitchOpcode
    4014             : /*  8046*/    /*Scope*/ 40|128,2/*296*/, /*->8344*/
    4015             : /*  8048*/      OPC_MoveChild0,
    4016             : /*  8049*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4017             : /*  8052*/      OPC_MoveChild0,
    4018             : /*  8053*/      OPC_SwitchOpcode /*2 cases */, 3|128,1/*131*/, TARGET_VAL(ISD::ROTR),// ->8189
    4019             : /*  8058*/        OPC_RecordChild0, // #0 = $Rm
    4020             : /*  8059*/        OPC_RecordChild1, // #1 = $rot
    4021             : /*  8060*/        OPC_MoveChild1,
    4022             : /*  8061*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4023             : /*  8064*/        OPC_CheckPredicate, 10, // Predicate_rot_imm
    4024             : /*  8066*/        OPC_CheckType, MVT::i32,
    4025             : /*  8068*/        OPC_MoveParent,
    4026             : /*  8069*/        OPC_MoveParent,
    4027             : /*  8070*/        OPC_MoveChild1,
    4028             : /*  8071*/        OPC_Scope, 57, /*->8130*/ // 2 children in Scope
    4029             : /*  8073*/          OPC_CheckValueType, MVT::i8,
    4030             : /*  8075*/          OPC_MoveParent,
    4031             : /*  8076*/          OPC_MoveParent,
    4032             : /*  8077*/          OPC_RecordChild1, // #2 = $Rn
    4033             : /*  8078*/          OPC_Scope, 24, /*->8104*/ // 2 children in Scope
    4034             : /*  8080*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4035             : /*  8082*/            OPC_EmitConvertToTarget, 1,
    4036             : /*  8084*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4037             : /*  8087*/            OPC_EmitInteger, MVT::i32, 14, 
    4038             : /*  8090*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4039             : /*  8093*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4040             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4041             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] }), GPR:{ *:[i32] }:$Rn) - Complexity = 13
    4042             :                       // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    4043             : /*  8104*/          /*Scope*/ 24, /*->8129*/
    4044             : /*  8105*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4045             : /*  8107*/            OPC_EmitConvertToTarget, 1,
    4046             : /*  8109*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4047             : /*  8112*/            OPC_EmitInteger, MVT::i32, 14, 
    4048             : /*  8115*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4049             : /*  8118*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4050             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4051             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 13
    4052             :                       // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4053             : /*  8129*/          0, /*End of Scope*/
    4054             : /*  8130*/        /*Scope*/ 57, /*->8188*/
    4055             : /*  8131*/          OPC_CheckValueType, MVT::i16,
    4056             : /*  8133*/          OPC_MoveParent,
    4057             : /*  8134*/          OPC_MoveParent,
    4058             : /*  8135*/          OPC_RecordChild1, // #2 = $Rn
    4059             : /*  8136*/          OPC_Scope, 24, /*->8162*/ // 2 children in Scope
    4060             : /*  8138*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4061             : /*  8140*/            OPC_EmitConvertToTarget, 1,
    4062             : /*  8142*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4063             : /*  8145*/            OPC_EmitInteger, MVT::i32, 14, 
    4064             : /*  8148*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4065             : /*  8151*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4066             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4067             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i16:{ *:[Other] }), GPR:{ *:[i32] }:$Rn) - Complexity = 13
    4068             :                       // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    4069             : /*  8162*/          /*Scope*/ 24, /*->8187*/
    4070             : /*  8163*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4071             : /*  8165*/            OPC_EmitConvertToTarget, 1,
    4072             : /*  8167*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4073             : /*  8170*/            OPC_EmitInteger, MVT::i32, 14, 
    4074             : /*  8173*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4075             : /*  8176*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4076             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4077             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 13
    4078             :                       // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4079             : /*  8187*/          0, /*End of Scope*/
    4080             : /*  8188*/        0, /*End of Scope*/
    4081             : /*  8189*/      /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(ISD::SRL),// ->8343
    4082             : /*  8193*/        OPC_RecordChild0, // #0 = $Rm
    4083             : /*  8194*/        OPC_RecordChild1, // #1 = $rot
    4084             : /*  8195*/        OPC_MoveChild1,
    4085             : /*  8196*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4086             : /*  8199*/        OPC_CheckType, MVT::i32,
    4087             : /*  8201*/        OPC_Scope, 34, /*->8237*/ // 4 children in Scope
    4088             : /*  8203*/          OPC_CheckPredicate, 10, // Predicate_rot_imm
    4089             : /*  8205*/          OPC_MoveParent,
    4090             : /*  8206*/          OPC_MoveParent,
    4091             : /*  8207*/          OPC_MoveChild1,
    4092             : /*  8208*/          OPC_CheckValueType, MVT::i8,
    4093             : /*  8210*/          OPC_MoveParent,
    4094             : /*  8211*/          OPC_MoveParent,
    4095             : /*  8212*/          OPC_RecordChild1, // #2 = $Rn
    4096             : /*  8213*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4097             : /*  8215*/          OPC_EmitConvertToTarget, 1,
    4098             : /*  8217*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4099             : /*  8220*/          OPC_EmitInteger, MVT::i32, 14, 
    4100             : /*  8223*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4101             : /*  8226*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4102             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4103             :                     // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 13
    4104             :                     // Dst: (SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4105             : /*  8237*/        /*Scope*/ 34, /*->8272*/
    4106             : /*  8238*/          OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    4107             : /*  8240*/          OPC_MoveParent,
    4108             : /*  8241*/          OPC_MoveParent,
    4109             : /*  8242*/          OPC_MoveChild1,
    4110             : /*  8243*/          OPC_CheckValueType, MVT::i16,
    4111             : /*  8245*/          OPC_MoveParent,
    4112             : /*  8246*/          OPC_MoveParent,
    4113             : /*  8247*/          OPC_RecordChild1, // #2 = $Rn
    4114             : /*  8248*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4115             : /*  8250*/          OPC_EmitConvertToTarget, 1,
    4116             : /*  8252*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4117             : /*  8255*/          OPC_EmitInteger, MVT::i32, 14, 
    4118             : /*  8258*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4119             : /*  8261*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4120             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4121             :                     // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 13
    4122             :                     // Dst: (SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4123             : /*  8272*/        /*Scope*/ 34, /*->8307*/
    4124             : /*  8273*/          OPC_CheckPredicate, 10, // Predicate_rot_imm
    4125             : /*  8275*/          OPC_MoveParent,
    4126             : /*  8276*/          OPC_MoveParent,
    4127             : /*  8277*/          OPC_MoveChild1,
    4128             : /*  8278*/          OPC_CheckValueType, MVT::i8,
    4129             : /*  8280*/          OPC_MoveParent,
    4130             : /*  8281*/          OPC_MoveParent,
    4131             : /*  8282*/          OPC_RecordChild1, // #2 = $Rn
    4132             : /*  8283*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4133             : /*  8285*/          OPC_EmitConvertToTarget, 1,
    4134             : /*  8287*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4135             : /*  8290*/          OPC_EmitInteger, MVT::i32, 14, 
    4136             : /*  8293*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4137             : /*  8296*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4138             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4139             :                     // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), i8:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 13
    4140             :                     // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4141             : /*  8307*/        /*Scope*/ 34, /*->8342*/
    4142             : /*  8308*/          OPC_CheckPredicate, 11, // Predicate_imm8_or_16
    4143             : /*  8310*/          OPC_MoveParent,
    4144             : /*  8311*/          OPC_MoveParent,
    4145             : /*  8312*/          OPC_MoveChild1,
    4146             : /*  8313*/          OPC_CheckValueType, MVT::i16,
    4147             : /*  8315*/          OPC_MoveParent,
    4148             : /*  8316*/          OPC_MoveParent,
    4149             : /*  8317*/          OPC_RecordChild1, // #2 = $Rn
    4150             : /*  8318*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4151             : /*  8320*/          OPC_EmitConvertToTarget, 1,
    4152             : /*  8322*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4153             : /*  8325*/          OPC_EmitInteger, MVT::i32, 14, 
    4154             : /*  8328*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4155             : /*  8331*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4156             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4157             :                     // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm8_or_16>>:$rot), i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 13
    4158             :                     // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4159             : /*  8342*/        0, /*End of Scope*/
    4160             : /*  8343*/      0, // EndSwitchOpcode
    4161             : /*  8344*/    /*Scope*/ 55|128,1/*183*/, /*->8529*/
    4162             : /*  8346*/      OPC_RecordChild0, // #0 = $Rn
    4163             : /*  8347*/      OPC_Scope, 29, /*->8378*/ // 5 children in Scope
    4164             : /*  8349*/        OPC_RecordChild1, // #1 = $shift
    4165             : /*  8350*/        OPC_CheckType, MVT::i32,
    4166             : /*  8352*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4167             : /*  8354*/        OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
    4168             : /*  8357*/        OPC_EmitInteger, MVT::i32, 14, 
    4169             : /*  8360*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4170             : /*  8363*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4171             : /*  8366*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsi), 0,
    4172             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    4173             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift) - Complexity = 12
    4174             :                   // Dst: (ADDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    4175             : /*  8378*/      /*Scope*/ 44, /*->8423*/
    4176             : /*  8379*/        OPC_MoveChild1,
    4177             : /*  8380*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4178             : /*  8383*/        OPC_MoveChild0,
    4179             : /*  8384*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4180             : /*  8387*/        OPC_RecordChild0, // #1 = $Rn
    4181             : /*  8388*/        OPC_MoveChild1,
    4182             : /*  8389*/        OPC_CheckValueType, MVT::i16,
    4183             : /*  8391*/        OPC_MoveParent,
    4184             : /*  8392*/        OPC_MoveParent,
    4185             : /*  8393*/        OPC_MoveChild1,
    4186             : /*  8394*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4187             : /*  8397*/        OPC_RecordChild0, // #2 = $Rm
    4188             : /*  8398*/        OPC_MoveChild1,
    4189             : /*  8399*/        OPC_CheckValueType, MVT::i16,
    4190             : /*  8401*/        OPC_MoveParent,
    4191             : /*  8402*/        OPC_MoveParent,
    4192             : /*  8403*/        OPC_MoveParent,
    4193             : /*  8404*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4194             : /*  8406*/        OPC_EmitInteger, MVT::i32, 14, 
    4195             : /*  8409*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4196             : /*  8412*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4197             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4198             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i16:{ *:[Other] }))) - Complexity = 12
    4199             :                   // Dst: (SMLABB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4200             : /*  8423*/      /*Scope*/ 29, /*->8453*/
    4201             : /*  8424*/        OPC_RecordChild1, // #1 = $ShiftedRm
    4202             : /*  8425*/        OPC_CheckType, MVT::i32,
    4203             : /*  8427*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4204             : /*  8429*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    4205             : /*  8432*/        OPC_EmitInteger, MVT::i32, 14, 
    4206             : /*  8435*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4207             : /*  8438*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4208             : /*  8441*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrs), 0,
    4209             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    4210             :                   // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm) - Complexity = 12
    4211             :                   // Dst: (t2ADDrs:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    4212             : /*  8453*/      /*Scope*/ 44, /*->8498*/
    4213             : /*  8454*/        OPC_MoveChild1,
    4214             : /*  8455*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4215             : /*  8458*/        OPC_MoveChild0,
    4216             : /*  8459*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4217             : /*  8462*/        OPC_RecordChild0, // #1 = $Rn
    4218             : /*  8463*/        OPC_MoveChild1,
    4219             : /*  8464*/        OPC_CheckValueType, MVT::i16,
    4220             : /*  8466*/        OPC_MoveParent,
    4221             : /*  8467*/        OPC_MoveParent,
    4222             : /*  8468*/        OPC_MoveChild1,
    4223             : /*  8469*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4224             : /*  8472*/        OPC_RecordChild0, // #2 = $Rm
    4225             : /*  8473*/        OPC_MoveChild1,
    4226             : /*  8474*/        OPC_CheckValueType, MVT::i16,
    4227             : /*  8476*/        OPC_MoveParent,
    4228             : /*  8477*/        OPC_MoveParent,
    4229             : /*  8478*/        OPC_MoveParent,
    4230             : /*  8479*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4231             : /*  8481*/        OPC_EmitInteger, MVT::i32, 14, 
    4232             : /*  8484*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4233             : /*  8487*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4234             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4235             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i16:{ *:[Other] }))) - Complexity = 12
    4236             :                   // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4237             : /*  8498*/      /*Scope*/ 29, /*->8528*/
    4238             : /*  8499*/        OPC_RecordChild1, // #1 = $Rn
    4239             : /*  8500*/        OPC_CheckType, MVT::i32,
    4240             : /*  8502*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4241             : /*  8504*/        OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
    4242             : /*  8507*/        OPC_EmitInteger, MVT::i32, 14, 
    4243             : /*  8510*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4244             : /*  8513*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4245             : /*  8516*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsi), 0,
    4246             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    4247             :                   // Src: (add:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 12
    4248             :                   // Dst: (ADDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    4249             : /*  8528*/      0, /*End of Scope*/
    4250             : /*  8529*/    /*Scope*/ 45, /*->8575*/
    4251             : /*  8530*/      OPC_MoveChild0,
    4252             : /*  8531*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4253             : /*  8534*/      OPC_MoveChild0,
    4254             : /*  8535*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4255             : /*  8538*/      OPC_RecordChild0, // #0 = $Rn
    4256             : /*  8539*/      OPC_MoveChild1,
    4257             : /*  8540*/      OPC_CheckValueType, MVT::i16,
    4258             : /*  8542*/      OPC_MoveParent,
    4259             : /*  8543*/      OPC_MoveParent,
    4260             : /*  8544*/      OPC_MoveChild1,
    4261             : /*  8545*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4262             : /*  8548*/      OPC_RecordChild0, // #1 = $Rm
    4263             : /*  8549*/      OPC_MoveChild1,
    4264             : /*  8550*/      OPC_CheckValueType, MVT::i16,
    4265             : /*  8552*/      OPC_MoveParent,
    4266             : /*  8553*/      OPC_MoveParent,
    4267             : /*  8554*/      OPC_MoveParent,
    4268             : /*  8555*/      OPC_RecordChild1, // #2 = $Ra
    4269             : /*  8556*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4270             : /*  8558*/      OPC_EmitInteger, MVT::i32, 14, 
    4271             : /*  8561*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4272             : /*  8564*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4273             :                     MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4274             :                 // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i16:{ *:[Other] })), GPR:{ *:[i32] }:$Ra) - Complexity = 12
    4275             :                 // Dst: (SMLABB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4276             : /*  8575*/    /*Scope*/ 30, /*->8606*/
    4277             : /*  8576*/      OPC_RecordChild0, // #0 = $ShiftedRm
    4278             : /*  8577*/      OPC_RecordChild1, // #1 = $Rn
    4279             : /*  8578*/      OPC_CheckType, MVT::i32,
    4280             : /*  8580*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4281             : /*  8582*/      OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    4282             : /*  8585*/      OPC_EmitInteger, MVT::i32, 14, 
    4283             : /*  8588*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4284             : /*  8591*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4285             : /*  8594*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrs), 0,
    4286             :                     MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    4287             :                 // Src: (add:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, GPRnopc:{ *:[i32] }:$Rn) - Complexity = 12
    4288             :                 // Dst: (t2ADDrs:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    4289             : /*  8606*/    /*Scope*/ 45, /*->8652*/
    4290             : /*  8607*/      OPC_MoveChild0,
    4291             : /*  8608*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4292             : /*  8611*/      OPC_MoveChild0,
    4293             : /*  8612*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4294             : /*  8615*/      OPC_RecordChild0, // #0 = $Rn
    4295             : /*  8616*/      OPC_MoveChild1,
    4296             : /*  8617*/      OPC_CheckValueType, MVT::i16,
    4297             : /*  8619*/      OPC_MoveParent,
    4298             : /*  8620*/      OPC_MoveParent,
    4299             : /*  8621*/      OPC_MoveChild1,
    4300             : /*  8622*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4301             : /*  8625*/      OPC_RecordChild0, // #1 = $Rm
    4302             : /*  8626*/      OPC_MoveChild1,
    4303             : /*  8627*/      OPC_CheckValueType, MVT::i16,
    4304             : /*  8629*/      OPC_MoveParent,
    4305             : /*  8630*/      OPC_MoveParent,
    4306             : /*  8631*/      OPC_MoveParent,
    4307             : /*  8632*/      OPC_RecordChild1, // #2 = $Ra
    4308             : /*  8633*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4309             : /*  8635*/      OPC_EmitInteger, MVT::i32, 14, 
    4310             : /*  8638*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4311             : /*  8641*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4312             :                     MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4313             :                 // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i16:{ *:[Other] })), rGPR:{ *:[i32] }:$Ra) - Complexity = 12
    4314             :                 // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4315             : /*  8652*/    /*Scope*/ 115, /*->8768*/
    4316             : /*  8653*/      OPC_RecordChild0, // #0 = $acc
    4317             : /*  8654*/      OPC_Scope, 36, /*->8692*/ // 3 children in Scope
    4318             : /*  8656*/        OPC_MoveChild1,
    4319             : /*  8657*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4320             : /*  8660*/        OPC_RecordChild0, // #1 = $a
    4321             : /*  8661*/        OPC_MoveChild0,
    4322             : /*  8662*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    4323             : /*  8664*/        OPC_MoveParent,
    4324             : /*  8665*/        OPC_RecordChild1, // #2 = $b
    4325             : /*  8666*/        OPC_MoveChild1,
    4326             : /*  8667*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    4327             : /*  8669*/        OPC_MoveParent,
    4328             : /*  8670*/        OPC_MoveParent,
    4329             : /*  8671*/        OPC_CheckType, MVT::i32,
    4330             : /*  8673*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4331             : /*  8675*/        OPC_EmitInteger, MVT::i32, 14, 
    4332             : /*  8678*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4333             : /*  8681*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4334             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4335             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$acc, (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$a, GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$b)) - Complexity = 8
    4336             :                   // Dst: (SMLABB:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    4337             : /*  8692*/      /*Scope*/ 37, /*->8730*/
    4338             : /*  8693*/        OPC_RecordChild1, // #1 = $imm
    4339             : /*  8694*/        OPC_MoveChild1,
    4340             : /*  8695*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4341             : /*  8698*/        OPC_CheckPredicate, 13, // Predicate_imm1_255_neg
    4342             : /*  8700*/        OPC_MoveParent,
    4343             : /*  8701*/        OPC_CheckType, MVT::i32,
    4344             : /*  8703*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4345             : /*  8705*/        OPC_EmitConvertToTarget, 1,
    4346             : /*  8707*/        OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4347             : /*  8710*/        OPC_EmitInteger, MVT::i32, 14, 
    4348             : /*  8713*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4349             : /*  8716*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4350             : /*  8719*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri), 0,
    4351             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    4352             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm1_255_neg>><<X:imm_neg_XFORM>>:$imm) - Complexity = 8
    4353             :                   // Dst: (t2SUBri:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_imm1_255_neg>>:$imm))
    4354             : /*  8730*/      /*Scope*/ 36, /*->8767*/
    4355             : /*  8731*/        OPC_MoveChild1,
    4356             : /*  8732*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4357             : /*  8735*/        OPC_RecordChild0, // #1 = $Rn
    4358             : /*  8736*/        OPC_MoveChild0,
    4359             : /*  8737*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    4360             : /*  8739*/        OPC_MoveParent,
    4361             : /*  8740*/        OPC_RecordChild1, // #2 = $Rm
    4362             : /*  8741*/        OPC_MoveChild1,
    4363             : /*  8742*/        OPC_CheckPredicate, 12, // Predicate_sext_16_node
    4364             : /*  8744*/        OPC_MoveParent,
    4365             : /*  8745*/        OPC_MoveParent,
    4366             : /*  8746*/        OPC_CheckType, MVT::i32,
    4367             : /*  8748*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4368             : /*  8750*/        OPC_EmitInteger, MVT::i32, 14, 
    4369             : /*  8753*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4370             : /*  8756*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4371             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4372             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rn, GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rm)) - Complexity = 8
    4373             :                   // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4374             : /*  8767*/      0, /*End of Scope*/
    4375             : /*  8768*/    /*Scope*/ 60, /*->8829*/
    4376             : /*  8769*/      OPC_MoveChild0,
    4377             : /*  8770*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4378             : /*  8773*/      OPC_RecordChild0, // #0 = $a
    4379             : /*  8774*/      OPC_MoveChild0,
    4380             : /*  8775*/      OPC_CheckPredicate, 12, // Predicate_sext_16_node
    4381             : /*  8777*/      OPC_MoveParent,
    4382             : /*  8778*/      OPC_RecordChild1, // #1 = $b
    4383             : /*  8779*/      OPC_MoveChild1,
    4384             : /*  8780*/      OPC_CheckPredicate, 12, // Predicate_sext_16_node
    4385             : /*  8782*/      OPC_MoveParent,
    4386             : /*  8783*/      OPC_MoveParent,
    4387             : /*  8784*/      OPC_RecordChild1, // #2 = $acc
    4388             : /*  8785*/      OPC_CheckType, MVT::i32,
    4389             : /*  8787*/      OPC_Scope, 19, /*->8808*/ // 2 children in Scope
    4390             : /*  8789*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4391             : /*  8791*/        OPC_EmitInteger, MVT::i32, 14, 
    4392             : /*  8794*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4393             : /*  8797*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4394             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4395             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$a, GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$b), GPR:{ *:[i32] }:$acc) - Complexity = 8
    4396             :                   // Dst: (SMLABB:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    4397             : /*  8808*/      /*Scope*/ 19, /*->8828*/
    4398             : /*  8809*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4399             : /*  8811*/        OPC_EmitInteger, MVT::i32, 14, 
    4400             : /*  8814*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4401             : /*  8817*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4402             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4403             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rn, GPR:{ *:[i32] }<<P:Predicate_sext_16_node>>:$Rm), rGPR:{ *:[i32] }:$Ra) - Complexity = 8
    4404             :                   // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4405             : /*  8828*/      0, /*End of Scope*/
    4406             : /*  8829*/    /*Scope*/ 25|128,3/*409*/, /*->9240*/
    4407             : /*  8831*/      OPC_RecordChild0, // #0 = $Rn
    4408             : /*  8832*/      OPC_RecordChild1, // #1 = $imm
    4409             : /*  8833*/      OPC_MoveChild1,
    4410             : /*  8834*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4411             : /*  8837*/      OPC_Scope, 29, /*->8868*/ // 11 children in Scope
    4412             : /*  8839*/        OPC_CheckPredicate, 7, // Predicate_mod_imm
    4413             : /*  8841*/        OPC_MoveParent,
    4414             : /*  8842*/        OPC_CheckType, MVT::i32,
    4415             : /*  8844*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4416             : /*  8846*/        OPC_EmitConvertToTarget, 1,
    4417             : /*  8848*/        OPC_EmitInteger, MVT::i32, 14, 
    4418             : /*  8851*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4419             : /*  8854*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4420             : /*  8857*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDri), 0,
    4421             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    4422             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm) - Complexity = 7
    4423             :                   // Dst: (ADDri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    4424             : /*  8868*/      /*Scope*/ 32, /*->8901*/
    4425             : /*  8869*/        OPC_CheckPredicate, 14, // Predicate_mod_imm_neg
    4426             : /*  8871*/        OPC_MoveParent,
    4427             : /*  8872*/        OPC_CheckType, MVT::i32,
    4428             : /*  8874*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4429             : /*  8876*/        OPC_EmitConvertToTarget, 1,
    4430             : /*  8878*/        OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4431             : /*  8881*/        OPC_EmitInteger, MVT::i32, 14, 
    4432             : /*  8884*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4433             : /*  8887*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4434             : /*  8890*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SUBri), 0,
    4435             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    4436             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_mod_imm_neg>><<X:imm_neg_XFORM>>:$imm) - Complexity = 7
    4437             :                   // Dst: (SUBri:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm_neg>>:$imm))
    4438             : /*  8901*/      /*Scope*/ 29, /*->8931*/
    4439             : /*  8902*/        OPC_CheckPredicate, 15, // Predicate_imm0_7
    4440             : /*  8904*/        OPC_MoveParent,
    4441             : /*  8905*/        OPC_CheckType, MVT::i32,
    4442             : /*  8907*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4443             : /*  8909*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4444             : /*  8912*/        OPC_EmitConvertToTarget, 1,
    4445             : /*  8914*/        OPC_EmitInteger, MVT::i32, 14, 
    4446             : /*  8917*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4447             : /*  8920*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi3), 0,
    4448             :                       MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    4449             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm0_7>>:$imm3) - Complexity = 7
    4450             :                   // Dst: (tADDi3:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$imm3)
    4451             : /*  8931*/      /*Scope*/ 29, /*->8961*/
    4452             : /*  8932*/        OPC_CheckPredicate, 16, // Predicate_imm8_255
    4453             : /*  8934*/        OPC_MoveParent,
    4454             : /*  8935*/        OPC_CheckType, MVT::i32,
    4455             : /*  8937*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4456             : /*  8939*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4457             : /*  8942*/        OPC_EmitConvertToTarget, 1,
    4458             : /*  8944*/        OPC_EmitInteger, MVT::i32, 14, 
    4459             : /*  8947*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4460             : /*  8950*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi8), 0,
    4461             :                       MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    4462             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm8_255>>:$imm8) - Complexity = 7
    4463             :                   // Dst: (tADDi8:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm8)
    4464             : /*  8961*/      /*Scope*/ 32, /*->8994*/
    4465             : /*  8962*/        OPC_CheckPredicate, 17, // Predicate_imm0_7_neg
    4466             : /*  8964*/        OPC_MoveParent,
    4467             : /*  8965*/        OPC_CheckType, MVT::i32,
    4468             : /*  8967*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4469             : /*  8969*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4470             : /*  8972*/        OPC_EmitConvertToTarget, 1,
    4471             : /*  8974*/        OPC_EmitNodeXForm, 3, 3, // imm_neg_XFORM
    4472             : /*  8977*/        OPC_EmitInteger, MVT::i32, 14, 
    4473             : /*  8980*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4474             : /*  8983*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tSUBi3), 0,
    4475             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4476             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm0_7_neg>><<X:imm_neg_XFORM>>:$imm3) - Complexity = 7
    4477             :                   // Dst: (tSUBi3:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm3))
    4478             : /*  8994*/      /*Scope*/ 32, /*->9027*/
    4479             : /*  8995*/        OPC_CheckPredicate, 18, // Predicate_imm8_255_neg
    4480             : /*  8997*/        OPC_MoveParent,
    4481             : /*  8998*/        OPC_CheckType, MVT::i32,
    4482             : /*  9000*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4483             : /*  9002*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4484             : /*  9005*/        OPC_EmitConvertToTarget, 1,
    4485             : /*  9007*/        OPC_EmitNodeXForm, 3, 3, // imm_neg_XFORM
    4486             : /*  9010*/        OPC_EmitInteger, MVT::i32, 14, 
    4487             : /*  9013*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4488             : /*  9016*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tSUBi8), 0,
    4489             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4490             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm8_255_neg>><<X:imm_neg_XFORM>>:$imm8) - Complexity = 7
    4491             :                   // Dst: (tSUBi8:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm8))
    4492             : /*  9027*/      /*Scope*/ 29, /*->9057*/
    4493             : /*  9028*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    4494             : /*  9030*/        OPC_MoveParent,
    4495             : /*  9031*/        OPC_CheckType, MVT::i32,
    4496             : /*  9033*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4497             : /*  9035*/        OPC_EmitConvertToTarget, 1,
    4498             : /*  9037*/        OPC_EmitInteger, MVT::i32, 14, 
    4499             : /*  9040*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4500             : /*  9043*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4501             : /*  9046*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri), 0,
    4502             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    4503             :                   // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm) - Complexity = 7
    4504             :                   // Dst: (t2ADDri:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    4505             : /*  9057*/      /*Scope*/ 25, /*->9083*/
    4506             : /*  9058*/        OPC_CheckPredicate, 19, // Predicate_imm0_4095
    4507             : /*  9060*/        OPC_MoveParent,
    4508             : /*  9061*/        OPC_CheckType, MVT::i32,
    4509             : /*  9063*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4510             : /*  9065*/        OPC_EmitConvertToTarget, 1,
    4511             : /*  9067*/        OPC_EmitInteger, MVT::i32, 14, 
    4512             : /*  9070*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4513             : /*  9073*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri12), 0,
    4514             :                       MVT::i32, 4/*#Ops*/, 0, 2, 3, 4, 
    4515             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm0_4095>>:$imm) - Complexity = 7
    4516             :                   // Dst: (t2ADDri12:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    4517             : /*  9083*/      /*Scope*/ 32, /*->9116*/
    4518             : /*  9084*/        OPC_CheckPredicate, 20, // Predicate_t2_so_imm_neg
    4519             : /*  9086*/        OPC_MoveParent,
    4520             : /*  9087*/        OPC_CheckType, MVT::i32,
    4521             : /*  9089*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4522             : /*  9091*/        OPC_EmitConvertToTarget, 1,
    4523             : /*  9093*/        OPC_EmitNodeXForm, 4, 2, // t2_so_imm_neg_XFORM
    4524             : /*  9096*/        OPC_EmitInteger, MVT::i32, 14, 
    4525             : /*  9099*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4526             : /*  9102*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4527             : /*  9105*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri), 0,
    4528             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    4529             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_neg>><<X:t2_so_imm_neg_XFORM>>:$imm) - Complexity = 7
    4530             :                   // Dst: (t2SUBri:{ *:[i32] } GPR:{ *:[i32] }:$src, (t2_so_imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_neg>>:$imm))
    4531             : /*  9116*/      /*Scope*/ 28, /*->9145*/
    4532             : /*  9117*/        OPC_CheckPredicate, 21, // Predicate_imm0_4095_neg
    4533             : /*  9119*/        OPC_MoveParent,
    4534             : /*  9120*/        OPC_CheckType, MVT::i32,
    4535             : /*  9122*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4536             : /*  9124*/        OPC_EmitConvertToTarget, 1,
    4537             : /*  9126*/        OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4538             : /*  9129*/        OPC_EmitInteger, MVT::i32, 14, 
    4539             : /*  9132*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4540             : /*  9135*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri12), 0,
    4541             :                       MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    4542             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm0_4095_neg>><<X:imm_neg_XFORM>>:$imm) - Complexity = 7
    4543             :                   // Dst: (t2SUBri12:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_4095_neg>>:$imm))
    4544             : /*  9145*/      /*Scope*/ 93, /*->9239*/
    4545             : /*  9146*/        OPC_CheckPredicate, 22, // Predicate_imm0_65535_neg
    4546             : /*  9148*/        OPC_MoveParent,
    4547             : /*  9149*/        OPC_CheckType, MVT::i32,
    4548             : /*  9151*/        OPC_Scope, 42, /*->9195*/ // 2 children in Scope
    4549             : /*  9153*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb())
    4550             : /*  9155*/          OPC_EmitConvertToTarget, 1,
    4551             : /*  9157*/          OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4552             : /*  9160*/          OPC_EmitInteger, MVT::i32, 14, 
    4553             : /*  9163*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4554             : /*  9166*/          OPC_EmitNode1, TARGET_VAL(ARM::MOVi16), 0,
    4555             :                         MVT::i32, 3/*#Ops*/, 3, 4, 5,  // Results = #6
    4556             : /*  9175*/          OPC_EmitInteger, MVT::i32, 14, 
    4557             : /*  9178*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4558             : /*  9181*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4559             : /*  9184*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SUBrr), 0,
    4560             :                         MVT::i32, 5/*#Ops*/, 0, 6, 7, 8, 9, 
    4561             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm0_65535_neg>>:$imm) - Complexity = 7
    4562             :                     // Dst: (SUBrr:{ *:[i32] } GPR:{ *:[i32] }:$src, (MOVi16:{ *:[i32] } (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm)))
    4563             : /*  9195*/        /*Scope*/ 42, /*->9238*/
    4564             : /*  9196*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4565             : /*  9198*/          OPC_EmitConvertToTarget, 1,
    4566             : /*  9200*/          OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4567             : /*  9203*/          OPC_EmitInteger, MVT::i32, 14, 
    4568             : /*  9206*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4569             : /*  9209*/          OPC_EmitNode1, TARGET_VAL(ARM::t2MOVi16), 0,
    4570             :                         MVT::i32, 3/*#Ops*/, 3, 4, 5,  // Results = #6
    4571             : /*  9218*/          OPC_EmitInteger, MVT::i32, 14, 
    4572             : /*  9221*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4573             : /*  9224*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4574             : /*  9227*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBrr), 0,
    4575             :                         MVT::i32, 5/*#Ops*/, 0, 6, 7, 8, 9, 
    4576             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm0_65535_neg>>:$imm) - Complexity = 7
    4577             :                     // Dst: (t2SUBrr:{ *:[i32] } GPR:{ *:[i32] }:$src, (t2MOVi16:{ *:[i32] } (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm)))
    4578             : /*  9238*/        0, /*End of Scope*/
    4579             : /*  9239*/      0, /*End of Scope*/
    4580             : /*  9240*/    /*Scope*/ 90, /*->9331*/
    4581             : /*  9241*/      OPC_MoveChild0,
    4582             : /*  9242*/      OPC_SwitchOpcode /*2 cases */, 56, TARGET_VAL(ISD::MUL),// ->9302
    4583             : /*  9246*/        OPC_RecordChild0, // #0 = $Rn
    4584             : /*  9247*/        OPC_RecordChild1, // #1 = $Rm
    4585             : /*  9248*/        OPC_MoveParent,
    4586             : /*  9249*/        OPC_RecordChild1, // #2 = $Ra
    4587             : /*  9250*/        OPC_CheckType, MVT::i32,
    4588             : /*  9252*/        OPC_Scope, 23, /*->9277*/ // 2 children in Scope
    4589             : /*  9254*/          OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4590             : /*  9256*/          OPC_EmitInteger, MVT::i32, 14, 
    4591             : /*  9259*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4592             : /*  9262*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4593             : /*  9265*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLA), 0,
    4594             :                         MVT::i32, 6/*#Ops*/, 0, 1, 2, 3, 4, 5, 
    4595             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPRnopc:{ *:[i32] }:$Ra) - Complexity = 6
    4596             :                     // Dst: (MLA:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4597             : /*  9277*/        /*Scope*/ 23, /*->9301*/
    4598             : /*  9278*/          OPC_CheckPatternPredicate, 11, // (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops())
    4599             : /*  9280*/          OPC_EmitInteger, MVT::i32, 14, 
    4600             : /*  9283*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4601             : /*  9286*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4602             : /*  9289*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLAv5), 0,
    4603             :                         MVT::i32, 6/*#Ops*/, 0, 1, 2, 3, 4, 5, 
    4604             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPRnopc:{ *:[i32] }:$Ra) - Complexity = 6
    4605             :                     // Dst: (MLAv5:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4606             : /*  9301*/        0, /*End of Scope*/
    4607             : /*  9302*/      /*SwitchOpcode*/ 25, TARGET_VAL(ISD::MULHS),// ->9330
    4608             : /*  9305*/        OPC_RecordChild0, // #0 = $Rn
    4609             : /*  9306*/        OPC_RecordChild1, // #1 = $Rm
    4610             : /*  9307*/        OPC_MoveParent,
    4611             : /*  9308*/        OPC_RecordChild1, // #2 = $Ra
    4612             : /*  9309*/        OPC_CheckType, MVT::i32,
    4613             : /*  9311*/        OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4614             : /*  9313*/        OPC_EmitInteger, MVT::i32, 14, 
    4615             : /*  9316*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4616             : /*  9319*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMMLA), 0,
    4617             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4618             :                   // Src: (add:{ *:[i32] } (mulhs:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm), GPR:{ *:[i32] }:$Ra) - Complexity = 6
    4619             :                   // Dst: (SMMLA:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4620             : /*  9330*/      0, // EndSwitchOpcode
    4621             : /*  9331*/    /*Scope*/ 119, /*->9451*/
    4622             : /*  9332*/      OPC_RecordChild0, // #0 = $Ra
    4623             : /*  9333*/      OPC_MoveChild1,
    4624             : /*  9334*/      OPC_SwitchOpcode /*3 cases */, 24, TARGET_VAL(ARMISD::SMULWB),// ->9362
    4625             : /*  9338*/        OPC_RecordChild0, // #1 = $Rn
    4626             : /*  9339*/        OPC_RecordChild1, // #2 = $Rm
    4627             : /*  9340*/        OPC_MoveParent,
    4628             : /*  9341*/        OPC_CheckType, MVT::i32,
    4629             : /*  9343*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4630             : /*  9345*/        OPC_EmitInteger, MVT::i32, 14, 
    4631             : /*  9348*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4632             : /*  9351*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWB), 0,
    4633             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4634             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (ARMsmulwb:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4635             :                   // Dst: (SMLAWB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4636             : /*  9362*/      /*SwitchOpcode*/ 24, TARGET_VAL(ARMISD::SMULWT),// ->9389
    4637             : /*  9365*/        OPC_RecordChild0, // #1 = $Rn
    4638             : /*  9366*/        OPC_RecordChild1, // #2 = $Rm
    4639             : /*  9367*/        OPC_MoveParent,
    4640             : /*  9368*/        OPC_CheckType, MVT::i32,
    4641             : /*  9370*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4642             : /*  9372*/        OPC_EmitInteger, MVT::i32, 14, 
    4643             : /*  9375*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4644             : /*  9378*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWT), 0,
    4645             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4646             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (ARMsmulwt:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4647             :                   // Dst: (SMLAWT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4648             : /*  9389*/      /*SwitchOpcode*/ 58, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->9450
    4649             : /*  9392*/        OPC_RecordChild0, // #1 = $Rm
    4650             : /*  9393*/        OPC_MoveChild1,
    4651             : /*  9394*/        OPC_Scope, 26, /*->9422*/ // 2 children in Scope
    4652             : /*  9396*/          OPC_CheckValueType, MVT::i8,
    4653             : /*  9398*/          OPC_MoveParent,
    4654             : /*  9399*/          OPC_MoveParent,
    4655             : /*  9400*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4656             : /*  9402*/          OPC_EmitInteger, MVT::i32, 0, 
    4657             : /*  9405*/          OPC_EmitInteger, MVT::i32, 14, 
    4658             : /*  9408*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4659             : /*  9411*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4660             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4661             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i8:{ *:[Other] })) - Complexity = 6
    4662             :                     // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4663             : /*  9422*/        /*Scope*/ 26, /*->9449*/
    4664             : /*  9423*/          OPC_CheckValueType, MVT::i16,
    4665             : /*  9425*/          OPC_MoveParent,
    4666             : /*  9426*/          OPC_MoveParent,
    4667             : /*  9427*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4668             : /*  9429*/          OPC_EmitInteger, MVT::i32, 0, 
    4669             : /*  9432*/          OPC_EmitInteger, MVT::i32, 14, 
    4670             : /*  9435*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4671             : /*  9438*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4672             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4673             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i16:{ *:[Other] })) - Complexity = 6
    4674             :                     // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4675             : /*  9449*/        0, /*End of Scope*/
    4676             : /*  9450*/      0, // EndSwitchOpcode
    4677             : /*  9451*/    /*Scope*/ 59, /*->9511*/
    4678             : /*  9452*/      OPC_MoveChild0,
    4679             : /*  9453*/      OPC_SwitchOpcode /*2 cases */, 25, TARGET_VAL(ISD::MUL),// ->9482
    4680             : /*  9457*/        OPC_RecordChild0, // #0 = $Rn
    4681             : /*  9458*/        OPC_RecordChild1, // #1 = $Rm
    4682             : /*  9459*/        OPC_MoveParent,
    4683             : /*  9460*/        OPC_RecordChild1, // #2 = $Ra
    4684             : /*  9461*/        OPC_CheckType, MVT::i32,
    4685             : /*  9463*/        OPC_CheckPatternPredicate, 12, // (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4686             : /*  9465*/        OPC_EmitInteger, MVT::i32, 14, 
    4687             : /*  9468*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4688             : /*  9471*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MLA), 0,
    4689             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4690             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4691             :                   // Dst: (t2MLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4692             : /*  9482*/      /*SwitchOpcode*/ 25, TARGET_VAL(ISD::MULHS),// ->9510
    4693             : /*  9485*/        OPC_RecordChild0, // #0 = $Rm
    4694             : /*  9486*/        OPC_RecordChild1, // #1 = $Rn
    4695             : /*  9487*/        OPC_MoveParent,
    4696             : /*  9488*/        OPC_RecordChild1, // #2 = $Ra
    4697             : /*  9489*/        OPC_CheckType, MVT::i32,
    4698             : /*  9491*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4699             : /*  9493*/        OPC_EmitInteger, MVT::i32, 14, 
    4700             : /*  9496*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4701             : /*  9499*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMMLA), 0,
    4702             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    4703             :                   // Src: (add:{ *:[i32] } (mulhs:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Rn), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4704             :                   // Dst: (t2SMMLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4705             : /*  9510*/      0, // EndSwitchOpcode
    4706             : /*  9511*/    /*Scope*/ 76|128,1/*204*/, /*->9717*/
    4707             : /*  9513*/      OPC_RecordChild0, // #0 = $Ra
    4708             : /*  9514*/      OPC_MoveChild1,
    4709             : /*  9515*/      OPC_SwitchOpcode /*5 cases */, 24, TARGET_VAL(ARMISD::SMULWB),// ->9543
    4710             : /*  9519*/        OPC_RecordChild0, // #1 = $Rn
    4711             : /*  9520*/        OPC_RecordChild1, // #2 = $Rm
    4712             : /*  9521*/        OPC_MoveParent,
    4713             : /*  9522*/        OPC_CheckType, MVT::i32,
    4714             : /*  9524*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4715             : /*  9526*/        OPC_EmitInteger, MVT::i32, 14, 
    4716             : /*  9529*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4717             : /*  9532*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWB), 0,
    4718             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4719             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (ARMsmulwb:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4720             :                   // Dst: (t2SMLAWB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4721             : /*  9543*/      /*SwitchOpcode*/ 24, TARGET_VAL(ARMISD::SMULWT),// ->9570
    4722             : /*  9546*/        OPC_RecordChild0, // #1 = $Rn
    4723             : /*  9547*/        OPC_RecordChild1, // #2 = $Rm
    4724             : /*  9548*/        OPC_MoveParent,
    4725             : /*  9549*/        OPC_CheckType, MVT::i32,
    4726             : /*  9551*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4727             : /*  9553*/        OPC_EmitInteger, MVT::i32, 14, 
    4728             : /*  9556*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4729             : /*  9559*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWT), 0,
    4730             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4731             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (ARMsmulwt:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4732             :                   // Dst: (t2SMLAWT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4733             : /*  9570*/      /*SwitchOpcode*/ 58, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->9631
    4734             : /*  9573*/        OPC_RecordChild0, // #1 = $Rm
    4735             : /*  9574*/        OPC_MoveChild1,
    4736             : /*  9575*/        OPC_Scope, 26, /*->9603*/ // 2 children in Scope
    4737             : /*  9577*/          OPC_CheckValueType, MVT::i8,
    4738             : /*  9579*/          OPC_MoveParent,
    4739             : /*  9580*/          OPC_MoveParent,
    4740             : /*  9581*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4741             : /*  9583*/          OPC_EmitInteger, MVT::i32, 0, 
    4742             : /*  9586*/          OPC_EmitInteger, MVT::i32, 14, 
    4743             : /*  9589*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4744             : /*  9592*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4745             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4746             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i8:{ *:[Other] })) - Complexity = 6
    4747             :                     // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4748             : /*  9603*/        /*Scope*/ 26, /*->9630*/
    4749             : /*  9604*/          OPC_CheckValueType, MVT::i16,
    4750             : /*  9606*/          OPC_MoveParent,
    4751             : /*  9607*/          OPC_MoveParent,
    4752             : /*  9608*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4753             : /*  9610*/          OPC_EmitInteger, MVT::i32, 0, 
    4754             : /*  9613*/          OPC_EmitInteger, MVT::i32, 14, 
    4755             : /*  9616*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4756             : /*  9619*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4757             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4758             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i16:{ *:[Other] })) - Complexity = 6
    4759             :                     // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4760             : /*  9630*/        0, /*End of Scope*/
    4761             : /*  9631*/      /*SwitchOpcode*/ 55, TARGET_VAL(ISD::MUL),// ->9689
    4762             : /*  9634*/        OPC_RecordChild0, // #1 = $Rn
    4763             : /*  9635*/        OPC_RecordChild1, // #2 = $Rm
    4764             : /*  9636*/        OPC_MoveParent,
    4765             : /*  9637*/        OPC_CheckType, MVT::i32,
    4766             : /*  9639*/        OPC_Scope, 23, /*->9664*/ // 2 children in Scope
    4767             : /*  9641*/          OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4768             : /*  9643*/          OPC_EmitInteger, MVT::i32, 14, 
    4769             : /*  9646*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4770             : /*  9649*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4771             : /*  9652*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLA), 0,
    4772             :                         MVT::i32, 6/*#Ops*/, 1, 2, 0, 3, 4, 5, 
    4773             :                     // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Ra, (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4774             :                     // Dst: (MLA:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4775             : /*  9664*/        /*Scope*/ 23, /*->9688*/
    4776             : /*  9665*/          OPC_CheckPatternPredicate, 11, // (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops())
    4777             : /*  9667*/          OPC_EmitInteger, MVT::i32, 14, 
    4778             : /*  9670*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4779             : /*  9673*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4780             : /*  9676*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLAv5), 0,
    4781             :                         MVT::i32, 6/*#Ops*/, 1, 2, 0, 3, 4, 5, 
    4782             :                     // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Ra, (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4783             :                     // Dst: (MLAv5:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4784             : /*  9688*/        0, /*End of Scope*/
    4785             : /*  9689*/      /*SwitchOpcode*/ 24, TARGET_VAL(ISD::MULHS),// ->9716
    4786             : /*  9692*/        OPC_RecordChild0, // #1 = $Rn
    4787             : /*  9693*/        OPC_RecordChild1, // #2 = $Rm
    4788             : /*  9694*/        OPC_MoveParent,
    4789             : /*  9695*/        OPC_CheckType, MVT::i32,
    4790             : /*  9697*/        OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4791             : /*  9699*/        OPC_EmitInteger, MVT::i32, 14, 
    4792             : /*  9702*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4793             : /*  9705*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMMLA), 0,
    4794             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4795             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (mulhs:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4796             :                   // Dst: (SMMLA:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4797             : /*  9716*/      0, // EndSwitchOpcode
    4798             : /*  9717*/    /*Scope*/ 59, /*->9777*/
    4799             : /*  9718*/      OPC_MoveChild0,
    4800             : /*  9719*/      OPC_SwitchOpcode /*2 cases */, 25, TARGET_VAL(ARMISD::SMULWB),// ->9748
    4801             : /*  9723*/        OPC_RecordChild0, // #0 = $Rn
    4802             : /*  9724*/        OPC_RecordChild1, // #1 = $Rm
    4803             : /*  9725*/        OPC_MoveParent,
    4804             : /*  9726*/        OPC_RecordChild1, // #2 = $Ra
    4805             : /*  9727*/        OPC_CheckType, MVT::i32,
    4806             : /*  9729*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4807             : /*  9731*/        OPC_EmitInteger, MVT::i32, 14, 
    4808             : /*  9734*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4809             : /*  9737*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWB), 0,
    4810             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4811             :                   // Src: (add:{ *:[i32] } (ARMsmulwb:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPR:{ *:[i32] }:$Ra) - Complexity = 6
    4812             :                   // Dst: (SMLAWB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4813             : /*  9748*/      /*SwitchOpcode*/ 25, TARGET_VAL(ARMISD::SMULWT),// ->9776
    4814             : /*  9751*/        OPC_RecordChild0, // #0 = $Rn
    4815             : /*  9752*/        OPC_RecordChild1, // #1 = $Rm
    4816             : /*  9753*/        OPC_MoveParent,
    4817             : /*  9754*/        OPC_RecordChild1, // #2 = $Ra
    4818             : /*  9755*/        OPC_CheckType, MVT::i32,
    4819             : /*  9757*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4820             : /*  9759*/        OPC_EmitInteger, MVT::i32, 14, 
    4821             : /*  9762*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4822             : /*  9765*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWT), 0,
    4823             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4824             :                   // Src: (add:{ *:[i32] } (ARMsmulwt:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPR:{ *:[i32] }:$Ra) - Complexity = 6
    4825             :                   // Dst: (SMLAWT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4826             : /*  9776*/      0, // EndSwitchOpcode
    4827             : /*  9777*/    /*Scope*/ 58, /*->9836*/
    4828             : /*  9778*/      OPC_RecordChild0, // #0 = $Ra
    4829             : /*  9779*/      OPC_MoveChild1,
    4830             : /*  9780*/      OPC_SwitchOpcode /*2 cases */, 24, TARGET_VAL(ISD::MUL),// ->9808
    4831             : /*  9784*/        OPC_RecordChild0, // #1 = $Rn
    4832             : /*  9785*/        OPC_RecordChild1, // #2 = $Rm
    4833             : /*  9786*/        OPC_MoveParent,
    4834             : /*  9787*/        OPC_CheckType, MVT::i32,
    4835             : /*  9789*/        OPC_CheckPatternPredicate, 12, // (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4836             : /*  9791*/        OPC_EmitInteger, MVT::i32, 14, 
    4837             : /*  9794*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4838             : /*  9797*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MLA), 0,
    4839             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4840             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4841             :                   // Dst: (t2MLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4842             : /*  9808*/      /*SwitchOpcode*/ 24, TARGET_VAL(ISD::MULHS),// ->9835
    4843             : /*  9811*/        OPC_RecordChild0, // #1 = $Rm
    4844             : /*  9812*/        OPC_RecordChild1, // #2 = $Rn
    4845             : /*  9813*/        OPC_MoveParent,
    4846             : /*  9814*/        OPC_CheckType, MVT::i32,
    4847             : /*  9816*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4848             : /*  9818*/        OPC_EmitInteger, MVT::i32, 14, 
    4849             : /*  9821*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4850             : /*  9824*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMMLA), 0,
    4851             :                       MVT::i32, 5/*#Ops*/, 2, 1, 0, 3, 4, 
    4852             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mulhs:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Rn)) - Complexity = 6
    4853             :                   // Dst: (t2SMMLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4854             : /*  9835*/      0, // EndSwitchOpcode
    4855             : /*  9836*/    /*Scope*/ 46|128,1/*174*/, /*->10012*/
    4856             : /*  9838*/      OPC_MoveChild0,
    4857             : /*  9839*/      OPC_SwitchOpcode /*3 cases */, 25, TARGET_VAL(ARMISD::SMULWB),// ->9868
    4858             : /*  9843*/        OPC_RecordChild0, // #0 = $Rn
    4859             : /*  9844*/        OPC_RecordChild1, // #1 = $Rm
    4860             : /*  9845*/        OPC_MoveParent,
    4861             : /*  9846*/        OPC_RecordChild1, // #2 = $Ra
    4862             : /*  9847*/        OPC_CheckType, MVT::i32,
    4863             : /*  9849*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4864             : /*  9851*/        OPC_EmitInteger, MVT::i32, 14, 
    4865             : /*  9854*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4866             : /*  9857*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWB), 0,
    4867             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4868             :                   // Src: (add:{ *:[i32] } (ARMsmulwb:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4869             :                   // Dst: (t2SMLAWB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4870             : /*  9868*/      /*SwitchOpcode*/ 25, TARGET_VAL(ARMISD::SMULWT),// ->9896
    4871             : /*  9871*/        OPC_RecordChild0, // #0 = $Rn
    4872             : /*  9872*/        OPC_RecordChild1, // #1 = $Rm
    4873             : /*  9873*/        OPC_MoveParent,
    4874             : /*  9874*/        OPC_RecordChild1, // #2 = $Ra
    4875             : /*  9875*/        OPC_CheckType, MVT::i32,
    4876             : /*  9877*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4877             : /*  9879*/        OPC_EmitInteger, MVT::i32, 14, 
    4878             : /*  9882*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4879             : /*  9885*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWT), 0,
    4880             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4881             :                   // Src: (add:{ *:[i32] } (ARMsmulwt:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4882             :                   // Dst: (t2SMLAWT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4883             : /*  9896*/      /*SwitchOpcode*/ 112, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->10011
    4884             : /*  9899*/        OPC_RecordChild0, // #0 = $Rm
    4885             : /*  9900*/        OPC_MoveChild1,
    4886             : /*  9901*/        OPC_Scope, 53, /*->9956*/ // 2 children in Scope
    4887             : /*  9903*/          OPC_CheckValueType, MVT::i8,
    4888             : /*  9905*/          OPC_MoveParent,
    4889             : /*  9906*/          OPC_MoveParent,
    4890             : /*  9907*/          OPC_RecordChild1, // #1 = $Rn
    4891             : /*  9908*/          OPC_Scope, 22, /*->9932*/ // 2 children in Scope
    4892             : /*  9910*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4893             : /*  9912*/            OPC_EmitInteger, MVT::i32, 0, 
    4894             : /*  9915*/            OPC_EmitInteger, MVT::i32, 14, 
    4895             : /*  9918*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4896             : /*  9921*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4897             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    4898             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i8:{ *:[Other] }), GPR:{ *:[i32] }:$Rn) - Complexity = 6
    4899             :                       // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4900             : /*  9932*/          /*Scope*/ 22, /*->9955*/
    4901             : /*  9933*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4902             : /*  9935*/            OPC_EmitInteger, MVT::i32, 0, 
    4903             : /*  9938*/            OPC_EmitInteger, MVT::i32, 14, 
    4904             : /*  9941*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4905             : /*  9944*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4906             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    4907             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i8:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 6
    4908             :                       // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4909             : /*  9955*/          0, /*End of Scope*/
    4910             : /*  9956*/        /*Scope*/ 53, /*->10010*/
    4911             : /*  9957*/          OPC_CheckValueType, MVT::i16,
    4912             : /*  9959*/          OPC_MoveParent,
    4913             : /*  9960*/          OPC_MoveParent,
    4914             : /*  9961*/          OPC_RecordChild1, // #1 = $Rn
    4915             : /*  9962*/          OPC_Scope, 22, /*->9986*/ // 2 children in Scope
    4916             : /*  9964*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4917             : /*  9966*/            OPC_EmitInteger, MVT::i32, 0, 
    4918             : /*  9969*/            OPC_EmitInteger, MVT::i32, 14, 
    4919             : /*  9972*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4920             : /*  9975*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4921             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    4922             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i16:{ *:[Other] }), GPR:{ *:[i32] }:$Rn) - Complexity = 6
    4923             :                       // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4924             : /*  9986*/          /*Scope*/ 22, /*->10009*/
    4925             : /*  9987*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4926             : /*  9989*/            OPC_EmitInteger, MVT::i32, 0, 
    4927             : /*  9992*/            OPC_EmitInteger, MVT::i32, 14, 
    4928             : /*  9995*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4929             : /*  9998*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4930             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    4931             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 6
    4932             :                       // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4933             : /* 10009*/          0, /*End of Scope*/
    4934             : /* 10010*/        0, /*End of Scope*/
    4935             : /* 10011*/      0, // EndSwitchOpcode
    4936             : /* 10012*/    /*Scope*/ 37|128,2/*293*/, /*->10307*/
    4937             : /* 10014*/      OPC_RecordChild0, // #0 = $Rn
    4938             : /* 10015*/      OPC_Scope, 89, /*->10106*/ // 2 children in Scope
    4939             : /* 10017*/        OPC_RecordChild1, // #1 = $Rm
    4940             : /* 10018*/        OPC_CheckType, MVT::i32,
    4941             : /* 10020*/        OPC_Scope, 22, /*->10044*/ // 3 children in Scope
    4942             : /* 10022*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4943             : /* 10024*/          OPC_EmitInteger, MVT::i32, 14, 
    4944             : /* 10027*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4945             : /* 10030*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4946             : /* 10033*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrr), 0,
    4947             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4948             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm) - Complexity = 3
    4949             :                     // Dst: (ADDrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    4950             : /* 10044*/        /*Scope*/ 22, /*->10067*/
    4951             : /* 10045*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4952             : /* 10047*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4953             : /* 10050*/          OPC_EmitInteger, MVT::i32, 14, 
    4954             : /* 10053*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4955             : /* 10056*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDrr), 0,
    4956             :                         MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    4957             :                     // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 3
    4958             :                     // Dst: (tADDrr:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    4959             : /* 10067*/        /*Scope*/ 37, /*->10105*/
    4960             : /* 10068*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4961             : /* 10070*/          OPC_EmitInteger, MVT::i32, 14, 
    4962             : /* 10073*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4963             : /* 10076*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4964             : /* 10079*/          OPC_Scope, 11, /*->10092*/ // 2 children in Scope
    4965             : /* 10081*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
    4966             :                           MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4967             :                       // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm) - Complexity = 3
    4968             :                       // Dst: (t2ADDrr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    4969             : /* 10092*/          /*Scope*/ 11, /*->10104*/
    4970             : /* 10093*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
    4971             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    4972             :                       // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Rn) - Complexity = 3
    4973             :                       // Dst: (t2ADDrr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    4974             : /* 10104*/          0, /*End of Scope*/
    4975             : /* 10105*/        0, /*End of Scope*/
    4976             : /* 10106*/      /*Scope*/ 70|128,1/*198*/, /*->10306*/
    4977             : /* 10108*/        OPC_MoveChild1,
    4978             : /* 10109*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    4979             : /* 10112*/        OPC_MoveChild0,
    4980             : /* 10113*/        OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    4981             : /* 10116*/        OPC_Scope, 93, /*->10211*/ // 2 children in Scope
    4982             : /* 10118*/          OPC_CheckChild0Integer, 70|128,8/*1094*/, 
    4983             : /* 10121*/          OPC_RecordChild1, // #1 = $Vn
    4984             : /* 10122*/          OPC_Scope, 28, /*->10152*/ // 3 children in Scope
    4985             : /* 10124*/            OPC_CheckChild1Type, MVT::v8i8,
    4986             : /* 10126*/            OPC_RecordChild2, // #2 = $Vm
    4987             : /* 10127*/            OPC_CheckChild2Type, MVT::v8i8,
    4988             : /* 10129*/            OPC_MoveParent,
    4989             : /* 10130*/            OPC_MoveParent,
    4990             : /* 10131*/            OPC_CheckType, MVT::v8i16,
    4991             : /* 10133*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    4992             : /* 10135*/            OPC_EmitInteger, MVT::i32, 14, 
    4993             : /* 10138*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4994             : /* 10141*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv8i16), 0,
    4995             :                           MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4996             :                       // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1094:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm))) - Complexity = 14
    4997             :                       // Dst: (VABALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    4998             : /* 10152*/          /*Scope*/ 28, /*->10181*/
    4999             : /* 10153*/            OPC_CheckChild1Type, MVT::v4i16,
    5000             : /* 10155*/            OPC_RecordChild2, // #2 = $Vm
    5001             : /* 10156*/            OPC_CheckChild2Type, MVT::v4i16,
    5002             : /* 10158*/            OPC_MoveParent,
    5003             : /* 10159*/            OPC_MoveParent,
    5004             : /* 10160*/            OPC_CheckType, MVT::v4i32,
    5005             : /* 10162*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5006             : /* 10164*/            OPC_EmitInteger, MVT::i32, 14, 
    5007             : /* 10167*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5008             : /* 10170*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv4i32), 0,
    5009             :                           MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5010             :                       // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1094:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm))) - Complexity = 14
    5011             :                       // Dst: (VABALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5012             : /* 10181*/          /*Scope*/ 28, /*->10210*/
    5013             : /* 10182*/            OPC_CheckChild1Type, MVT::v2i32,
    5014             : /* 10184*/            OPC_RecordChild2, // #2 = $Vm
    5015             : /* 10185*/            OPC_CheckChild2Type, MVT::v2i32,
    5016             : /* 10187*/            OPC_MoveParent,
    5017             : /* 10188*/            OPC_MoveParent,
    5018             : /* 10189*/            OPC_CheckType, MVT::v2i64,
    5019             : /* 10191*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5020             : /* 10193*/            OPC_EmitInteger, MVT::i32, 14, 
    5021             : /* 10196*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5022             : /* 10199*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv2i64), 0,
    5023             :                           MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5024             :                       // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1094:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm))) - Complexity = 14
    5025             :                       // Dst: (VABALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5026             : /* 10210*/          0, /*End of Scope*/
    5027             : /* 10211*/        /*Scope*/ 93, /*->10305*/
    5028             : /* 10212*/          OPC_CheckChild0Integer, 71|128,8/*1095*/, 
    5029             : /* 10215*/          OPC_RecordChild1, // #1 = $Vn
    5030             : /* 10216*/          OPC_Scope, 28, /*->10246*/ // 3 children in Scope
    5031             : /* 10218*/            OPC_CheckChild1Type, MVT::v8i8,
    5032             : /* 10220*/            OPC_RecordChild2, // #2 = $Vm
    5033             : /* 10221*/            OPC_CheckChild2Type, MVT::v8i8,
    5034             : /* 10223*/            OPC_MoveParent,
    5035             : /* 10224*/            OPC_MoveParent,
    5036             : /* 10225*/            OPC_CheckType, MVT::v8i16,
    5037             : /* 10227*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5038             : /* 10229*/            OPC_EmitInteger, MVT::i32, 14, 
    5039             : /* 10232*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5040             : /* 10235*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv8i16), 0,
    5041             :                           MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5042             :                       // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1095:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm))) - Complexity = 14
    5043             :                       // Dst: (VABALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5044             : /* 10246*/          /*Scope*/ 28, /*->10275*/
    5045             : /* 10247*/            OPC_CheckChild1Type, MVT::v4i16,
    5046             : /* 10249*/            OPC_RecordChild2, // #2 = $Vm
    5047             : /* 10250*/            OPC_CheckChild2Type, MVT::v4i16,
    5048             : /* 10252*/            OPC_MoveParent,
    5049             : /* 10253*/            OPC_MoveParent,
    5050             : /* 10254*/            OPC_CheckType, MVT::v4i32,
    5051             : /* 10256*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5052             : /* 10258*/            OPC_EmitInteger, MVT::i32, 14, 
    5053             : /* 10261*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5054             : /* 10264*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv4i32), 0,
    5055             :                           MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5056             :                       // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1095:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm))) - Complexity = 14
    5057             :                       // Dst: (VABALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5058             : /* 10275*/          /*Scope*/ 28, /*->10304*/
    5059             : /* 10276*/            OPC_CheckChild1Type, MVT::v2i32,
    5060             : /* 10278*/            OPC_RecordChild2, // #2 = $Vm
    5061             : /* 10279*/            OPC_CheckChild2Type, MVT::v2i32,
    5062             : /* 10281*/            OPC_MoveParent,
    5063             : /* 10282*/            OPC_MoveParent,
    5064             : /* 10283*/            OPC_CheckType, MVT::v2i64,
    5065             : /* 10285*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5066             : /* 10287*/            OPC_EmitInteger, MVT::i32, 14, 
    5067             : /* 10290*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5068             : /* 10293*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv2i64), 0,
    5069             :                           MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5070             :                       // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1095:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm))) - Complexity = 14
    5071             :                       // Dst: (VABALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5072             : /* 10304*/          0, /*End of Scope*/
    5073             : /* 10305*/        0, /*End of Scope*/
    5074             : /* 10306*/      0, /*End of Scope*/
    5075             : /* 10307*/    /*Scope*/ 76|128,1/*204*/, /*->10513*/
    5076             : /* 10309*/      OPC_MoveChild0,
    5077             : /* 10310*/      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    5078             : /* 10313*/      OPC_MoveChild0,
    5079             : /* 10314*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    5080             : /* 10317*/      OPC_Scope, 96, /*->10415*/ // 2 children in Scope
    5081             : /* 10319*/        OPC_CheckChild0Integer, 70|128,8/*1094*/, 
    5082             : /* 10322*/        OPC_RecordChild1, // #0 = $Vn
    5083             : /* 10323*/        OPC_Scope, 29, /*->10354*/ // 3 children in Scope
    5084             : /* 10325*/          OPC_CheckChild1Type, MVT::v8i8,
    5085             : /* 10327*/          OPC_RecordChild2, // #1 = $Vm
    5086             : /* 10328*/          OPC_CheckChild2Type, MVT::v8i8,
    5087             : /* 10330*/          OPC_MoveParent,
    5088             : /* 10331*/          OPC_MoveParent,
    5089             : /* 10332*/          OPC_RecordChild1, // #2 = $src1
    5090             : /* 10333*/          OPC_CheckType, MVT::v8i16,
    5091             : /* 10335*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5092             : /* 10337*/          OPC_EmitInteger, MVT::i32, 14, 
    5093             : /* 10340*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5094             : /* 10343*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv8i16), 0,
    5095             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5096             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1094:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)), QPR:{ *:[v8i16] }:$src1) - Complexity = 14
    5097             :                     // Dst: (VABALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5098             : /* 10354*/        /*Scope*/ 29, /*->10384*/
    5099             : /* 10355*/          OPC_CheckChild1Type, MVT::v4i16,
    5100             : /* 10357*/          OPC_RecordChild2, // #1 = $Vm
    5101             : /* 10358*/          OPC_CheckChild2Type, MVT::v4i16,
    5102             : /* 10360*/          OPC_MoveParent,
    5103             : /* 10361*/          OPC_MoveParent,
    5104             : /* 10362*/          OPC_RecordChild1, // #2 = $src1
    5105             : /* 10363*/          OPC_CheckType, MVT::v4i32,
    5106             : /* 10365*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5107             : /* 10367*/          OPC_EmitInteger, MVT::i32, 14, 
    5108             : /* 10370*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5109             : /* 10373*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv4i32), 0,
    5110             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5111             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1094:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)), QPR:{ *:[v4i32] }:$src1) - Complexity = 14
    5112             :                     // Dst: (VABALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5113             : /* 10384*/        /*Scope*/ 29, /*->10414*/
    5114             : /* 10385*/          OPC_CheckChild1Type, MVT::v2i32,
    5115             : /* 10387*/          OPC_RecordChild2, // #1 = $Vm
    5116             : /* 10388*/          OPC_CheckChild2Type, MVT::v2i32,
    5117             : /* 10390*/          OPC_MoveParent,
    5118             : /* 10391*/          OPC_MoveParent,
    5119             : /* 10392*/          OPC_RecordChild1, // #2 = $src1
    5120             : /* 10393*/          OPC_CheckType, MVT::v2i64,
    5121             : /* 10395*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5122             : /* 10397*/          OPC_EmitInteger, MVT::i32, 14, 
    5123             : /* 10400*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5124             : /* 10403*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv2i64), 0,
    5125             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5126             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1094:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)), QPR:{ *:[v2i64] }:$src1) - Complexity = 14
    5127             :                     // Dst: (VABALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5128             : /* 10414*/        0, /*End of Scope*/
    5129             : /* 10415*/      /*Scope*/ 96, /*->10512*/
    5130             : /* 10416*/        OPC_CheckChild0Integer, 71|128,8/*1095*/, 
    5131             : /* 10419*/        OPC_RecordChild1, // #0 = $Vn
    5132             : /* 10420*/        OPC_Scope, 29, /*->10451*/ // 3 children in Scope
    5133             : /* 10422*/          OPC_CheckChild1Type, MVT::v8i8,
    5134             : /* 10424*/          OPC_RecordChild2, // #1 = $Vm
    5135             : /* 10425*/          OPC_CheckChild2Type, MVT::v8i8,
    5136             : /* 10427*/          OPC_MoveParent,
    5137             : /* 10428*/          OPC_MoveParent,
    5138             : /* 10429*/          OPC_RecordChild1, // #2 = $src1
    5139             : /* 10430*/          OPC_CheckType, MVT::v8i16,
    5140             : /* 10432*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5141             : /* 10434*/          OPC_EmitInteger, MVT::i32, 14, 
    5142             : /* 10437*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5143             : /* 10440*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv8i16), 0,
    5144             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5145             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1095:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)), QPR:{ *:[v8i16] }:$src1) - Complexity = 14
    5146             :                     // Dst: (VABALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5147             : /* 10451*/        /*Scope*/ 29, /*->10481*/
    5148             : /* 10452*/          OPC_CheckChild1Type, MVT::v4i16,
    5149             : /* 10454*/          OPC_RecordChild2, // #1 = $Vm
    5150             : /* 10455*/          OPC_CheckChild2Type, MVT::v4i16,
    5151             : /* 10457*/          OPC_MoveParent,
    5152             : /* 10458*/          OPC_MoveParent,
    5153             : /* 10459*/          OPC_RecordChild1, // #2 = $src1
    5154             : /* 10460*/          OPC_CheckType, MVT::v4i32,
    5155             : /* 10462*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5156             : /* 10464*/          OPC_EmitInteger, MVT::i32, 14, 
    5157             : /* 10467*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5158             : /* 10470*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv4i32), 0,
    5159             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5160             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1095:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)), QPR:{ *:[v4i32] }:$src1) - Complexity = 14
    5161             :                     // Dst: (VABALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5162             : /* 10481*/        /*Scope*/ 29, /*->10511*/
    5163             : /* 10482*/          OPC_CheckChild1Type, MVT::v2i32,
    5164             : /* 10484*/          OPC_RecordChild2, // #1 = $Vm
    5165             : /* 10485*/          OPC_CheckChild2Type, MVT::v2i32,
    5166             : /* 10487*/          OPC_MoveParent,
    5167             : /* 10488*/          OPC_MoveParent,
    5168             : /* 10489*/          OPC_RecordChild1, // #2 = $src1
    5169             : /* 10490*/          OPC_CheckType, MVT::v2i64,
    5170             : /* 10492*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5171             : /* 10494*/          OPC_EmitInteger, MVT::i32, 14, 
    5172             : /* 10497*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5173             : /* 10500*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv2i64), 0,
    5174             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5175             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1095:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)), QPR:{ *:[v2i64] }:$src1) - Complexity = 14
    5176             :                     // Dst: (VABALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5177             : /* 10511*/        0, /*End of Scope*/
    5178             : /* 10512*/      0, /*End of Scope*/
    5179             : /* 10513*/    /*Scope*/ 107|128,2/*363*/, /*->10878*/
    5180             : /* 10515*/      OPC_RecordChild0, // #0 = $src1
    5181             : /* 10516*/      OPC_MoveChild1,
    5182             : /* 10517*/      OPC_SwitchOpcode /*3 cases */, 47|128,1/*175*/, TARGET_VAL(ISD::MUL),// ->10697
    5183             : /* 10522*/        OPC_Scope, 2|128,1/*130*/, /*->10655*/ // 2 children in Scope
    5184             : /* 10525*/          OPC_RecordChild0, // #1 = $Vn
    5185             : /* 10526*/          OPC_MoveChild1,
    5186             : /* 10527*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5187             : /* 10530*/          OPC_RecordChild0, // #2 = $Vm
    5188             : /* 10531*/          OPC_Scope, 60, /*->10593*/ // 2 children in Scope
    5189             : /* 10533*/            OPC_CheckChild0Type, MVT::v4i16,
    5190             : /* 10535*/            OPC_RecordChild1, // #3 = $lane
    5191             : /* 10536*/            OPC_MoveChild1,
    5192             : /* 10537*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5193             : /* 10540*/            OPC_MoveParent,
    5194             : /* 10541*/            OPC_MoveParent,
    5195             : /* 10542*/            OPC_MoveParent,
    5196             : /* 10543*/            OPC_SwitchType /*2 cases */, 22, MVT::v4i16,// ->10568
    5197             : /* 10546*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5198             : /* 10548*/              OPC_EmitConvertToTarget, 3,
    5199             : /* 10550*/              OPC_EmitInteger, MVT::i32, 14, 
    5200             : /* 10553*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5201             : /* 10556*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5202             :                             MVT::v4i16, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5203             :                         // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5204             :                         // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5205             : /* 10568*/            /*SwitchType*/ 22, MVT::v8i16,// ->10592
    5206             : /* 10570*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5207             : /* 10572*/              OPC_EmitConvertToTarget, 3,
    5208             : /* 10574*/              OPC_EmitInteger, MVT::i32, 14, 
    5209             : /* 10577*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5210             : /* 10580*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5211             :                             MVT::v8i16, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5212             :                         // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5213             :                         // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5214             : /* 10592*/            0, // EndSwitchType
    5215             : /* 10593*/          /*Scope*/ 60, /*->10654*/
    5216             : /* 10594*/            OPC_CheckChild0Type, MVT::v2i32,
    5217             : /* 10596*/            OPC_RecordChild1, // #3 = $lane
    5218             : /* 10597*/            OPC_MoveChild1,
    5219             : /* 10598*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5220             : /* 10601*/            OPC_MoveParent,
    5221             : /* 10602*/            OPC_MoveParent,
    5222             : /* 10603*/            OPC_MoveParent,
    5223             : /* 10604*/            OPC_SwitchType /*2 cases */, 22, MVT::v2i32,// ->10629
    5224             : /* 10607*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5225             : /* 10609*/              OPC_EmitConvertToTarget, 3,
    5226             : /* 10611*/              OPC_EmitInteger, MVT::i32, 14, 
    5227             : /* 10614*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5228             : /* 10617*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5229             :                             MVT::v2i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5230             :                         // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5231             :                         // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5232             : /* 10629*/            /*SwitchType*/ 22, MVT::v4i32,// ->10653
    5233             : /* 10631*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5234             : /* 10633*/              OPC_EmitConvertToTarget, 3,
    5235             : /* 10635*/              OPC_EmitInteger, MVT::i32, 14, 
    5236             : /* 10638*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5237             : /* 10641*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5238             :                             MVT::v4i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5239             :                         // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5240             :                         // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5241             : /* 10653*/            0, // EndSwitchType
    5242             : /* 10654*/          0, /*End of Scope*/
    5243             : /* 10655*/        /*Scope*/ 40, /*->10696*/
    5244             : /* 10656*/          OPC_MoveChild0,
    5245             : /* 10657*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5246             : /* 10660*/          OPC_RecordChild0, // #1 = $Vm
    5247             : /* 10661*/          OPC_CheckChild0Type, MVT::v4i16,
    5248             : /* 10663*/          OPC_RecordChild1, // #2 = $lane
    5249             : /* 10664*/          OPC_MoveChild1,
    5250             : /* 10665*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5251             : /* 10668*/          OPC_MoveParent,
    5252             : /* 10669*/          OPC_MoveParent,
    5253             : /* 10670*/          OPC_RecordChild1, // #3 = $Vn
    5254             : /* 10671*/          OPC_MoveParent,
    5255             : /* 10672*/          OPC_CheckType, MVT::v4i16,
    5256             : /* 10674*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5257             : /* 10676*/          OPC_EmitConvertToTarget, 2,
    5258             : /* 10678*/          OPC_EmitInteger, MVT::i32, 14, 
    5259             : /* 10681*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5260             : /* 10684*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5261             :                         MVT::v4i16, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5262             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (mul:{ *:[v4i16] } (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v4i16] }:$Vn)) - Complexity = 12
    5263             :                     // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5264             : /* 10696*/        0, /*End of Scope*/
    5265             : /* 10697*/      /*SwitchOpcode*/ 87, TARGET_VAL(ARMISD::VMULLs),// ->10787
    5266             : /* 10700*/        OPC_RecordChild0, // #1 = $Vn
    5267             : /* 10701*/        OPC_Scope, 41, /*->10744*/ // 2 children in Scope
    5268             : /* 10703*/          OPC_CheckChild0Type, MVT::v4i16,
    5269             : /* 10705*/          OPC_MoveChild1,
    5270             : /* 10706*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5271             : /* 10709*/          OPC_RecordChild0, // #2 = $Vm
    5272             : /* 10710*/          OPC_CheckChild0Type, MVT::v4i16,
    5273             : /* 10712*/          OPC_RecordChild1, // #3 = $lane
    5274             : /* 10713*/          OPC_MoveChild1,
    5275             : /* 10714*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5276             : /* 10717*/          OPC_MoveParent,
    5277             : /* 10718*/          OPC_MoveParent,
    5278             : /* 10719*/          OPC_MoveParent,
    5279             : /* 10720*/          OPC_CheckType, MVT::v4i32,
    5280             : /* 10722*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5281             : /* 10724*/          OPC_EmitConvertToTarget, 3,
    5282             : /* 10726*/          OPC_EmitInteger, MVT::i32, 14, 
    5283             : /* 10729*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5284             : /* 10732*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv4i16), 0,
    5285             :                         MVT::v4i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5286             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5287             :                     // Dst: (VMLALslsv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5288             : /* 10744*/        /*Scope*/ 41, /*->10786*/
    5289             : /* 10745*/          OPC_CheckChild0Type, MVT::v2i32,
    5290             : /* 10747*/          OPC_MoveChild1,
    5291             : /* 10748*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5292             : /* 10751*/          OPC_RecordChild0, // #2 = $Vm
    5293             : /* 10752*/          OPC_CheckChild0Type, MVT::v2i32,
    5294             : /* 10754*/          OPC_RecordChild1, // #3 = $lane
    5295             : /* 10755*/          OPC_MoveChild1,
    5296             : /* 10756*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5297             : /* 10759*/          OPC_MoveParent,
    5298             : /* 10760*/          OPC_MoveParent,
    5299             : /* 10761*/          OPC_MoveParent,
    5300             : /* 10762*/          OPC_CheckType, MVT::v2i64,
    5301             : /* 10764*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5302             : /* 10766*/          OPC_EmitConvertToTarget, 3,
    5303             : /* 10768*/          OPC_EmitInteger, MVT::i32, 14, 
    5304             : /* 10771*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5305             : /* 10774*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv2i32), 0,
    5306             :                         MVT::v2i64, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5307             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5308             :                     // Dst: (VMLALslsv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5309             : /* 10786*/        0, /*End of Scope*/
    5310             : /* 10787*/      /*SwitchOpcode*/ 87, TARGET_VAL(ARMISD::VMULLu),// ->10877
    5311             : /* 10790*/        OPC_RecordChild0, // #1 = $Vn
    5312             : /* 10791*/        OPC_Scope, 41, /*->10834*/ // 2 children in Scope
    5313             : /* 10793*/          OPC_CheckChild0Type, MVT::v4i16,
    5314             : /* 10795*/          OPC_MoveChild1,
    5315             : /* 10796*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5316             : /* 10799*/          OPC_RecordChild0, // #2 = $Vm
    5317             : /* 10800*/          OPC_CheckChild0Type, MVT::v4i16,
    5318             : /* 10802*/          OPC_RecordChild1, // #3 = $lane
    5319             : /* 10803*/          OPC_MoveChild1,
    5320             : /* 10804*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5321             : /* 10807*/          OPC_MoveParent,
    5322             : /* 10808*/          OPC_MoveParent,
    5323             : /* 10809*/          OPC_MoveParent,
    5324             : /* 10810*/          OPC_CheckType, MVT::v4i32,
    5325             : /* 10812*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5326             : /* 10814*/          OPC_EmitConvertToTarget, 3,
    5327             : /* 10816*/          OPC_EmitInteger, MVT::i32, 14, 
    5328             : /* 10819*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5329             : /* 10822*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv4i16), 0,
    5330             :                         MVT::v4i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5331             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5332             :                     // Dst: (VMLALsluv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5333             : /* 10834*/        /*Scope*/ 41, /*->10876*/
    5334             : /* 10835*/          OPC_CheckChild0Type, MVT::v2i32,
    5335             : /* 10837*/          OPC_MoveChild1,
    5336             : /* 10838*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5337             : /* 10841*/          OPC_RecordChild0, // #2 = $Vm
    5338             : /* 10842*/          OPC_CheckChild0Type, MVT::v2i32,
    5339             : /* 10844*/          OPC_RecordChild1, // #3 = $lane
    5340             : /* 10845*/          OPC_MoveChild1,
    5341             : /* 10846*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5342             : /* 10849*/          OPC_MoveParent,
    5343             : /* 10850*/          OPC_MoveParent,
    5344             : /* 10851*/          OPC_MoveParent,
    5345             : /* 10852*/          OPC_CheckType, MVT::v2i64,
    5346             : /* 10854*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5347             : /* 10856*/          OPC_EmitConvertToTarget, 3,
    5348             : /* 10858*/          OPC_EmitInteger, MVT::i32, 14, 
    5349             : /* 10861*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5350             : /* 10864*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv2i32), 0,
    5351             :                         MVT::v2i64, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5352             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5353             :                     // Dst: (VMLALsluv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5354             : /* 10876*/        0, /*End of Scope*/
    5355             : /* 10877*/      0, // EndSwitchOpcode
    5356             : /* 10878*/    /*Scope*/ 90, /*->10969*/
    5357             : /* 10879*/      OPC_MoveChild0,
    5358             : /* 10880*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5359             : /* 10883*/      OPC_Scope, 41, /*->10926*/ // 2 children in Scope
    5360             : /* 10885*/        OPC_RecordChild0, // #0 = $Vn
    5361             : /* 10886*/        OPC_MoveChild1,
    5362             : /* 10887*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5363             : /* 10890*/        OPC_RecordChild0, // #1 = $Vm
    5364             : /* 10891*/        OPC_CheckChild0Type, MVT::v4i16,
    5365             : /* 10893*/        OPC_RecordChild1, // #2 = $lane
    5366             : /* 10894*/        OPC_MoveChild1,
    5367             : /* 10895*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5368             : /* 10898*/        OPC_MoveParent,
    5369             : /* 10899*/        OPC_MoveParent,
    5370             : /* 10900*/        OPC_MoveParent,
    5371             : /* 10901*/        OPC_RecordChild1, // #3 = $src1
    5372             : /* 10902*/        OPC_CheckType, MVT::v4i16,
    5373             : /* 10904*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5374             : /* 10906*/        OPC_EmitConvertToTarget, 2,
    5375             : /* 10908*/        OPC_EmitInteger, MVT::i32, 14, 
    5376             : /* 10911*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5377             : /* 10914*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5378             :                       MVT::v4i16, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5379             :                   // Src: (add:{ *:[v4i16] } (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), DPR:{ *:[v4i16] }:$src1) - Complexity = 12
    5380             :                   // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5381             : /* 10926*/      /*Scope*/ 41, /*->10968*/
    5382             : /* 10927*/        OPC_MoveChild0,
    5383             : /* 10928*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5384             : /* 10931*/        OPC_RecordChild0, // #0 = $Vm
    5385             : /* 10932*/        OPC_CheckChild0Type, MVT::v4i16,
    5386             : /* 10934*/        OPC_RecordChild1, // #1 = $lane
    5387             : /* 10935*/        OPC_MoveChild1,
    5388             : /* 10936*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5389             : /* 10939*/        OPC_MoveParent,
    5390             : /* 10940*/        OPC_MoveParent,
    5391             : /* 10941*/        OPC_RecordChild1, // #2 = $Vn
    5392             : /* 10942*/        OPC_MoveParent,
    5393             : /* 10943*/        OPC_RecordChild1, // #3 = $src1
    5394             : /* 10944*/        OPC_CheckType, MVT::v4i16,
    5395             : /* 10946*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5396             : /* 10948*/        OPC_EmitConvertToTarget, 1,
    5397             : /* 10950*/        OPC_EmitInteger, MVT::i32, 14, 
    5398             : /* 10953*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5399             : /* 10956*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5400             :                       MVT::v4i16, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5401             :                   // Src: (add:{ *:[v4i16] } (mul:{ *:[v4i16] } (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v4i16] }:$Vn), DPR:{ *:[v4i16] }:$src1) - Complexity = 12
    5402             :                   // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5403             : /* 10968*/      0, /*End of Scope*/
    5404             : /* 10969*/    /*Scope*/ 45, /*->11015*/
    5405             : /* 10970*/      OPC_RecordChild0, // #0 = $src1
    5406             : /* 10971*/      OPC_MoveChild1,
    5407             : /* 10972*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5408             : /* 10975*/      OPC_MoveChild0,
    5409             : /* 10976*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5410             : /* 10979*/      OPC_RecordChild0, // #1 = $Vm
    5411             : /* 10980*/      OPC_CheckChild0Type, MVT::v2i32,
    5412             : /* 10982*/      OPC_RecordChild1, // #2 = $lane
    5413             : /* 10983*/      OPC_MoveChild1,
    5414             : /* 10984*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5415             : /* 10987*/      OPC_MoveParent,
    5416             : /* 10988*/      OPC_MoveParent,
    5417             : /* 10989*/      OPC_RecordChild1, // #3 = $Vn
    5418             : /* 10990*/      OPC_MoveParent,
    5419             : /* 10991*/      OPC_CheckType, MVT::v2i32,
    5420             : /* 10993*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5421             : /* 10995*/      OPC_EmitConvertToTarget, 2,
    5422             : /* 10997*/      OPC_EmitInteger, MVT::i32, 14, 
    5423             : /* 11000*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5424             : /* 11003*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5425             :                     MVT::v2i32, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5426             :                 // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (mul:{ *:[v2i32] } (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v2i32] }:$Vn)) - Complexity = 12
    5427             :                 // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5428             : /* 11015*/    /*Scope*/ 90, /*->11106*/
    5429             : /* 11016*/      OPC_MoveChild0,
    5430             : /* 11017*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5431             : /* 11020*/      OPC_Scope, 41, /*->11063*/ // 2 children in Scope
    5432             : /* 11022*/        OPC_RecordChild0, // #0 = $Vn
    5433             : /* 11023*/        OPC_MoveChild1,
    5434             : /* 11024*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5435             : /* 11027*/        OPC_RecordChild0, // #1 = $Vm
    5436             : /* 11028*/        OPC_CheckChild0Type, MVT::v2i32,
    5437             : /* 11030*/        OPC_RecordChild1, // #2 = $lane
    5438             : /* 11031*/        OPC_MoveChild1,
    5439             : /* 11032*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5440             : /* 11035*/        OPC_MoveParent,
    5441             : /* 11036*/        OPC_MoveParent,
    5442             : /* 11037*/        OPC_MoveParent,
    5443             : /* 11038*/        OPC_RecordChild1, // #3 = $src1
    5444             : /* 11039*/        OPC_CheckType, MVT::v2i32,
    5445             : /* 11041*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5446             : /* 11043*/        OPC_EmitConvertToTarget, 2,
    5447             : /* 11045*/        OPC_EmitInteger, MVT::i32, 14, 
    5448             : /* 11048*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5449             : /* 11051*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5450             :                       MVT::v2i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5451             :                   // Src: (add:{ *:[v2i32] } (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), DPR:{ *:[v2i32] }:$src1) - Complexity = 12
    5452             :                   // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5453             : /* 11063*/      /*Scope*/ 41, /*->11105*/
    5454             : /* 11064*/        OPC_MoveChild0,
    5455             : /* 11065*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5456             : /* 11068*/        OPC_RecordChild0, // #0 = $Vm
    5457             : /* 11069*/        OPC_CheckChild0Type, MVT::v2i32,
    5458             : /* 11071*/        OPC_RecordChild1, // #1 = $lane
    5459             : /* 11072*/        OPC_MoveChild1,
    5460             : /* 11073*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5461             : /* 11076*/        OPC_MoveParent,
    5462             : /* 11077*/        OPC_MoveParent,
    5463             : /* 11078*/        OPC_RecordChild1, // #2 = $Vn
    5464             : /* 11079*/        OPC_MoveParent,
    5465             : /* 11080*/        OPC_RecordChild1, // #3 = $src1
    5466             : /* 11081*/        OPC_CheckType, MVT::v2i32,
    5467             : /* 11083*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5468             : /* 11085*/        OPC_EmitConvertToTarget, 1,
    5469             : /* 11087*/        OPC_EmitInteger, MVT::i32, 14, 
    5470             : /* 11090*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5471             : /* 11093*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5472             :                       MVT::v2i32, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5473             :                   // Src: (add:{ *:[v2i32] } (mul:{ *:[v2i32] } (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v2i32] }:$Vn), DPR:{ *:[v2i32] }:$src1) - Complexity = 12
    5474             :                   // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5475             : /* 11105*/      0, /*End of Scope*/
    5476             : /* 11106*/    /*Scope*/ 45, /*->11152*/
    5477             : /* 11107*/      OPC_RecordChild0, // #0 = $src1
    5478             : /* 11108*/      OPC_MoveChild1,
    5479             : /* 11109*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5480             : /* 11112*/      OPC_MoveChild0,
    5481             : /* 11113*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5482             : /* 11116*/      OPC_RecordChild0, // #1 = $Vm
    5483             : /* 11117*/      OPC_CheckChild0Type, MVT::v4i16,
    5484             : /* 11119*/      OPC_RecordChild1, // #2 = $lane
    5485             : /* 11120*/      OPC_MoveChild1,
    5486             : /* 11121*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5487             : /* 11124*/      OPC_MoveParent,
    5488             : /* 11125*/      OPC_MoveParent,
    5489             : /* 11126*/      OPC_RecordChild1, // #3 = $Vn
    5490             : /* 11127*/      OPC_MoveParent,
    5491             : /* 11128*/      OPC_CheckType, MVT::v8i16,
    5492             : /* 11130*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5493             : /* 11132*/      OPC_EmitConvertToTarget, 2,
    5494             : /* 11134*/      OPC_EmitInteger, MVT::i32, 14, 
    5495             : /* 11137*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5496             : /* 11140*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5497             :                     MVT::v8i16, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5498             :                 // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$Vn)) - Complexity = 12
    5499             :                 // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5500             : /* 11152*/    /*Scope*/ 90, /*->11243*/
    5501             : /* 11153*/      OPC_MoveChild0,
    5502             : /* 11154*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5503             : /* 11157*/      OPC_Scope, 41, /*->11200*/ // 2 children in Scope
    5504             : /* 11159*/        OPC_RecordChild0, // #0 = $Vn
    5505             : /* 11160*/        OPC_MoveChild1,
    5506             : /* 11161*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5507             : /* 11164*/        OPC_RecordChild0, // #1 = $Vm
    5508             : /* 11165*/        OPC_CheckChild0Type, MVT::v4i16,
    5509             : /* 11167*/        OPC_RecordChild1, // #2 = $lane
    5510             : /* 11168*/        OPC_MoveChild1,
    5511             : /* 11169*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5512             : /* 11172*/        OPC_MoveParent,
    5513             : /* 11173*/        OPC_MoveParent,
    5514             : /* 11174*/        OPC_MoveParent,
    5515             : /* 11175*/        OPC_RecordChild1, // #3 = $src1
    5516             : /* 11176*/        OPC_CheckType, MVT::v8i16,
    5517             : /* 11178*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5518             : /* 11180*/        OPC_EmitConvertToTarget, 2,
    5519             : /* 11182*/        OPC_EmitInteger, MVT::i32, 14, 
    5520             : /* 11185*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5521             : /* 11188*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5522             :                       MVT::v8i16, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5523             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5524             :                   // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5525             : /* 11200*/      /*Scope*/ 41, /*->11242*/
    5526             : /* 11201*/        OPC_MoveChild0,
    5527             : /* 11202*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5528             : /* 11205*/        OPC_RecordChild0, // #0 = $Vm
    5529             : /* 11206*/        OPC_CheckChild0Type, MVT::v4i16,
    5530             : /* 11208*/        OPC_RecordChild1, // #1 = $lane
    5531             : /* 11209*/        OPC_MoveChild1,
    5532             : /* 11210*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5533             : /* 11213*/        OPC_MoveParent,
    5534             : /* 11214*/        OPC_MoveParent,
    5535             : /* 11215*/        OPC_RecordChild1, // #2 = $Vn
    5536             : /* 11216*/        OPC_MoveParent,
    5537             : /* 11217*/        OPC_RecordChild1, // #3 = $src1
    5538             : /* 11218*/        OPC_CheckType, MVT::v8i16,
    5539             : /* 11220*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5540             : /* 11222*/        OPC_EmitConvertToTarget, 1,
    5541             : /* 11224*/        OPC_EmitInteger, MVT::i32, 14, 
    5542             : /* 11227*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5543             : /* 11230*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5544             :                       MVT::v8i16, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5545             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$Vn), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5546             :                   // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5547             : /* 11242*/      0, /*End of Scope*/
    5548             : /* 11243*/    /*Scope*/ 45, /*->11289*/
    5549             : /* 11244*/      OPC_RecordChild0, // #0 = $src1
    5550             : /* 11245*/      OPC_MoveChild1,
    5551             : /* 11246*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5552             : /* 11249*/      OPC_MoveChild0,
    5553             : /* 11250*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5554             : /* 11253*/      OPC_RecordChild0, // #1 = $Vm
    5555             : /* 11254*/      OPC_CheckChild0Type, MVT::v2i32,
    5556             : /* 11256*/      OPC_RecordChild1, // #2 = $lane
    5557             : /* 11257*/      OPC_MoveChild1,
    5558             : /* 11258*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5559             : /* 11261*/      OPC_MoveParent,
    5560             : /* 11262*/      OPC_MoveParent,
    5561             : /* 11263*/      OPC_RecordChild1, // #3 = $Vn
    5562             : /* 11264*/      OPC_MoveParent,
    5563             : /* 11265*/      OPC_CheckType, MVT::v4i32,
    5564             : /* 11267*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5565             : /* 11269*/      OPC_EmitConvertToTarget, 2,
    5566             : /* 11271*/      OPC_EmitInteger, MVT::i32, 14, 
    5567             : /* 11274*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5568             : /* 11277*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5569             :                     MVT::v4i32, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5570             :                 // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$Vn)) - Complexity = 12
    5571             :                 // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5572             : /* 11289*/    /*Scope*/ 20|128,2/*276*/, /*->11567*/
    5573             : /* 11291*/      OPC_MoveChild0,
    5574             : /* 11292*/      OPC_SwitchOpcode /*3 cases */, 86, TARGET_VAL(ISD::MUL),// ->11382
    5575             : /* 11296*/        OPC_Scope, 41, /*->11339*/ // 2 children in Scope
    5576             : /* 11298*/          OPC_RecordChild0, // #0 = $Vn
    5577             : /* 11299*/          OPC_MoveChild1,
    5578             : /* 11300*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5579             : /* 11303*/          OPC_RecordChild0, // #1 = $Vm
    5580             : /* 11304*/          OPC_CheckChild0Type, MVT::v2i32,
    5581             : /* 11306*/          OPC_RecordChild1, // #2 = $lane
    5582             : /* 11307*/          OPC_MoveChild1,
    5583             : /* 11308*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5584             : /* 11311*/          OPC_MoveParent,
    5585             : /* 11312*/          OPC_MoveParent,
    5586             : /* 11313*/          OPC_MoveParent,
    5587             : /* 11314*/          OPC_RecordChild1, // #3 = $src1
    5588             : /* 11315*/          OPC_CheckType, MVT::v4i32,
    5589             : /* 11317*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5590             : /* 11319*/          OPC_EmitConvertToTarget, 2,
    5591             : /* 11321*/          OPC_EmitInteger, MVT::i32, 14, 
    5592             : /* 11324*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5593             : /* 11327*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5594             :                         MVT::v4i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5595             :                     // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5596             :                     // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5597             : /* 11339*/        /*Scope*/ 41, /*->11381*/
    5598             : /* 11340*/          OPC_MoveChild0,
    5599             : /* 11341*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5600             : /* 11344*/          OPC_RecordChild0, // #0 = $Vm
    5601             : /* 11345*/          OPC_CheckChild0Type, MVT::v2i32,
    5602             : /* 11347*/          OPC_RecordChild1, // #1 = $lane
    5603             : /* 11348*/          OPC_MoveChild1,
    5604             : /* 11349*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5605             : /* 11352*/          OPC_MoveParent,
    5606             : /* 11353*/          OPC_MoveParent,
    5607             : /* 11354*/          OPC_RecordChild1, // #2 = $Vn
    5608             : /* 11355*/          OPC_MoveParent,
    5609             : /* 11356*/          OPC_RecordChild1, // #3 = $src1
    5610             : /* 11357*/          OPC_CheckType, MVT::v4i32,
    5611             : /* 11359*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5612             : /* 11361*/          OPC_EmitConvertToTarget, 1,
    5613             : /* 11363*/          OPC_EmitInteger, MVT::i32, 14, 
    5614             : /* 11366*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5615             : /* 11369*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5616             :                         MVT::v4i32, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5617             :                     // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$Vn), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5618             :                     // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5619             : /* 11381*/        0, /*End of Scope*/
    5620             : /* 11382*/      /*SwitchOpcode*/ 89, TARGET_VAL(ARMISD::VMULLs),// ->11474
    5621             : /* 11385*/        OPC_RecordChild0, // #0 = $Vn
    5622             : /* 11386*/        OPC_Scope, 42, /*->11430*/ // 2 children in Scope
    5623             : /* 11388*/          OPC_CheckChild0Type, MVT::v4i16,
    5624             : /* 11390*/          OPC_MoveChild1,
    5625             : /* 11391*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5626             : /* 11394*/          OPC_RecordChild0, // #1 = $Vm
    5627             : /* 11395*/          OPC_CheckChild0Type, MVT::v4i16,
    5628             : /* 11397*/          OPC_RecordChild1, // #2 = $lane
    5629             : /* 11398*/          OPC_MoveChild1,
    5630             : /* 11399*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5631             : /* 11402*/          OPC_MoveParent,
    5632             : /* 11403*/          OPC_MoveParent,
    5633             : /* 11404*/          OPC_MoveParent,
    5634             : /* 11405*/          OPC_RecordChild1, // #3 = $src1
    5635             : /* 11406*/          OPC_CheckType, MVT::v4i32,
    5636             : /* 11408*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5637             : /* 11410*/          OPC_EmitConvertToTarget, 2,
    5638             : /* 11412*/          OPC_EmitInteger, MVT::i32, 14, 
    5639             : /* 11415*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5640             : /* 11418*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv4i16), 0,
    5641             :                         MVT::v4i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5642             :                     // Src: (add:{ *:[v4i32] } (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5643             :                     // Dst: (VMLALslsv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5644             : /* 11430*/        /*Scope*/ 42, /*->11473*/
    5645             : /* 11431*/          OPC_CheckChild0Type, MVT::v2i32,
    5646             : /* 11433*/          OPC_MoveChild1,
    5647             : /* 11434*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5648             : /* 11437*/          OPC_RecordChild0, // #1 = $Vm
    5649             : /* 11438*/          OPC_CheckChild0Type, MVT::v2i32,
    5650             : /* 11440*/          OPC_RecordChild1, // #2 = $lane
    5651             : /* 11441*/          OPC_MoveChild1,
    5652             : /* 11442*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5653             : /* 11445*/          OPC_MoveParent,
    5654             : /* 11446*/          OPC_MoveParent,
    5655             : /* 11447*/          OPC_MoveParent,
    5656             : /* 11448*/          OPC_RecordChild1, // #3 = $src1
    5657             : /* 11449*/          OPC_CheckType, MVT::v2i64,
    5658             : /* 11451*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5659             : /* 11453*/          OPC_EmitConvertToTarget, 2,
    5660             : /* 11455*/          OPC_EmitInteger, MVT::i32, 14, 
    5661             : /* 11458*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5662             : /* 11461*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv2i32), 0,
    5663             :                         MVT::v2i64, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5664             :                     // Src: (add:{ *:[v2i64] } (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v2i64] }:$src1) - Complexity = 12
    5665             :                     // Dst: (VMLALslsv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5666             : /* 11473*/        0, /*End of Scope*/
    5667             : /* 11474*/      /*SwitchOpcode*/ 89, TARGET_VAL(ARMISD::VMULLu),// ->11566
    5668             : /* 11477*/        OPC_RecordChild0, // #0 = $Vn
    5669             : /* 11478*/        OPC_Scope, 42, /*->11522*/ // 2 children in Scope
    5670             : /* 11480*/          OPC_CheckChild0Type, MVT::v4i16,
    5671             : /* 11482*/          OPC_MoveChild1,
    5672             : /* 11483*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5673             : /* 11486*/          OPC_RecordChild0, // #1 = $Vm
    5674             : /* 11487*/          OPC_CheckChild0Type, MVT::v4i16,
    5675             : /* 11489*/          OPC_RecordChild1, // #2 = $lane
    5676             : /* 11490*/          OPC_MoveChild1,
    5677             : /* 11491*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5678             : /* 11494*/          OPC_MoveParent,
    5679             : /* 11495*/          OPC_MoveParent,
    5680             : /* 11496*/          OPC_MoveParent,
    5681             : /* 11497*/          OPC_RecordChild1, // #3 = $src1
    5682             : /* 11498*/          OPC_CheckType, MVT::v4i32,
    5683             : /* 11500*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5684             : /* 11502*/          OPC_EmitConvertToTarget, 2,
    5685             : /* 11504*/          OPC_EmitInteger, MVT::i32, 14, 
    5686             : /* 11507*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5687             : /* 11510*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv4i16), 0,
    5688             :                         MVT::v4i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5689             :                     // Src: (add:{ *:[v4i32] } (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5690             :                     // Dst: (VMLALsluv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5691             : /* 11522*/        /*Scope*/ 42, /*->11565*/
    5692             : /* 11523*/          OPC_CheckChild0Type, MVT::v2i32,
    5693             : /* 11525*/          OPC_MoveChild1,
    5694             : /* 11526*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5695             : /* 11529*/          OPC_RecordChild0, // #1 = $Vm
    5696             : /* 11530*/          OPC_CheckChild0Type, MVT::v2i32,
    5697             : /* 11532*/          OPC_RecordChild1, // #2 = $lane
    5698             : /* 11533*/          OPC_MoveChild1,
    5699             : /* 11534*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5700             : /* 11537*/          OPC_MoveParent,
    5701             : /* 11538*/          OPC_MoveParent,
    5702             : /* 11539*/          OPC_MoveParent,
    5703             : /* 11540*/          OPC_RecordChild1, // #3 = $src1
    5704             : /* 11541*/          OPC_CheckType, MVT::v2i64,
    5705             : /* 11543*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5706             : /* 11545*/          OPC_EmitConvertToTarget, 2,
    5707             : /* 11547*/          OPC_EmitInteger, MVT::i32, 14, 
    5708             : /* 11550*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5709             : /* 11553*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv2i32), 0,
    5710             :                         MVT::v2i64, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5711             :                     // Src: (add:{ *:[v2i64] } (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v2i64] }:$src1) - Complexity = 12
    5712             :                     // Dst: (VMLALsluv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5713             : /* 11565*/        0, /*End of Scope*/
    5714             : /* 11566*/      0, // EndSwitchOpcode
    5715             : /* 11567*/    /*Scope*/ 41|128,1/*169*/, /*->11738*/
    5716             : /* 11569*/      OPC_RecordChild0, // #0 = $src1
    5717             : /* 11570*/      OPC_MoveChild1,
    5718             : /* 11571*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5719             : /* 11574*/      OPC_Scope, 106, /*->11682*/ // 2 children in Scope
    5720             : /* 11576*/        OPC_RecordChild0, // #1 = $src2
    5721             : /* 11577*/        OPC_MoveChild1,
    5722             : /* 11578*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5723             : /* 11581*/        OPC_RecordChild0, // #2 = $src3
    5724             : /* 11582*/        OPC_Scope, 48, /*->11632*/ // 2 children in Scope
    5725             : /* 11584*/          OPC_CheckChild0Type, MVT::v8i16,
    5726             : /* 11586*/          OPC_RecordChild1, // #3 = $lane
    5727             : /* 11587*/          OPC_MoveChild1,
    5728             : /* 11588*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5729             : /* 11591*/          OPC_MoveParent,
    5730             : /* 11592*/          OPC_MoveParent,
    5731             : /* 11593*/          OPC_MoveParent,
    5732             : /* 11594*/          OPC_CheckType, MVT::v8i16,
    5733             : /* 11596*/          OPC_EmitConvertToTarget, 3,
    5734             : /* 11598*/          OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5735             : /* 11601*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5736             :                         MVT::v4i16, 2/*#Ops*/, 2, 5,  // Results = #6
    5737             : /* 11609*/          OPC_EmitConvertToTarget, 3,
    5738             : /* 11611*/          OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5739             : /* 11614*/          OPC_EmitInteger, MVT::i32, 14, 
    5740             : /* 11617*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5741             : /* 11620*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5742             :                         MVT::v8i16, 6/*#Ops*/, 0, 1, 6, 8, 9, 10, 
    5743             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src2, (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5744             :                     // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$src2, (EXTRACT_SUBREG:{ *:[v4i16] } QPR:{ *:[v8i16] }:$src3, (DSubReg_i16_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i16_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5745             : /* 11632*/        /*Scope*/ 48, /*->11681*/
    5746             : /* 11633*/          OPC_CheckChild0Type, MVT::v4i32,
    5747             : /* 11635*/          OPC_RecordChild1, // #3 = $lane
    5748             : /* 11636*/          OPC_MoveChild1,
    5749             : /* 11637*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5750             : /* 11640*/          OPC_MoveParent,
    5751             : /* 11641*/          OPC_MoveParent,
    5752             : /* 11642*/          OPC_MoveParent,
    5753             : /* 11643*/          OPC_CheckType, MVT::v4i32,
    5754             : /* 11645*/          OPC_EmitConvertToTarget, 3,
    5755             : /* 11647*/          OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    5756             : /* 11650*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5757             :                         MVT::v2i32, 2/*#Ops*/, 2, 5,  // Results = #6
    5758             : /* 11658*/          OPC_EmitConvertToTarget, 3,
    5759             : /* 11660*/          OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    5760             : /* 11663*/          OPC_EmitInteger, MVT::i32, 14, 
    5761             : /* 11666*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5762             : /* 11669*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5763             :                         MVT::v4i32, 6/*#Ops*/, 0, 1, 6, 8, 9, 10, 
    5764             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src2, (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5765             :                     // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$src2, (EXTRACT_SUBREG:{ *:[v2i32] } QPR:{ *:[v4i32] }:$src3, (DSubReg_i32_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i32_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5766             : /* 11681*/        0, /*End of Scope*/
    5767             : /* 11682*/      /*Scope*/ 54, /*->11737*/
    5768             : /* 11683*/        OPC_MoveChild0,
    5769             : /* 11684*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5770             : /* 11687*/        OPC_RecordChild0, // #1 = $src3
    5771             : /* 11688*/        OPC_CheckChild0Type, MVT::v8i16,
    5772             : /* 11690*/        OPC_RecordChild1, // #2 = $lane
    5773             : /* 11691*/        OPC_MoveChild1,
    5774             : /* 11692*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5775             : /* 11695*/        OPC_MoveParent,
    5776             : /* 11696*/        OPC_MoveParent,
    5777             : /* 11697*/        OPC_RecordChild1, // #3 = $src2
    5778             : /* 11698*/        OPC_MoveParent,
    5779             : /* 11699*/        OPC_CheckType, MVT::v8i16,
    5780             : /* 11701*/        OPC_EmitConvertToTarget, 2,
    5781             : /* 11703*/        OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5782             : /* 11706*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5783             :                       MVT::v4i16, 2/*#Ops*/, 1, 5,  // Results = #6
    5784             : /* 11714*/        OPC_EmitConvertToTarget, 2,
    5785             : /* 11716*/        OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5786             : /* 11719*/        OPC_EmitInteger, MVT::i32, 14, 
    5787             : /* 11722*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5788             : /* 11725*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5789             :                       MVT::v8i16, 6/*#Ops*/, 0, 3, 6, 8, 9, 10, 
    5790             :                   // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$src2)) - Complexity = 12
    5791             :                   // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$src2, (EXTRACT_SUBREG:{ *:[v4i16] } QPR:{ *:[v8i16] }:$src3, (DSubReg_i16_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i16_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5792             : /* 11737*/      0, /*End of Scope*/
    5793             : /* 11738*/    /*Scope*/ 118, /*->11857*/
    5794             : /* 11739*/      OPC_MoveChild0,
    5795             : /* 11740*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5796             : /* 11743*/      OPC_Scope, 55, /*->11800*/ // 2 children in Scope
    5797             : /* 11745*/        OPC_RecordChild0, // #0 = $src2
    5798             : /* 11746*/        OPC_MoveChild1,
    5799             : /* 11747*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5800             : /* 11750*/        OPC_RecordChild0, // #1 = $src3
    5801             : /* 11751*/        OPC_CheckChild0Type, MVT::v8i16,
    5802             : /* 11753*/        OPC_RecordChild1, // #2 = $lane
    5803             : /* 11754*/        OPC_MoveChild1,
    5804             : /* 11755*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5805             : /* 11758*/        OPC_MoveParent,
    5806             : /* 11759*/        OPC_MoveParent,
    5807             : /* 11760*/        OPC_MoveParent,
    5808             : /* 11761*/        OPC_RecordChild1, // #3 = $src1
    5809             : /* 11762*/        OPC_CheckType, MVT::v8i16,
    5810             : /* 11764*/        OPC_EmitConvertToTarget, 2,
    5811             : /* 11766*/        OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5812             : /* 11769*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5813             :                       MVT::v4i16, 2/*#Ops*/, 1, 5,  // Results = #6
    5814             : /* 11777*/        OPC_EmitConvertToTarget, 2,
    5815             : /* 11779*/        OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5816             : /* 11782*/        OPC_EmitInteger, MVT::i32, 14, 
    5817             : /* 11785*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5818             : /* 11788*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5819             :                       MVT::v8i16, 6/*#Ops*/, 3, 0, 6, 8, 9, 10, 
    5820             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src2, (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5821             :                   // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$src2, (EXTRACT_SUBREG:{ *:[v4i16] } QPR:{ *:[v8i16] }:$src3, (DSubReg_i16_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i16_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5822             : /* 11800*/      /*Scope*/ 55, /*->11856*/
    5823             : /* 11801*/        OPC_MoveChild0,
    5824             : /* 11802*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5825             : /* 11805*/        OPC_RecordChild0, // #0 = $src3
    5826             : /* 11806*/        OPC_CheckChild0Type, MVT::v8i16,
    5827             : /* 11808*/        OPC_RecordChild1, // #1 = $lane
    5828             : /* 11809*/        OPC_MoveChild1,
    5829             : /* 11810*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5830             : /* 11813*/        OPC_MoveParent,
    5831             : /* 11814*/        OPC_MoveParent,
    5832             : /* 11815*/        OPC_RecordChild1, // #2 = $src2
    5833             : /* 11816*/        OPC_MoveParent,
    5834             : /* 11817*/        OPC_RecordChild1, // #3 = $src1
    5835             : /* 11818*/        OPC_CheckType, MVT::v8i16,
    5836             : /* 11820*/        OPC_EmitConvertToTarget, 1,
    5837             : /* 11822*/        OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5838             : /* 11825*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5839             :                       MVT::v4i16, 2/*#Ops*/, 0, 5,  // Results = #6
    5840             : /* 11833*/        OPC_EmitConvertToTarget, 1,
    5841             : /* 11835*/        OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5842             : /* 11838*/        OPC_EmitInteger, MVT::i32, 14, 
    5843             : /* 11841*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5844             : /* 11844*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5845             :                       MVT::v8i16, 6/*#Ops*/, 3, 2, 6, 8, 9, 10, 
    5846             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$src2), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5847             :                   // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$src2, (EXTRACT_SUBREG:{ *:[v4i16] } QPR:{ *:[v8i16] }:$src3, (DSubReg_i16_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i16_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5848             : /* 11856*/      0, /*End of Scope*/
    5849             : /* 11857*/    /*Scope*/ 59, /*->11917*/
    5850             : /* 11858*/      OPC_RecordChild0, // #0 = $src1
    5851             : /* 11859*/      OPC_MoveChild1,
    5852             : /* 11860*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5853             : /* 11863*/      OPC_MoveChild0,
    5854             : /* 11864*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5855             : /* 11867*/      OPC_RecordChild0, // #1 = $src3
    5856             : /* 11868*/      OPC_CheckChild0Type, MVT::v4i32,
    5857             : /* 11870*/      OPC_RecordChild1, // #2 = $lane
    5858             : /* 11871*/      OPC_MoveChild1,
    5859             : /* 11872*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5860             : /* 11875*/      OPC_MoveParent,
    5861             : /* 11876*/      OPC_MoveParent,
    5862             : /* 11877*/      OPC_RecordChild1, // #3 = $src2
    5863             : /* 11878*/      OPC_MoveParent,
    5864             : /* 11879*/      OPC_CheckType, MVT::v4i32,
    5865             : /* 11881*/      OPC_EmitConvertToTarget, 2,
    5866             : /* 11883*/      OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    5867             : /* 11886*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5868             :                     MVT::v2i32, 2/*#Ops*/, 1, 5,  // Results = #6
    5869             : /* 11894*/      OPC_EmitConvertToTarget, 2,
    5870             : /* 11896*/      OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    5871             : /* 11899*/      OPC_EmitInteger, MVT::i32, 14, 
    5872             : /* 11902*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5873             : /* 11905*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5874             :                     MVT::v4i32, 6/*#Ops*/, 0, 3, 6, 8, 9, 10, 
    5875             :                 // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$src2)) - Complexity = 12
    5876             :                 // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$src2, (EXTRACT_SUBREG:{ *:[v2i32] } QPR:{ *:[v4i32] }:$src3, (DSubReg_i32_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i32_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5877             : /* 11917*/    /*Scope*/ 118, /*->12036*/
    5878             : /* 11918*/      OPC_MoveChild0,
    5879             : /* 11919*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5880             : /* 11922*/      OPC_Scope, 55, /*->11979*/ // 2 children in Scope
    5881             : /* 11924*/        OPC_RecordChild0, // #0 = $src2
    5882             : /* 11925*/        OPC_MoveChild1,
    5883             : /* 11926*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5884             : /* 11929*/        OPC_RecordChild0, // #1 = $src3
    5885             : /* 11930*/        OPC_CheckChild0Type, MVT::v4i32,
    5886             : /* 11932*/        OPC_RecordChild1, // #2 = $lane
    5887             : /* 11933*/        OPC_MoveChild1,
    5888             : /* 11934*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5889             : /* 11937*/        OPC_MoveParent,
    5890             : /* 11938*/        OPC_MoveParent,
    5891             : /* 11939*/        OPC_MoveParent,
    5892             : /* 11940*/        OPC_RecordChild1, // #3 = $src1
    5893             : /* 11941*/        OPC_CheckType, MVT::v4i32,
    5894             : /* 11943*/        OPC_EmitConvertToTarget, 2,
    5895             : /* 11945*/        OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    5896             : /* 11948*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5897             :                       MVT::v2i32, 2/*#Ops*/, 1, 5,  // Results = #6
    5898             : /* 11956*/        OPC_EmitConvertToTarget, 2,
    5899             : /* 11958*/        OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    5900             : /* 11961*/        OPC_EmitInteger, MVT::i32, 14, 
    5901             : /* 11964*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5902             : /* 11967*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5903             :                       MVT::v4i32, 6/*#Ops*/, 3, 0, 6, 8, 9, 10, 
    5904             :                   // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src2, (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5905             :                   // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$src2, (EXTRACT_SUBREG:{ *:[v2i32] } QPR:{ *:[v4i32] }:$src3, (DSubReg_i32_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i32_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5906             : /* 11979*/      /*Scope*/ 55, /*->12035*/
    5907             : /* 11980*/        OPC_MoveChild0,
    5908             : /* 11981*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5909             : /* 11984*/        OPC_RecordChild0, // #0 = $src3
    5910             : /* 11985*/        OPC_CheckChild0Type, MVT::v4i32,
    5911             : /* 11987*/        OPC_RecordChild1, // #1 = $lane
    5912             : /* 11988*/        OPC_MoveChild1,
    5913             : /* 11989*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5914             : /* 11992*/        OPC_MoveParent,
    5915             : /* 11993*/        OPC_MoveParent,
    5916             : /* 11994*/        OPC_RecordChild1, // #2 = $src2
    5917             : /* 11995*/        OPC_MoveParent,
    5918             : /* 11996*/        OPC_RecordChild1, // #3 = $src1
    5919             : /* 11997*/        OPC_CheckType, MVT::v4i32,
    5920             : /* 11999*/        OPC_EmitConvertToTarget, 1,
    5921             : /* 12001*/        OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    5922             : /* 12004*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5923             :                       MVT::v2i32, 2/*#Ops*/, 0, 5,  // Results = #6
    5924             : /* 12012*/        OPC_EmitConvertToTarget, 1,
    5925             : /* 12014*/        OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    5926             : /* 12017*/        OPC_EmitInteger, MVT::i32, 14, 
    5927             : /* 12020*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5928             : /* 12023*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5929             :                       MVT::v4i32, 6/*#Ops*/, 3, 2, 6, 8, 9, 10, 
    5930             :                   // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$src2), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5931             :                   // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$src2, (EXTRACT_SUBREG:{ *:[v2i32] } QPR:{ *:[v4i32] }:$src3, (DSubReg_i32_reg:{ *:[i32] } (imm:{ *:[i32] }):$lane)), (SubReg_i32_lane:{ *:[i32] } (imm:{ *:[i32] }):$lane))
    5932             : /* 12035*/      0, /*End of Scope*/
    5933             : /* 12036*/    /*Scope*/ 103|128,2/*359*/, /*->12397*/
    5934             : /* 12038*/      OPC_RecordChild0, // #0 = $src1
    5935             : /* 12039*/      OPC_MoveChild1,
    5936             : /* 12040*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    5937             : /* 12043*/      OPC_Scope, 46|128,1/*174*/, /*->12220*/ // 2 children in Scope
    5938             : /* 12046*/        OPC_CheckChild0Integer, 70|128,8/*1094*/, 
    5939             : /* 12049*/        OPC_RecordChild1, // #1 = $Vn
    5940             : /* 12050*/        OPC_Scope, 27, /*->12079*/ // 6 children in Scope
    5941             : /* 12052*/          OPC_CheckChild1Type, MVT::v8i8,
    5942             : /* 12054*/          OPC_RecordChild2, // #2 = $Vm
    5943             : /* 12055*/          OPC_CheckChild2Type, MVT::v8i8,
    5944             : /* 12057*/          OPC_MoveParent,
    5945             : /* 12058*/          OPC_CheckType, MVT::v8i8,
    5946             : /* 12060*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5947             : /* 12062*/          OPC_EmitInteger, MVT::i32, 14, 
    5948             : /* 12065*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5949             : /* 12068*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i8), 0,
    5950             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5951             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (intrinsic_wo_chain:{ *:[v8i8] } 1094:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 11
    5952             :                     // Dst: (VABAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5953             : /* 12079*/        /*Scope*/ 27, /*->12107*/
    5954             : /* 12080*/          OPC_CheckChild1Type, MVT::v4i16,
    5955             : /* 12082*/          OPC_RecordChild2, // #2 = $Vm
    5956             : /* 12083*/          OPC_CheckChild2Type, MVT::v4i16,
    5957             : /* 12085*/          OPC_MoveParent,
    5958             : /* 12086*/          OPC_CheckType, MVT::v4i16,
    5959             : /* 12088*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5960             : /* 12090*/          OPC_EmitInteger, MVT::i32, 14, 
    5961             : /* 12093*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5962             : /* 12096*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i16), 0,
    5963             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5964             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (intrinsic_wo_chain:{ *:[v4i16] } 1094:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 11
    5965             :                     // Dst: (VABAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5966             : /* 12107*/        /*Scope*/ 27, /*->12135*/
    5967             : /* 12108*/          OPC_CheckChild1Type, MVT::v2i32,
    5968             : /* 12110*/          OPC_RecordChild2, // #2 = $Vm
    5969             : /* 12111*/          OPC_CheckChild2Type, MVT::v2i32,
    5970             : /* 12113*/          OPC_MoveParent,
    5971             : /* 12114*/          OPC_CheckType, MVT::v2i32,
    5972             : /* 12116*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5973             : /* 12118*/          OPC_EmitInteger, MVT::i32, 14, 
    5974             : /* 12121*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5975             : /* 12124*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv2i32), 0,
    5976             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5977             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (intrinsic_wo_chain:{ *:[v2i32] } 1094:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 11
    5978             :                     // Dst: (VABAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5979             : /* 12135*/        /*Scope*/ 27, /*->12163*/
    5980             : /* 12136*/          OPC_CheckChild1Type, MVT::v16i8,
    5981             : /* 12138*/          OPC_RecordChild2, // #2 = $Vm
    5982             : /* 12139*/          OPC_CheckChild2Type, MVT::v16i8,
    5983             : /* 12141*/          OPC_MoveParent,
    5984             : /* 12142*/          OPC_CheckType, MVT::v16i8,
    5985             : /* 12144*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5986             : /* 12146*/          OPC_EmitInteger, MVT::i32, 14, 
    5987             : /* 12149*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5988             : /* 12152*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv16i8), 0,
    5989             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5990             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (intrinsic_wo_chain:{ *:[v16i8] } 1094:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)) - Complexity = 11
    5991             :                     // Dst: (VABAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    5992             : /* 12163*/        /*Scope*/ 27, /*->12191*/
    5993             : /* 12164*/          OPC_CheckChild1Type, MVT::v8i16,
    5994             : /* 12166*/          OPC_RecordChild2, // #2 = $Vm
    5995             : /* 12167*/          OPC_CheckChild2Type, MVT::v8i16,
    5996             : /* 12169*/          OPC_MoveParent,
    5997             : /* 12170*/          OPC_CheckType, MVT::v8i16,
    5998             : /* 12172*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5999             : /* 12174*/          OPC_EmitInteger, MVT::i32, 14, 
    6000             : /* 12177*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6001             : /* 12180*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i16), 0,
    6002             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6003             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (intrinsic_wo_chain:{ *:[v8i16] } 1094:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)) - Complexity = 11
    6004             :                     // Dst: (VABAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6005             : /* 12191*/        /*Scope*/ 27, /*->12219*/
    6006             : /* 12192*/          OPC_CheckChild1Type, MVT::v4i32,
    6007             : /* 12194*/          OPC_RecordChild2, // #2 = $Vm
    6008             : /* 12195*/          OPC_CheckChild2Type, MVT::v4i32,
    6009             : /* 12197*/          OPC_MoveParent,
    6010             : /* 12198*/          OPC_CheckType, MVT::v4i32,
    6011             : /* 12200*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6012             : /* 12202*/          OPC_EmitInteger, MVT::i32, 14, 
    6013             : /* 12205*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6014             : /* 12208*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i32), 0,
    6015             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6016             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (intrinsic_wo_chain:{ *:[v4i32] } 1094:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)) - Complexity = 11
    6017             :                     // Dst: (VABAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6018             : /* 12219*/        0, /*End of Scope*/
    6019             : /* 12220*/      /*Scope*/ 46|128,1/*174*/, /*->12396*/
    6020             : /* 12222*/        OPC_CheckChild0Integer, 71|128,8/*1095*/, 
    6021             : /* 12225*/        OPC_RecordChild1, // #1 = $Vn
    6022             : /* 12226*/        OPC_Scope, 27, /*->12255*/ // 6 children in Scope
    6023             : /* 12228*/          OPC_CheckChild1Type, MVT::v8i8,
    6024             : /* 12230*/          OPC_RecordChild2, // #2 = $Vm
    6025             : /* 12231*/          OPC_CheckChild2Type, MVT::v8i8,
    6026             : /* 12233*/          OPC_MoveParent,
    6027             : /* 12234*/          OPC_CheckType, MVT::v8i8,
    6028             : /* 12236*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6029             : /* 12238*/          OPC_EmitInteger, MVT::i32, 14, 
    6030             : /* 12241*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6031             : /* 12244*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i8), 0,
    6032             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6033             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (intrinsic_wo_chain:{ *:[v8i8] } 1095:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 11
    6034             :                     // Dst: (VABAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6035             : /* 12255*/        /*Scope*/ 27, /*->12283*/
    6036             : /* 12256*/          OPC_CheckChild1Type, MVT::v4i16,
    6037             : /* 12258*/          OPC_RecordChild2, // #2 = $Vm
    6038             : /* 12259*/          OPC_CheckChild2Type, MVT::v4i16,
    6039             : /* 12261*/          OPC_MoveParent,
    6040             : /* 12262*/          OPC_CheckType, MVT::v4i16,
    6041             : /* 12264*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6042             : /* 12266*/          OPC_EmitInteger, MVT::i32, 14, 
    6043             : /* 12269*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6044             : /* 12272*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i16), 0,
    6045             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6046             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (intrinsic_wo_chain:{ *:[v4i16] } 1095:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 11
    6047             :                     // Dst: (VABAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6048             : /* 12283*/        /*Scope*/ 27, /*->12311*/
    6049             : /* 12284*/          OPC_CheckChild1Type, MVT::v2i32,
    6050             : /* 12286*/          OPC_RecordChild2, // #2 = $Vm
    6051             : /* 12287*/          OPC_CheckChild2Type, MVT::v2i32,
    6052             : /* 12289*/          OPC_MoveParent,
    6053             : /* 12290*/          OPC_CheckType, MVT::v2i32,
    6054             : /* 12292*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6055             : /* 12294*/          OPC_EmitInteger, MVT::i32, 14, 
    6056             : /* 12297*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6057             : /* 12300*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv2i32), 0,
    6058             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6059             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (intrinsic_wo_chain:{ *:[v2i32] } 1095:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 11
    6060             :                     // Dst: (VABAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6061             : /* 12311*/        /*Scope*/ 27, /*->12339*/
    6062             : /* 12312*/          OPC_CheckChild1Type, MVT::v16i8,
    6063             : /* 12314*/          OPC_RecordChild2, // #2 = $Vm
    6064             : /* 12315*/          OPC_CheckChild2Type, MVT::v16i8,
    6065             : /* 12317*/          OPC_MoveParent,
    6066             : /* 12318*/          OPC_CheckType, MVT::v16i8,
    6067             : /* 12320*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6068             : /* 12322*/          OPC_EmitInteger, MVT::i32, 14, 
    6069             : /* 12325*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6070             : /* 12328*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv16i8), 0,
    6071             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6072             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (intrinsic_wo_chain:{ *:[v16i8] } 1095:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)) - Complexity = 11
    6073             :                     // Dst: (VABAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    6074             : /* 12339*/        /*Scope*/ 27, /*->12367*/
    6075             : /* 12340*/          OPC_CheckChild1Type, MVT::v8i16,
    6076             : /* 12342*/          OPC_RecordChild2, // #2 = $Vm
    6077             : /* 12343*/          OPC_CheckChild2Type, MVT::v8i16,
    6078             : /* 12345*/          OPC_MoveParent,
    6079             : /* 12346*/          OPC_CheckType, MVT::v8i16,
    6080             : /* 12348*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6081             : /* 12350*/          OPC_EmitInteger, MVT::i32, 14, 
    6082             : /* 12353*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6083             : /* 12356*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i16), 0,
    6084             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6085             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (intrinsic_wo_chain:{ *:[v8i16] } 1095:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)) - Complexity = 11
    6086             :                     // Dst: (VABAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6087             : /* 12367*/        /*Scope*/ 27, /*->12395*/
    6088             : /* 12368*/          OPC_CheckChild1Type, MVT::v4i32,
    6089             : /* 12370*/          OPC_RecordChild2, // #2 = $Vm
    6090             : /* 12371*/          OPC_CheckChild2Type, MVT::v4i32,
    6091             : /* 12373*/          OPC_MoveParent,
    6092             : /* 12374*/          OPC_CheckType, MVT::v4i32,
    6093             : /* 12376*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6094             : /* 12378*/          OPC_EmitInteger, MVT::i32, 14, 
    6095             : /* 12381*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6096             : /* 12384*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i32), 0,
    6097             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6098             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (intrinsic_wo_chain:{ *:[v4i32] } 1095:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)) - Complexity = 11
    6099             :                     // Dst: (VABAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6100             : /* 12395*/        0, /*End of Scope*/
    6101             : /* 12396*/      0, /*End of Scope*/
    6102             : /* 12397*/    /*Scope*/ 7|128,4/*519*/, /*->12918*/
    6103             : /* 12399*/      OPC_MoveChild0,
    6104             : /* 12400*/      OPC_SwitchOpcode /*3 cases */, 110|128,2/*366*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->12771
    6105             : /* 12405*/        OPC_Scope, 52|128,1/*180*/, /*->12588*/ // 2 children in Scope
    6106             : /* 12408*/          OPC_CheckChild0Integer, 70|128,8/*1094*/, 
    6107             : /* 12411*/          OPC_RecordChild1, // #0 = $Vn
    6108             : /* 12412*/          OPC_Scope, 28, /*->12442*/ // 6 children in Scope
    6109             : /* 12414*/            OPC_CheckChild1Type, MVT::v8i8,
    6110             : /* 12416*/            OPC_RecordChild2, // #1 = $Vm
    6111             : /* 12417*/            OPC_CheckChild2Type, MVT::v8i8,
    6112             : /* 12419*/            OPC_MoveParent,
    6113             : /* 12420*/            OPC_RecordChild1, // #2 = $src1
    6114             : /* 12421*/            OPC_CheckType, MVT::v8i8,
    6115             : /* 12423*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6116             : /* 12425*/            OPC_EmitInteger, MVT::i32, 14, 
    6117             : /* 12428*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6118             : /* 12431*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i8), 0,
    6119             :                           MVT::v8i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6120             :                       // Src: (add:{ *:[v8i8] } (intrinsic_wo_chain:{ *:[v8i8] } 1094:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), DPR:{ *:[v8i8] }:$src1) - Complexity = 11
    6121             :                       // Dst: (VABAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6122             : /* 12442*/          /*Scope*/ 28, /*->12471*/
    6123             : /* 12443*/            OPC_CheckChild1Type, MVT::v4i16,
    6124             : /* 12445*/            OPC_RecordChild2, // #1 = $Vm
    6125             : /* 12446*/            OPC_CheckChild2Type, MVT::v4i16,
    6126             : /* 12448*/            OPC_MoveParent,
    6127             : /* 12449*/            OPC_RecordChild1, // #2 = $src1
    6128             : /* 12450*/            OPC_CheckType, MVT::v4i16,
    6129             : /* 12452*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6130             : /* 12454*/            OPC_EmitInteger, MVT::i32, 14, 
    6131             : /* 12457*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6132             : /* 12460*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i16), 0,
    6133             :                           MVT::v4i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6134             :                       // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 1094:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), DPR:{ *:[v4i16] }:$src1) - Complexity = 11
    6135             :                       // Dst: (VABAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6136             : /* 12471*/          /*Scope*/ 28, /*->12500*/
    6137             : /* 12472*/            OPC_CheckChild1Type, MVT::v2i32,
    6138             : /* 12474*/            OPC_RecordChild2, // #1 = $Vm
    6139             : /* 12475*/            OPC_CheckChild2Type, MVT::v2i32,
    6140             : /* 12477*/            OPC_MoveParent,
    6141             : /* 12478*/            OPC_RecordChild1, // #2 = $src1
    6142             : /* 12479*/            OPC_CheckType, MVT::v2i32,
    6143             : /* 12481*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6144             : /* 12483*/            OPC_EmitInteger, MVT::i32, 14, 
    6145             : /* 12486*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6146             : /* 12489*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv2i32), 0,
    6147             :                           MVT::v2i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6148             :                       // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 1094:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$src1) - Complexity = 11
    6149             :                       // Dst: (VABAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6150             : /* 12500*/          /*Scope*/ 28, /*->12529*/
    6151             : /* 12501*/            OPC_CheckChild1Type, MVT::v16i8,
    6152             : /* 12503*/            OPC_RecordChild2, // #1 = $Vm
    6153             : /* 12504*/            OPC_CheckChild2Type, MVT::v16i8,
    6154             : /* 12506*/            OPC_MoveParent,
    6155             : /* 12507*/            OPC_RecordChild1, // #2 = $src1
    6156             : /* 12508*/            OPC_CheckType, MVT::v16i8,
    6157             : /* 12510*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6158             : /* 12512*/            OPC_EmitInteger, MVT::i32, 14, 
    6159             : /* 12515*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6160             : /* 12518*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv16i8), 0,
    6161             :                           MVT::v16i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6162             :                       // Src: (add:{ *:[v16i8] } (intrinsic_wo_chain:{ *:[v16i8] } 1094:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm), QPR:{ *:[v16i8] }:$src1) - Complexity = 11
    6163             :                       // Dst: (VABAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    6164             : /* 12529*/          /*Scope*/ 28, /*->12558*/
    6165             : /* 12530*/            OPC_CheckChild1Type, MVT::v8i16,
    6166             : /* 12532*/            OPC_RecordChild2, // #1 = $Vm
    6167             : /* 12533*/            OPC_CheckChild2Type, MVT::v8i16,
    6168             : /* 12535*/            OPC_MoveParent,
    6169             : /* 12536*/            OPC_RecordChild1, // #2 = $src1
    6170             : /* 12537*/            OPC_CheckType, MVT::v8i16,
    6171             : /* 12539*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6172             : /* 12541*/            OPC_EmitInteger, MVT::i32, 14, 
    6173             : /* 12544*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6174             : /* 12547*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i16), 0,
    6175             :                           MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6176             :                       // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 1094:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 11
    6177             :                       // Dst: (VABAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6178             : /* 12558*/          /*Scope*/ 28, /*->12587*/
    6179             : /* 12559*/            OPC_CheckChild1Type, MVT::v4i32,
    6180             : /* 12561*/            OPC_RecordChild2, // #1 = $Vm
    6181             : /* 12562*/            OPC_CheckChild2Type, MVT::v4i32,
    6182             : /* 12564*/            OPC_MoveParent,
    6183             : /* 12565*/            OPC_RecordChild1, // #2 = $src1
    6184             : /* 12566*/            OPC_CheckType, MVT::v4i32,
    6185             : /* 12568*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6186             : /* 12570*/            OPC_EmitInteger, MVT::i32, 14, 
    6187             : /* 12573*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6188             : /* 12576*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i32), 0,
    6189             :                           MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6190             :                       // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 1094:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 11
    6191             :                       // Dst: (VABAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6192             : /* 12587*/          0, /*End of Scope*/
    6193             : /* 12588*/        /*Scope*/ 52|128,1/*180*/, /*->12770*/
    6194             : /* 12590*/          OPC_CheckChild0Integer, 71|128,8/*1095*/, 
    6195             : /* 12593*/          OPC_RecordChild1, // #0 = $Vn
    6196             : /* 12594*/          OPC_Scope, 28, /*->12624*/ // 6 children in Scope
    6197             : /* 12596*/            OPC_CheckChild1Type, MVT::v8i8,
    6198             : /* 12598*/            OPC_RecordChild2, // #1 = $Vm
    6199             : /* 12599*/            OPC_CheckChild2Type, MVT::v8i8,
    6200             : /* 12601*/            OPC_MoveParent,
    6201             : /* 12602*/            OPC_RecordChild1, // #2 = $src1
    6202             : /* 12603*/            OPC_CheckType, MVT::v8i8,
    6203             : /* 12605*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6204             : /* 12607*/            OPC_EmitInteger, MVT::i32, 14, 
    6205             : /* 12610*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6206             : /* 12613*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i8), 0,
    6207             :                           MVT::v8i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6208             :                       // Src: (add:{ *:[v8i8] } (intrinsic_wo_chain:{ *:[v8i8] } 1095:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), DPR:{ *:[v8i8] }:$src1) - Complexity = 11
    6209             :                       // Dst: (VABAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6210             : /* 12624*/          /*Scope*/ 28, /*->12653*/
    6211             : /* 12625*/            OPC_CheckChild1Type, MVT::v4i16,
    6212             : /* 12627*/            OPC_RecordChild2, // #1 = $Vm
    6213             : /* 12628*/            OPC_CheckChild2Type, MVT::v4i16,
    6214             : /* 12630*/            OPC_MoveParent,
    6215             : /* 12631*/            OPC_RecordChild1, // #2 = $src1
    6216             : /* 12632*/            OPC_CheckType, MVT::v4i16,
    6217             : /* 12634*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6218             : /* 12636*/            OPC_EmitInteger, MVT::i32, 14, 
    6219             : /* 12639*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6220             : /* 12642*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i16), 0,
    6221             :                           MVT::v4i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6222             :                       // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 1095:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), DPR:{ *:[v4i16] }:$src1) - Complexity = 11
    6223             :                       // Dst: (VABAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6224             : /* 12653*/          /*Scope*/ 28, /*->12682*/
    6225             : /* 12654*/            OPC_CheckChild1Type, MVT::v2i32,
    6226             : /* 12656*/            OPC_RecordChild2, // #1 = $Vm
    6227             : /* 12657*/            OPC_CheckChild2Type, MVT::v2i32,
    6228             : /* 12659*/            OPC_MoveParent,
    6229             : /* 12660*/            OPC_RecordChild1, // #2 = $src1
    6230             : /* 12661*/            OPC_CheckType, MVT::v2i32,
    6231             : /* 12663*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6232             : /* 12665*/            OPC_EmitInteger, MVT::i32, 14, 
    6233             : /* 12668*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6234             : /* 12671*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv2i32), 0,
    6235             :                           MVT::v2i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6236             :                       // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 1095:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$src1) - Complexity = 11
    6237             :                       // Dst: (VABAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6238             : /* 12682*/          /*Scope*/ 28, /*->12711*/
    6239             : /* 12683*/            OPC_CheckChild1Type, MVT::v16i8,
    6240             : /* 12685*/            OPC_RecordChild2, // #1 = $Vm
    6241             : /* 12686*/            OPC_CheckChild2Type, MVT::v16i8,
    6242             : /* 12688*/            OPC_MoveParent,
    6243             : /* 12689*/            OPC_RecordChild1, // #2 = $src1
    6244             : /* 12690*/            OPC_CheckType, MVT::v16i8,
    6245             : /* 12692*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6246             : /* 12694*/            OPC_EmitInteger, MVT::i32, 14, 
    6247             : /* 12697*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6248             : /* 12700*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv16i8), 0,
    6249             :                           MVT::v16i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6250             :                       // Src: (add:{ *:[v16i8] } (intrinsic_wo_chain:{ *:[v16i8] } 1095:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm), QPR:{ *:[v16i8] }:$src1) - Complexity = 11
    6251             :                       // Dst: (VABAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    6252             : /* 12711*/          /*Scope*/ 28, /*->12740*/
    6253             : /* 12712*/            OPC_CheckChild1Type, MVT::v8i16,
    6254             : /* 12714*/            OPC_RecordChild2, // #1 = $Vm
    6255             : /* 12715*/            OPC_CheckChild2Type, MVT::v8i16,
    6256             : /* 12717*/            OPC_MoveParent,
    6257             : /* 12718*/            OPC_RecordChild1, // #2 = $src1
    6258             : /* 12719*/            OPC_CheckType, MVT::v8i16,
    6259             : /* 12721*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6260             : /* 12723*/            OPC_EmitInteger, MVT::i32, 14, 
    6261             : /* 12726*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6262             : /* 12729*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i16), 0,
    6263             :                           MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6264             :                       // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 1095:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 11
    6265             :                       // Dst: (VABAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6266             : /* 12740*/          /*Scope*/ 28, /*->12769*/
    6267             : /* 12741*/            OPC_CheckChild1Type, MVT::v4i32,
    6268             : /* 12743*/            OPC_RecordChild2, // #1 = $Vm
    6269             : /* 12744*/            OPC_CheckChild2Type, MVT::v4i32,
    6270             : /* 12746*/            OPC_MoveParent,
    6271             : /* 12747*/            OPC_RecordChild1, // #2 = $src1
    6272             : /* 12748*/            OPC_CheckType, MVT::v4i32,
    6273             : /* 12750*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6274             : /* 12752*/            OPC_EmitInteger, MVT::i32, 14, 
    6275             : /* 12755*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6276             : /* 12758*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i32), 0,
    6277             :                           MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6278             :                       // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 1095:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 11
    6279             :                       // Dst: (VABAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6280             : /* 12769*/          0, /*End of Scope*/
    6281             : /* 12770*/        0, /*End of Scope*/
    6282             : /* 12771*/      /*SwitchOpcode*/ 70, TARGET_VAL(ISD::SIGN_EXTEND),// ->12844
    6283             : /* 12774*/        OPC_RecordChild0, // #0 = $Vn
    6284             : /* 12775*/        OPC_MoveParent,
    6285             : /* 12776*/        OPC_MoveChild1,
    6286             : /* 12777*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    6287             : /* 12780*/        OPC_RecordChild0, // #1 = $Vm
    6288             : /* 12781*/        OPC_MoveParent,
    6289             : /* 12782*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->12803
    6290             : /* 12785*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6291             : /* 12787*/          OPC_EmitInteger, MVT::i32, 14, 
    6292             : /* 12790*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6293             : /* 12793*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv8i16), 0,
    6294             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    6295             :                     // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn), (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 9
    6296             :                     // Dst: (VADDLsv8i16:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6297             : /* 12803*/        /*SwitchType*/ 18, MVT::v4i32,// ->12823
    6298             : /* 12805*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6299             : /* 12807*/          OPC_EmitInteger, MVT::i32, 14, 
    6300             : /* 12810*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6301             : /* 12813*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv4i32), 0,
    6302             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    6303             :                     // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn), (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 9
    6304             :                     // Dst: (VADDLsv4i32:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6305             : /* 12823*/        /*SwitchType*/ 18, MVT::v2i64,// ->12843
    6306             : /* 12825*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6307             : /* 12827*/          OPC_EmitInteger, MVT::i32, 14, 
    6308             : /* 12830*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6309             : /* 12833*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv2i64), 0,
    6310             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    6311             :                     // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn), (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 9
    6312             :                     // Dst: (VADDLsv2i64:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6313             : /* 12843*/        0, // EndSwitchType
    6314             : /* 12844*/      /*SwitchOpcode*/ 70, TARGET_VAL(ISD::ZERO_EXTEND),// ->12917
    6315             : /* 12847*/        OPC_RecordChild0, // #0 = $Vn
    6316             : /* 12848*/        OPC_MoveParent,
    6317             : /* 12849*/        OPC_MoveChild1,
    6318             : /* 12850*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    6319             : /* 12853*/        OPC_RecordChild0, // #1 = $Vm
    6320             : /* 12854*/        OPC_MoveParent,
    6321             : /* 12855*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->12876
    6322             : /* 12858*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6323             : /* 12860*/          OPC_EmitInteger, MVT::i32, 14, 
    6324             : /* 12863*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6325             : /* 12866*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv8i16), 0,
    6326             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    6327             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn), (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 9
    6328             :                     // Dst: (VADDLuv8i16:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6329             : /* 12876*/        /*SwitchType*/ 18, MVT::v4i32,// ->12896
    6330             : /* 12878*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6331             : /* 12880*/          OPC_EmitInteger, MVT::i32, 14, 
    6332             : /* 12883*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6333             : /* 12886*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv4i32), 0,
    6334             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    6335             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn), (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 9
    6336             :                     // Dst: (VADDLuv4i32:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6337             : /* 12896*/        /*SwitchType*/ 18, MVT::v2i64,// ->12916
    6338             : /* 12898*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6339             : /* 12900*/          OPC_EmitInteger, MVT::i32, 14, 
    6340             : /* 12903*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6341             : /* 12906*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv2i64), 0,
    6342             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    6343             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn), (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 9
    6344             :                     // Dst: (VADDLuv2i64:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6345             : /* 12916*/        0, // EndSwitchType
    6346             : /* 12917*/      0, // EndSwitchOpcode
    6347             : /* 12918*/    /*Scope*/ 28|128,6/*796*/, /*->13716*/
    6348             : /* 12920*/      OPC_RecordChild0, // #0 = $src1
    6349             : /* 12921*/      OPC_MoveChild1,
    6350             : /* 12922*/      OPC_SwitchOpcode /*4 cases */, 66|128,1/*194*/, TARGET_VAL(ARMISD::VSHRs),// ->13121
    6351             : /* 12927*/        OPC_RecordChild0, // #1 = $Vm
    6352             : /* 12928*/        OPC_RecordChild1, // #2 = $SIMM
    6353             : /* 12929*/        OPC_MoveChild1,
    6354             : /* 12930*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6355             : /* 12933*/        OPC_MoveParent,
    6356             : /* 12934*/        OPC_MoveParent,
    6357             : /* 12935*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->12959
    6358             : /* 12938*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6359             : /* 12940*/          OPC_EmitConvertToTarget, 2,
    6360             : /* 12942*/          OPC_EmitInteger, MVT::i32, 14, 
    6361             : /* 12945*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6362             : /* 12948*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i8), 0,
    6363             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6364             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6365             :                     // Dst: (VSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6366             : /* 12959*/        /*SwitchType*/ 21, MVT::v4i16,// ->12982
    6367             : /* 12961*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6368             : /* 12963*/          OPC_EmitConvertToTarget, 2,
    6369             : /* 12965*/          OPC_EmitInteger, MVT::i32, 14, 
    6370             : /* 12968*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6371             : /* 12971*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i16), 0,
    6372             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6373             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6374             :                     // Dst: (VSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6375             : /* 12982*/        /*SwitchType*/ 21, MVT::v2i32,// ->13005
    6376             : /* 12984*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6377             : /* 12986*/          OPC_EmitConvertToTarget, 2,
    6378             : /* 12988*/          OPC_EmitInteger, MVT::i32, 14, 
    6379             : /* 12991*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6380             : /* 12994*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i32), 0,
    6381             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6382             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6383             :                     // Dst: (VSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6384             : /* 13005*/        /*SwitchType*/ 21, MVT::v1i64,// ->13028
    6385             : /* 13007*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6386             : /* 13009*/          OPC_EmitConvertToTarget, 2,
    6387             : /* 13011*/          OPC_EmitInteger, MVT::i32, 14, 
    6388             : /* 13014*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6389             : /* 13017*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv1i64), 0,
    6390             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6391             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6392             :                     // Dst: (VSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6393             : /* 13028*/        /*SwitchType*/ 21, MVT::v16i8,// ->13051
    6394             : /* 13030*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6395             : /* 13032*/          OPC_EmitConvertToTarget, 2,
    6396             : /* 13034*/          OPC_EmitInteger, MVT::i32, 14, 
    6397             : /* 13037*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6398             : /* 13040*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv16i8), 0,
    6399             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6400             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6401             :                     // Dst: (VSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6402             : /* 13051*/        /*SwitchType*/ 21, MVT::v8i16,// ->13074
    6403             : /* 13053*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6404             : /* 13055*/          OPC_EmitConvertToTarget, 2,
    6405             : /* 13057*/          OPC_EmitInteger, MVT::i32, 14, 
    6406             : /* 13060*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6407             : /* 13063*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i16), 0,
    6408             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6409             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6410             :                     // Dst: (VSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6411             : /* 13074*/        /*SwitchType*/ 21, MVT::v4i32,// ->13097
    6412             : /* 13076*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6413             : /* 13078*/          OPC_EmitConvertToTarget, 2,
    6414             : /* 13080*/          OPC_EmitInteger, MVT::i32, 14, 
    6415             : /* 13083*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6416             : /* 13086*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i32), 0,
    6417             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6418             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6419             :                     // Dst: (VSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6420             : /* 13097*/        /*SwitchType*/ 21, MVT::v2i64,// ->13120
    6421             : /* 13099*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6422             : /* 13101*/          OPC_EmitConvertToTarget, 2,
    6423             : /* 13103*/          OPC_EmitInteger, MVT::i32, 14, 
    6424             : /* 13106*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6425             : /* 13109*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i64), 0,
    6426             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6427             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6428             :                     // Dst: (VSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6429             : /* 13120*/        0, // EndSwitchType
    6430             : /* 13121*/      /*SwitchOpcode*/ 66|128,1/*194*/, TARGET_VAL(ARMISD::VSHRu),// ->13319
    6431             : /* 13125*/        OPC_RecordChild0, // #1 = $Vm
    6432             : /* 13126*/        OPC_RecordChild1, // #2 = $SIMM
    6433             : /* 13127*/        OPC_MoveChild1,
    6434             : /* 13128*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6435             : /* 13131*/        OPC_MoveParent,
    6436             : /* 13132*/        OPC_MoveParent,
    6437             : /* 13133*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13157
    6438             : /* 13136*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6439             : /* 13138*/          OPC_EmitConvertToTarget, 2,
    6440             : /* 13140*/          OPC_EmitInteger, MVT::i32, 14, 
    6441             : /* 13143*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6442             : /* 13146*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i8), 0,
    6443             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6444             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6445             :                     // Dst: (VSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6446             : /* 13157*/        /*SwitchType*/ 21, MVT::v4i16,// ->13180
    6447             : /* 13159*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6448             : /* 13161*/          OPC_EmitConvertToTarget, 2,
    6449             : /* 13163*/          OPC_EmitInteger, MVT::i32, 14, 
    6450             : /* 13166*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6451             : /* 13169*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i16), 0,
    6452             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6453             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6454             :                     // Dst: (VSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6455             : /* 13180*/        /*SwitchType*/ 21, MVT::v2i32,// ->13203
    6456             : /* 13182*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6457             : /* 13184*/          OPC_EmitConvertToTarget, 2,
    6458             : /* 13186*/          OPC_EmitInteger, MVT::i32, 14, 
    6459             : /* 13189*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6460             : /* 13192*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i32), 0,
    6461             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6462             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6463             :                     // Dst: (VSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6464             : /* 13203*/        /*SwitchType*/ 21, MVT::v1i64,// ->13226
    6465             : /* 13205*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6466             : /* 13207*/          OPC_EmitConvertToTarget, 2,
    6467             : /* 13209*/          OPC_EmitInteger, MVT::i32, 14, 
    6468             : /* 13212*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6469             : /* 13215*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv1i64), 0,
    6470             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6471             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6472             :                     // Dst: (VSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6473             : /* 13226*/        /*SwitchType*/ 21, MVT::v16i8,// ->13249
    6474             : /* 13228*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6475             : /* 13230*/          OPC_EmitConvertToTarget, 2,
    6476             : /* 13232*/          OPC_EmitInteger, MVT::i32, 14, 
    6477             : /* 13235*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6478             : /* 13238*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv16i8), 0,
    6479             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6480             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6481             :                     // Dst: (VSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6482             : /* 13249*/        /*SwitchType*/ 21, MVT::v8i16,// ->13272
    6483             : /* 13251*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6484             : /* 13253*/          OPC_EmitConvertToTarget, 2,
    6485             : /* 13255*/          OPC_EmitInteger, MVT::i32, 14, 
    6486             : /* 13258*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6487             : /* 13261*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i16), 0,
    6488             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6489             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6490             :                     // Dst: (VSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6491             : /* 13272*/        /*SwitchType*/ 21, MVT::v4i32,// ->13295
    6492             : /* 13274*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6493             : /* 13276*/          OPC_EmitConvertToTarget, 2,
    6494             : /* 13278*/          OPC_EmitInteger, MVT::i32, 14, 
    6495             : /* 13281*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6496             : /* 13284*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i32), 0,
    6497             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6498             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6499             :                     // Dst: (VSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6500             : /* 13295*/        /*SwitchType*/ 21, MVT::v2i64,// ->13318
    6501             : /* 13297*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6502             : /* 13299*/          OPC_EmitConvertToTarget, 2,
    6503             : /* 13301*/          OPC_EmitInteger, MVT::i32, 14, 
    6504             : /* 13304*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6505             : /* 13307*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i64), 0,
    6506             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6507             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6508             :                     // Dst: (VSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6509             : /* 13318*/        0, // EndSwitchType
    6510             : /* 13319*/      /*SwitchOpcode*/ 66|128,1/*194*/, TARGET_VAL(ARMISD::VRSHRs),// ->13517
    6511             : /* 13323*/        OPC_RecordChild0, // #1 = $Vm
    6512             : /* 13324*/        OPC_RecordChild1, // #2 = $SIMM
    6513             : /* 13325*/        OPC_MoveChild1,
    6514             : /* 13326*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6515             : /* 13329*/        OPC_MoveParent,
    6516             : /* 13330*/        OPC_MoveParent,
    6517             : /* 13331*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13355
    6518             : /* 13334*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6519             : /* 13336*/          OPC_EmitConvertToTarget, 2,
    6520             : /* 13338*/          OPC_EmitInteger, MVT::i32, 14, 
    6521             : /* 13341*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6522             : /* 13344*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i8), 0,
    6523             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6524             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvrshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6525             :                     // Dst: (VRSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6526             : /* 13355*/        /*SwitchType*/ 21, MVT::v4i16,// ->13378
    6527             : /* 13357*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6528             : /* 13359*/          OPC_EmitConvertToTarget, 2,
    6529             : /* 13361*/          OPC_EmitInteger, MVT::i32, 14, 
    6530             : /* 13364*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6531             : /* 13367*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i16), 0,
    6532             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6533             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvrshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6534             :                     // Dst: (VRSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6535             : /* 13378*/        /*SwitchType*/ 21, MVT::v2i32,// ->13401
    6536             : /* 13380*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6537             : /* 13382*/          OPC_EmitConvertToTarget, 2,
    6538             : /* 13384*/          OPC_EmitInteger, MVT::i32, 14, 
    6539             : /* 13387*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6540             : /* 13390*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i32), 0,
    6541             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6542             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvrshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6543             :                     // Dst: (VRSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6544             : /* 13401*/        /*SwitchType*/ 21, MVT::v1i64,// ->13424
    6545             : /* 13403*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6546             : /* 13405*/          OPC_EmitConvertToTarget, 2,
    6547             : /* 13407*/          OPC_EmitInteger, MVT::i32, 14, 
    6548             : /* 13410*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6549             : /* 13413*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv1i64), 0,
    6550             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6551             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvrshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6552             :                     // Dst: (VRSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6553             : /* 13424*/        /*SwitchType*/ 21, MVT::v16i8,// ->13447
    6554             : /* 13426*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6555             : /* 13428*/          OPC_EmitConvertToTarget, 2,
    6556             : /* 13430*/          OPC_EmitInteger, MVT::i32, 14, 
    6557             : /* 13433*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6558             : /* 13436*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv16i8), 0,
    6559             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6560             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvrshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6561             :                     // Dst: (VRSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6562             : /* 13447*/        /*SwitchType*/ 21, MVT::v8i16,// ->13470
    6563             : /* 13449*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6564             : /* 13451*/          OPC_EmitConvertToTarget, 2,
    6565             : /* 13453*/          OPC_EmitInteger, MVT::i32, 14, 
    6566             : /* 13456*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6567             : /* 13459*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i16), 0,
    6568             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6569             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvrshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6570             :                     // Dst: (VRSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6571             : /* 13470*/        /*SwitchType*/ 21, MVT::v4i32,// ->13493
    6572             : /* 13472*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6573             : /* 13474*/          OPC_EmitConvertToTarget, 2,
    6574             : /* 13476*/          OPC_EmitInteger, MVT::i32, 14, 
    6575             : /* 13479*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6576             : /* 13482*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i32), 0,
    6577             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6578             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvrshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6579             :                     // Dst: (VRSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6580             : /* 13493*/        /*SwitchType*/ 21, MVT::v2i64,// ->13516
    6581             : /* 13495*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6582             : /* 13497*/          OPC_EmitConvertToTarget, 2,
    6583             : /* 13499*/          OPC_EmitInteger, MVT::i32, 14, 
    6584             : /* 13502*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6585             : /* 13505*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i64), 0,
    6586             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6587             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvrshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6588             :                     // Dst: (VRSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6589             : /* 13516*/        0, // EndSwitchType
    6590             : /* 13517*/      /*SwitchOpcode*/ 66|128,1/*194*/, TARGET_VAL(ARMISD::VRSHRu),// ->13715
    6591             : /* 13521*/        OPC_RecordChild0, // #1 = $Vm
    6592             : /* 13522*/        OPC_RecordChild1, // #2 = $SIMM
    6593             : /* 13523*/        OPC_MoveChild1,
    6594             : /* 13524*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6595             : /* 13527*/        OPC_MoveParent,
    6596             : /* 13528*/        OPC_MoveParent,
    6597             : /* 13529*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13553
    6598             : /* 13532*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6599             : /* 13534*/          OPC_EmitConvertToTarget, 2,
    6600             : /* 13536*/          OPC_EmitInteger, MVT::i32, 14, 
    6601             : /* 13539*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6602             : /* 13542*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i8), 0,
    6603             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6604             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvrshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6605             :                     // Dst: (VRSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6606             : /* 13553*/        /*SwitchType*/ 21, MVT::v4i16,// ->13576
    6607             : /* 13555*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6608             : /* 13557*/          OPC_EmitConvertToTarget, 2,
    6609             : /* 13559*/          OPC_EmitInteger, MVT::i32, 14, 
    6610             : /* 13562*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6611             : /* 13565*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i16), 0,
    6612             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6613             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvrshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6614             :                     // Dst: (VRSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6615             : /* 13576*/        /*SwitchType*/ 21, MVT::v2i32,// ->13599
    6616             : /* 13578*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6617             : /* 13580*/          OPC_EmitConvertToTarget, 2,
    6618             : /* 13582*/          OPC_EmitInteger, MVT::i32, 14, 
    6619             : /* 13585*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6620             : /* 13588*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i32), 0,
    6621             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6622             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvrshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6623             :                     // Dst: (VRSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6624             : /* 13599*/        /*SwitchType*/ 21, MVT::v1i64,// ->13622
    6625             : /* 13601*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6626             : /* 13603*/          OPC_EmitConvertToTarget, 2,
    6627             : /* 13605*/          OPC_EmitInteger, MVT::i32, 14, 
    6628             : /* 13608*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6629             : /* 13611*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv1i64), 0,
    6630             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6631             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvrshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6632             :                     // Dst: (VRSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6633             : /* 13622*/        /*SwitchType*/ 21, MVT::v16i8,// ->13645
    6634             : /* 13624*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6635             : /* 13626*/          OPC_EmitConvertToTarget, 2,
    6636             : /* 13628*/          OPC_EmitInteger, MVT::i32, 14, 
    6637             : /* 13631*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6638             : /* 13634*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv16i8), 0,
    6639             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6640             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvrshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6641             :                     // Dst: (VRSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6642             : /* 13645*/        /*SwitchType*/ 21, MVT::v8i16,// ->13668
    6643             : /* 13647*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6644             : /* 13649*/          OPC_EmitConvertToTarget, 2,
    6645             : /* 13651*/          OPC_EmitInteger, MVT::i32, 14, 
    6646             : /* 13654*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6647             : /* 13657*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i16), 0,
    6648             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6649             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvrshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6650             :                     // Dst: (VRSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6651             : /* 13668*/        /*SwitchType*/ 21, MVT::v4i32,// ->13691
    6652             : /* 13670*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6653             : /* 13672*/          OPC_EmitConvertToTarget, 2,
    6654             : /* 13674*/          OPC_EmitInteger, MVT::i32, 14, 
    6655             : /* 13677*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6656             : /* 13680*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i32), 0,
    6657             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6658             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvrshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6659             :                     // Dst: (VRSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6660             : /* 13691*/        /*SwitchType*/ 21, MVT::v2i64,// ->13714
    6661             : /* 13693*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6662             : /* 13695*/          OPC_EmitConvertToTarget, 2,
    6663             : /* 13697*/          OPC_EmitInteger, MVT::i32, 14, 
    6664             : /* 13700*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6665             : /* 13703*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i64), 0,
    6666             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6667             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvrshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6668             :                     // Dst: (VRSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6669             : /* 13714*/        0, // EndSwitchType
    6670             : /* 13715*/      0, // EndSwitchOpcode
    6671             : /* 13716*/    /*Scope*/ 31|128,6/*799*/, /*->14517*/
    6672             : /* 13718*/      OPC_MoveChild0,
    6673             : /* 13719*/      OPC_SwitchOpcode /*4 cases */, 67|128,1/*195*/, TARGET_VAL(ARMISD::VSHRs),// ->13919
    6674             : /* 13724*/        OPC_RecordChild0, // #0 = $Vm
    6675             : /* 13725*/        OPC_RecordChild1, // #1 = $SIMM
    6676             : /* 13726*/        OPC_MoveChild1,
    6677             : /* 13727*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6678             : /* 13730*/        OPC_MoveParent,
    6679             : /* 13731*/        OPC_MoveParent,
    6680             : /* 13732*/        OPC_RecordChild1, // #2 = $src1
    6681             : /* 13733*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13757
    6682             : /* 13736*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6683             : /* 13738*/          OPC_EmitConvertToTarget, 1,
    6684             : /* 13740*/          OPC_EmitInteger, MVT::i32, 14, 
    6685             : /* 13743*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6686             : /* 13746*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i8), 0,
    6687             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6688             :                     // Src: (add:{ *:[v8i8] } (NEONvshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    6689             :                     // Dst: (VSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6690             : /* 13757*/        /*SwitchType*/ 21, MVT::v4i16,// ->13780
    6691             : /* 13759*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6692             : /* 13761*/          OPC_EmitConvertToTarget, 1,
    6693             : /* 13763*/          OPC_EmitInteger, MVT::i32, 14, 
    6694             : /* 13766*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6695             : /* 13769*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i16), 0,
    6696             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6697             :                     // Src: (add:{ *:[v4i16] } (NEONvshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    6698             :                     // Dst: (VSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6699             : /* 13780*/        /*SwitchType*/ 21, MVT::v2i32,// ->13803
    6700             : /* 13782*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6701             : /* 13784*/          OPC_EmitConvertToTarget, 1,
    6702             : /* 13786*/          OPC_EmitInteger, MVT::i32, 14, 
    6703             : /* 13789*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6704             : /* 13792*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i32), 0,
    6705             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6706             :                     // Src: (add:{ *:[v2i32] } (NEONvshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    6707             :                     // Dst: (VSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6708             : /* 13803*/        /*SwitchType*/ 21, MVT::v1i64,// ->13826
    6709             : /* 13805*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6710             : /* 13807*/          OPC_EmitConvertToTarget, 1,
    6711             : /* 13809*/          OPC_EmitInteger, MVT::i32, 14, 
    6712             : /* 13812*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6713             : /* 13815*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv1i64), 0,
    6714             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6715             :                     // Src: (add:{ *:[v1i64] } (NEONvshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    6716             :                     // Dst: (VSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6717             : /* 13826*/        /*SwitchType*/ 21, MVT::v16i8,// ->13849
    6718             : /* 13828*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6719             : /* 13830*/          OPC_EmitConvertToTarget, 1,
    6720             : /* 13832*/          OPC_EmitInteger, MVT::i32, 14, 
    6721             : /* 13835*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6722             : /* 13838*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv16i8), 0,
    6723             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6724             :                     // Src: (add:{ *:[v16i8] } (NEONvshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    6725             :                     // Dst: (VSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6726             : /* 13849*/        /*SwitchType*/ 21, MVT::v8i16,// ->13872
    6727             : /* 13851*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6728             : /* 13853*/          OPC_EmitConvertToTarget, 1,
    6729             : /* 13855*/          OPC_EmitInteger, MVT::i32, 14, 
    6730             : /* 13858*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6731             : /* 13861*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i16), 0,
    6732             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6733             :                     // Src: (add:{ *:[v8i16] } (NEONvshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    6734             :                     // Dst: (VSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6735             : /* 13872*/        /*SwitchType*/ 21, MVT::v4i32,// ->13895
    6736             : /* 13874*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6737             : /* 13876*/          OPC_EmitConvertToTarget, 1,
    6738             : /* 13878*/          OPC_EmitInteger, MVT::i32, 14, 
    6739             : /* 13881*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6740             : /* 13884*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i32), 0,
    6741             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6742             :                     // Src: (add:{ *:[v4i32] } (NEONvshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    6743             :                     // Dst: (VSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6744             : /* 13895*/        /*SwitchType*/ 21, MVT::v2i64,// ->13918
    6745             : /* 13897*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6746             : /* 13899*/          OPC_EmitConvertToTarget, 1,
    6747             : /* 13901*/          OPC_EmitInteger, MVT::i32, 14, 
    6748             : /* 13904*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6749             : /* 13907*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i64), 0,
    6750             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6751             :                     // Src: (add:{ *:[v2i64] } (NEONvshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    6752             :                     // Dst: (VSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6753             : /* 13918*/        0, // EndSwitchType
    6754             : /* 13919*/      /*SwitchOpcode*/ 67|128,1/*195*/, TARGET_VAL(ARMISD::VSHRu),// ->14118
    6755             : /* 13923*/        OPC_RecordChild0, // #0 = $Vm
    6756             : /* 13924*/        OPC_RecordChild1, // #1 = $SIMM
    6757             : /* 13925*/        OPC_MoveChild1,
    6758             : /* 13926*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6759             : /* 13929*/        OPC_MoveParent,
    6760             : /* 13930*/        OPC_MoveParent,
    6761             : /* 13931*/        OPC_RecordChild1, // #2 = $src1
    6762             : /* 13932*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13956
    6763             : /* 13935*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6764             : /* 13937*/          OPC_EmitConvertToTarget, 1,
    6765             : /* 13939*/          OPC_EmitInteger, MVT::i32, 14, 
    6766             : /* 13942*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6767             : /* 13945*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i8), 0,
    6768             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6769             :                     // Src: (add:{ *:[v8i8] } (NEONvshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    6770             :                     // Dst: (VSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6771             : /* 13956*/        /*SwitchType*/ 21, MVT::v4i16,// ->13979
    6772             : /* 13958*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6773             : /* 13960*/          OPC_EmitConvertToTarget, 1,
    6774             : /* 13962*/          OPC_EmitInteger, MVT::i32, 14, 
    6775             : /* 13965*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6776             : /* 13968*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i16), 0,
    6777             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6778             :                     // Src: (add:{ *:[v4i16] } (NEONvshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    6779             :                     // Dst: (VSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6780             : /* 13979*/        /*SwitchType*/ 21, MVT::v2i32,// ->14002
    6781             : /* 13981*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6782             : /* 13983*/          OPC_EmitConvertToTarget, 1,
    6783             : /* 13985*/          OPC_EmitInteger, MVT::i32, 14, 
    6784             : /* 13988*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6785             : /* 13991*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i32), 0,
    6786             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6787             :                     // Src: (add:{ *:[v2i32] } (NEONvshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    6788             :                     // Dst: (VSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6789             : /* 14002*/        /*SwitchType*/ 21, MVT::v1i64,// ->14025
    6790             : /* 14004*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6791             : /* 14006*/          OPC_EmitConvertToTarget, 1,
    6792             : /* 14008*/          OPC_EmitInteger, MVT::i32, 14, 
    6793             : /* 14011*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6794             : /* 14014*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv1i64), 0,
    6795             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6796             :                     // Src: (add:{ *:[v1i64] } (NEONvshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    6797             :                     // Dst: (VSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6798             : /* 14025*/        /*SwitchType*/ 21, MVT::v16i8,// ->14048
    6799             : /* 14027*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6800             : /* 14029*/          OPC_EmitConvertToTarget, 1,
    6801             : /* 14031*/          OPC_EmitInteger, MVT::i32, 14, 
    6802             : /* 14034*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6803             : /* 14037*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv16i8), 0,
    6804             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6805             :                     // Src: (add:{ *:[v16i8] } (NEONvshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    6806             :                     // Dst: (VSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6807             : /* 14048*/        /*SwitchType*/ 21, MVT::v8i16,// ->14071
    6808             : /* 14050*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6809             : /* 14052*/          OPC_EmitConvertToTarget, 1,
    6810             : /* 14054*/          OPC_EmitInteger, MVT::i32, 14, 
    6811             : /* 14057*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6812             : /* 14060*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i16), 0,
    6813             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6814             :                     // Src: (add:{ *:[v8i16] } (NEONvshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    6815             :                     // Dst: (VSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6816             : /* 14071*/        /*SwitchType*/ 21, MVT::v4i32,// ->14094
    6817             : /* 14073*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6818             : /* 14075*/          OPC_EmitConvertToTarget, 1,
    6819             : /* 14077*/          OPC_EmitInteger, MVT::i32, 14, 
    6820             : /* 14080*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6821             : /* 14083*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i32), 0,
    6822             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6823             :                     // Src: (add:{ *:[v4i32] } (NEONvshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    6824             :                     // Dst: (VSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6825             : /* 14094*/        /*SwitchType*/ 21, MVT::v2i64,// ->14117
    6826             : /* 14096*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6827             : /* 14098*/          OPC_EmitConvertToTarget, 1,
    6828             : /* 14100*/          OPC_EmitInteger, MVT::i32, 14, 
    6829             : /* 14103*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6830             : /* 14106*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i64), 0,
    6831             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6832             :                     // Src: (add:{ *:[v2i64] } (NEONvshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    6833             :                     // Dst: (VSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6834             : /* 14117*/        0, // EndSwitchType
    6835             : /* 14118*/      /*SwitchOpcode*/ 67|128,1/*195*/, TARGET_VAL(ARMISD::VRSHRs),// ->14317
    6836             : /* 14122*/        OPC_RecordChild0, // #0 = $Vm
    6837             : /* 14123*/        OPC_RecordChild1, // #1 = $SIMM
    6838             : /* 14124*/        OPC_MoveChild1,
    6839             : /* 14125*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6840             : /* 14128*/        OPC_MoveParent,
    6841             : /* 14129*/        OPC_MoveParent,
    6842             : /* 14130*/        OPC_RecordChild1, // #2 = $src1
    6843             : /* 14131*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->14155
    6844             : /* 14134*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6845             : /* 14136*/          OPC_EmitConvertToTarget, 1,
    6846             : /* 14138*/          OPC_EmitInteger, MVT::i32, 14, 
    6847             : /* 14141*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6848             : /* 14144*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i8), 0,
    6849             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6850             :                     // Src: (add:{ *:[v8i8] } (NEONvrshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    6851             :                     // Dst: (VRSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6852             : /* 14155*/        /*SwitchType*/ 21, MVT::v4i16,// ->14178
    6853             : /* 14157*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6854             : /* 14159*/          OPC_EmitConvertToTarget, 1,
    6855             : /* 14161*/          OPC_EmitInteger, MVT::i32, 14, 
    6856             : /* 14164*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6857             : /* 14167*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i16), 0,
    6858             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6859             :                     // Src: (add:{ *:[v4i16] } (NEONvrshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    6860             :                     // Dst: (VRSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6861             : /* 14178*/        /*SwitchType*/ 21, MVT::v2i32,// ->14201
    6862             : /* 14180*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6863             : /* 14182*/          OPC_EmitConvertToTarget, 1,
    6864             : /* 14184*/          OPC_EmitInteger, MVT::i32, 14, 
    6865             : /* 14187*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6866             : /* 14190*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i32), 0,
    6867             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6868             :                     // Src: (add:{ *:[v2i32] } (NEONvrshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    6869             :                     // Dst: (VRSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6870             : /* 14201*/        /*SwitchType*/ 21, MVT::v1i64,// ->14224
    6871             : /* 14203*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6872             : /* 14205*/          OPC_EmitConvertToTarget, 1,
    6873             : /* 14207*/          OPC_EmitInteger, MVT::i32, 14, 
    6874             : /* 14210*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6875             : /* 14213*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv1i64), 0,
    6876             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6877             :                     // Src: (add:{ *:[v1i64] } (NEONvrshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    6878             :                     // Dst: (VRSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6879             : /* 14224*/        /*SwitchType*/ 21, MVT::v16i8,// ->14247
    6880             : /* 14226*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6881             : /* 14228*/          OPC_EmitConvertToTarget, 1,
    6882             : /* 14230*/          OPC_EmitInteger, MVT::i32, 14, 
    6883             : /* 14233*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6884             : /* 14236*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv16i8), 0,
    6885             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6886             :                     // Src: (add:{ *:[v16i8] } (NEONvrshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    6887             :                     // Dst: (VRSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6888             : /* 14247*/        /*SwitchType*/ 21, MVT::v8i16,// ->14270
    6889             : /* 14249*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6890             : /* 14251*/          OPC_EmitConvertToTarget, 1,
    6891             : /* 14253*/          OPC_EmitInteger, MVT::i32, 14, 
    6892             : /* 14256*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6893             : /* 14259*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i16), 0,
    6894             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6895             :                     // Src: (add:{ *:[v8i16] } (NEONvrshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    6896             :                     // Dst: (VRSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6897             : /* 14270*/        /*SwitchType*/ 21, MVT::v4i32,// ->14293
    6898             : /* 14272*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6899             : /* 14274*/          OPC_EmitConvertToTarget, 1,
    6900             : /* 14276*/          OPC_EmitInteger, MVT::i32, 14, 
    6901             : /* 14279*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6902             : /* 14282*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i32), 0,
    6903             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6904             :                     // Src: (add:{ *:[v4i32] } (NEONvrshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    6905             :                     // Dst: (VRSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6906             : /* 14293*/        /*SwitchType*/ 21, MVT::v2i64,// ->14316
    6907             : /* 14295*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6908             : /* 14297*/          OPC_EmitConvertToTarget, 1,
    6909             : /* 14299*/          OPC_EmitInteger, MVT::i32, 14, 
    6910             : /* 14302*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6911             : /* 14305*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i64), 0,
    6912             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6913             :                     // Src: (add:{ *:[v2i64] } (NEONvrshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    6914             :                     // Dst: (VRSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6915             : /* 14316*/        0, // EndSwitchType
    6916             : /* 14317*/      /*SwitchOpcode*/ 67|128,1/*195*/, TARGET_VAL(ARMISD::VRSHRu),// ->14516
    6917             : /* 14321*/        OPC_RecordChild0, // #0 = $Vm
    6918             : /* 14322*/        OPC_RecordChild1, // #1 = $SIMM
    6919             : /* 14323*/        OPC_MoveChild1,
    6920             : /* 14324*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6921             : /* 14327*/        OPC_MoveParent,
    6922             : /* 14328*/        OPC_MoveParent,
    6923             : /* 14329*/        OPC_RecordChild1, // #2 = $src1
    6924             : /* 14330*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->14354
    6925             : /* 14333*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6926             : /* 14335*/          OPC_EmitConvertToTarget, 1,
    6927             : /* 14337*/          OPC_EmitInteger, MVT::i32, 14, 
    6928             : /* 14340*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6929             : /* 14343*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i8), 0,
    6930             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6931             :                     // Src: (add:{ *:[v8i8] } (NEONvrshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    6932             :                     // Dst: (VRSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6933             : /* 14354*/        /*SwitchType*/ 21, MVT::v4i16,// ->14377
    6934             : /* 14356*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6935             : /* 14358*/          OPC_EmitConvertToTarget, 1,
    6936             : /* 14360*/          OPC_EmitInteger, MVT::i32, 14, 
    6937             : /* 14363*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6938             : /* 14366*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i16), 0,
    6939             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6940             :                     // Src: (add:{ *:[v4i16] } (NEONvrshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    6941             :                     // Dst: (VRSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6942             : /* 14377*/        /*SwitchType*/ 21, MVT::v2i32,// ->14400
    6943             : /* 14379*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6944             : /* 14381*/          OPC_EmitConvertToTarget, 1,
    6945             : /* 14383*/          OPC_EmitInteger, MVT::i32, 14, 
    6946             : /* 14386*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6947             : /* 14389*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i32), 0,
    6948             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6949             :                     // Src: (add:{ *:[v2i32] } (NEONvrshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    6950             :                     // Dst: (VRSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6951             : /* 14400*/        /*SwitchType*/ 21, MVT::v1i64,// ->14423
    6952             : /* 14402*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6953             : /* 14404*/          OPC_EmitConvertToTarget, 1,
    6954             : /* 14406*/          OPC_EmitInteger, MVT::i32, 14, 
    6955             : /* 14409*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6956             : /* 14412*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv1i64), 0,
    6957             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6958             :                     // Src: (add:{ *:[v1i64] } (NEONvrshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    6959             :                     // Dst: (VRSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6960             : /* 14423*/        /*SwitchType*/ 21, MVT::v16i8,// ->14446
    6961             : /* 14425*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6962             : /* 14427*/          OPC_EmitConvertToTarget, 1,
    6963             : /* 14429*/          OPC_EmitInteger, MVT::i32, 14, 
    6964             : /* 14432*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6965             : /* 14435*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv16i8), 0,
    6966             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6967             :                     // Src: (add:{ *:[v16i8] } (NEONvrshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    6968             :                     // Dst: (VRSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6969             : /* 14446*/        /*SwitchType*/ 21, MVT::v8i16,// ->14469
    6970             : /* 14448*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6971             : /* 14450*/          OPC_EmitConvertToTarget, 1,
    6972             : /* 14452*/          OPC_EmitInteger, MVT::i32, 14, 
    6973             : /* 14455*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6974             : /* 14458*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i16), 0,
    6975             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6976             :                     // Src: (add:{ *:[v8i16] } (NEONvrshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    6977             :                     // Dst: (VRSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6978             : /* 14469*/        /*SwitchType*/ 21, MVT::v4i32,// ->14492
    6979             : /* 14471*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6980             : /* 14473*/          OPC_EmitConvertToTarget, 1,
    6981             : /* 14475*/          OPC_EmitInteger, MVT::i32, 14, 
    6982             : /* 14478*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6983             : /* 14481*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i32), 0,
    6984             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6985             :                     // Src: (add:{ *:[v4i32] } (NEONvrshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    6986             :                     // Dst: (VRSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6987             : /* 14492*/        /*SwitchType*/ 21, MVT::v2i64,// ->14515
    6988             : /* 14494*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6989             : /* 14496*/          OPC_EmitConvertToTarget, 1,
    6990             : /* 14498*/          OPC_EmitInteger, MVT::i32, 14, 
    6991             : /* 14501*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6992             : /* 14504*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i64), 0,
    6993             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6994             :                     // Src: (add:{ *:[v2i64] } (NEONvrshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    6995             :                     // Dst: (VRSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6996             : /* 14515*/        0, // EndSwitchType
    6997             : /* 14516*/      0, // EndSwitchOpcode
    6998             : /* 14517*/    /*Scope*/ 57|128,3/*441*/, /*->14960*/
    6999             : /* 14519*/      OPC_RecordChild0, // #0 = $Vn
    7000             : /* 14520*/      OPC_MoveChild1,
    7001             : /* 14521*/      OPC_SwitchOpcode /*5 cases */, 64, TARGET_VAL(ISD::SIGN_EXTEND),// ->14589
    7002             : /* 14525*/        OPC_RecordChild0, // #1 = $Vm
    7003             : /* 14526*/        OPC_MoveParent,
    7004             : /* 14527*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->14548
    7005             : /* 14530*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7006             : /* 14532*/          OPC_EmitInteger, MVT::i32, 14, 
    7007             : /* 14535*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7008             : /* 14538*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv8i16), 0,
    7009             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7010             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7011             :                     // Dst: (VADDWsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7012             : /* 14548*/        /*SwitchType*/ 18, MVT::v4i32,// ->14568
    7013             : /* 14550*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7014             : /* 14552*/          OPC_EmitInteger, MVT::i32, 14, 
    7015             : /* 14555*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7016             : /* 14558*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv4i32), 0,
    7017             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7018             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7019             :                     // Dst: (VADDWsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7020             : /* 14568*/        /*SwitchType*/ 18, MVT::v2i64,// ->14588
    7021             : /* 14570*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7022             : /* 14572*/          OPC_EmitInteger, MVT::i32, 14, 
    7023             : /* 14575*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7024             : /* 14578*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv2i64), 0,
    7025             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7026             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7027             :                     // Dst: (VADDWsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7028             : /* 14588*/        0, // EndSwitchType
    7029             : /* 14589*/      /*SwitchOpcode*/ 64, TARGET_VAL(ISD::ZERO_EXTEND),// ->14656
    7030             : /* 14592*/        OPC_RecordChild0, // #1 = $Vm
    7031             : /* 14593*/        OPC_MoveParent,
    7032             : /* 14594*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->14615
    7033             : /* 14597*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7034             : /* 14599*/          OPC_EmitInteger, MVT::i32, 14, 
    7035             : /* 14602*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7036             : /* 14605*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
    7037             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7038             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7039             :                     // Dst: (VADDWuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7040             : /* 14615*/        /*SwitchType*/ 18, MVT::v4i32,// ->14635
    7041             : /* 14617*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7042             : /* 14619*/          OPC_EmitInteger, MVT::i32, 14, 
    7043             : /* 14622*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7044             : /* 14625*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
    7045             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7046             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7047             :                     // Dst: (VADDWuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7048             : /* 14635*/        /*SwitchType*/ 18, MVT::v2i64,// ->14655
    7049             : /* 14637*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7050             : /* 14639*/          OPC_EmitInteger, MVT::i32, 14, 
    7051             : /* 14642*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7052             : /* 14645*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
    7053             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7054             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7055             :                     // Dst: (VADDWuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7056             : /* 14655*/        0, // EndSwitchType
    7057             : /* 14656*/      /*SwitchOpcode*/ 3|128,1/*131*/, TARGET_VAL(ISD::MUL),// ->14791
    7058             : /* 14660*/        OPC_RecordChild0, // #1 = $Vn
    7059             : /* 14661*/        OPC_RecordChild1, // #2 = $Vm
    7060             : /* 14662*/        OPC_MoveParent,
    7061             : /* 14663*/        OPC_SwitchType /*6 cases */, 19, MVT::v8i8,// ->14685
    7062             : /* 14666*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7063             : /* 14668*/          OPC_EmitInteger, MVT::i32, 14, 
    7064             : /* 14671*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7065             : /* 14674*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i8), 0,
    7066             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7067             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (mul:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7068             :                     // Dst: (VMLAv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7069             : /* 14685*/        /*SwitchType*/ 19, MVT::v4i16,// ->14706
    7070             : /* 14687*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7071             : /* 14689*/          OPC_EmitInteger, MVT::i32, 14, 
    7072             : /* 14692*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7073             : /* 14695*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i16), 0,
    7074             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7075             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7076             :                     // Dst: (VMLAv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7077             : /* 14706*/        /*SwitchType*/ 19, MVT::v2i32,// ->14727
    7078             : /* 14708*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7079             : /* 14710*/          OPC_EmitInteger, MVT::i32, 14, 
    7080             : /* 14713*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7081             : /* 14716*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv2i32), 0,
    7082             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7083             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7084             :                     // Dst: (VMLAv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7085             : /* 14727*/        /*SwitchType*/ 19, MVT::v16i8,// ->14748
    7086             : /* 14729*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7087             : /* 14731*/          OPC_EmitInteger, MVT::i32, 14, 
    7088             : /* 14734*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7089             : /* 14737*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv16i8), 0,
    7090             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7091             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (mul:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)) - Complexity = 6
    7092             :                     // Dst: (VMLAv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    7093             : /* 14748*/        /*SwitchType*/ 19, MVT::v8i16,// ->14769
    7094             : /* 14750*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7095             : /* 14752*/          OPC_EmitInteger, MVT::i32, 14, 
    7096             : /* 14755*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7097             : /* 14758*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i16), 0,
    7098             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7099             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)) - Complexity = 6
    7100             :                     // Dst: (VMLAv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    7101             : /* 14769*/        /*SwitchType*/ 19, MVT::v4i32,// ->14790
    7102             : /* 14771*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7103             : /* 14773*/          OPC_EmitInteger, MVT::i32, 14, 
    7104             : /* 14776*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7105             : /* 14779*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i32), 0,
    7106             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7107             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)) - Complexity = 6
    7108             :                     // Dst: (VMLAv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    7109             : /* 14790*/        0, // EndSwitchType
    7110             : /* 14791*/      /*SwitchOpcode*/ 81, TARGET_VAL(ARMISD::VMULLs),// ->14875
    7111             : /* 14794*/        OPC_RecordChild0, // #1 = $Vn
    7112             : /* 14795*/        OPC_Scope, 25, /*->14822*/ // 3 children in Scope
    7113             : /* 14797*/          OPC_CheckChild0Type, MVT::v8i8,
    7114             : /* 14799*/          OPC_RecordChild1, // #2 = $Vm
    7115             : /* 14800*/          OPC_MoveParent,
    7116             : /* 14801*/          OPC_CheckType, MVT::v8i16,
    7117             : /* 14803*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7118             : /* 14805*/          OPC_EmitInteger, MVT::i32, 14, 
    7119             : /* 14808*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7120             : /* 14811*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv8i16), 0,
    7121             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7122             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvmulls:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7123             :                     // Dst: (VMLALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7124             : /* 14822*/        /*Scope*/ 25, /*->14848*/
    7125             : /* 14823*/          OPC_CheckChild0Type, MVT::v4i16,
    7126             : /* 14825*/          OPC_RecordChild1, // #2 = $Vm
    7127             : /* 14826*/          OPC_MoveParent,
    7128             : /* 14827*/          OPC_CheckType, MVT::v4i32,
    7129             : /* 14829*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7130             : /* 14831*/          OPC_EmitInteger, MVT::i32, 14, 
    7131             : /* 14834*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7132             : /* 14837*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv4i32), 0,
    7133             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7134             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7135             :                     // Dst: (VMLALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7136             : /* 14848*/        /*Scope*/ 25, /*->14874*/
    7137             : /* 14849*/          OPC_CheckChild0Type, MVT::v2i32,
    7138             : /* 14851*/          OPC_RecordChild1, // #2 = $Vm
    7139             : /* 14852*/          OPC_MoveParent,
    7140             : /* 14853*/          OPC_CheckType, MVT::v2i64,
    7141             : /* 14855*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7142             : /* 14857*/          OPC_EmitInteger, MVT::i32, 14, 
    7143             : /* 14860*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7144             : /* 14863*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv2i64), 0,
    7145             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7146             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7147             :                     // Dst: (VMLALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7148             : /* 14874*/        0, /*End of Scope*/
    7149             : /* 14875*/      /*SwitchOpcode*/ 81, TARGET_VAL(ARMISD::VMULLu),// ->14959
    7150             : /* 14878*/        OPC_RecordChild0, // #1 = $Vn
    7151             : /* 14879*/        OPC_Scope, 25, /*->14906*/ // 3 children in Scope
    7152             : /* 14881*/          OPC_CheckChild0Type, MVT::v8i8,
    7153             : /* 14883*/          OPC_RecordChild1, // #2 = $Vm
    7154             : /* 14884*/          OPC_MoveParent,
    7155             : /* 14885*/          OPC_CheckType, MVT::v8i16,
    7156             : /* 14887*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7157             : /* 14889*/          OPC_EmitInteger, MVT::i32, 14, 
    7158             : /* 14892*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7159             : /* 14895*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv8i16), 0,
    7160             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7161             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvmullu:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7162             :                     // Dst: (VMLALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7163             : /* 14906*/        /*Scope*/ 25, /*->14932*/
    7164             : /* 14907*/          OPC_CheckChild0Type, MVT::v4i16,
    7165             : /* 14909*/          OPC_RecordChild1, // #2 = $Vm
    7166             : /* 14910*/          OPC_MoveParent,
    7167             : /* 14911*/          OPC_CheckType, MVT::v4i32,
    7168             : /* 14913*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7169             : /* 14915*/          OPC_EmitInteger, MVT::i32, 14, 
    7170             : /* 14918*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7171             : /* 14921*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv4i32), 0,
    7172             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7173             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7174             :                     // Dst: (VMLALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7175             : /* 14932*/        /*Scope*/ 25, /*->14958*/
    7176             : /* 14933*/          OPC_CheckChild0Type, MVT::v2i32,
    7177             : /* 14935*/          OPC_RecordChild1, // #2 = $Vm
    7178             : /* 14936*/          OPC_MoveParent,
    7179             : /* 14937*/          OPC_CheckType, MVT::v2i64,
    7180             : /* 14939*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7181             : /* 14941*/          OPC_EmitInteger, MVT::i32, 14, 
    7182             : /* 14944*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7183             : /* 14947*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv2i64), 0,
    7184             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7185             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7186             :                     // Dst: (VMLALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7187             : /* 14958*/        0, /*End of Scope*/
    7188             : /* 14959*/      0, // EndSwitchOpcode
    7189             : /* 14960*/    /*Scope*/ 65|128,3/*449*/, /*->15411*/
    7190             : /* 14962*/      OPC_MoveChild0,
    7191             : /* 14963*/      OPC_SwitchOpcode /*5 cases */, 65, TARGET_VAL(ISD::SIGN_EXTEND),// ->15032
    7192             : /* 14967*/        OPC_RecordChild0, // #0 = $Vm
    7193             : /* 14968*/        OPC_MoveParent,
    7194             : /* 14969*/        OPC_RecordChild1, // #1 = $Vn
    7195             : /* 14970*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->14991
    7196             : /* 14973*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7197             : /* 14975*/          OPC_EmitInteger, MVT::i32, 14, 
    7198             : /* 14978*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7199             : /* 14981*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv8i16), 0,
    7200             :                         MVT::v8i16, 4/*#Ops*/, 1, 0, 2, 3, 
    7201             :                     // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$Vn) - Complexity = 6
    7202             :                     // Dst: (VADDWsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7203             : /* 14991*/        /*SwitchType*/ 18, MVT::v4i32,// ->15011
    7204             : /* 14993*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7205             : /* 14995*/          OPC_EmitInteger, MVT::i32, 14, 
    7206             : /* 14998*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7207             : /* 15001*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv4i32), 0,
    7208             :                         MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    7209             :                     // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 6
    7210             :                     // Dst: (VADDWsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7211             : /* 15011*/        /*SwitchType*/ 18, MVT::v2i64,// ->15031
    7212             : /* 15013*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7213             : /* 15015*/          OPC_EmitInteger, MVT::i32, 14, 
    7214             : /* 15018*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7215             : /* 15021*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv2i64), 0,
    7216             :                         MVT::v2i64, 4/*#Ops*/, 1, 0, 2, 3, 
    7217             :                     // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$Vn) - Complexity = 6
    7218             :                     // Dst: (VADDWsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7219             : /* 15031*/        0, // EndSwitchType
    7220             : /* 15032*/      /*SwitchOpcode*/ 65, TARGET_VAL(ISD::ZERO_EXTEND),// ->15100
    7221             : /* 15035*/        OPC_RecordChild0, // #0 = $Vm
    7222             : /* 15036*/        OPC_MoveParent,
    7223             : /* 15037*/        OPC_RecordChild1, // #1 = $Vn
    7224             : /* 15038*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->15059
    7225             : /* 15041*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7226             : /* 15043*/          OPC_EmitInteger, MVT::i32, 14, 
    7227             : /* 15046*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7228             : /* 15049*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
    7229             :                         MVT::v8i16, 4/*#Ops*/, 1, 0, 2, 3, 
    7230             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$Vn) - Complexity = 6
    7231             :                     // Dst: (VADDWuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7232             : /* 15059*/        /*SwitchType*/ 18, MVT::v4i32,// ->15079
    7233             : /* 15061*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7234             : /* 15063*/          OPC_EmitInteger, MVT::i32, 14, 
    7235             : /* 15066*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7236             : /* 15069*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
    7237             :                         MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    7238             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 6
    7239             :                     // Dst: (VADDWuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7240             : /* 15079*/        /*SwitchType*/ 18, MVT::v2i64,// ->15099
    7241             : /* 15081*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7242             : /* 15083*/          OPC_EmitInteger, MVT::i32, 14, 
    7243             : /* 15086*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7244             : /* 15089*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
    7245             :                         MVT::v2i64, 4/*#Ops*/, 1, 0, 2, 3, 
    7246             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$Vn) - Complexity = 6
    7247             :                     // Dst: (VADDWuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7248             : /* 15099*/        0, // EndSwitchType
    7249             : /* 15100*/      /*SwitchOpcode*/ 4|128,1/*132*/, TARGET_VAL(ISD::MUL),// ->15236
    7250             : /* 15104*/        OPC_RecordChild0, // #0 = $Vn
    7251             : /* 15105*/        OPC_RecordChild1, // #1 = $Vm
    7252             : /* 15106*/        OPC_MoveParent,
    7253             : /* 15107*/        OPC_RecordChild1, // #2 = $src1
    7254             : /* 15108*/        OPC_SwitchType /*6 cases */, 19, MVT::v8i8,// ->15130
    7255             : /* 15111*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7256             : /* 15113*/          OPC_EmitInteger, MVT::i32, 14, 
    7257             : /* 15116*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7258             : /* 15119*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i8), 0,
    7259             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7260             :                     // Src: (add:{ *:[v8i8] } (mul:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), DPR:{ *:[v8i8] }:$src1) - Complexity = 6
    7261             :                     // Dst: (VMLAv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7262             : /* 15130*/        /*SwitchType*/ 19, MVT::v4i16,// ->15151
    7263             : /* 15132*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7264             : /* 15134*/          OPC_EmitInteger, MVT::i32, 14, 
    7265             : /* 15137*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7266             : /* 15140*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i16), 0,
    7267             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7268             :                     // Src: (add:{ *:[v4i16] } (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), DPR:{ *:[v4i16] }:$src1) - Complexity = 6
    7269             :                     // Dst: (VMLAv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7270             : /* 15151*/        /*SwitchType*/ 19, MVT::v2i32,// ->15172
    7271             : /* 15153*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7272             : /* 15155*/          OPC_EmitInteger, MVT::i32, 14, 
    7273             : /* 15158*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7274             : /* 15161*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv2i32), 0,
    7275             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7276             :                     // Src: (add:{ *:[v2i32] } (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$src1) - Complexity = 6
    7277             :                     // Dst: (VMLAv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7278             : /* 15172*/        /*SwitchType*/ 19, MVT::v16i8,// ->15193
    7279             : /* 15174*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7280             : /* 15176*/          OPC_EmitInteger, MVT::i32, 14, 
    7281             : /* 15179*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7282             : /* 15182*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv16i8), 0,
    7283             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7284             :                     // Src: (add:{ *:[v16i8] } (mul:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm), QPR:{ *:[v16i8] }:$src1) - Complexity = 6
    7285             :                     // Dst: (VMLAv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    7286             : /* 15193*/        /*SwitchType*/ 19, MVT::v8i16,// ->15214
    7287             : /* 15195*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7288             : /* 15197*/          OPC_EmitInteger, MVT::i32, 14, 
    7289             : /* 15200*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7290             : /* 15203*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i16), 0,
    7291             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7292             :                     // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 6
    7293             :                     // Dst: (VMLAv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    7294             : /* 15214*/        /*SwitchType*/ 19, MVT::v4i32,// ->15235
    7295             : /* 15216*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7296             : /* 15218*/          OPC_EmitInteger, MVT::i32, 14, 
    7297             : /* 15221*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7298             : /* 15224*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i32), 0,
    7299             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7300             :                     // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 6
    7301             :                     // Dst: (VMLAv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    7302             : /* 15235*/        0, // EndSwitchType
    7303             : /* 15236*/      /*SwitchOpcode*/ 84, TARGET_VAL(ARMISD::VMULLs),// ->15323
    7304             : /* 15239*/        OPC_RecordChild0, // #0 = $Vn
    7305             : /* 15240*/        OPC_Scope, 26, /*->15268*/ // 3 children in Scope
    7306             : /* 15242*/          OPC_CheckChild0Type, MVT::v8i8,
    7307             : /* 15244*/          OPC_RecordChild1, // #1 = $Vm
    7308             : /* 15245*/          OPC_MoveParent,
    7309             : /* 15246*/          OPC_RecordChild1, // #2 = $src1
    7310             : /* 15247*/          OPC_CheckType, MVT::v8i16,
    7311             : /* 15249*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7312             : /* 15251*/          OPC_EmitInteger, MVT::i32, 14, 
    7313             : /* 15254*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7314             : /* 15257*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv8i16), 0,
    7315             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7316             :                     // Src: (add:{ *:[v8i16] } (NEONvmulls:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 6
    7317             :                     // Dst: (VMLALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7318             : /* 15268*/        /*Scope*/ 26, /*->15295*/
    7319             : /* 15269*/          OPC_CheckChild0Type, MVT::v4i16,
    7320             : /* 15271*/          OPC_RecordChild1, // #1 = $Vm
    7321             : /* 15272*/          OPC_MoveParent,
    7322             : /* 15273*/          OPC_RecordChild1, // #2 = $src1
    7323             : /* 15274*/          OPC_CheckType, MVT::v4i32,
    7324             : /* 15276*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7325             : /* 15278*/          OPC_EmitInteger, MVT::i32, 14, 
    7326             : /* 15281*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7327             : /* 15284*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv4i32), 0,
    7328             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7329             :                     // Src: (add:{ *:[v4i32] } (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 6
    7330             :                     // Dst: (VMLALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7331             : /* 15295*/        /*Scope*/ 26, /*->15322*/
    7332             : /* 15296*/          OPC_CheckChild0Type, MVT::v2i32,
    7333             : /* 15298*/          OPC_RecordChild1, // #1 = $Vm
    7334             : /* 15299*/          OPC_MoveParent,
    7335             : /* 15300*/          OPC_RecordChild1, // #2 = $src1
    7336             : /* 15301*/          OPC_CheckType, MVT::v2i64,
    7337             : /* 15303*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7338             : /* 15305*/          OPC_EmitInteger, MVT::i32, 14, 
    7339             : /* 15308*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7340             : /* 15311*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv2i64), 0,
    7341             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7342             :                     // Src: (add:{ *:[v2i64] } (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$src1) - Complexity = 6
    7343             :                     // Dst: (VMLALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7344             : /* 15322*/        0, /*End of Scope*/
    7345             : /* 15323*/      /*SwitchOpcode*/ 84, TARGET_VAL(ARMISD::VMULLu),// ->15410
    7346             : /* 15326*/        OPC_RecordChild0, // #0 = $Vn
    7347             : /* 15327*/        OPC_Scope, 26, /*->15355*/ // 3 children in Scope
    7348             : /* 15329*/          OPC_CheckChild0Type, MVT::v8i8,
    7349             : /* 15331*/          OPC_RecordChild1, // #1 = $Vm
    7350             : /* 15332*/          OPC_MoveParent,
    7351             : /* 15333*/          OPC_RecordChild1, // #2 = $src1
    7352             : /* 15334*/          OPC_CheckType, MVT::v8i16,
    7353             : /* 15336*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7354             : /* 15338*/          OPC_EmitInteger, MVT::i32, 14, 
    7355             : /* 15341*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7356             : /* 15344*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv8i16), 0,
    7357             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7358             :                     // Src: (add:{ *:[v8i16] } (NEONvmullu:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 6
    7359             :                     // Dst: (VMLALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7360             : /* 15355*/        /*Scope*/ 26, /*->15382*/
    7361             : /* 15356*/          OPC_CheckChild0Type, MVT::v4i16,
    7362             : /* 15358*/          OPC_RecordChild1, // #1 = $Vm
    7363             : /* 15359*/          OPC_MoveParent,
    7364             : /* 15360*/          OPC_RecordChild1, // #2 = $src1
    7365             : /* 15361*/          OPC_CheckType, MVT::v4i32,
    7366             : /* 15363*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7367             : /* 15365*/          OPC_EmitInteger, MVT::i32, 14, 
    7368             : /* 15368*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7369             : /* 15371*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv4i32), 0,
    7370             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7371             :                     // Src: (add:{ *:[v4i32] } (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 6
    7372             :                     // Dst: (VMLALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7373             : /* 15382*/        /*Scope*/ 26, /*->15409*/
    7374             : /* 15383*/          OPC_CheckChild0Type, MVT::v2i32,
    7375             : /* 15385*/          OPC_RecordChild1, // #1 = $Vm
    7376             : /* 15386*/          OPC_MoveParent,
    7377             : /* 15387*/          OPC_RecordChild1, // #2 = $src1
    7378             : /* 15388*/          OPC_CheckType, MVT::v2i64,
    7379             : /* 15390*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7380             : /* 15392*/          OPC_EmitInteger, MVT::i32, 14, 
    7381             : /* 15395*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7382             : /* 15398*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv2i64), 0,
    7383             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7384             :                     // Src: (add:{ *:[v2i64] } (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$src1) - Complexity = 6
    7385             :                     // Dst: (VMLALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7386             : /* 15409*/        0, /*End of Scope*/
    7387             : /* 15410*/      0, // EndSwitchOpcode
    7388             : /* 15411*/    /*Scope*/ 36|128,1/*164*/, /*->15577*/
    7389             : /* 15413*/      OPC_RecordChild0, // #0 = $Vn
    7390             : /* 15414*/      OPC_RecordChild1, // #1 = $Vm
    7391             : /* 15415*/      OPC_SwitchType /*8 cases */, 18, MVT::v8i8,// ->15436
    7392             : /* 15418*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7393             : /* 15420*/        OPC_EmitInteger, MVT::i32, 14, 
    7394             : /* 15423*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7395             : /* 15426*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv8i8), 0,
    7396             :                       MVT::v8i8, 4/*#Ops*/, 0, 1, 2, 3, 
    7397             :                   // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm) - Complexity = 3
    7398             :                   // Dst: (VADDv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7399             : /* 15436*/      /*SwitchType*/ 18, MVT::v4i16,// ->15456
    7400             : /* 15438*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7401             : /* 15440*/        OPC_EmitInteger, MVT::i32, 14, 
    7402             : /* 15443*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7403             : /* 15446*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv4i16), 0,
    7404             :                       MVT::v4i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7405             :                   // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm) - Complexity = 3
    7406             :                   // Dst: (VADDv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7407             : /* 15456*/      /*SwitchType*/ 18, MVT::v2i32,// ->15476
    7408             : /* 15458*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7409             : /* 15460*/        OPC_EmitInteger, MVT::i32, 14, 
    7410             : /* 15463*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7411             : /* 15466*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv2i32), 0,
    7412             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7413             :                   // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm) - Complexity = 3
    7414             :                   // Dst: (VADDv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7415             : /* 15476*/      /*SwitchType*/ 18, MVT::v16i8,// ->15496
    7416             : /* 15478*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7417             : /* 15480*/        OPC_EmitInteger, MVT::i32, 14, 
    7418             : /* 15483*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7419             : /* 15486*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv16i8), 0,
    7420             :                       MVT::v16i8, 4/*#Ops*/, 0, 1, 2, 3, 
    7421             :                   // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm) - Complexity = 3
    7422             :                   // Dst: (VADDv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    7423             : /* 15496*/      /*SwitchType*/ 18, MVT::v8i16,// ->15516
    7424             : /* 15498*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7425             : /* 15500*/        OPC_EmitInteger, MVT::i32, 14, 
    7426             : /* 15503*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7427             : /* 15506*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv8i16), 0,
    7428             :                       MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7429             :                   // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm) - Complexity = 3
    7430             :                   // Dst: (VADDv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    7431             : /* 15516*/      /*SwitchType*/ 18, MVT::v4i32,// ->15536
    7432             : /* 15518*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7433             : /* 15520*/        OPC_EmitInteger, MVT::i32, 14, 
    7434             : /* 15523*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7435             : /* 15526*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv4i32), 0,
    7436             :                       MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7437             :                   // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm) - Complexity = 3
    7438             :                   // Dst: (VADDv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    7439             : /* 15536*/      /*SwitchType*/ 18, MVT::v1i64,// ->15556
    7440             : /* 15538*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7441             : /* 15540*/        OPC_EmitInteger, MVT::i32, 14, 
    7442             : /* 15543*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7443             : /* 15546*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv1i64), 0,
    7444             :                       MVT::v1i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7445             :                   // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm) - Complexity = 3
    7446             :                   // Dst: (VADDv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    7447             : /* 15556*/      /*SwitchType*/ 18, MVT::v2i64,// ->15576
    7448             : /* 15558*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7449             : /* 15560*/        OPC_EmitInteger, MVT::i32, 14, 
    7450             : /* 15563*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7451             : /* 15566*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv2i64), 0,
    7452             :                       MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7453             :                   // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm) - Complexity = 3
    7454             :                   // Dst: (VADDv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    7455             : /* 15576*/      0, // EndSwitchType
    7456             : /* 15577*/    0, /*End of Scope*/
    7457             : /* 15578*/  /*SwitchOpcode*/ 37|128,19/*2469*/, TARGET_VAL(ISD::AND),// ->18051
    7458             : /* 15582*/    OPC_Scope, 63, /*->15647*/ // 35 children in Scope
    7459             : /* 15584*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7460             : /* 15589*/      OPC_MoveChild0,
    7461             : /* 15590*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7462             : /* 15593*/      OPC_RecordChild0, // #0 = $Src
    7463             : /* 15594*/      OPC_CheckChild1Integer, 8, 
    7464             : /* 15596*/      OPC_CheckChild1Type, MVT::i32,
    7465             : /* 15598*/      OPC_MoveParent,
    7466             : /* 15599*/      OPC_CheckType, MVT::i32,
    7467             : /* 15601*/      OPC_Scope, 21, /*->15624*/ // 2 children in Scope
    7468             : /* 15603*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7469             : /* 15605*/        OPC_EmitInteger, MVT::i32, 1, 
    7470             : /* 15608*/        OPC_EmitInteger, MVT::i32, 14, 
    7471             : /* 15611*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7472             : /* 15614*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    7473             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7474             :                   // Src: (and:{ *:[i32] } (srl:{ *:[i32] } GPR:{ *:[i32] }:$Src, 8:{ *:[i32] }), 16711935:{ *:[i32] }) - Complexity = 32
    7475             :                   // Dst: (UXTB16:{ *:[i32] } GPR:{ *:[i32] }:$Src, 1:{ *:[i32] })
    7476             : /* 15624*/      /*Scope*/ 21, /*->15646*/
    7477             : /* 15625*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7478             : /* 15627*/        OPC_EmitInteger, MVT::i32, 1, 
    7479             : /* 15630*/        OPC_EmitInteger, MVT::i32, 14, 
    7480             : /* 15633*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7481             : /* 15636*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    7482             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7483             :                   // Src: (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Src, 8:{ *:[i32] }), 16711935:{ *:[i32] }) - Complexity = 32
    7484             :                   // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Src, 1:{ *:[i32] })
    7485             : /* 15646*/      0, /*End of Scope*/
    7486             : /* 15647*/    /*Scope*/ 44, /*->15692*/
    7487             : /* 15648*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7488             : /* 15651*/      OPC_MoveChild0,
    7489             : /* 15652*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7490             : /* 15655*/      OPC_RecordChild0, // #0 = $Rm
    7491             : /* 15656*/      OPC_RecordChild1, // #1 = $rot
    7492             : /* 15657*/      OPC_MoveChild1,
    7493             : /* 15658*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7494             : /* 15661*/      OPC_CheckPredicate, 10, // Predicate_rot_imm
    7495             : /* 15663*/      OPC_CheckType, MVT::i32,
    7496             : /* 15665*/      OPC_MoveParent,
    7497             : /* 15666*/      OPC_MoveParent,
    7498             : /* 15667*/      OPC_CheckType, MVT::i32,
    7499             : /* 15669*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7500             : /* 15671*/      OPC_EmitConvertToTarget, 1,
    7501             : /* 15673*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7502             : /* 15676*/      OPC_EmitInteger, MVT::i32, 14, 
    7503             : /* 15679*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7504             : /* 15682*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB), 0,
    7505             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7506             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }) - Complexity = 31
    7507             :                 // Dst: (UXTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    7508             : /* 15692*/    /*Scope*/ 45, /*->15738*/
    7509             : /* 15693*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7510             : /* 15697*/      OPC_MoveChild0,
    7511             : /* 15698*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7512             : /* 15701*/      OPC_RecordChild0, // #0 = $Rm
    7513             : /* 15702*/      OPC_RecordChild1, // #1 = $rot
    7514             : /* 15703*/      OPC_MoveChild1,
    7515             : /* 15704*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7516             : /* 15707*/      OPC_CheckPredicate, 10, // Predicate_rot_imm
    7517             : /* 15709*/      OPC_CheckType, MVT::i32,
    7518             : /* 15711*/      OPC_MoveParent,
    7519             : /* 15712*/      OPC_MoveParent,
    7520             : /* 15713*/      OPC_CheckType, MVT::i32,
    7521             : /* 15715*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7522             : /* 15717*/      OPC_EmitConvertToTarget, 1,
    7523             : /* 15719*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7524             : /* 15722*/      OPC_EmitInteger, MVT::i32, 14, 
    7525             : /* 15725*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7526             : /* 15728*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTH), 0,
    7527             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7528             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] }) - Complexity = 31
    7529             :                 // Dst: (UXTH:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    7530             : /* 15738*/    /*Scope*/ 46, /*->15785*/
    7531             : /* 15739*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7532             : /* 15744*/      OPC_MoveChild0,
    7533             : /* 15745*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7534             : /* 15748*/      OPC_RecordChild0, // #0 = $Rm
    7535             : /* 15749*/      OPC_RecordChild1, // #1 = $rot
    7536             : /* 15750*/      OPC_MoveChild1,
    7537             : /* 15751*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7538             : /* 15754*/      OPC_CheckPredicate, 10, // Predicate_rot_imm
    7539             : /* 15756*/      OPC_CheckType, MVT::i32,
    7540             : /* 15758*/      OPC_MoveParent,
    7541             : /* 15759*/      OPC_MoveParent,
    7542             : /* 15760*/      OPC_CheckType, MVT::i32,
    7543             : /* 15762*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7544             : /* 15764*/      OPC_EmitConvertToTarget, 1,
    7545             : /* 15766*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7546             : /* 15769*/      OPC_EmitInteger, MVT::i32, 14, 
    7547             : /* 15772*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7548             : /* 15775*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    7549             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7550             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 16711935:{ *:[i32] }) - Complexity = 31
    7551             :                 // Dst: (UXTB16:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    7552             : /* 15785*/    /*Scope*/ 44, /*->15830*/
    7553             : /* 15786*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7554             : /* 15789*/      OPC_MoveChild0,
    7555             : /* 15790*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7556             : /* 15793*/      OPC_RecordChild0, // #0 = $Rm
    7557             : /* 15794*/      OPC_RecordChild1, // #1 = $rot
    7558             : /* 15795*/      OPC_MoveChild1,
    7559             : /* 15796*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7560             : /* 15799*/      OPC_CheckPredicate, 10, // Predicate_rot_imm
    7561             : /* 15801*/      OPC_CheckType, MVT::i32,
    7562             : /* 15803*/      OPC_MoveParent,
    7563             : /* 15804*/      OPC_MoveParent,
    7564             : /* 15805*/      OPC_CheckType, MVT::i32,
    7565             : /* 15807*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7566             : /* 15809*/      OPC_EmitConvertToTarget, 1,
    7567             : /* 15811*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7568             : /* 15814*/      OPC_EmitInteger, MVT::i32, 14, 
    7569             : /* 15817*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7570             : /* 15820*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB), 0,
    7571             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7572             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }) - Complexity = 31
    7573             :                 // Dst: (t2UXTB:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    7574             : /* 15830*/    /*Scope*/ 45, /*->15876*/
    7575             : /* 15831*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7576             : /* 15835*/      OPC_MoveChild0,
    7577             : /* 15836*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7578             : /* 15839*/      OPC_RecordChild0, // #0 = $Rm
    7579             : /* 15840*/      OPC_RecordChild1, // #1 = $rot
    7580             : /* 15841*/      OPC_MoveChild1,
    7581             : /* 15842*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7582             : /* 15845*/      OPC_CheckPredicate, 10, // Predicate_rot_imm
    7583             : /* 15847*/      OPC_CheckType, MVT::i32,
    7584             : /* 15849*/      OPC_MoveParent,
    7585             : /* 15850*/      OPC_MoveParent,
    7586             : /* 15851*/      OPC_CheckType, MVT::i32,
    7587             : /* 15853*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7588             : /* 15855*/      OPC_EmitConvertToTarget, 1,
    7589             : /* 15857*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7590             : /* 15860*/      OPC_EmitInteger, MVT::i32, 14, 
    7591             : /* 15863*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7592             : /* 15866*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTH), 0,
    7593             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7594             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] }) - Complexity = 31
    7595             :                 // Dst: (t2UXTH:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    7596             : /* 15876*/    /*Scope*/ 46, /*->15923*/
    7597             : /* 15877*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7598             : /* 15882*/      OPC_MoveChild0,
    7599             : /* 15883*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7600             : /* 15886*/      OPC_RecordChild0, // #0 = $Rm
    7601             : /* 15887*/      OPC_RecordChild1, // #1 = $rot
    7602             : /* 15888*/      OPC_MoveChild1,
    7603             : /* 15889*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7604             : /* 15892*/      OPC_CheckPredicate, 10, // Predicate_rot_imm
    7605             : /* 15894*/      OPC_CheckType, MVT::i32,
    7606             : /* 15896*/      OPC_MoveParent,
    7607             : /* 15897*/      OPC_MoveParent,
    7608             : /* 15898*/      OPC_CheckType, MVT::i32,
    7609             : /* 15900*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7610             : /* 15902*/      OPC_EmitConvertToTarget, 1,
    7611             : /* 15904*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7612             : /* 15907*/      OPC_EmitInteger, MVT::i32, 14, 
    7613             : /* 15910*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7614             : /* 15913*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    7615             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7616             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 16711935:{ *:[i32] }) - Complexity = 31
    7617             :                 // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    7618             : /* 15923*/    /*Scope*/ 27, /*->15951*/
    7619             : /* 15924*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7620             : /* 15927*/      OPC_RecordChild0, // #0 = $Src
    7621             : /* 15928*/      OPC_CheckType, MVT::i32,
    7622             : /* 15930*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7623             : /* 15932*/      OPC_EmitInteger, MVT::i32, 0, 
    7624             : /* 15935*/      OPC_EmitInteger, MVT::i32, 14, 
    7625             : /* 15938*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7626             : /* 15941*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB), 0,
    7627             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7628             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Src, 255:{ *:[i32] }) - Complexity = 24
    7629             :                 // Dst: (UXTB:{ *:[i32] } GPR:{ *:[i32] }:$Src, 0:{ *:[i32] })
    7630             : /* 15951*/    /*Scope*/ 28, /*->15980*/
    7631             : /* 15952*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7632             : /* 15956*/      OPC_RecordChild0, // #0 = $Src
    7633             : /* 15957*/      OPC_CheckType, MVT::i32,
    7634             : /* 15959*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7635             : /* 15961*/      OPC_EmitInteger, MVT::i32, 0, 
    7636             : /* 15964*/      OPC_EmitInteger, MVT::i32, 14, 
    7637             : /* 15967*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7638             : /* 15970*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTH), 0,
    7639             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7640             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Src, 65535:{ *:[i32] }) - Complexity = 24
    7641             :                 // Dst: (UXTH:{ *:[i32] } GPR:{ *:[i32] }:$Src, 0:{ *:[i32] })
    7642             : /* 15980*/    /*Scope*/ 29, /*->16010*/
    7643             : /* 15981*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7644             : /* 15986*/      OPC_RecordChild0, // #0 = $Src
    7645             : /* 15987*/      OPC_CheckType, MVT::i32,
    7646             : /* 15989*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7647             : /* 15991*/      OPC_EmitInteger, MVT::i32, 0, 
    7648             : /* 15994*/      OPC_EmitInteger, MVT::i32, 14, 
    7649             : /* 15997*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7650             : /* 16000*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    7651             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7652             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Src, 16711935:{ *:[i32] }) - Complexity = 24
    7653             :                 // Dst: (UXTB16:{ *:[i32] } GPR:{ *:[i32] }:$Src, 0:{ *:[i32] })
    7654             : /* 16010*/    /*Scope*/ 27, /*->16038*/
    7655             : /* 16011*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7656             : /* 16014*/      OPC_RecordChild0, // #0 = $Rm
    7657             : /* 16015*/      OPC_CheckType, MVT::i32,
    7658             : /* 16017*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7659             : /* 16019*/      OPC_EmitInteger, MVT::i32, 0, 
    7660             : /* 16022*/      OPC_EmitInteger, MVT::i32, 14, 
    7661             : /* 16025*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7662             : /* 16028*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB), 0,
    7663             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7664             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }) - Complexity = 24
    7665             :                 // Dst: (t2UXTB:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    7666             : /* 16038*/    /*Scope*/ 28, /*->16067*/
    7667             : /* 16039*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7668             : /* 16043*/      OPC_RecordChild0, // #0 = $Rm
    7669             : /* 16044*/      OPC_CheckType, MVT::i32,
    7670             : /* 16046*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7671             : /* 16048*/      OPC_EmitInteger, MVT::i32, 0, 
    7672             : /* 16051*/      OPC_EmitInteger, MVT::i32, 14, 
    7673             : /* 16054*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7674             : /* 16057*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTH), 0,
    7675             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7676             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }) - Complexity = 24
    7677             :                 // Dst: (t2UXTH:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    7678             : /* 16067*/    /*Scope*/ 29, /*->16097*/
    7679             : /* 16068*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7680             : /* 16073*/      OPC_RecordChild0, // #0 = $Rm
    7681             : /* 16074*/      OPC_CheckType, MVT::i32,
    7682             : /* 16076*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7683             : /* 16078*/      OPC_EmitInteger, MVT::i32, 0, 
    7684             : /* 16081*/      OPC_EmitInteger, MVT::i32, 14, 
    7685             : /* 16084*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7686             : /* 16087*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    7687             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7688             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16711935:{ *:[i32] }) - Complexity = 24
    7689             :                 // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    7690             : /* 16097*/    /*Scope*/ 47, /*->16145*/
    7691             : /* 16098*/      OPC_RecordChild0, // #0 = $Rn
    7692             : /* 16099*/      OPC_MoveChild1,
    7693             : /* 16100*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7694             : /* 16103*/      OPC_RecordChild0, // #1 = $shift
    7695             : /* 16104*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7696             : /* 16115*/      OPC_MoveParent,
    7697             : /* 16116*/      OPC_CheckType, MVT::i32,
    7698             : /* 16118*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7699             : /* 16120*/      OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectRegShifterOperand:$shift #2 #3 #4
    7700             : /* 16123*/      OPC_EmitInteger, MVT::i32, 14, 
    7701             : /* 16126*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7702             : /* 16129*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7703             : /* 16132*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsr), 0,
    7704             :                     MVT::i32, 7/*#Ops*/, 0, 2, 3, 4, 5, 6, 7, 
    7705             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, -1:{ *:[i32] })) - Complexity = 23
    7706             :                 // Dst: (BICrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    7707             : /* 16145*/    /*Scope*/ 39, /*->16185*/
    7708             : /* 16146*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7709             : /* 16149*/      OPC_MoveChild0,
    7710             : /* 16150*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7711             : /* 16153*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7712             : /* 16154*/      OPC_CheckFoldableChainNode,
    7713             : /* 16155*/      OPC_CheckChild1Integer, 44|128,8/*1068*/, 
    7714             : /* 16158*/      OPC_RecordChild2, // #1 = $addr
    7715             : /* 16159*/      OPC_CheckChild2Type, MVT::i32,
    7716             : /* 16161*/      OPC_CheckPredicate, 23, // Predicate_ldrex_1
    7717             : /* 16163*/      OPC_MoveParent,
    7718             : /* 16164*/      OPC_CheckPatternPredicate, 5, // (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb())
    7719             : /* 16166*/      OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7720             : /* 16169*/      OPC_EmitMergeInputChains1_0,
    7721             : /* 16170*/      OPC_EmitInteger, MVT::i32, 14, 
    7722             : /* 16173*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7723             : /* 16176*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDREXB), 0|OPFL_Chain,
    7724             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7725             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1068:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldrex_1>>, 255:{ *:[i32] }) - Complexity = 23
    7726             :                 // Dst: (t2LDREXB:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7727             : /* 16185*/    /*Scope*/ 40, /*->16226*/
    7728             : /* 16186*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7729             : /* 16190*/      OPC_MoveChild0,
    7730             : /* 16191*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7731             : /* 16194*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7732             : /* 16195*/      OPC_CheckFoldableChainNode,
    7733             : /* 16196*/      OPC_CheckChild1Integer, 44|128,8/*1068*/, 
    7734             : /* 16199*/      OPC_RecordChild2, // #1 = $addr
    7735             : /* 16200*/      OPC_CheckChild2Type, MVT::i32,
    7736             : /* 16202*/      OPC_CheckPredicate, 24, // Predicate_ldrex_2
    7737             : /* 16204*/      OPC_MoveParent,
    7738             : /* 16205*/      OPC_CheckPatternPredicate, 5, // (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb())
    7739             : /* 16207*/      OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7740             : /* 16210*/      OPC_EmitMergeInputChains1_0,
    7741             : /* 16211*/      OPC_EmitInteger, MVT::i32, 14, 
    7742             : /* 16214*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7743             : /* 16217*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDREXH), 0|OPFL_Chain,
    7744             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7745             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1068:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldrex_2>>, 65535:{ *:[i32] }) - Complexity = 23
    7746             :                 // Dst: (t2LDREXH:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7747             : /* 16226*/    /*Scope*/ 39, /*->16266*/
    7748             : /* 16227*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7749             : /* 16230*/      OPC_MoveChild0,
    7750             : /* 16231*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7751             : /* 16234*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7752             : /* 16235*/      OPC_CheckFoldableChainNode,
    7753             : /* 16236*/      OPC_CheckChild1Integer, 38|128,8/*1062*/, 
    7754             : /* 16239*/      OPC_RecordChild2, // #1 = $addr
    7755             : /* 16240*/      OPC_CheckChild2Type, MVT::i32,
    7756             : /* 16242*/      OPC_CheckPredicate, 23, // Predicate_ldaex_1
    7757             : /* 16244*/      OPC_MoveParent,
    7758             : /* 16245*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (Subtarget->isThumb())
    7759             : /* 16247*/      OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7760             : /* 16250*/      OPC_EmitMergeInputChains1_0,
    7761             : /* 16251*/      OPC_EmitInteger, MVT::i32, 14, 
    7762             : /* 16254*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7763             : /* 16257*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAEXB), 0|OPFL_Chain,
    7764             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7765             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1062:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldaex_1>>, 255:{ *:[i32] }) - Complexity = 23
    7766             :                 // Dst: (t2LDAEXB:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7767             : /* 16266*/    /*Scope*/ 40, /*->16307*/
    7768             : /* 16267*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7769             : /* 16271*/      OPC_MoveChild0,
    7770             : /* 16272*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7771             : /* 16275*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7772             : /* 16276*/      OPC_CheckFoldableChainNode,
    7773             : /* 16277*/      OPC_CheckChild1Integer, 38|128,8/*1062*/, 
    7774             : /* 16280*/      OPC_RecordChild2, // #1 = $addr
    7775             : /* 16281*/      OPC_CheckChild2Type, MVT::i32,
    7776             : /* 16283*/      OPC_CheckPredicate, 24, // Predicate_ldaex_2
    7777             : /* 16285*/      OPC_MoveParent,
    7778             : /* 16286*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (Subtarget->isThumb())
    7779             : /* 16288*/      OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7780             : /* 16291*/      OPC_EmitMergeInputChains1_0,
    7781             : /* 16292*/      OPC_EmitInteger, MVT::i32, 14, 
    7782             : /* 16295*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7783             : /* 16298*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAEXH), 0|OPFL_Chain,
    7784             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7785             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1062:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldaex_2>>, 65535:{ *:[i32] }) - Complexity = 23
    7786             :                 // Dst: (t2LDAEXH:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7787             : /* 16307*/    /*Scope*/ 47, /*->16355*/
    7788             : /* 16308*/      OPC_MoveChild0,
    7789             : /* 16309*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7790             : /* 16312*/      OPC_RecordChild0, // #0 = $shift
    7791             : /* 16313*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7792             : /* 16324*/      OPC_MoveParent,
    7793             : /* 16325*/      OPC_RecordChild1, // #1 = $Rn
    7794             : /* 16326*/      OPC_CheckType, MVT::i32,
    7795             : /* 16328*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7796             : /* 16330*/      OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectRegShifterOperand:$shift #2 #3 #4
    7797             : /* 16333*/      OPC_EmitInteger, MVT::i32, 14, 
    7798             : /* 16336*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7799             : /* 16339*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7800             : /* 16342*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsr), 0,
    7801             :                     MVT::i32, 7/*#Ops*/, 1, 2, 3, 4, 5, 6, 7, 
    7802             :                 // Src: (and:{ *:[i32] } (xor:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 23
    7803             :                 // Dst: (BICrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    7804             : /* 16355*/    /*Scope*/ 76, /*->16432*/
    7805             : /* 16356*/      OPC_RecordChild0, // #0 = $Rn
    7806             : /* 16357*/      OPC_MoveChild1,
    7807             : /* 16358*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7808             : /* 16361*/      OPC_RecordChild0, // #1 = $shift
    7809             : /* 16362*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7810             : /* 16373*/      OPC_MoveParent,
    7811             : /* 16374*/      OPC_CheckType, MVT::i32,
    7812             : /* 16376*/      OPC_Scope, 26, /*->16404*/ // 2 children in Scope
    7813             : /* 16378*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7814             : /* 16380*/        OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
    7815             : /* 16383*/        OPC_EmitInteger, MVT::i32, 14, 
    7816             : /* 16386*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7817             : /* 16389*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7818             : /* 16392*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsi), 0,
    7819             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    7820             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, -1:{ *:[i32] })) - Complexity = 20
    7821             :                   // Dst: (BICrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    7822             : /* 16404*/      /*Scope*/ 26, /*->16431*/
    7823             : /* 16405*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7824             : /* 16407*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    7825             : /* 16410*/        OPC_EmitInteger, MVT::i32, 14, 
    7826             : /* 16413*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7827             : /* 16416*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7828             : /* 16419*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrs), 0,
    7829             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    7830             :                   // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, -1:{ *:[i32] })) - Complexity = 20
    7831             :                   // Dst: (t2BICrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    7832             : /* 16431*/      0, /*End of Scope*/
    7833             : /* 16432*/    /*Scope*/ 76, /*->16509*/
    7834             : /* 16433*/      OPC_MoveChild0,
    7835             : /* 16434*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7836             : /* 16437*/      OPC_RecordChild0, // #0 = $shift
    7837             : /* 16438*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7838             : /* 16449*/      OPC_MoveParent,
    7839             : /* 16450*/      OPC_RecordChild1, // #1 = $Rn
    7840             : /* 16451*/      OPC_CheckType, MVT::i32,
    7841             : /* 16453*/      OPC_Scope, 26, /*->16481*/ // 2 children in Scope
    7842             : /* 16455*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7843             : /* 16457*/        OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
    7844             : /* 16460*/        OPC_EmitInteger, MVT::i32, 14, 
    7845             : /* 16463*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7846             : /* 16466*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7847             : /* 16469*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsi), 0,
    7848             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    7849             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 20
    7850             :                   // Dst: (BICrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    7851             : /* 16481*/      /*Scope*/ 26, /*->16508*/
    7852             : /* 16482*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7853             : /* 16484*/        OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    7854             : /* 16487*/        OPC_EmitInteger, MVT::i32, 14, 
    7855             : /* 16490*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7856             : /* 16493*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7857             : /* 16496*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrs), 0,
    7858             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    7859             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 20
    7860             :                   // Dst: (t2BICrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    7861             : /* 16508*/      0, /*End of Scope*/
    7862             : /* 16509*/    /*Scope*/ 84|128,1/*212*/, /*->16723*/
    7863             : /* 16511*/      OPC_RecordChild0, // #0 = $Rn
    7864             : /* 16512*/      OPC_Scope, 30, /*->16544*/ // 4 children in Scope
    7865             : /* 16514*/        OPC_RecordChild1, // #1 = $shift
    7866             : /* 16515*/        OPC_CheckType, MVT::i32,
    7867             : /* 16517*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7868             : /* 16519*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectRegShifterOperand:$shift #2 #3 #4
    7869             : /* 16522*/        OPC_EmitInteger, MVT::i32, 14, 
    7870             : /* 16525*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7871             : /* 16528*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7872             : /* 16531*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsr), 0,
    7873             :                       MVT::i32, 7/*#Ops*/, 0, 2, 3, 4, 5, 6, 7, 
    7874             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift) - Complexity = 15
    7875             :                   // Dst: (ANDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    7876             : /* 16544*/      /*Scope*/ 95, /*->16640*/
    7877             : /* 16545*/        OPC_MoveChild1,
    7878             : /* 16546*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7879             : /* 16549*/        OPC_RecordChild0, // #1 = $imm
    7880             : /* 16550*/        OPC_MoveChild0,
    7881             : /* 16551*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7882             : /* 16554*/        OPC_Scope, 41, /*->16597*/ // 2 children in Scope
    7883             : /* 16556*/          OPC_CheckPredicate, 7, // Predicate_mod_imm
    7884             : /* 16558*/          OPC_MoveParent,
    7885             : /* 16559*/          OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7886             : /* 16570*/          OPC_MoveParent,
    7887             : /* 16571*/          OPC_CheckType, MVT::i32,
    7888             : /* 16573*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7889             : /* 16575*/          OPC_EmitConvertToTarget, 1,
    7890             : /* 16577*/          OPC_EmitInteger, MVT::i32, 14, 
    7891             : /* 16580*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7892             : /* 16583*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7893             : /* 16586*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    7894             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    7895             :                     // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm, -1:{ *:[i32] })) - Complexity = 15
    7896             :                     // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    7897             : /* 16597*/        /*Scope*/ 41, /*->16639*/
    7898             : /* 16598*/          OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    7899             : /* 16600*/          OPC_MoveParent,
    7900             : /* 16601*/          OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7901             : /* 16612*/          OPC_MoveParent,
    7902             : /* 16613*/          OPC_CheckType, MVT::i32,
    7903             : /* 16615*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7904             : /* 16617*/          OPC_EmitConvertToTarget, 1,
    7905             : /* 16619*/          OPC_EmitInteger, MVT::i32, 14, 
    7906             : /* 16622*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7907             : /* 16625*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7908             : /* 16628*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    7909             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    7910             :                     // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm, -1:{ *:[i32] })) - Complexity = 15
    7911             :                     // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    7912             : /* 16639*/        0, /*End of Scope*/
    7913             : /* 16640*/      /*Scope*/ 30, /*->16671*/
    7914             : /* 16641*/        OPC_RecordChild1, // #1 = $Rn
    7915             : /* 16642*/        OPC_CheckType, MVT::i32,
    7916             : /* 16644*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7917             : /* 16646*/        OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectRegShifterOperand:$shift #2 #3 #4
    7918             : /* 16649*/        OPC_EmitInteger, MVT::i32, 14, 
    7919             : /* 16652*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7920             : /* 16655*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7921             : /* 16658*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsr), 0,
    7922             :                       MVT::i32, 7/*#Ops*/, 1, 2, 3, 4, 5, 6, 7, 
    7923             :                   // Src: (and:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 15
    7924             :                   // Dst: (ANDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    7925             : /* 16671*/      /*Scope*/ 50, /*->16722*/
    7926             : /* 16672*/        OPC_MoveChild1,
    7927             : /* 16673*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7928             : /* 16676*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7929             : /* 16687*/        OPC_RecordChild1, // #1 = $imm
    7930             : /* 16688*/        OPC_MoveChild1,
    7931             : /* 16689*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7932             : /* 16692*/        OPC_CheckPredicate, 7, // Predicate_mod_imm
    7933             : /* 16694*/        OPC_MoveParent,
    7934             : /* 16695*/        OPC_MoveParent,
    7935             : /* 16696*/        OPC_CheckType, MVT::i32,
    7936             : /* 16698*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7937             : /* 16700*/        OPC_EmitConvertToTarget, 1,
    7938             : /* 16702*/        OPC_EmitInteger, MVT::i32, 14, 
    7939             : /* 16705*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7940             : /* 16708*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7941             : /* 16711*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    7942             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    7943             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm)) - Complexity = 15
    7944             :                   // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    7945             : /* 16722*/      0, /*End of Scope*/
    7946             : /* 16723*/    /*Scope*/ 102, /*->16826*/
    7947             : /* 16724*/      OPC_MoveChild0,
    7948             : /* 16725*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7949             : /* 16728*/      OPC_Scope, 47, /*->16777*/ // 2 children in Scope
    7950             : /* 16730*/        OPC_RecordChild0, // #0 = $imm
    7951             : /* 16731*/        OPC_MoveChild0,
    7952             : /* 16732*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7953             : /* 16735*/        OPC_CheckPredicate, 7, // Predicate_mod_imm
    7954             : /* 16737*/        OPC_MoveParent,
    7955             : /* 16738*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7956             : /* 16749*/        OPC_MoveParent,
    7957             : /* 16750*/        OPC_RecordChild1, // #1 = $Rn
    7958             : /* 16751*/        OPC_CheckType, MVT::i32,
    7959             : /* 16753*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7960             : /* 16755*/        OPC_EmitConvertToTarget, 0,
    7961             : /* 16757*/        OPC_EmitInteger, MVT::i32, 14, 
    7962             : /* 16760*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7963             : /* 16763*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7964             : /* 16766*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    7965             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    7966             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 15
    7967             :                   // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    7968             : /* 16777*/      /*Scope*/ 47, /*->16825*/
    7969             : /* 16778*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7970             : /* 16789*/        OPC_RecordChild1, // #0 = $imm
    7971             : /* 16790*/        OPC_MoveChild1,
    7972             : /* 16791*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7973             : /* 16794*/        OPC_CheckPredicate, 7, // Predicate_mod_imm
    7974             : /* 16796*/        OPC_MoveParent,
    7975             : /* 16797*/        OPC_MoveParent,
    7976             : /* 16798*/        OPC_RecordChild1, // #1 = $Rn
    7977             : /* 16799*/        OPC_CheckType, MVT::i32,
    7978             : /* 16801*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7979             : /* 16803*/        OPC_EmitConvertToTarget, 0,
    7980             : /* 16805*/        OPC_EmitInteger, MVT::i32, 14, 
    7981             : /* 16808*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7982             : /* 16811*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7983             : /* 16814*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    7984             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    7985             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm), GPR:{ *:[i32] }:$Rn) - Complexity = 15
    7986             :                   // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    7987             : /* 16825*/      0, /*End of Scope*/
    7988             : /* 16826*/    /*Scope*/ 51, /*->16878*/
    7989             : /* 16827*/      OPC_RecordChild0, // #0 = $Rn
    7990             : /* 16828*/      OPC_MoveChild1,
    7991             : /* 16829*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7992             : /* 16832*/      OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7993             : /* 16843*/      OPC_RecordChild1, // #1 = $imm
    7994             : /* 16844*/      OPC_MoveChild1,
    7995             : /* 16845*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7996             : /* 16848*/      OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    7997             : /* 16850*/      OPC_MoveParent,
    7998             : /* 16851*/      OPC_MoveParent,
    7999             : /* 16852*/      OPC_CheckType, MVT::i32,
    8000             : /* 16854*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8001             : /* 16856*/      OPC_EmitConvertToTarget, 1,
    8002             : /* 16858*/      OPC_EmitInteger, MVT::i32, 14, 
    8003             : /* 16861*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8004             : /* 16864*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8005             : /* 16867*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8006             :                     MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8007             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm)) - Complexity = 15
    8008             :                 // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8009             : /* 16878*/    /*Scope*/ 102, /*->16981*/
    8010             : /* 16879*/      OPC_MoveChild0,
    8011             : /* 16880*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8012             : /* 16883*/      OPC_Scope, 47, /*->16932*/ // 2 children in Scope
    8013             : /* 16885*/        OPC_RecordChild0, // #0 = $imm
    8014             : /* 16886*/        OPC_MoveChild0,
    8015             : /* 16887*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8016             : /* 16890*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8017             : /* 16892*/        OPC_MoveParent,
    8018             : /* 16893*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8019             : /* 16904*/        OPC_MoveParent,
    8020             : /* 16905*/        OPC_RecordChild1, // #1 = $Rn
    8021             : /* 16906*/        OPC_CheckType, MVT::i32,
    8022             : /* 16908*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8023             : /* 16910*/        OPC_EmitConvertToTarget, 0,
    8024             : /* 16912*/        OPC_EmitInteger, MVT::i32, 14, 
    8025             : /* 16915*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8026             : /* 16918*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8027             : /* 16921*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8028             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    8029             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 15
    8030             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8031             : /* 16932*/      /*Scope*/ 47, /*->16980*/
    8032             : /* 16933*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8033             : /* 16944*/        OPC_RecordChild1, // #0 = $imm
    8034             : /* 16945*/        OPC_MoveChild1,
    8035             : /* 16946*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8036             : /* 16949*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8037             : /* 16951*/        OPC_MoveParent,
    8038             : /* 16952*/        OPC_MoveParent,
    8039             : /* 16953*/        OPC_RecordChild1, // #1 = $Rn
    8040             : /* 16954*/        OPC_CheckType, MVT::i32,
    8041             : /* 16956*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8042             : /* 16958*/        OPC_EmitConvertToTarget, 0,
    8043             : /* 16960*/        OPC_EmitInteger, MVT::i32, 14, 
    8044             : /* 16963*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8045             : /* 16966*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8046             : /* 16969*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8047             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    8048             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm), rGPR:{ *:[i32] }:$Rn) - Complexity = 15
    8049             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8050             : /* 16980*/      0, /*End of Scope*/
    8051             : /* 16981*/    /*Scope*/ 80|128,1/*208*/, /*->17191*/
    8052             : /* 16983*/      OPC_RecordChild0, // #0 = $Rn
    8053             : /* 16984*/      OPC_Scope, 113, /*->17099*/ // 2 children in Scope
    8054             : /* 16986*/        OPC_RecordChild1, // #1 = $shift
    8055             : /* 16987*/        OPC_CheckType, MVT::i32,
    8056             : /* 16989*/        OPC_Scope, 26, /*->17017*/ // 4 children in Scope
    8057             : /* 16991*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8058             : /* 16993*/          OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
    8059             : /* 16996*/          OPC_EmitInteger, MVT::i32, 14, 
    8060             : /* 16999*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8061             : /* 17002*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8062             : /* 17005*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsi), 0,
    8063             :                         MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    8064             :                     // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift) - Complexity = 12
    8065             :                     // Dst: (ANDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    8066             : /* 17017*/        /*Scope*/ 26, /*->17044*/
    8067             : /* 17018*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8068             : /* 17020*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    8069             : /* 17023*/          OPC_EmitInteger, MVT::i32, 14, 
    8070             : /* 17026*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8071             : /* 17029*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8072             : /* 17032*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrs), 0,
    8073             :                         MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    8074             :                     // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm) - Complexity = 12
    8075             :                     // Dst: (t2ANDrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    8076             : /* 17044*/        /*Scope*/ 26, /*->17071*/
    8077             : /* 17045*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8078             : /* 17047*/          OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
    8079             : /* 17050*/          OPC_EmitInteger, MVT::i32, 14, 
    8080             : /* 17053*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8081             : /* 17056*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8082             : /* 17059*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsi), 0,
    8083             :                         MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    8084             :                     // Src: (and:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 12
    8085             :                     // Dst: (ANDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    8086             : /* 17071*/        /*Scope*/ 26, /*->17098*/
    8087             : /* 17072*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8088             : /* 17074*/          OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    8089             : /* 17077*/          OPC_EmitInteger, MVT::i32, 14, 
    8090             : /* 17080*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8091             : /* 17083*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8092             : /* 17086*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrs), 0,
    8093             :                         MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    8094             :                     // Src: (and:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, rGPR:{ *:[i32] }:$Rn) - Complexity = 12
    8095             :                     // Dst: (t2ANDrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    8096             : /* 17098*/        0, /*End of Scope*/
    8097             : /* 17099*/      /*Scope*/ 90, /*->17190*/
    8098             : /* 17100*/        OPC_MoveChild1,
    8099             : /* 17101*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8100             : /* 17104*/        OPC_RecordChild0, // #1 = $Rm
    8101             : /* 17105*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8102             : /* 17116*/        OPC_MoveParent,
    8103             : /* 17117*/        OPC_CheckType, MVT::i32,
    8104             : /* 17119*/        OPC_Scope, 22, /*->17143*/ // 3 children in Scope
    8105             : /* 17121*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8106             : /* 17123*/          OPC_EmitInteger, MVT::i32, 14, 
    8107             : /* 17126*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8108             : /* 17129*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8109             : /* 17132*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrr), 0,
    8110             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8111             :                     // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
    8112             :                     // Dst: (BICrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    8113             : /* 17143*/        /*Scope*/ 22, /*->17166*/
    8114             : /* 17144*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8115             : /* 17146*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8116             : /* 17149*/          OPC_EmitInteger, MVT::i32, 14, 
    8117             : /* 17152*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8118             : /* 17155*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tBIC), 0,
    8119             :                         MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    8120             :                     // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
    8121             :                     // Dst: (tBIC:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    8122             : /* 17166*/        /*Scope*/ 22, /*->17189*/
    8123             : /* 17167*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8124             : /* 17169*/          OPC_EmitInteger, MVT::i32, 14, 
    8125             : /* 17172*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8126             : /* 17175*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8127             : /* 17178*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrr), 0,
    8128             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8129             :                     // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
    8130             :                     // Dst: (t2BICrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    8131             : /* 17189*/        0, /*End of Scope*/
    8132             : /* 17190*/      0, /*End of Scope*/
    8133             : /* 17191*/    /*Scope*/ 91, /*->17283*/
    8134             : /* 17192*/      OPC_MoveChild0,
    8135             : /* 17193*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8136             : /* 17196*/      OPC_RecordChild0, // #0 = $Rm
    8137             : /* 17197*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8138             : /* 17208*/      OPC_MoveParent,
    8139             : /* 17209*/      OPC_RecordChild1, // #1 = $Rn
    8140             : /* 17210*/      OPC_CheckType, MVT::i32,
    8141             : /* 17212*/      OPC_Scope, 22, /*->17236*/ // 3 children in Scope
    8142             : /* 17214*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8143             : /* 17216*/        OPC_EmitInteger, MVT::i32, 14, 
    8144             : /* 17219*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8145             : /* 17222*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8146             : /* 17225*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrr), 0,
    8147             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    8148             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 11
    8149             :                   // Dst: (BICrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    8150             : /* 17236*/      /*Scope*/ 22, /*->17259*/
    8151             : /* 17237*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8152             : /* 17239*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8153             : /* 17242*/        OPC_EmitInteger, MVT::i32, 14, 
    8154             : /* 17245*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8155             : /* 17248*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tBIC), 0,
    8156             :                       MVT::i32, 5/*#Ops*/, 2, 1, 0, 3, 4, 
    8157             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), tGPR:{ *:[i32] }:$Rn) - Complexity = 11
    8158             :                   // Dst: (tBIC:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    8159             : /* 17259*/      /*Scope*/ 22, /*->17282*/
    8160             : /* 17260*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8161             : /* 17262*/        OPC_EmitInteger, MVT::i32, 14, 
    8162             : /* 17265*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8163             : /* 17268*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8164             : /* 17271*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrr), 0,
    8165             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    8166             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 11
    8167             :                   // Dst: (t2BICrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    8168             : /* 17282*/      0, /*End of Scope*/
    8169             : /* 17283*/    /*Scope*/ 38, /*->17322*/
    8170             : /* 17284*/      OPC_RecordChild0, // #0 = $src
    8171             : /* 17285*/      OPC_RecordChild1, // #1 = $imm
    8172             : /* 17286*/      OPC_MoveChild1,
    8173             : /* 17287*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8174             : /* 17290*/      OPC_CheckPredicate, 25, // Predicate_mod_imm_not
    8175             : /* 17292*/      OPC_MoveParent,
    8176             : /* 17293*/      OPC_CheckType, MVT::i32,
    8177             : /* 17295*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8178             : /* 17297*/      OPC_EmitConvertToTarget, 1,
    8179             : /* 17299*/      OPC_EmitNodeXForm, 9, 2, // imm_not_XFORM
    8180             : /* 17302*/      OPC_EmitInteger, MVT::i32, 14, 
    8181             : /* 17305*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8182             : /* 17308*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8183             : /* 17311*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    8184             :                     MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    8185             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_mod_imm_not>><<X:imm_not_XFORM>>:$imm) - Complexity = 8
    8186             :                 // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_not_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm_not>>:$imm))
    8187             : /* 17322*/    /*Scope*/ 23, /*->17346*/
    8188             : /* 17323*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8189             : /* 17326*/      OPC_RecordChild0, // #0 = $Rm
    8190             : /* 17327*/      OPC_CheckType, MVT::i32,
    8191             : /* 17329*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasV6Ops()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8192             : /* 17331*/      OPC_EmitInteger, MVT::i32, 14, 
    8193             : /* 17334*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8194             : /* 17337*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::tUXTB), 0,
    8195             :                     MVT::i32, 3/*#Ops*/, 0, 1, 2, 
    8196             :                 // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }) - Complexity = 8
    8197             :                 // Dst: (tUXTB:{ *:[i32] } tGPR:{ *:[i32] }:$Rm)
    8198             : /* 17346*/    /*Scope*/ 24, /*->17371*/
    8199             : /* 17347*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8200             : /* 17351*/      OPC_RecordChild0, // #0 = $Rm
    8201             : /* 17352*/      OPC_CheckType, MVT::i32,
    8202             : /* 17354*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasV6Ops()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8203             : /* 17356*/      OPC_EmitInteger, MVT::i32, 14, 
    8204             : /* 17359*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8205             : /* 17362*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::tUXTH), 0,
    8206             :                     MVT::i32, 3/*#Ops*/, 0, 1, 2, 
    8207             :                 // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }) - Complexity = 8
    8208             :                 // Dst: (tUXTH:{ *:[i32] } tGPR:{ *:[i32] }:$Rm)
    8209             : /* 17371*/    /*Scope*/ 15|128,3/*399*/, /*->17772*/
    8210             : /* 17373*/      OPC_RecordChild0, // #0 = $src
    8211             : /* 17374*/      OPC_Scope, 37, /*->17413*/ // 4 children in Scope
    8212             : /* 17376*/        OPC_RecordChild1, // #1 = $imm
    8213             : /* 17377*/        OPC_MoveChild1,
    8214             : /* 17378*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8215             : /* 17381*/        OPC_CheckPredicate, 8, // Predicate_t2_so_imm_not
    8216             : /* 17383*/        OPC_MoveParent,
    8217             : /* 17384*/        OPC_CheckType, MVT::i32,
    8218             : /* 17386*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8219             : /* 17388*/        OPC_EmitConvertToTarget, 1,
    8220             : /* 17390*/        OPC_EmitNodeXForm, 1, 2, // t2_so_imm_not_XFORM
    8221             : /* 17393*/        OPC_EmitInteger, MVT::i32, 14, 
    8222             : /* 17396*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8223             : /* 17399*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8224             : /* 17402*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8225             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    8226             :                   // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>><<X:t2_so_imm_not_XFORM>>:$imm) - Complexity = 8
    8227             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$src, (t2_so_imm_not_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>>:$imm))
    8228             : /* 17413*/      /*Scope*/ 41, /*->17455*/
    8229             : /* 17414*/        OPC_MoveChild0,
    8230             : /* 17415*/        OPC_CheckPredicate, 26, // Predicate_top16Zero
    8231             : /* 17417*/        OPC_MoveParent,
    8232             : /* 17418*/        OPC_RecordChild1, // #1 = $imm
    8233             : /* 17419*/        OPC_MoveChild1,
    8234             : /* 17420*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8235             : /* 17423*/        OPC_CheckPredicate, 27, // Predicate_t2_so_imm_notSext
    8236             : /* 17425*/        OPC_MoveParent,
    8237             : /* 17426*/        OPC_CheckType, MVT::i32,
    8238             : /* 17428*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8239             : /* 17430*/        OPC_EmitConvertToTarget, 1,
    8240             : /* 17432*/        OPC_EmitNodeXForm, 10, 2, // t2_so_imm_notSext16_XFORM
    8241             : /* 17435*/        OPC_EmitInteger, MVT::i32, 14, 
    8242             : /* 17438*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8243             : /* 17441*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8244             : /* 17444*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8245             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    8246             :                   // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }<<P:Predicate_top16Zero>>:$src, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_notSext>><<X:t2_so_imm_notSext16_XFORM>>:$imm) - Complexity = 8
    8247             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$src, (t2_so_imm_notSext16_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_notSext>>:$imm))
    8248             : /* 17455*/      /*Scope*/ 68|128,1/*196*/, /*->17653*/
    8249             : /* 17457*/        OPC_RecordChild1, // #1 = $imm
    8250             : /* 17458*/        OPC_Scope, 118, /*->17578*/ // 2 children in Scope
    8251             : /* 17460*/          OPC_MoveChild1,
    8252             : /* 17461*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8253             : /* 17464*/          OPC_Scope, 29, /*->17495*/ // 4 children in Scope
    8254             : /* 17466*/            OPC_CheckPredicate, 7, // Predicate_mod_imm
    8255             : /* 17468*/            OPC_MoveParent,
    8256             : /* 17469*/            OPC_CheckType, MVT::i32,
    8257             : /* 17471*/            OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8258             : /* 17473*/            OPC_EmitConvertToTarget, 1,
    8259             : /* 17475*/            OPC_EmitInteger, MVT::i32, 14, 
    8260             : /* 17478*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8261             : /* 17481*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8262             : /* 17484*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDri), 0,
    8263             :                           MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8264             :                       // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm) - Complexity = 7
    8265             :                       // Dst: (ANDri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8266             : /* 17495*/          /*Scope*/ 25, /*->17521*/
    8267             : /* 17496*/            OPC_CheckPredicate, 28, // Predicate_bf_inv_mask_imm
    8268             : /* 17498*/            OPC_MoveParent,
    8269             : /* 17499*/            OPC_CheckType, MVT::i32,
    8270             : /* 17501*/            OPC_CheckPatternPredicate, 3, // (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb())
    8271             : /* 17503*/            OPC_EmitConvertToTarget, 1,
    8272             : /* 17505*/            OPC_EmitInteger, MVT::i32, 14, 
    8273             : /* 17508*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8274             : /* 17511*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::BFC), 0,
    8275             :                           MVT::i32, 4/*#Ops*/, 0, 2, 3, 4, 
    8276             :                       // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_bf_inv_mask_imm>>:$imm) - Complexity = 7
    8277             :                       // Dst: (BFC:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] }):$imm)
    8278             : /* 17521*/          /*Scope*/ 29, /*->17551*/
    8279             : /* 17522*/            OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8280             : /* 17524*/            OPC_MoveParent,
    8281             : /* 17525*/            OPC_CheckType, MVT::i32,
    8282             : /* 17527*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8283             : /* 17529*/            OPC_EmitConvertToTarget, 1,
    8284             : /* 17531*/            OPC_EmitInteger, MVT::i32, 14, 
    8285             : /* 17534*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8286             : /* 17537*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8287             : /* 17540*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDri), 0,
    8288             :                           MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8289             :                       // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm) - Complexity = 7
    8290             :                       // Dst: (t2ANDri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8291             : /* 17551*/          /*Scope*/ 25, /*->17577*/
    8292             : /* 17552*/            OPC_CheckPredicate, 28, // Predicate_bf_inv_mask_imm
    8293             : /* 17554*/            OPC_MoveParent,
    8294             : /* 17555*/            OPC_CheckType, MVT::i32,
    8295             : /* 17557*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8296             : /* 17559*/            OPC_EmitConvertToTarget, 1,
    8297             : /* 17561*/            OPC_EmitInteger, MVT::i32, 14, 
    8298             : /* 17564*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8299             : /* 17567*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BFC), 0,
    8300             :                           MVT::i32, 4/*#Ops*/, 0, 2, 3, 4, 
    8301             :                       // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_bf_inv_mask_imm>>:$imm) - Complexity = 7
    8302             :                       // Dst: (t2BFC:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] }):$imm)
    8303             : /* 17577*/          0, /*End of Scope*/
    8304             : /* 17578*/        /*Scope*/ 73, /*->17652*/
    8305             : /* 17579*/          OPC_CheckType, MVT::i32,
    8306             : /* 17581*/          OPC_Scope, 22, /*->17605*/ // 3 children in Scope
    8307             : /* 17583*/            OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8308             : /* 17585*/            OPC_EmitInteger, MVT::i32, 14, 
    8309             : /* 17588*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8310             : /* 17591*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8311             : /* 17594*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrr), 0,
    8312             :                           MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8313             :                       // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm) - Complexity = 3
    8314             :                       // Dst: (ANDrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    8315             : /* 17605*/          /*Scope*/ 22, /*->17628*/
    8316             : /* 17606*/            OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8317             : /* 17608*/            OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8318             : /* 17611*/            OPC_EmitInteger, MVT::i32, 14, 
    8319             : /* 17614*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8320             : /* 17617*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::tAND), 0,
    8321             :                           MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    8322             :                       // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 3
    8323             :                       // Dst: (tAND:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    8324             : /* 17628*/          /*Scope*/ 22, /*->17651*/
    8325             : /* 17629*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8326             : /* 17631*/            OPC_EmitInteger, MVT::i32, 14, 
    8327             : /* 17634*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8328             : /* 17637*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8329             : /* 17640*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrr), 0,
    8330             :                           MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8331             :                       // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm) - Complexity = 3
    8332             :                       // Dst: (t2ANDrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    8333             : /* 17651*/          0, /*End of Scope*/
    8334             : /* 17652*/        0, /*End of Scope*/
    8335             : /* 17653*/      /*Scope*/ 117, /*->17771*/
    8336             : /* 17654*/        OPC_MoveChild1,
    8337             : /* 17655*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8338             : /* 17658*/        OPC_Scope, 68, /*->17728*/ // 2 children in Scope
    8339             : /* 17660*/          OPC_RecordChild0, // #1 = $Vm
    8340             : /* 17661*/          OPC_MoveChild1,
    8341             : /* 17662*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8342             : /* 17665*/          OPC_MoveChild0,
    8343             : /* 17666*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8344             : /* 17669*/          OPC_MoveChild0,
    8345             : /* 17670*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8346             : /* 17673*/          OPC_MoveParent,
    8347             : /* 17674*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    8348             : /* 17676*/          OPC_SwitchType /*2 cases */, 23, MVT::v8i8,// ->17702
    8349             : /* 17679*/            OPC_MoveParent,
    8350             : /* 17680*/            OPC_MoveParent,
    8351             : /* 17681*/            OPC_MoveParent,
    8352             : /* 17682*/            OPC_CheckType, MVT::v2i32,
    8353             : /* 17684*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8354             : /* 17686*/            OPC_EmitInteger, MVT::i32, 14, 
    8355             : /* 17689*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8356             : /* 17692*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8357             :                           MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8358             :                       // Src: (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    8359             :                       // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8360             : /* 17702*/          /*SwitchType*/ 23, MVT::v16i8,// ->17727
    8361             : /* 17704*/            OPC_MoveParent,
    8362             : /* 17705*/            OPC_MoveParent,
    8363             : /* 17706*/            OPC_MoveParent,
    8364             : /* 17707*/            OPC_CheckType, MVT::v4i32,
    8365             : /* 17709*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8366             : /* 17711*/            OPC_EmitInteger, MVT::i32, 14, 
    8367             : /* 17714*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8368             : /* 17717*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8369             :                           MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8370             :                       // Src: (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    8371             :                       // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8372             : /* 17727*/          0, // EndSwitchType
    8373             : /* 17728*/        /*Scope*/ 41, /*->17770*/
    8374             : /* 17729*/          OPC_MoveChild0,
    8375             : /* 17730*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8376             : /* 17733*/          OPC_MoveChild0,
    8377             : /* 17734*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8378             : /* 17737*/          OPC_MoveChild0,
    8379             : /* 17738*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8380             : /* 17741*/          OPC_MoveParent,
    8381             : /* 17742*/          OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    8382             : /* 17744*/          OPC_CheckType, MVT::v8i8,
    8383             : /* 17746*/          OPC_MoveParent,
    8384             : /* 17747*/          OPC_MoveParent,
    8385             : /* 17748*/          OPC_RecordChild1, // #1 = $Vm
    8386             : /* 17749*/          OPC_MoveParent,
    8387             : /* 17750*/          OPC_CheckType, MVT::v2i32,
    8388             : /* 17752*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8389             : /* 17754*/          OPC_EmitInteger, MVT::i32, 14, 
    8390             : /* 17757*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8391             : /* 17760*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8392             :                         MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8393             :                     // Src: (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 16
    8394             :                     // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8395             : /* 17770*/        0, /*End of Scope*/
    8396             : /* 17771*/      0, /*End of Scope*/
    8397             : /* 17772*/    /*Scope*/ 92, /*->17865*/
    8398             : /* 17773*/      OPC_MoveChild0,
    8399             : /* 17774*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8400             : /* 17777*/      OPC_Scope, 42, /*->17821*/ // 2 children in Scope
    8401             : /* 17779*/        OPC_RecordChild0, // #0 = $Vm
    8402             : /* 17780*/        OPC_MoveChild1,
    8403             : /* 17781*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8404             : /* 17784*/        OPC_MoveChild0,
    8405             : /* 17785*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8406             : /* 17788*/        OPC_MoveChild0,
    8407             : /* 17789*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8408             : /* 17792*/        OPC_MoveParent,
    8409             : /* 17793*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    8410             : /* 17795*/        OPC_CheckType, MVT::v8i8,
    8411             : /* 17797*/        OPC_MoveParent,
    8412             : /* 17798*/        OPC_MoveParent,
    8413             : /* 17799*/        OPC_MoveParent,
    8414             : /* 17800*/        OPC_RecordChild1, // #1 = $Vn
    8415             : /* 17801*/        OPC_CheckType, MVT::v2i32,
    8416             : /* 17803*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8417             : /* 17805*/        OPC_EmitInteger, MVT::i32, 14, 
    8418             : /* 17808*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8419             : /* 17811*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8420             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8421             :                   // Src: (and:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    8422             :                   // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8423             : /* 17821*/      /*Scope*/ 42, /*->17864*/
    8424             : /* 17822*/        OPC_MoveChild0,
    8425             : /* 17823*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8426             : /* 17826*/        OPC_MoveChild0,
    8427             : /* 17827*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8428             : /* 17830*/        OPC_MoveChild0,
    8429             : /* 17831*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8430             : /* 17834*/        OPC_MoveParent,
    8431             : /* 17835*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    8432             : /* 17837*/        OPC_CheckType, MVT::v8i8,
    8433             : /* 17839*/        OPC_MoveParent,
    8434             : /* 17840*/        OPC_MoveParent,
    8435             : /* 17841*/        OPC_RecordChild1, // #0 = $Vm
    8436             : /* 17842*/        OPC_MoveParent,
    8437             : /* 17843*/        OPC_RecordChild1, // #1 = $Vn
    8438             : /* 17844*/        OPC_CheckType, MVT::v2i32,
    8439             : /* 17846*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8440             : /* 17848*/        OPC_EmitInteger, MVT::i32, 14, 
    8441             : /* 17851*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8442             : /* 17854*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8443             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8444             :                   // Src: (and:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    8445             :                   // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8446             : /* 17864*/      0, /*End of Scope*/
    8447             : /* 17865*/    /*Scope*/ 46, /*->17912*/
    8448             : /* 17866*/      OPC_RecordChild0, // #0 = $Vn
    8449             : /* 17867*/      OPC_MoveChild1,
    8450             : /* 17868*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8451             : /* 17871*/      OPC_MoveChild0,
    8452             : /* 17872*/      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8453             : /* 17875*/      OPC_MoveChild0,
    8454             : /* 17876*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8455             : /* 17879*/      OPC_MoveChild0,
    8456             : /* 17880*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8457             : /* 17883*/      OPC_MoveParent,
    8458             : /* 17884*/      OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    8459             : /* 17886*/      OPC_CheckType, MVT::v16i8,
    8460             : /* 17888*/      OPC_MoveParent,
    8461             : /* 17889*/      OPC_MoveParent,
    8462             : /* 17890*/      OPC_RecordChild1, // #1 = $Vm
    8463             : /* 17891*/      OPC_MoveParent,
    8464             : /* 17892*/      OPC_CheckType, MVT::v4i32,
    8465             : /* 17894*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8466             : /* 17896*/      OPC_EmitInteger, MVT::i32, 14, 
    8467             : /* 17899*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8468             : /* 17902*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8469             :                     MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8470             :                 // Src: (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 16
    8471             :                 // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8472             : /* 17912*/    /*Scope*/ 92, /*->18005*/
    8473             : /* 17913*/      OPC_MoveChild0,
    8474             : /* 17914*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8475             : /* 17917*/      OPC_Scope, 42, /*->17961*/ // 2 children in Scope
    8476             : /* 17919*/        OPC_RecordChild0, // #0 = $Vm
    8477             : /* 17920*/        OPC_MoveChild1,
    8478             : /* 17921*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8479             : /* 17924*/        OPC_MoveChild0,
    8480             : /* 17925*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8481             : /* 17928*/        OPC_MoveChild0,
    8482             : /* 17929*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8483             : /* 17932*/        OPC_MoveParent,
    8484             : /* 17933*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    8485             : /* 17935*/        OPC_CheckType, MVT::v16i8,
    8486             : /* 17937*/        OPC_MoveParent,
    8487             : /* 17938*/        OPC_MoveParent,
    8488             : /* 17939*/        OPC_MoveParent,
    8489             : /* 17940*/        OPC_RecordChild1, // #1 = $Vn
    8490             : /* 17941*/        OPC_CheckType, MVT::v4i32,
    8491             : /* 17943*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8492             : /* 17945*/        OPC_EmitInteger, MVT::i32, 14, 
    8493             : /* 17948*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8494             : /* 17951*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8495             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8496             :                   // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    8497             :                   // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8498             : /* 17961*/      /*Scope*/ 42, /*->18004*/
    8499             : /* 17962*/        OPC_MoveChild0,
    8500             : /* 17963*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8501             : /* 17966*/        OPC_MoveChild0,
    8502             : /* 17967*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8503             : /* 17970*/        OPC_MoveChild0,
    8504             : /* 17971*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8505             : /* 17974*/        OPC_MoveParent,
    8506             : /* 17975*/        OPC_CheckPredicate, 9, // Predicate_NEONimmAllOnesV
    8507             : /* 17977*/        OPC_CheckType, MVT::v16i8,
    8508             : /* 17979*/        OPC_MoveParent,
    8509             : /* 17980*/        OPC_MoveParent,
    8510             : /* 17981*/        OPC_RecordChild1, // #0 = $Vm
    8511             : /* 17982*/        OPC_MoveParent,
    8512             : /* 17983*/        OPC_RecordChild1, // #1 = $Vn
    8513             : /* 17984*/        OPC_CheckType, MVT::v4i32,
    8514             : /* 17986*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8515             : /* 17988*/        OPC_EmitInteger, MVT::i32, 14, 
    8516             : /* 17991*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8517             : /* 17994*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8518             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8519             :                   // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    8520             :                   // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8521             : /* 18004*/      0, /*End of Scope*/
    8522             : /* 18005*/    /*Scope*/ 44, /*->18050*/
    8523             : /* 18006*/      OPC_RecordChild0, // #0 = $Vn
    8524             : /* 18007*/      OPC_RecordChild1, // #1 = $Vm
    8525             : /* 18008*/      OPC_SwitchType /*2 cases */, 18, MVT::v2i32,// ->18029
    8526             : /* 18011*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8527             : /* 18013*/        OPC_EmitInteger, MVT::i32, 14, 
    8528             : /* 18016*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8529             : /* 18019*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDd), 0,
    8530             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8531             :                   // Src: (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm) - Complexity = 3
    8532             :                   // Dst: (VANDd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8533             : /* 18029*/      /*SwitchType*/ 18, MVT::v4i32,// ->18049
    8534             : /* 18031*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8535             : /* 18033*/        OPC_EmitInteger, MVT::i32, 14, 
    8536             : /* 18036*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8537             : /* 18039*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDq), 0,
    8538             :                       MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8539             :                   // Src: (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm) - Complexity = 3
    8540             :                   // Dst: (VANDq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8541             : /* 18049*/      0, // EndSwitchType
    8542             : /* 18050*/    0, /*End of Scope*/
    8543             : /* 18051*/  /*SwitchOpcode*/ 79|128,2/*335*/, TARGET_VAL(ISD::SRL),// ->18390
    8544             : /* 18055*/    OPC_Scope, 18|128,1/*146*/, /*->18204*/ // 3 children in Scope
    8545             : /* 18058*/      OPC_MoveChild0,
    8546             : /* 18059*/      OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
    8547             : /* 18062*/      OPC_MoveChild0,
    8548             : /* 18063*/      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    8549             : /* 18066*/      OPC_RecordMemRef,
    8550             : /* 18067*/      OPC_RecordNode, // #0 = 'ld' chained node
    8551             : /* 18068*/      OPC_CheckFoldableChainNode,
    8552             : /* 18069*/      OPC_RecordChild1, // #1 = $addr
    8553             : /* 18070*/      OPC_CheckChild1Type, MVT::i32,
    8554             : /* 18072*/      OPC_CheckPredicate, 29, // Predicate_unindexedload
    8555             : /* 18074*/      OPC_CheckPredicate, 30, // Predicate_extload
    8556             : /* 18076*/      OPC_CheckPredicate, 31, // Predicate_extloadi16
    8557             : /* 18078*/      OPC_MoveParent,
    8558             : /* 18079*/      OPC_MoveParent,
    8559             : /* 18080*/      OPC_CheckChild1Integer, 16, 
    8560             : /* 18082*/      OPC_CheckChild1Type, MVT::i32,
    8561             : /* 18084*/      OPC_CheckType, MVT::i32,
    8562             : /* 18086*/      OPC_Scope, 38, /*->18126*/ // 2 children in Scope
    8563             : /* 18088*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    8564             : /* 18090*/        OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectAddrMode3:$addr #2 #3 #4
    8565             : /* 18093*/        OPC_EmitMergeInputChains1_0,
    8566             : /* 18094*/        OPC_EmitInteger, MVT::i32, 14, 
    8567             : /* 18097*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8568             : /* 18100*/        OPC_EmitNode1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
    8569             :                       MVT::i32, 5/*#Ops*/, 2, 3, 4, 5, 6,  // Results = #7
    8570             : /* 18111*/        OPC_EmitInteger, MVT::i32, 14, 
    8571             : /* 18114*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8572             : /* 18117*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::REV16), 0,
    8573             :                       MVT::i32, 3/*#Ops*/, 7, 8, 9, 
    8574             :                   // Src: (srl:{ *:[i32] } (bswap:{ *:[i32] } (ld:{ *:[i32] } addrmode3:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>), 16:{ *:[i32] }) - Complexity = 27
    8575             :                   // Dst: (REV16:{ *:[i32] } (LDRH:{ *:[i32] } addrmode3:{ *:[i32] }:$addr))
    8576             : /* 18126*/      /*Scope*/ 76, /*->18203*/
    8577             : /* 18127*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8578             : /* 18129*/        OPC_Scope, 35, /*->18166*/ // 2 children in Scope
    8579             : /* 18131*/          OPC_CheckComplexPat, /*CP*/5, /*#*/1, // SelectThumbAddrModeImm5S2:$addr #2 #3
    8580             : /* 18134*/          OPC_EmitMergeInputChains1_0,
    8581             : /* 18135*/          OPC_EmitInteger, MVT::i32, 14, 
    8582             : /* 18138*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8583             : /* 18141*/          OPC_EmitNode1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
    8584             :                         MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #6
    8585             : /* 18151*/          OPC_EmitInteger, MVT::i32, 14, 
    8586             : /* 18154*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8587             : /* 18157*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tREV16), 0,
    8588             :                         MVT::i32, 3/*#Ops*/, 6, 7, 8, 
    8589             :                     // Src: (srl:{ *:[i32] } (bswap:{ *:[i32] } (ld:{ *:[i32] } t_addrmode_is2:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>), 16:{ *:[i32] }) - Complexity = 24
    8590             :                     // Dst: (tREV16:{ *:[i32] } (tLDRHi:{ *:[i32] } t_addrmode_is2:{ *:[i32] }:$addr))
    8591             : /* 18166*/        /*Scope*/ 35, /*->18202*/
    8592             : /* 18167*/          OPC_CheckComplexPat, /*CP*/6, /*#*/1, // SelectThumbAddrModeRR:$addr #2 #3
    8593             : /* 18170*/          OPC_EmitMergeInputChains1_0,
    8594             : /* 18171*/          OPC_EmitInteger, MVT::i32, 14, 
    8595             : /* 18174*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8596             : /* 18177*/          OPC_EmitNode1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
    8597             :                         MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #6
    8598             : /* 18187*/          OPC_EmitInteger, MVT::i32, 14, 
    8599             : /* 18190*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8600             : /* 18193*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tREV16), 0,
    8601             :                         MVT::i32, 3/*#Ops*/, 6, 7, 8, 
    8602             :                     // Src: (srl:{ *:[i32] } (bswap:{ *:[i32] } (ld:{ *:[i32] } t_addrmode_rr:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>), 16:{ *:[i32] }) - Complexity = 24
    8603             :                     // Dst: (tREV16:{ *:[i32] } (tLDRHr:{ *:[i32] } t_addrmode_rr:{ *:[i32] }:$addr))
    8604             : /* 18202*/        0, /*End of Scope*/
    8605             : /* 18203*/      0, /*End of Scope*/
    8606             : /* 18204*/    /*Scope*/ 56, /*->18261*/
    8607             : /* 18205*/      OPC_RecordNode, // #0 = $src
    8608             : /* 18206*/      OPC_CheckType, MVT::i32,
    8609             : /* 18208*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8610             : /* 18210*/      OPC_Scope, 24, /*->18236*/ // 2 children in Scope
    8611             : /* 18212*/        OPC_CheckComplexPat, /*CP*/7, /*#*/0, // SelectShiftRegShifterOperand:$src #1 #2 #3
    8612             : /* 18215*/        OPC_EmitInteger, MVT::i32, 14, 
    8613             : /* 18218*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8614             : /* 18221*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8615             : /* 18224*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVsr), 0,
    8616             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    8617             :                   // Src: shift_so_reg_reg:{ *:[i32] }:$src - Complexity = 12
    8618             :                   // Dst: (MOVsr:{ *:[i32] } shift_so_reg_reg:{ *:[i32] }:$src)
    8619             : /* 18236*/      /*Scope*/ 23, /*->18260*/
    8620             : /* 18237*/        OPC_CheckComplexPat, /*CP*/8, /*#*/0, // SelectShiftImmShifterOperand:$src #1 #2
    8621             : /* 18240*/        OPC_EmitInteger, MVT::i32, 14, 
    8622             : /* 18243*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8623             : /* 18246*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8624             : /* 18249*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVsi), 0,
    8625             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    8626             :                   // Src: shift_so_reg_imm:{ *:[i32] }:$src - Complexity = 9
    8627             :                   // Dst: (MOVsi:{ *:[i32] } shift_so_reg_imm:{ *:[i32] }:$src)
    8628             : /* 18260*/      0, /*End of Scope*/
    8629             : /* 18261*/    /*Scope*/ 127, /*->18389*/
    8630             : /* 18262*/      OPC_RecordChild0, // #0 = $Rm
    8631             : /* 18263*/      OPC_RecordChild1, // #1 = $imm5
    8632             : /* 18264*/      OPC_Scope, 69, /*->18335*/ // 2 children in Scope
    8633             : /* 18266*/        OPC_MoveChild1,
    8634             : /* 18267*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8635             : /* 18270*/        OPC_CheckPredicate, 32, // Predicate_imm_sr
    8636             : /* 18272*/        OPC_CheckType, MVT::i32,
    8637             : /* 18274*/        OPC_MoveParent,
    8638             : /* 18275*/        OPC_CheckType, MVT::i32,
    8639             : /* 18277*/        OPC_Scope, 27, /*->18306*/ // 2 children in Scope
    8640             : /* 18279*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8641             : /* 18281*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8642             : /* 18284*/          OPC_EmitConvertToTarget, 1,
    8643             : /* 18286*/          OPC_EmitNodeXForm, 11, 3, // imm_sr_XFORM
    8644             : /* 18289*/          OPC_EmitInteger, MVT::i32, 14, 
    8645             : /* 18292*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8646             : /* 18295*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tLSRri), 0,
    8647             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    8648             :                     // Src: (srl:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm_sr>><<X:imm_sr_XFORM>>:$imm5) - Complexity = 7
    8649             :                     // Dst: (tLSRri:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm_sr_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm5))
    8650             : /* 18306*/        /*Scope*/ 27, /*->18334*/
    8651             : /* 18307*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8652             : /* 18309*/          OPC_EmitConvertToTarget, 1,
    8653             : /* 18311*/          OPC_EmitNodeXForm, 11, 2, // imm_sr_XFORM
    8654             : /* 18314*/          OPC_EmitInteger, MVT::i32, 14, 
    8655             : /* 18317*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8656             : /* 18320*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8657             : /* 18323*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LSRri), 0,
    8658             :                         MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    8659             :                     // Src: (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm_sr>><<X:imm_sr_XFORM>>:$imm) - Complexity = 7
    8660             :                     // Dst: (t2LSRri:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm_sr_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm))
    8661             : /* 18334*/        0, /*End of Scope*/
    8662             : /* 18335*/      /*Scope*/ 52, /*->18388*/
    8663             : /* 18336*/        OPC_CheckChild1Type, MVT::i32,
    8664             : /* 18338*/        OPC_CheckType, MVT::i32,
    8665             : /* 18340*/        OPC_Scope, 22, /*->18364*/ // 2 children in Scope
    8666             : /* 18342*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8667             : /* 18344*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8668             : /* 18347*/          OPC_EmitInteger, MVT::i32, 14, 
    8669             : /* 18350*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8670             : /* 18353*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tLSRrr), 0,
    8671             :                         MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    8672             :                     // Src: (srl:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 3
    8673             :                     // Dst: (tLSRrr:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    8674             : /* 18364*/        /*Scope*/ 22, /*->18387*/
    8675             : /* 18365*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8676             : /* 18367*/          OPC_EmitInteger, MVT::i32, 14, 
    8677             : /* 18370*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8678             : /* 18373*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8679             : /* 18376*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LSRrr), 0,
    8680             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8681             :                     // Src: (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm) - Complexity = 3
    8682             :                     // Dst: (t2LSRrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    8683             : /* 18387*/        0, /*End of Scope*/
    8684             : /* 18388*/      0, /*End of Scope*/
    8685             : /* 18389*/    0, /*End of Scope*/
    8686             : /* 18390*/  /*SwitchOpcode*/ 103|128,20/*2663*/, TARGET_VAL(ISD::STORE),// ->21057
    8687             : /* 18394*/    OPC_RecordMemRef,
    8688             : /* 18395*/    OPC_RecordNode, // #0 = 'st' chained node
    8689             : /* 18396*/    OPC_Scope, 88|128,3/*472*/, /*->18871*/ // 6 children in Scope
    8690             : /* 18399*/      OPC_MoveChild1,
    8691             : /* 18400*/      OPC_SwitchOpcode /*3 cases */, 12|128,1/*140*/, TARGET_VAL(ISD::SRL),// ->18545
    8692             : /* 18405*/        OPC_MoveChild0,
    8693             : /* 18406*/        OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
    8694             : /* 18409*/        OPC_RecordChild0, // #1 = $Rn
    8695             : /* 18410*/        OPC_MoveParent,
    8696             : /* 18411*/        OPC_CheckChild1Integer, 16, 
    8697             : /* 18413*/        OPC_CheckChild1Type, MVT::i32,
    8698             : /* 18415*/        OPC_CheckType, MVT::i32,
    8699             : /* 18417*/        OPC_MoveParent,
    8700             : /* 18418*/        OPC_RecordChild2, // #2 = $addr
    8701             : /* 18419*/        OPC_CheckChild2Type, MVT::i32,
    8702             : /* 18421*/        OPC_CheckPredicate, 33, // Predicate_unindexedstore
    8703             : /* 18423*/        OPC_CheckPredicate, 34, // Predicate_truncstore
    8704             : /* 18425*/        OPC_CheckPredicate, 35, // Predicate_truncstorei16
    8705             : /* 18427*/        OPC_Scope, 38, /*->18467*/ // 2 children in Scope
    8706             : /* 18429*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    8707             : /* 18431*/          OPC_CheckComplexPat, /*CP*/4, /*#*/2, // SelectAddrMode3:$addr #3 #4 #5
    8708             : /* 18434*/          OPC_EmitMergeInputChains1_0,
    8709             : /* 18435*/          OPC_EmitInteger, MVT::i32, 14, 
    8710             : /* 18438*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8711             : /* 18441*/          OPC_EmitNode1, TARGET_VAL(ARM::REV16), 0,
    8712             :                         MVT::i32, 3/*#Ops*/, 1, 6, 7,  // Results = #8
    8713             : /* 18450*/          OPC_EmitInteger, MVT::i32, 14, 
    8714             : /* 18453*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8715             : /* 18456*/          OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
    8716             :                         6/*#Ops*/, 8, 3, 4, 5, 9, 10, 
    8717             :                     // Src: (st (srl:{ *:[i32] } (bswap:{ *:[i32] } GPR:{ *:[i32] }:$Rn), 16:{ *:[i32] }), addrmode3:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 27
    8718             :                     // Dst: (STRH (REV16:{ *:[i32] } GPR:{ *:[i32] }:$Rn), addrmode3:{ *:[i32] }:$addr)