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: 443 476 93.1 %
Date: 2018-10-20 13:21:21 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 */, 105|128,45/*5865*/, TARGET_VAL(ISD::OR),// ->5870
      58             : /*     5*/    OPC_Scope, 101|128,5/*741*/, /*->749*/ // 18 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*/ 43|128,2/*299*/, /*->2119*/
     895             : /*  1820*/      OPC_RecordChild0, // #0 = $Rn
     896             : /*  1821*/      OPC_Scope, 124|128,1/*252*/, /*->2076*/ // 2 children in Scope
     897             : /*  1824*/        OPC_RecordChild1, // #1 = $imm
     898             : /*  1825*/        OPC_Scope, 6|128,1/*134*/, /*->1962*/ // 2 children in Scope
     899             : /*  1828*/          OPC_MoveChild1,
     900             : /*  1829*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     901             : /*  1832*/          OPC_Scope, 32, /*->1866*/ // 4 children in Scope
     902             : /*  1834*/            OPC_CheckPredicate, 7, // Predicate_imm0_7
     903             : /*  1836*/            OPC_MoveParent,
     904             : /*  1837*/            OPC_CheckType, MVT::i32,
     905             : /*  1839*/            OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
     906             : /*  1841*/            OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectAddLikeOr:$Rn #2
     907             : /*  1844*/            OPC_EmitRegister, MVT::i32, ARM::CPSR,
     908             : /*  1847*/            OPC_EmitConvertToTarget, 1,
     909             : /*  1849*/            OPC_EmitInteger, MVT::i32, 14, 
     910             : /*  1852*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     911             : /*  1855*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi3), 0,
     912             :                           MVT::i32, 5/*#Ops*/, 3, 2, 4, 5, 6, 
     913             :                       // Src: (or:{ *:[i32] } AddLikeOrOp:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm0_7>>:$imm) - Complexity = 13
     914             :                       // Dst: (tADDi3:{ *:[i32] } ?:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm0_7>>:$imm)
     915             : /*  1866*/          /*Scope*/ 32, /*->1899*/
     916             : /*  1867*/            OPC_CheckPredicate, 8, // Predicate_imm8_255
     917             : /*  1869*/            OPC_MoveParent,
     918             : /*  1870*/            OPC_CheckType, MVT::i32,
     919             : /*  1872*/            OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
     920             : /*  1874*/            OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectAddLikeOr:$Rn #2
     921             : /*  1877*/            OPC_EmitRegister, MVT::i32, ARM::CPSR,
     922             : /*  1880*/            OPC_EmitConvertToTarget, 1,
     923             : /*  1882*/            OPC_EmitInteger, MVT::i32, 14, 
     924             : /*  1885*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     925             : /*  1888*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi8), 0,
     926             :                           MVT::i32, 5/*#Ops*/, 3, 2, 4, 5, 6, 
     927             :                       // Src: (or:{ *:[i32] } AddLikeOrOp:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm8_255>>:$imm) - Complexity = 13
     928             :                       // Dst: (tADDi8:{ *:[i32] } ?:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm8_255>>:$imm)
     929             : /*  1899*/          /*Scope*/ 32, /*->1932*/
     930             : /*  1900*/            OPC_CheckPredicate, 6, // Predicate_t2_so_imm
     931             : /*  1902*/            OPC_MoveParent,
     932             : /*  1903*/            OPC_CheckType, MVT::i32,
     933             : /*  1905*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     934             : /*  1907*/            OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectAddLikeOr:$Rn #2
     935             : /*  1910*/            OPC_EmitConvertToTarget, 1,
     936             : /*  1912*/            OPC_EmitInteger, MVT::i32, 14, 
     937             : /*  1915*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     938             : /*  1918*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     939             : /*  1921*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri), 0,
     940             :                           MVT::i32, 5/*#Ops*/, 2, 3, 4, 5, 6, 
     941             :                       // Src: (or:{ *:[i32] } AddLikeOrOp:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm) - Complexity = 13
     942             :                       // Dst: (t2ADDri:{ *:[i32] } ?:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm)
     943             : /*  1932*/          /*Scope*/ 28, /*->1961*/
     944             : /*  1933*/            OPC_CheckPredicate, 9, // Predicate_imm0_4095
     945             : /*  1935*/            OPC_MoveParent,
     946             : /*  1936*/            OPC_CheckType, MVT::i32,
     947             : /*  1938*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     948             : /*  1940*/            OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectAddLikeOr:$Rn #2
     949             : /*  1943*/            OPC_EmitConvertToTarget, 1,
     950             : /*  1945*/            OPC_EmitInteger, MVT::i32, 14, 
     951             : /*  1948*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     952             : /*  1951*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri12), 0,
     953             :                           MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
     954             :                       // Src: (or:{ *:[i32] } AddLikeOrOp:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm0_4095>>:$Rm) - Complexity = 13
     955             :                       // Dst: (t2ADDri12:{ *:[i32] } ?:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm0_4095>>:$Rm)
     956             : /*  1961*/          0, /*End of Scope*/
     957             : /*  1962*/        /*Scope*/ 112, /*->2075*/
     958             : /*  1963*/          OPC_CheckType, MVT::i32,
     959             : /*  1965*/          OPC_Scope, 26, /*->1993*/ // 4 children in Scope
     960             : /*  1967*/            OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
     961             : /*  1969*/            OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
     962             : /*  1972*/            OPC_EmitInteger, MVT::i32, 14, 
     963             : /*  1975*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     964             : /*  1978*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     965             : /*  1981*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsi), 0,
     966             :                           MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
     967             :                       // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift) - Complexity = 12
     968             :                       // Dst: (ORRrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
     969             : /*  1993*/          /*Scope*/ 26, /*->2020*/
     970             : /*  1994*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     971             : /*  1996*/            OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
     972             : /*  1999*/            OPC_EmitInteger, MVT::i32, 14, 
     973             : /*  2002*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     974             : /*  2005*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     975             : /*  2008*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrs), 0,
     976             :                           MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
     977             :                       // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm) - Complexity = 12
     978             :                       // Dst: (t2ORRrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
     979             : /*  2020*/          /*Scope*/ 26, /*->2047*/
     980             : /*  2021*/            OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
     981             : /*  2023*/            OPC_CheckComplexPat, /*CP*/3, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
     982             : /*  2026*/            OPC_EmitInteger, MVT::i32, 14, 
     983             : /*  2029*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     984             : /*  2032*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     985             : /*  2035*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsi), 0,
     986             :                           MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
     987             :                       // Src: (or:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 12
     988             :                       // Dst: (ORRrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
     989             : /*  2047*/          /*Scope*/ 26, /*->2074*/
     990             : /*  2048*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
     991             : /*  2050*/            OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
     992             : /*  2053*/            OPC_EmitInteger, MVT::i32, 14, 
     993             : /*  2056*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     994             : /*  2059*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
     995             : /*  2062*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrs), 0,
     996             :                           MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
     997             :                       // Src: (or:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, rGPR:{ *:[i32] }:$Rn) - Complexity = 12
     998             :                       // Dst: (t2ORRrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
     999             : /*  2074*/          0, /*End of Scope*/
    1000             : /*  2075*/        0, /*End of Scope*/
    1001             : /*  2076*/      /*Scope*/ 41, /*->2118*/
    1002             : /*  2077*/        OPC_MoveChild1,
    1003             : /*  2078*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1004             : /*  2081*/        OPC_RecordChild0, // #1 = $Rm
    1005             : /*  2082*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    1006             : /*  2093*/        OPC_MoveParent,
    1007             : /*  2094*/        OPC_CheckType, MVT::i32,
    1008             : /*  2096*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1009             : /*  2098*/        OPC_EmitInteger, MVT::i32, 14, 
    1010             : /*  2101*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1011             : /*  2104*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1012             : /*  2107*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrr), 0,
    1013             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1014             :                   // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
    1015             :                   // Dst: (t2ORNrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    1016             : /*  2118*/      0, /*End of Scope*/
    1017             : /*  2119*/    /*Scope*/ 42, /*->2162*/
    1018             : /*  2120*/      OPC_MoveChild0,
    1019             : /*  2121*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1020             : /*  2124*/      OPC_RecordChild0, // #0 = $Rm
    1021             : /*  2125*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    1022             : /*  2136*/      OPC_MoveParent,
    1023             : /*  2137*/      OPC_RecordChild1, // #1 = $Rn
    1024             : /*  2138*/      OPC_CheckType, MVT::i32,
    1025             : /*  2140*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1026             : /*  2142*/      OPC_EmitInteger, MVT::i32, 14, 
    1027             : /*  2145*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1028             : /*  2148*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1029             : /*  2151*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrr), 0,
    1030             :                     MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1031             :                 // Src: (or:{ *:[i32] } (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 11
    1032             :                 // Dst: (t2ORNrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    1033             : /*  2162*/    /*Scope*/ 125, /*->2288*/
    1034             : /*  2163*/      OPC_RecordChild0, // #0 = $Rn
    1035             : /*  2164*/      OPC_Scope, 32, /*->2198*/ // 3 children in Scope
    1036             : /*  2166*/        OPC_RecordChild1, // #1 = $Rm
    1037             : /*  2167*/        OPC_MoveChild1,
    1038             : /*  2168*/        OPC_CheckPredicate, 10, // Predicate_non_imm32
    1039             : /*  2170*/        OPC_MoveParent,
    1040             : /*  2171*/        OPC_CheckType, MVT::i32,
    1041             : /*  2173*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1042             : /*  2175*/        OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectAddLikeOr:$Rn #2
    1043             : /*  2178*/        OPC_EmitInteger, MVT::i32, 14, 
    1044             : /*  2181*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1045             : /*  2184*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1046             : /*  2187*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
    1047             :                       MVT::i32, 5/*#Ops*/, 2, 1, 3, 4, 5, 
    1048             :                   // Src: (or:{ *:[i32] } AddLikeOrOp:{ *:[i32] }:$Rn, GPR:{ *:[i32] }<<P:Predicate_non_imm32>>:$Rm) - Complexity = 10
    1049             :                   // Dst: (t2ADDrr:{ *:[i32] } ?:{ *:[i32] }:$Rn, ?:{ *:[i32] }:$Rm)
    1050             : /*  2198*/      /*Scope*/ 32, /*->2231*/
    1051             : /*  2199*/        OPC_MoveChild0,
    1052             : /*  2200*/        OPC_CheckPredicate, 10, // Predicate_non_imm32
    1053             : /*  2202*/        OPC_MoveParent,
    1054             : /*  2203*/        OPC_RecordChild1, // #1 = $Rn
    1055             : /*  2204*/        OPC_CheckType, MVT::i32,
    1056             : /*  2206*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1057             : /*  2208*/        OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectAddLikeOr:$Rn #2
    1058             : /*  2211*/        OPC_EmitInteger, MVT::i32, 14, 
    1059             : /*  2214*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1060             : /*  2217*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1061             : /*  2220*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
    1062             :                       MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    1063             :                   // Src: (or:{ *:[i32] } GPR:{ *:[i32] }<<P:Predicate_non_imm32>>:$Rm, AddLikeOrOp:{ *:[i32] }:$Rn) - Complexity = 10
    1064             :                   // Dst: (t2ADDrr:{ *:[i32] } ?:{ *:[i32] }:$Rn, ?:{ *:[i32] }:$Rm)
    1065             : /*  2231*/      /*Scope*/ 55, /*->2287*/
    1066             : /*  2232*/        OPC_RecordChild1, // #1 = $Rm
    1067             : /*  2233*/        OPC_CheckType, MVT::i32,
    1068             : /*  2235*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    1069             : /*  2237*/        OPC_Scope, 23, /*->2262*/ // 2 children in Scope
    1070             : /*  2239*/          OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectAddLikeOr:$Rn #2
    1071             : /*  2242*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    1072             : /*  2245*/          OPC_EmitInteger, MVT::i32, 14, 
    1073             : /*  2248*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1074             : /*  2251*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDrr), 0,
    1075             :                         MVT::i32, 5/*#Ops*/, 3, 2, 1, 4, 5, 
    1076             :                     // Src: (or:{ *:[i32] } AddLikeOrOp:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 9
    1077             :                     // Dst: (tADDrr:{ *:[i32] } ?:{ *:[i32] }:$Rn, ?:{ *:[i32] }:$Rm)
    1078             : /*  2262*/        /*Scope*/ 23, /*->2286*/
    1079             : /*  2263*/          OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectAddLikeOr:$Rn #2
    1080             : /*  2266*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    1081             : /*  2269*/          OPC_EmitInteger, MVT::i32, 14, 
    1082             : /*  2272*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1083             : /*  2275*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDrr), 0,
    1084             :                         MVT::i32, 5/*#Ops*/, 3, 2, 0, 4, 5, 
    1085             :                     // Src: (or:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, AddLikeOrOp:{ *:[i32] }:$Rn) - Complexity = 9
    1086             :                     // Dst: (tADDrr:{ *:[i32] } ?:{ *:[i32] }:$Rn, ?:{ *:[i32] }:$Rm)
    1087             : /*  2286*/        0, /*End of Scope*/
    1088             : /*  2287*/      0, /*End of Scope*/
    1089             : /*  2288*/    /*Scope*/ 59, /*->2348*/
    1090             : /*  2289*/      OPC_CheckOrImm, 0|128,0|128,124|128,127|128,15/*4294901760*/, 
    1091             : /*  2295*/      OPC_RecordChild0, // #0 = $src
    1092             : /*  2296*/      OPC_CheckType, MVT::i32,
    1093             : /*  2298*/      OPC_Scope, 23, /*->2323*/ // 2 children in Scope
    1094             : /*  2300*/        OPC_CheckPatternPredicate, 3, // (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb())
    1095             : /*  2302*/        OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/, 
    1096             : /*  2307*/        OPC_EmitInteger, MVT::i32, 14, 
    1097             : /*  2310*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1098             : /*  2313*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVTi16), 0,
    1099             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    1100             :                   // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$src, 4294901760:{ *:[i32] }) - Complexity = 8
    1101             :                   // Dst: (MOVTi16:{ *:[i32] } GPR:{ *:[i32] }:$src, 65535:{ *:[i32] })
    1102             : /*  2323*/      /*Scope*/ 23, /*->2347*/
    1103             : /*  2324*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1104             : /*  2326*/        OPC_EmitInteger, MVT::i32, 127|128,127|128,3/*65535*/, 
    1105             : /*  2331*/        OPC_EmitInteger, MVT::i32, 14, 
    1106             : /*  2334*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1107             : /*  2337*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVTi16), 0,
    1108             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    1109             :                   // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$src, 4294901760:{ *:[i32] }) - Complexity = 8
    1110             :                   // Dst: (t2MOVTi16:{ *:[i32] } rGPR:{ *:[i32] }:$src, 65535:{ *:[i32] })
    1111             : /*  2347*/      0, /*End of Scope*/
    1112             : /*  2348*/    /*Scope*/ 50|128,1/*178*/, /*->2528*/
    1113             : /*  2350*/      OPC_RecordChild0, // #0 = $Rn
    1114             : /*  2351*/      OPC_RecordChild1, // #1 = $imm
    1115             : /*  2352*/      OPC_Scope, 99, /*->2453*/ // 2 children in Scope
    1116             : /*  2354*/        OPC_MoveChild1,
    1117             : /*  2355*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1118             : /*  2358*/        OPC_Scope, 29, /*->2389*/ // 3 children in Scope
    1119             : /*  2360*/          OPC_CheckPredicate, 11, // Predicate_mod_imm
    1120             : /*  2362*/          OPC_MoveParent,
    1121             : /*  2363*/          OPC_CheckType, MVT::i32,
    1122             : /*  2365*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    1123             : /*  2367*/          OPC_EmitConvertToTarget, 1,
    1124             : /*  2369*/          OPC_EmitInteger, MVT::i32, 14, 
    1125             : /*  2372*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1126             : /*  2375*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1127             : /*  2378*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRri), 0,
    1128             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    1129             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm) - Complexity = 7
    1130             :                     // Dst: (ORRri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    1131             : /*  2389*/        /*Scope*/ 29, /*->2419*/
    1132             : /*  2390*/          OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    1133             : /*  2392*/          OPC_MoveParent,
    1134             : /*  2393*/          OPC_CheckType, MVT::i32,
    1135             : /*  2395*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1136             : /*  2397*/          OPC_EmitConvertToTarget, 1,
    1137             : /*  2399*/          OPC_EmitInteger, MVT::i32, 14, 
    1138             : /*  2402*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1139             : /*  2405*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1140             : /*  2408*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRri), 0,
    1141             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    1142             :                     // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm) - Complexity = 7
    1143             :                     // Dst: (t2ORRri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    1144             : /*  2419*/        /*Scope*/ 32, /*->2452*/
    1145             : /*  2420*/          OPC_CheckPredicate, 12, // Predicate_t2_so_imm_not
    1146             : /*  2422*/          OPC_MoveParent,
    1147             : /*  2423*/          OPC_CheckType, MVT::i32,
    1148             : /*  2425*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1149             : /*  2427*/          OPC_EmitConvertToTarget, 1,
    1150             : /*  2429*/          OPC_EmitNodeXForm, 1, 2, // t2_so_imm_not_XFORM
    1151             : /*  2432*/          OPC_EmitInteger, MVT::i32, 14, 
    1152             : /*  2435*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1153             : /*  2438*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1154             : /*  2441*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
    1155             :                         MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    1156             :                     // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>><<X:t2_so_imm_not_XFORM>>:$imm) - Complexity = 7
    1157             :                     // Dst: (t2ORNri:{ *:[i32] } rGPR:{ *:[i32] }:$src, (t2_so_imm_not_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>>:$imm))
    1158             : /*  2452*/        0, /*End of Scope*/
    1159             : /*  2453*/      /*Scope*/ 73, /*->2527*/
    1160             : /*  2454*/        OPC_CheckType, MVT::i32,
    1161             : /*  2456*/        OPC_Scope, 22, /*->2480*/ // 3 children in Scope
    1162             : /*  2458*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    1163             : /*  2460*/          OPC_EmitInteger, MVT::i32, 14, 
    1164             : /*  2463*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1165             : /*  2466*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1166             : /*  2469*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrr), 0,
    1167             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1168             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm) - Complexity = 3
    1169             :                     // Dst: (ORRrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    1170             : /*  2480*/        /*Scope*/ 22, /*->2503*/
    1171             : /*  2481*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    1172             : /*  2483*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    1173             : /*  2486*/          OPC_EmitInteger, MVT::i32, 14, 
    1174             : /*  2489*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1175             : /*  2492*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tORR), 0,
    1176             :                         MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    1177             :                     // Src: (or:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 3
    1178             :                     // Dst: (tORR:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    1179             : /*  2503*/        /*Scope*/ 22, /*->2526*/
    1180             : /*  2504*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    1181             : /*  2506*/          OPC_EmitInteger, MVT::i32, 14, 
    1182             : /*  2509*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1183             : /*  2512*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1184             : /*  2515*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrr), 0,
    1185             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1186             :                     // Src: (or:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm) - Complexity = 3
    1187             :                     // Dst: (t2ORRrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    1188             : /*  2526*/        0, /*End of Scope*/
    1189             : /*  2527*/      0, /*End of Scope*/
    1190             : /*  2528*/    /*Scope*/ 126|128,22/*2942*/, /*->5472*/
    1191             : /*  2530*/      OPC_MoveChild0,
    1192             : /*  2531*/      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1193             : /*  2534*/      OPC_Scope, 13|128,5/*653*/, /*->3190*/ // 8 children in Scope
    1194             : /*  2537*/        OPC_RecordChild0, // #0 = $Vn
    1195             : /*  2538*/        OPC_Scope, 94|128,3/*478*/, /*->3019*/ // 2 children in Scope
    1196             : /*  2541*/          OPC_RecordChild1, // #1 = $Vd
    1197             : /*  2542*/          OPC_MoveParent,
    1198             : /*  2543*/          OPC_MoveChild1,
    1199             : /*  2544*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1200             : /*  2547*/          OPC_Scope, 44|128,1/*172*/, /*->2722*/ // 4 children in Scope
    1201             : /*  2550*/            OPC_RecordChild0, // #2 = $Vm
    1202             : /*  2551*/            OPC_MoveChild1,
    1203             : /*  2552*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1204             : /*  2555*/            OPC_Scope, 119, /*->2676*/ // 2 children in Scope
    1205             : /*  2557*/              OPC_CheckChild0Same, 1,
    1206             : /*  2559*/              OPC_MoveChild1,
    1207             : /*  2560*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1208             : /*  2563*/              OPC_MoveChild0,
    1209             : /*  2564*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1210             : /*  2567*/              OPC_MoveChild0,
    1211             : /*  2568*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1212             : /*  2571*/              OPC_MoveParent,
    1213             : /*  2572*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1214             : /*  2574*/              OPC_SwitchType /*2 cases */, 48, MVT::v8i8,// ->2625
    1215             : /*  2577*/                OPC_MoveParent,
    1216             : /*  2578*/                OPC_MoveParent,
    1217             : /*  2579*/                OPC_MoveParent,
    1218             : /*  2580*/                OPC_MoveParent,
    1219             : /*  2581*/                OPC_SwitchType /*2 cases */, 19, MVT::v2i32,// ->2603
    1220             : /*  2584*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1221             : /*  2586*/                  OPC_EmitInteger, MVT::i32, 14, 
    1222             : /*  2589*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1223             : /*  2592*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1224             :                                 MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1225             :                             // 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
    1226             :                             // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1227             : /*  2603*/                /*SwitchType*/ 19, MVT::v1i64,// ->2624
    1228             : /*  2605*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1229             : /*  2607*/                  OPC_EmitInteger, MVT::i32, 14, 
    1230             : /*  2610*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1231             : /*  2613*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1232             :                                 MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1233             :                             // 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
    1234             :                             // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1235             : /*  2624*/                0, // EndSwitchType
    1236             : /*  2625*/              /*SwitchType*/ 48, MVT::v16i8,// ->2675
    1237             : /*  2627*/                OPC_MoveParent,
    1238             : /*  2628*/                OPC_MoveParent,
    1239             : /*  2629*/                OPC_MoveParent,
    1240             : /*  2630*/                OPC_MoveParent,
    1241             : /*  2631*/                OPC_SwitchType /*2 cases */, 19, MVT::v4i32,// ->2653
    1242             : /*  2634*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1243             : /*  2636*/                  OPC_EmitInteger, MVT::i32, 14, 
    1244             : /*  2639*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1245             : /*  2642*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1246             :                                 MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1247             :                             // 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
    1248             :                             // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    1249             : /*  2653*/                /*SwitchType*/ 19, MVT::v2i64,// ->2674
    1250             : /*  2655*/                  OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1251             : /*  2657*/                  OPC_EmitInteger, MVT::i32, 14, 
    1252             : /*  2660*/                  OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1253             : /*  2663*/                  OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    1254             :                                 MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1255             :                             // 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
    1256             :                             // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    1257             : /*  2674*/                0, // EndSwitchType
    1258             : /*  2675*/              0, // EndSwitchType
    1259             : /*  2676*/            /*Scope*/ 44, /*->2721*/
    1260             : /*  2677*/              OPC_MoveChild0,
    1261             : /*  2678*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1262             : /*  2681*/              OPC_MoveChild0,
    1263             : /*  2682*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1264             : /*  2685*/              OPC_MoveChild0,
    1265             : /*  2686*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1266             : /*  2689*/              OPC_MoveParent,
    1267             : /*  2690*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1268             : /*  2692*/              OPC_CheckType, MVT::v8i8,
    1269             : /*  2694*/              OPC_MoveParent,
    1270             : /*  2695*/              OPC_MoveParent,
    1271             : /*  2696*/              OPC_CheckChild1Same, 1,
    1272             : /*  2698*/              OPC_MoveParent,
    1273             : /*  2699*/              OPC_MoveParent,
    1274             : /*  2700*/              OPC_CheckType, MVT::v2i32,
    1275             : /*  2702*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1276             : /*  2704*/              OPC_EmitInteger, MVT::i32, 14, 
    1277             : /*  2707*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1278             : /*  2710*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1279             :                             MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1280             :                         // 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
    1281             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1282             : /*  2721*/            0, /*End of Scope*/
    1283             : /*  2722*/          /*Scope*/ 98, /*->2821*/
    1284             : /*  2723*/            OPC_MoveChild0,
    1285             : /*  2724*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1286             : /*  2727*/            OPC_Scope, 45, /*->2774*/ // 2 children in Scope
    1287             : /*  2729*/              OPC_CheckChild0Same, 1,
    1288             : /*  2731*/              OPC_MoveChild1,
    1289             : /*  2732*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1290             : /*  2735*/              OPC_MoveChild0,
    1291             : /*  2736*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1292             : /*  2739*/              OPC_MoveChild0,
    1293             : /*  2740*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1294             : /*  2743*/              OPC_MoveParent,
    1295             : /*  2744*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1296             : /*  2746*/              OPC_CheckType, MVT::v8i8,
    1297             : /*  2748*/              OPC_MoveParent,
    1298             : /*  2749*/              OPC_MoveParent,
    1299             : /*  2750*/              OPC_MoveParent,
    1300             : /*  2751*/              OPC_RecordChild1, // #2 = $Vm
    1301             : /*  2752*/              OPC_MoveParent,
    1302             : /*  2753*/              OPC_CheckType, MVT::v2i32,
    1303             : /*  2755*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1304             : /*  2757*/              OPC_EmitInteger, MVT::i32, 14, 
    1305             : /*  2760*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1306             : /*  2763*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1307             :                             MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1308             :                         // 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
    1309             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1310             : /*  2774*/            /*Scope*/ 45, /*->2820*/
    1311             : /*  2775*/              OPC_MoveChild0,
    1312             : /*  2776*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1313             : /*  2779*/              OPC_MoveChild0,
    1314             : /*  2780*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1315             : /*  2783*/              OPC_MoveChild0,
    1316             : /*  2784*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1317             : /*  2787*/              OPC_MoveParent,
    1318             : /*  2788*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1319             : /*  2790*/              OPC_CheckType, MVT::v8i8,
    1320             : /*  2792*/              OPC_MoveParent,
    1321             : /*  2793*/              OPC_MoveParent,
    1322             : /*  2794*/              OPC_CheckChild1Same, 1,
    1323             : /*  2796*/              OPC_MoveParent,
    1324             : /*  2797*/              OPC_RecordChild1, // #2 = $Vm
    1325             : /*  2798*/              OPC_MoveParent,
    1326             : /*  2799*/              OPC_CheckType, MVT::v2i32,
    1327             : /*  2801*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1328             : /*  2803*/              OPC_EmitInteger, MVT::i32, 14, 
    1329             : /*  2806*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1330             : /*  2809*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1331             :                             MVT::v2i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1332             :                         // 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
    1333             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1334             : /*  2820*/            0, /*End of Scope*/
    1335             : /*  2821*/          /*Scope*/ 97, /*->2919*/
    1336             : /*  2822*/            OPC_RecordChild0, // #2 = $Vm
    1337             : /*  2823*/            OPC_MoveChild1,
    1338             : /*  2824*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1339             : /*  2827*/            OPC_Scope, 44, /*->2873*/ // 2 children in Scope
    1340             : /*  2829*/              OPC_CheckChild0Same, 0,
    1341             : /*  2831*/              OPC_MoveChild1,
    1342             : /*  2832*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1343             : /*  2835*/              OPC_MoveChild0,
    1344             : /*  2836*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1345             : /*  2839*/              OPC_MoveChild0,
    1346             : /*  2840*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1347             : /*  2843*/              OPC_MoveParent,
    1348             : /*  2844*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1349             : /*  2846*/              OPC_CheckType, MVT::v8i8,
    1350             : /*  2848*/              OPC_MoveParent,
    1351             : /*  2849*/              OPC_MoveParent,
    1352             : /*  2850*/              OPC_MoveParent,
    1353             : /*  2851*/              OPC_MoveParent,
    1354             : /*  2852*/              OPC_CheckType, MVT::v2i32,
    1355             : /*  2854*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1356             : /*  2856*/              OPC_EmitInteger, MVT::i32, 14, 
    1357             : /*  2859*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1358             : /*  2862*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1359             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1360             :                         // 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
    1361             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1362             : /*  2873*/            /*Scope*/ 44, /*->2918*/
    1363             : /*  2874*/              OPC_MoveChild0,
    1364             : /*  2875*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1365             : /*  2878*/              OPC_MoveChild0,
    1366             : /*  2879*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1367             : /*  2882*/              OPC_MoveChild0,
    1368             : /*  2883*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1369             : /*  2886*/              OPC_MoveParent,
    1370             : /*  2887*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1371             : /*  2889*/              OPC_CheckType, MVT::v8i8,
    1372             : /*  2891*/              OPC_MoveParent,
    1373             : /*  2892*/              OPC_MoveParent,
    1374             : /*  2893*/              OPC_CheckChild1Same, 0,
    1375             : /*  2895*/              OPC_MoveParent,
    1376             : /*  2896*/              OPC_MoveParent,
    1377             : /*  2897*/              OPC_CheckType, MVT::v2i32,
    1378             : /*  2899*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1379             : /*  2901*/              OPC_EmitInteger, MVT::i32, 14, 
    1380             : /*  2904*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1381             : /*  2907*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1382             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1383             :                         // 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
    1384             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1385             : /*  2918*/            0, /*End of Scope*/
    1386             : /*  2919*/          /*Scope*/ 98, /*->3018*/
    1387             : /*  2920*/            OPC_MoveChild0,
    1388             : /*  2921*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1389             : /*  2924*/            OPC_Scope, 45, /*->2971*/ // 2 children in Scope
    1390             : /*  2926*/              OPC_CheckChild0Same, 0,
    1391             : /*  2928*/              OPC_MoveChild1,
    1392             : /*  2929*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1393             : /*  2932*/              OPC_MoveChild0,
    1394             : /*  2933*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1395             : /*  2936*/              OPC_MoveChild0,
    1396             : /*  2937*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1397             : /*  2940*/              OPC_MoveParent,
    1398             : /*  2941*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1399             : /*  2943*/              OPC_CheckType, MVT::v8i8,
    1400             : /*  2945*/              OPC_MoveParent,
    1401             : /*  2946*/              OPC_MoveParent,
    1402             : /*  2947*/              OPC_MoveParent,
    1403             : /*  2948*/              OPC_RecordChild1, // #2 = $Vm
    1404             : /*  2949*/              OPC_MoveParent,
    1405             : /*  2950*/              OPC_CheckType, MVT::v2i32,
    1406             : /*  2952*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1407             : /*  2954*/              OPC_EmitInteger, MVT::i32, 14, 
    1408             : /*  2957*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1409             : /*  2960*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1410             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1411             :                         // 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
    1412             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1413             : /*  2971*/            /*Scope*/ 45, /*->3017*/
    1414             : /*  2972*/              OPC_MoveChild0,
    1415             : /*  2973*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1416             : /*  2976*/              OPC_MoveChild0,
    1417             : /*  2977*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1418             : /*  2980*/              OPC_MoveChild0,
    1419             : /*  2981*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1420             : /*  2984*/              OPC_MoveParent,
    1421             : /*  2985*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1422             : /*  2987*/              OPC_CheckType, MVT::v8i8,
    1423             : /*  2989*/              OPC_MoveParent,
    1424             : /*  2990*/              OPC_MoveParent,
    1425             : /*  2991*/              OPC_CheckChild1Same, 0,
    1426             : /*  2993*/              OPC_MoveParent,
    1427             : /*  2994*/              OPC_RecordChild1, // #2 = $Vm
    1428             : /*  2995*/              OPC_MoveParent,
    1429             : /*  2996*/              OPC_CheckType, MVT::v2i32,
    1430             : /*  2998*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1431             : /*  3000*/              OPC_EmitInteger, MVT::i32, 14, 
    1432             : /*  3003*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1433             : /*  3006*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1434             :                             MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1435             :                         // 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
    1436             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1437             : /*  3017*/            0, /*End of Scope*/
    1438             : /*  3018*/          0, /*End of Scope*/
    1439             : /*  3019*/        /*Scope*/ 40|128,1/*168*/, /*->3189*/
    1440             : /*  3021*/          OPC_MoveChild1,
    1441             : /*  3022*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1442             : /*  3025*/          OPC_Scope, 80, /*->3107*/ // 2 children in Scope
    1443             : /*  3027*/            OPC_RecordChild0, // #1 = $Vd
    1444             : /*  3028*/            OPC_MoveChild1,
    1445             : /*  3029*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1446             : /*  3032*/            OPC_MoveChild0,
    1447             : /*  3033*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1448             : /*  3036*/            OPC_MoveChild0,
    1449             : /*  3037*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1450             : /*  3040*/            OPC_MoveParent,
    1451             : /*  3041*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1452             : /*  3043*/            OPC_CheckType, MVT::v8i8,
    1453             : /*  3045*/            OPC_MoveParent,
    1454             : /*  3046*/            OPC_MoveParent,
    1455             : /*  3047*/            OPC_MoveParent,
    1456             : /*  3048*/            OPC_MoveParent,
    1457             : /*  3049*/            OPC_MoveChild1,
    1458             : /*  3050*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1459             : /*  3053*/            OPC_Scope, 25, /*->3080*/ // 2 children in Scope
    1460             : /*  3055*/              OPC_RecordChild0, // #2 = $Vn
    1461             : /*  3056*/              OPC_CheckChild1Same, 1,
    1462             : /*  3058*/              OPC_MoveParent,
    1463             : /*  3059*/              OPC_CheckType, MVT::v2i32,
    1464             : /*  3061*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1465             : /*  3063*/              OPC_EmitInteger, MVT::i32, 14, 
    1466             : /*  3066*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1467             : /*  3069*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1468             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1469             :                         // 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
    1470             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1471             : /*  3080*/            /*Scope*/ 25, /*->3106*/
    1472             : /*  3081*/              OPC_CheckChild0Same, 1,
    1473             : /*  3083*/              OPC_RecordChild1, // #2 = $Vn
    1474             : /*  3084*/              OPC_MoveParent,
    1475             : /*  3085*/              OPC_CheckType, MVT::v2i32,
    1476             : /*  3087*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1477             : /*  3089*/              OPC_EmitInteger, MVT::i32, 14, 
    1478             : /*  3092*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1479             : /*  3095*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1480             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1481             :                         // 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
    1482             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1483             : /*  3106*/            0, /*End of Scope*/
    1484             : /*  3107*/          /*Scope*/ 80, /*->3188*/
    1485             : /*  3108*/            OPC_MoveChild0,
    1486             : /*  3109*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1487             : /*  3112*/            OPC_MoveChild0,
    1488             : /*  3113*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1489             : /*  3116*/            OPC_MoveChild0,
    1490             : /*  3117*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1491             : /*  3120*/            OPC_MoveParent,
    1492             : /*  3121*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1493             : /*  3123*/            OPC_CheckType, MVT::v8i8,
    1494             : /*  3125*/            OPC_MoveParent,
    1495             : /*  3126*/            OPC_MoveParent,
    1496             : /*  3127*/            OPC_RecordChild1, // #1 = $Vd
    1497             : /*  3128*/            OPC_MoveParent,
    1498             : /*  3129*/            OPC_MoveParent,
    1499             : /*  3130*/            OPC_MoveChild1,
    1500             : /*  3131*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1501             : /*  3134*/            OPC_Scope, 25, /*->3161*/ // 2 children in Scope
    1502             : /*  3136*/              OPC_RecordChild0, // #2 = $Vn
    1503             : /*  3137*/              OPC_CheckChild1Same, 1,
    1504             : /*  3139*/              OPC_MoveParent,
    1505             : /*  3140*/              OPC_CheckType, MVT::v2i32,
    1506             : /*  3142*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1507             : /*  3144*/              OPC_EmitInteger, MVT::i32, 14, 
    1508             : /*  3147*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1509             : /*  3150*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1510             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1511             :                         // 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
    1512             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1513             : /*  3161*/            /*Scope*/ 25, /*->3187*/
    1514             : /*  3162*/              OPC_CheckChild0Same, 1,
    1515             : /*  3164*/              OPC_RecordChild1, // #2 = $Vn
    1516             : /*  3165*/              OPC_MoveParent,
    1517             : /*  3166*/              OPC_CheckType, MVT::v2i32,
    1518             : /*  3168*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1519             : /*  3170*/              OPC_EmitInteger, MVT::i32, 14, 
    1520             : /*  3173*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1521             : /*  3176*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1522             :                             MVT::v2i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1523             :                         // 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
    1524             :                         // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1525             : /*  3187*/            0, /*End of Scope*/
    1526             : /*  3188*/          0, /*End of Scope*/
    1527             : /*  3189*/        0, /*End of Scope*/
    1528             : /*  3190*/      /*Scope*/ 42|128,1/*170*/, /*->3362*/
    1529             : /*  3192*/        OPC_MoveChild0,
    1530             : /*  3193*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1531             : /*  3196*/        OPC_Scope, 81, /*->3279*/ // 2 children in Scope
    1532             : /*  3198*/          OPC_RecordChild0, // #0 = $Vd
    1533             : /*  3199*/          OPC_MoveChild1,
    1534             : /*  3200*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1535             : /*  3203*/          OPC_MoveChild0,
    1536             : /*  3204*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1537             : /*  3207*/          OPC_MoveChild0,
    1538             : /*  3208*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1539             : /*  3211*/          OPC_MoveParent,
    1540             : /*  3212*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1541             : /*  3214*/          OPC_CheckType, MVT::v8i8,
    1542             : /*  3216*/          OPC_MoveParent,
    1543             : /*  3217*/          OPC_MoveParent,
    1544             : /*  3218*/          OPC_MoveParent,
    1545             : /*  3219*/          OPC_RecordChild1, // #1 = $Vm
    1546             : /*  3220*/          OPC_MoveParent,
    1547             : /*  3221*/          OPC_MoveChild1,
    1548             : /*  3222*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1549             : /*  3225*/          OPC_Scope, 25, /*->3252*/ // 2 children in Scope
    1550             : /*  3227*/            OPC_RecordChild0, // #2 = $Vn
    1551             : /*  3228*/            OPC_CheckChild1Same, 0,
    1552             : /*  3230*/            OPC_MoveParent,
    1553             : /*  3231*/            OPC_CheckType, MVT::v2i32,
    1554             : /*  3233*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1555             : /*  3235*/            OPC_EmitInteger, MVT::i32, 14, 
    1556             : /*  3238*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1557             : /*  3241*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1558             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1559             :                       // 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
    1560             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1561             : /*  3252*/          /*Scope*/ 25, /*->3278*/
    1562             : /*  3253*/            OPC_CheckChild0Same, 0,
    1563             : /*  3255*/            OPC_RecordChild1, // #2 = $Vn
    1564             : /*  3256*/            OPC_MoveParent,
    1565             : /*  3257*/            OPC_CheckType, MVT::v2i32,
    1566             : /*  3259*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1567             : /*  3261*/            OPC_EmitInteger, MVT::i32, 14, 
    1568             : /*  3264*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1569             : /*  3267*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1570             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1571             :                       // 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
    1572             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1573             : /*  3278*/          0, /*End of Scope*/
    1574             : /*  3279*/        /*Scope*/ 81, /*->3361*/
    1575             : /*  3280*/          OPC_MoveChild0,
    1576             : /*  3281*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1577             : /*  3284*/          OPC_MoveChild0,
    1578             : /*  3285*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1579             : /*  3288*/          OPC_MoveChild0,
    1580             : /*  3289*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1581             : /*  3292*/          OPC_MoveParent,
    1582             : /*  3293*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1583             : /*  3295*/          OPC_CheckType, MVT::v8i8,
    1584             : /*  3297*/          OPC_MoveParent,
    1585             : /*  3298*/          OPC_MoveParent,
    1586             : /*  3299*/          OPC_RecordChild1, // #0 = $Vd
    1587             : /*  3300*/          OPC_MoveParent,
    1588             : /*  3301*/          OPC_RecordChild1, // #1 = $Vm
    1589             : /*  3302*/          OPC_MoveParent,
    1590             : /*  3303*/          OPC_MoveChild1,
    1591             : /*  3304*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1592             : /*  3307*/          OPC_Scope, 25, /*->3334*/ // 2 children in Scope
    1593             : /*  3309*/            OPC_RecordChild0, // #2 = $Vn
    1594             : /*  3310*/            OPC_CheckChild1Same, 0,
    1595             : /*  3312*/            OPC_MoveParent,
    1596             : /*  3313*/            OPC_CheckType, MVT::v2i32,
    1597             : /*  3315*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1598             : /*  3317*/            OPC_EmitInteger, MVT::i32, 14, 
    1599             : /*  3320*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1600             : /*  3323*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1601             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1602             :                       // 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
    1603             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1604             : /*  3334*/          /*Scope*/ 25, /*->3360*/
    1605             : /*  3335*/            OPC_CheckChild0Same, 0,
    1606             : /*  3337*/            OPC_RecordChild1, // #2 = $Vn
    1607             : /*  3338*/            OPC_MoveParent,
    1608             : /*  3339*/            OPC_CheckType, MVT::v2i32,
    1609             : /*  3341*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1610             : /*  3343*/            OPC_EmitInteger, MVT::i32, 14, 
    1611             : /*  3346*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1612             : /*  3349*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1613             :                           MVT::v2i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1614             :                       // 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
    1615             :                       // Dst: (VBSLd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vd, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    1616             : /*  3360*/          0, /*End of Scope*/
    1617             : /*  3361*/        0, /*End of Scope*/
    1618             : /*  3362*/      /*Scope*/ 17|128,4/*529*/, /*->3893*/
    1619             : /*  3364*/        OPC_RecordChild0, // #0 = $Vn
    1620             : /*  3365*/        OPC_Scope, 98|128,2/*354*/, /*->3722*/ // 2 children in Scope
    1621             : /*  3368*/          OPC_RecordChild1, // #1 = $Vd
    1622             : /*  3369*/          OPC_MoveParent,
    1623             : /*  3370*/          OPC_MoveChild1,
    1624             : /*  3371*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1625             : /*  3374*/          OPC_Scope, 49, /*->3425*/ // 4 children in Scope
    1626             : /*  3376*/            OPC_RecordChild0, // #2 = $Vm
    1627             : /*  3377*/            OPC_MoveChild1,
    1628             : /*  3378*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1629             : /*  3381*/            OPC_MoveChild0,
    1630             : /*  3382*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1631             : /*  3385*/            OPC_MoveChild0,
    1632             : /*  3386*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1633             : /*  3389*/            OPC_MoveChild0,
    1634             : /*  3390*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1635             : /*  3393*/            OPC_MoveParent,
    1636             : /*  3394*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1637             : /*  3396*/            OPC_CheckType, MVT::v8i8,
    1638             : /*  3398*/            OPC_MoveParent,
    1639             : /*  3399*/            OPC_MoveParent,
    1640             : /*  3400*/            OPC_CheckChild1Same, 1,
    1641             : /*  3402*/            OPC_MoveParent,
    1642             : /*  3403*/            OPC_MoveParent,
    1643             : /*  3404*/            OPC_CheckType, MVT::v1i64,
    1644             : /*  3406*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1645             : /*  3408*/            OPC_EmitInteger, MVT::i32, 14, 
    1646             : /*  3411*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1647             : /*  3414*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1648             :                           MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1649             :                       // 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
    1650             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1651             : /*  3425*/          /*Scope*/ 98, /*->3524*/
    1652             : /*  3426*/            OPC_MoveChild0,
    1653             : /*  3427*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1654             : /*  3430*/            OPC_Scope, 45, /*->3477*/ // 2 children in Scope
    1655             : /*  3432*/              OPC_CheckChild0Same, 1,
    1656             : /*  3434*/              OPC_MoveChild1,
    1657             : /*  3435*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1658             : /*  3438*/              OPC_MoveChild0,
    1659             : /*  3439*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1660             : /*  3442*/              OPC_MoveChild0,
    1661             : /*  3443*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1662             : /*  3446*/              OPC_MoveParent,
    1663             : /*  3447*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1664             : /*  3449*/              OPC_CheckType, MVT::v8i8,
    1665             : /*  3451*/              OPC_MoveParent,
    1666             : /*  3452*/              OPC_MoveParent,
    1667             : /*  3453*/              OPC_MoveParent,
    1668             : /*  3454*/              OPC_RecordChild1, // #2 = $Vm
    1669             : /*  3455*/              OPC_MoveParent,
    1670             : /*  3456*/              OPC_CheckType, MVT::v1i64,
    1671             : /*  3458*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1672             : /*  3460*/              OPC_EmitInteger, MVT::i32, 14, 
    1673             : /*  3463*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1674             : /*  3466*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1675             :                             MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1676             :                         // 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
    1677             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1678             : /*  3477*/            /*Scope*/ 45, /*->3523*/
    1679             : /*  3478*/              OPC_MoveChild0,
    1680             : /*  3479*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1681             : /*  3482*/              OPC_MoveChild0,
    1682             : /*  3483*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1683             : /*  3486*/              OPC_MoveChild0,
    1684             : /*  3487*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1685             : /*  3490*/              OPC_MoveParent,
    1686             : /*  3491*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1687             : /*  3493*/              OPC_CheckType, MVT::v8i8,
    1688             : /*  3495*/              OPC_MoveParent,
    1689             : /*  3496*/              OPC_MoveParent,
    1690             : /*  3497*/              OPC_CheckChild1Same, 1,
    1691             : /*  3499*/              OPC_MoveParent,
    1692             : /*  3500*/              OPC_RecordChild1, // #2 = $Vm
    1693             : /*  3501*/              OPC_MoveParent,
    1694             : /*  3502*/              OPC_CheckType, MVT::v1i64,
    1695             : /*  3504*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1696             : /*  3506*/              OPC_EmitInteger, MVT::i32, 14, 
    1697             : /*  3509*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1698             : /*  3512*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1699             :                             MVT::v1i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    1700             :                         // 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
    1701             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1702             : /*  3523*/            0, /*End of Scope*/
    1703             : /*  3524*/          /*Scope*/ 97, /*->3622*/
    1704             : /*  3525*/            OPC_RecordChild0, // #2 = $Vm
    1705             : /*  3526*/            OPC_MoveChild1,
    1706             : /*  3527*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1707             : /*  3530*/            OPC_Scope, 44, /*->3576*/ // 2 children in Scope
    1708             : /*  3532*/              OPC_CheckChild0Same, 0,
    1709             : /*  3534*/              OPC_MoveChild1,
    1710             : /*  3535*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1711             : /*  3538*/              OPC_MoveChild0,
    1712             : /*  3539*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1713             : /*  3542*/              OPC_MoveChild0,
    1714             : /*  3543*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1715             : /*  3546*/              OPC_MoveParent,
    1716             : /*  3547*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1717             : /*  3549*/              OPC_CheckType, MVT::v8i8,
    1718             : /*  3551*/              OPC_MoveParent,
    1719             : /*  3552*/              OPC_MoveParent,
    1720             : /*  3553*/              OPC_MoveParent,
    1721             : /*  3554*/              OPC_MoveParent,
    1722             : /*  3555*/              OPC_CheckType, MVT::v1i64,
    1723             : /*  3557*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1724             : /*  3559*/              OPC_EmitInteger, MVT::i32, 14, 
    1725             : /*  3562*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1726             : /*  3565*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1727             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1728             :                         // 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
    1729             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1730             : /*  3576*/            /*Scope*/ 44, /*->3621*/
    1731             : /*  3577*/              OPC_MoveChild0,
    1732             : /*  3578*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1733             : /*  3581*/              OPC_MoveChild0,
    1734             : /*  3582*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1735             : /*  3585*/              OPC_MoveChild0,
    1736             : /*  3586*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1737             : /*  3589*/              OPC_MoveParent,
    1738             : /*  3590*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1739             : /*  3592*/              OPC_CheckType, MVT::v8i8,
    1740             : /*  3594*/              OPC_MoveParent,
    1741             : /*  3595*/              OPC_MoveParent,
    1742             : /*  3596*/              OPC_CheckChild1Same, 0,
    1743             : /*  3598*/              OPC_MoveParent,
    1744             : /*  3599*/              OPC_MoveParent,
    1745             : /*  3600*/              OPC_CheckType, MVT::v1i64,
    1746             : /*  3602*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1747             : /*  3604*/              OPC_EmitInteger, MVT::i32, 14, 
    1748             : /*  3607*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1749             : /*  3610*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1750             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1751             :                         // 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
    1752             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1753             : /*  3621*/            0, /*End of Scope*/
    1754             : /*  3622*/          /*Scope*/ 98, /*->3721*/
    1755             : /*  3623*/            OPC_MoveChild0,
    1756             : /*  3624*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1757             : /*  3627*/            OPC_Scope, 45, /*->3674*/ // 2 children in Scope
    1758             : /*  3629*/              OPC_CheckChild0Same, 0,
    1759             : /*  3631*/              OPC_MoveChild1,
    1760             : /*  3632*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1761             : /*  3635*/              OPC_MoveChild0,
    1762             : /*  3636*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1763             : /*  3639*/              OPC_MoveChild0,
    1764             : /*  3640*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1765             : /*  3643*/              OPC_MoveParent,
    1766             : /*  3644*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1767             : /*  3646*/              OPC_CheckType, MVT::v8i8,
    1768             : /*  3648*/              OPC_MoveParent,
    1769             : /*  3649*/              OPC_MoveParent,
    1770             : /*  3650*/              OPC_MoveParent,
    1771             : /*  3651*/              OPC_RecordChild1, // #2 = $Vm
    1772             : /*  3652*/              OPC_MoveParent,
    1773             : /*  3653*/              OPC_CheckType, MVT::v1i64,
    1774             : /*  3655*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1775             : /*  3657*/              OPC_EmitInteger, MVT::i32, 14, 
    1776             : /*  3660*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1777             : /*  3663*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1778             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1779             :                         // 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
    1780             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1781             : /*  3674*/            /*Scope*/ 45, /*->3720*/
    1782             : /*  3675*/              OPC_MoveChild0,
    1783             : /*  3676*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1784             : /*  3679*/              OPC_MoveChild0,
    1785             : /*  3680*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1786             : /*  3683*/              OPC_MoveChild0,
    1787             : /*  3684*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1788             : /*  3687*/              OPC_MoveParent,
    1789             : /*  3688*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1790             : /*  3690*/              OPC_CheckType, MVT::v8i8,
    1791             : /*  3692*/              OPC_MoveParent,
    1792             : /*  3693*/              OPC_MoveParent,
    1793             : /*  3694*/              OPC_CheckChild1Same, 0,
    1794             : /*  3696*/              OPC_MoveParent,
    1795             : /*  3697*/              OPC_RecordChild1, // #2 = $Vm
    1796             : /*  3698*/              OPC_MoveParent,
    1797             : /*  3699*/              OPC_CheckType, MVT::v1i64,
    1798             : /*  3701*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1799             : /*  3703*/              OPC_EmitInteger, MVT::i32, 14, 
    1800             : /*  3706*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1801             : /*  3709*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1802             :                             MVT::v1i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    1803             :                         // 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
    1804             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1805             : /*  3720*/            0, /*End of Scope*/
    1806             : /*  3721*/          0, /*End of Scope*/
    1807             : /*  3722*/        /*Scope*/ 40|128,1/*168*/, /*->3892*/
    1808             : /*  3724*/          OPC_MoveChild1,
    1809             : /*  3725*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1810             : /*  3728*/          OPC_Scope, 80, /*->3810*/ // 2 children in Scope
    1811             : /*  3730*/            OPC_RecordChild0, // #1 = $Vd
    1812             : /*  3731*/            OPC_MoveChild1,
    1813             : /*  3732*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1814             : /*  3735*/            OPC_MoveChild0,
    1815             : /*  3736*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1816             : /*  3739*/            OPC_MoveChild0,
    1817             : /*  3740*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1818             : /*  3743*/            OPC_MoveParent,
    1819             : /*  3744*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1820             : /*  3746*/            OPC_CheckType, MVT::v8i8,
    1821             : /*  3748*/            OPC_MoveParent,
    1822             : /*  3749*/            OPC_MoveParent,
    1823             : /*  3750*/            OPC_MoveParent,
    1824             : /*  3751*/            OPC_MoveParent,
    1825             : /*  3752*/            OPC_MoveChild1,
    1826             : /*  3753*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1827             : /*  3756*/            OPC_Scope, 25, /*->3783*/ // 2 children in Scope
    1828             : /*  3758*/              OPC_RecordChild0, // #2 = $Vn
    1829             : /*  3759*/              OPC_CheckChild1Same, 1,
    1830             : /*  3761*/              OPC_MoveParent,
    1831             : /*  3762*/              OPC_CheckType, MVT::v1i64,
    1832             : /*  3764*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1833             : /*  3766*/              OPC_EmitInteger, MVT::i32, 14, 
    1834             : /*  3769*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1835             : /*  3772*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1836             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1837             :                         // 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
    1838             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1839             : /*  3783*/            /*Scope*/ 25, /*->3809*/
    1840             : /*  3784*/              OPC_CheckChild0Same, 1,
    1841             : /*  3786*/              OPC_RecordChild1, // #2 = $Vn
    1842             : /*  3787*/              OPC_MoveParent,
    1843             : /*  3788*/              OPC_CheckType, MVT::v1i64,
    1844             : /*  3790*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1845             : /*  3792*/              OPC_EmitInteger, MVT::i32, 14, 
    1846             : /*  3795*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1847             : /*  3798*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1848             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1849             :                         // 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
    1850             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1851             : /*  3809*/            0, /*End of Scope*/
    1852             : /*  3810*/          /*Scope*/ 80, /*->3891*/
    1853             : /*  3811*/            OPC_MoveChild0,
    1854             : /*  3812*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1855             : /*  3815*/            OPC_MoveChild0,
    1856             : /*  3816*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1857             : /*  3819*/            OPC_MoveChild0,
    1858             : /*  3820*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1859             : /*  3823*/            OPC_MoveParent,
    1860             : /*  3824*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1861             : /*  3826*/            OPC_CheckType, MVT::v8i8,
    1862             : /*  3828*/            OPC_MoveParent,
    1863             : /*  3829*/            OPC_MoveParent,
    1864             : /*  3830*/            OPC_RecordChild1, // #1 = $Vd
    1865             : /*  3831*/            OPC_MoveParent,
    1866             : /*  3832*/            OPC_MoveParent,
    1867             : /*  3833*/            OPC_MoveChild1,
    1868             : /*  3834*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1869             : /*  3837*/            OPC_Scope, 25, /*->3864*/ // 2 children in Scope
    1870             : /*  3839*/              OPC_RecordChild0, // #2 = $Vn
    1871             : /*  3840*/              OPC_CheckChild1Same, 1,
    1872             : /*  3842*/              OPC_MoveParent,
    1873             : /*  3843*/              OPC_CheckType, MVT::v1i64,
    1874             : /*  3845*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1875             : /*  3847*/              OPC_EmitInteger, MVT::i32, 14, 
    1876             : /*  3850*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1877             : /*  3853*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1878             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1879             :                         // 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
    1880             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1881             : /*  3864*/            /*Scope*/ 25, /*->3890*/
    1882             : /*  3865*/              OPC_CheckChild0Same, 1,
    1883             : /*  3867*/              OPC_RecordChild1, // #2 = $Vn
    1884             : /*  3868*/              OPC_MoveParent,
    1885             : /*  3869*/              OPC_CheckType, MVT::v1i64,
    1886             : /*  3871*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1887             : /*  3873*/              OPC_EmitInteger, MVT::i32, 14, 
    1888             : /*  3876*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1889             : /*  3879*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1890             :                             MVT::v1i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    1891             :                         // 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
    1892             :                         // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1893             : /*  3890*/            0, /*End of Scope*/
    1894             : /*  3891*/          0, /*End of Scope*/
    1895             : /*  3892*/        0, /*End of Scope*/
    1896             : /*  3893*/      /*Scope*/ 42|128,1/*170*/, /*->4065*/
    1897             : /*  3895*/        OPC_MoveChild0,
    1898             : /*  3896*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1899             : /*  3899*/        OPC_Scope, 81, /*->3982*/ // 2 children in Scope
    1900             : /*  3901*/          OPC_RecordChild0, // #0 = $Vd
    1901             : /*  3902*/          OPC_MoveChild1,
    1902             : /*  3903*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1903             : /*  3906*/          OPC_MoveChild0,
    1904             : /*  3907*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1905             : /*  3910*/          OPC_MoveChild0,
    1906             : /*  3911*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1907             : /*  3914*/          OPC_MoveParent,
    1908             : /*  3915*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1909             : /*  3917*/          OPC_CheckType, MVT::v8i8,
    1910             : /*  3919*/          OPC_MoveParent,
    1911             : /*  3920*/          OPC_MoveParent,
    1912             : /*  3921*/          OPC_MoveParent,
    1913             : /*  3922*/          OPC_RecordChild1, // #1 = $Vm
    1914             : /*  3923*/          OPC_MoveParent,
    1915             : /*  3924*/          OPC_MoveChild1,
    1916             : /*  3925*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1917             : /*  3928*/          OPC_Scope, 25, /*->3955*/ // 2 children in Scope
    1918             : /*  3930*/            OPC_RecordChild0, // #2 = $Vn
    1919             : /*  3931*/            OPC_CheckChild1Same, 0,
    1920             : /*  3933*/            OPC_MoveParent,
    1921             : /*  3934*/            OPC_CheckType, MVT::v1i64,
    1922             : /*  3936*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1923             : /*  3938*/            OPC_EmitInteger, MVT::i32, 14, 
    1924             : /*  3941*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1925             : /*  3944*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1926             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1927             :                       // 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
    1928             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1929             : /*  3955*/          /*Scope*/ 25, /*->3981*/
    1930             : /*  3956*/            OPC_CheckChild0Same, 0,
    1931             : /*  3958*/            OPC_RecordChild1, // #2 = $Vn
    1932             : /*  3959*/            OPC_MoveParent,
    1933             : /*  3960*/            OPC_CheckType, MVT::v1i64,
    1934             : /*  3962*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1935             : /*  3964*/            OPC_EmitInteger, MVT::i32, 14, 
    1936             : /*  3967*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1937             : /*  3970*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1938             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1939             :                       // 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
    1940             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1941             : /*  3981*/          0, /*End of Scope*/
    1942             : /*  3982*/        /*Scope*/ 81, /*->4064*/
    1943             : /*  3983*/          OPC_MoveChild0,
    1944             : /*  3984*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1945             : /*  3987*/          OPC_MoveChild0,
    1946             : /*  3988*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    1947             : /*  3991*/          OPC_MoveChild0,
    1948             : /*  3992*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    1949             : /*  3995*/          OPC_MoveParent,
    1950             : /*  3996*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    1951             : /*  3998*/          OPC_CheckType, MVT::v8i8,
    1952             : /*  4000*/          OPC_MoveParent,
    1953             : /*  4001*/          OPC_MoveParent,
    1954             : /*  4002*/          OPC_RecordChild1, // #0 = $Vd
    1955             : /*  4003*/          OPC_MoveParent,
    1956             : /*  4004*/          OPC_RecordChild1, // #1 = $Vm
    1957             : /*  4005*/          OPC_MoveParent,
    1958             : /*  4006*/          OPC_MoveChild1,
    1959             : /*  4007*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1960             : /*  4010*/          OPC_Scope, 25, /*->4037*/ // 2 children in Scope
    1961             : /*  4012*/            OPC_RecordChild0, // #2 = $Vn
    1962             : /*  4013*/            OPC_CheckChild1Same, 0,
    1963             : /*  4015*/            OPC_MoveParent,
    1964             : /*  4016*/            OPC_CheckType, MVT::v1i64,
    1965             : /*  4018*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1966             : /*  4020*/            OPC_EmitInteger, MVT::i32, 14, 
    1967             : /*  4023*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1968             : /*  4026*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1969             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1970             :                       // 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
    1971             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1972             : /*  4037*/          /*Scope*/ 25, /*->4063*/
    1973             : /*  4038*/            OPC_CheckChild0Same, 0,
    1974             : /*  4040*/            OPC_RecordChild1, // #2 = $Vn
    1975             : /*  4041*/            OPC_MoveParent,
    1976             : /*  4042*/            OPC_CheckType, MVT::v1i64,
    1977             : /*  4044*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    1978             : /*  4046*/            OPC_EmitInteger, MVT::i32, 14, 
    1979             : /*  4049*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    1980             : /*  4052*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLd), 0,
    1981             :                           MVT::v1i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    1982             :                       // 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
    1983             :                       // Dst: (VBSLd:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vd, DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    1984             : /*  4063*/          0, /*End of Scope*/
    1985             : /*  4064*/        0, /*End of Scope*/
    1986             : /*  4065*/      /*Scope*/ 17|128,4/*529*/, /*->4596*/
    1987             : /*  4067*/        OPC_RecordChild0, // #0 = $Vn
    1988             : /*  4068*/        OPC_Scope, 98|128,2/*354*/, /*->4425*/ // 2 children in Scope
    1989             : /*  4071*/          OPC_RecordChild1, // #1 = $Vd
    1990             : /*  4072*/          OPC_MoveParent,
    1991             : /*  4073*/          OPC_MoveChild1,
    1992             : /*  4074*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1993             : /*  4077*/          OPC_Scope, 49, /*->4128*/ // 4 children in Scope
    1994             : /*  4079*/            OPC_RecordChild0, // #2 = $Vm
    1995             : /*  4080*/            OPC_MoveChild1,
    1996             : /*  4081*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    1997             : /*  4084*/            OPC_MoveChild0,
    1998             : /*  4085*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    1999             : /*  4088*/            OPC_MoveChild0,
    2000             : /*  4089*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2001             : /*  4092*/            OPC_MoveChild0,
    2002             : /*  4093*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2003             : /*  4096*/            OPC_MoveParent,
    2004             : /*  4097*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2005             : /*  4099*/            OPC_CheckType, MVT::v16i8,
    2006             : /*  4101*/            OPC_MoveParent,
    2007             : /*  4102*/            OPC_MoveParent,
    2008             : /*  4103*/            OPC_CheckChild1Same, 1,
    2009             : /*  4105*/            OPC_MoveParent,
    2010             : /*  4106*/            OPC_MoveParent,
    2011             : /*  4107*/            OPC_CheckType, MVT::v4i32,
    2012             : /*  4109*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2013             : /*  4111*/            OPC_EmitInteger, MVT::i32, 14, 
    2014             : /*  4114*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2015             : /*  4117*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2016             :                           MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2017             :                       // 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
    2018             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2019             : /*  4128*/          /*Scope*/ 98, /*->4227*/
    2020             : /*  4129*/            OPC_MoveChild0,
    2021             : /*  4130*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2022             : /*  4133*/            OPC_Scope, 45, /*->4180*/ // 2 children in Scope
    2023             : /*  4135*/              OPC_CheckChild0Same, 1,
    2024             : /*  4137*/              OPC_MoveChild1,
    2025             : /*  4138*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2026             : /*  4141*/              OPC_MoveChild0,
    2027             : /*  4142*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2028             : /*  4145*/              OPC_MoveChild0,
    2029             : /*  4146*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2030             : /*  4149*/              OPC_MoveParent,
    2031             : /*  4150*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2032             : /*  4152*/              OPC_CheckType, MVT::v16i8,
    2033             : /*  4154*/              OPC_MoveParent,
    2034             : /*  4155*/              OPC_MoveParent,
    2035             : /*  4156*/              OPC_MoveParent,
    2036             : /*  4157*/              OPC_RecordChild1, // #2 = $Vm
    2037             : /*  4158*/              OPC_MoveParent,
    2038             : /*  4159*/              OPC_CheckType, MVT::v4i32,
    2039             : /*  4161*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2040             : /*  4163*/              OPC_EmitInteger, MVT::i32, 14, 
    2041             : /*  4166*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2042             : /*  4169*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2043             :                             MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2044             :                         // 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
    2045             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2046             : /*  4180*/            /*Scope*/ 45, /*->4226*/
    2047             : /*  4181*/              OPC_MoveChild0,
    2048             : /*  4182*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2049             : /*  4185*/              OPC_MoveChild0,
    2050             : /*  4186*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2051             : /*  4189*/              OPC_MoveChild0,
    2052             : /*  4190*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2053             : /*  4193*/              OPC_MoveParent,
    2054             : /*  4194*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2055             : /*  4196*/              OPC_CheckType, MVT::v16i8,
    2056             : /*  4198*/              OPC_MoveParent,
    2057             : /*  4199*/              OPC_MoveParent,
    2058             : /*  4200*/              OPC_CheckChild1Same, 1,
    2059             : /*  4202*/              OPC_MoveParent,
    2060             : /*  4203*/              OPC_RecordChild1, // #2 = $Vm
    2061             : /*  4204*/              OPC_MoveParent,
    2062             : /*  4205*/              OPC_CheckType, MVT::v4i32,
    2063             : /*  4207*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2064             : /*  4209*/              OPC_EmitInteger, MVT::i32, 14, 
    2065             : /*  4212*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2066             : /*  4215*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2067             :                             MVT::v4i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2068             :                         // 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
    2069             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2070             : /*  4226*/            0, /*End of Scope*/
    2071             : /*  4227*/          /*Scope*/ 97, /*->4325*/
    2072             : /*  4228*/            OPC_RecordChild0, // #2 = $Vm
    2073             : /*  4229*/            OPC_MoveChild1,
    2074             : /*  4230*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2075             : /*  4233*/            OPC_Scope, 44, /*->4279*/ // 2 children in Scope
    2076             : /*  4235*/              OPC_CheckChild0Same, 0,
    2077             : /*  4237*/              OPC_MoveChild1,
    2078             : /*  4238*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2079             : /*  4241*/              OPC_MoveChild0,
    2080             : /*  4242*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2081             : /*  4245*/              OPC_MoveChild0,
    2082             : /*  4246*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2083             : /*  4249*/              OPC_MoveParent,
    2084             : /*  4250*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2085             : /*  4252*/              OPC_CheckType, MVT::v16i8,
    2086             : /*  4254*/              OPC_MoveParent,
    2087             : /*  4255*/              OPC_MoveParent,
    2088             : /*  4256*/              OPC_MoveParent,
    2089             : /*  4257*/              OPC_MoveParent,
    2090             : /*  4258*/              OPC_CheckType, MVT::v4i32,
    2091             : /*  4260*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2092             : /*  4262*/              OPC_EmitInteger, MVT::i32, 14, 
    2093             : /*  4265*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2094             : /*  4268*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2095             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2096             :                         // 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
    2097             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2098             : /*  4279*/            /*Scope*/ 44, /*->4324*/
    2099             : /*  4280*/              OPC_MoveChild0,
    2100             : /*  4281*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2101             : /*  4284*/              OPC_MoveChild0,
    2102             : /*  4285*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2103             : /*  4288*/              OPC_MoveChild0,
    2104             : /*  4289*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2105             : /*  4292*/              OPC_MoveParent,
    2106             : /*  4293*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2107             : /*  4295*/              OPC_CheckType, MVT::v16i8,
    2108             : /*  4297*/              OPC_MoveParent,
    2109             : /*  4298*/              OPC_MoveParent,
    2110             : /*  4299*/              OPC_CheckChild1Same, 0,
    2111             : /*  4301*/              OPC_MoveParent,
    2112             : /*  4302*/              OPC_MoveParent,
    2113             : /*  4303*/              OPC_CheckType, MVT::v4i32,
    2114             : /*  4305*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2115             : /*  4307*/              OPC_EmitInteger, MVT::i32, 14, 
    2116             : /*  4310*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2117             : /*  4313*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2118             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2119             :                         // 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
    2120             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2121             : /*  4324*/            0, /*End of Scope*/
    2122             : /*  4325*/          /*Scope*/ 98, /*->4424*/
    2123             : /*  4326*/            OPC_MoveChild0,
    2124             : /*  4327*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2125             : /*  4330*/            OPC_Scope, 45, /*->4377*/ // 2 children in Scope
    2126             : /*  4332*/              OPC_CheckChild0Same, 0,
    2127             : /*  4334*/              OPC_MoveChild1,
    2128             : /*  4335*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2129             : /*  4338*/              OPC_MoveChild0,
    2130             : /*  4339*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2131             : /*  4342*/              OPC_MoveChild0,
    2132             : /*  4343*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2133             : /*  4346*/              OPC_MoveParent,
    2134             : /*  4347*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2135             : /*  4349*/              OPC_CheckType, MVT::v16i8,
    2136             : /*  4351*/              OPC_MoveParent,
    2137             : /*  4352*/              OPC_MoveParent,
    2138             : /*  4353*/              OPC_MoveParent,
    2139             : /*  4354*/              OPC_RecordChild1, // #2 = $Vm
    2140             : /*  4355*/              OPC_MoveParent,
    2141             : /*  4356*/              OPC_CheckType, MVT::v4i32,
    2142             : /*  4358*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2143             : /*  4360*/              OPC_EmitInteger, MVT::i32, 14, 
    2144             : /*  4363*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2145             : /*  4366*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2146             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2147             :                         // 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
    2148             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2149             : /*  4377*/            /*Scope*/ 45, /*->4423*/
    2150             : /*  4378*/              OPC_MoveChild0,
    2151             : /*  4379*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2152             : /*  4382*/              OPC_MoveChild0,
    2153             : /*  4383*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2154             : /*  4386*/              OPC_MoveChild0,
    2155             : /*  4387*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2156             : /*  4390*/              OPC_MoveParent,
    2157             : /*  4391*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2158             : /*  4393*/              OPC_CheckType, MVT::v16i8,
    2159             : /*  4395*/              OPC_MoveParent,
    2160             : /*  4396*/              OPC_MoveParent,
    2161             : /*  4397*/              OPC_CheckChild1Same, 0,
    2162             : /*  4399*/              OPC_MoveParent,
    2163             : /*  4400*/              OPC_RecordChild1, // #2 = $Vm
    2164             : /*  4401*/              OPC_MoveParent,
    2165             : /*  4402*/              OPC_CheckType, MVT::v4i32,
    2166             : /*  4404*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2167             : /*  4406*/              OPC_EmitInteger, MVT::i32, 14, 
    2168             : /*  4409*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2169             : /*  4412*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2170             :                             MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2171             :                         // 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
    2172             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2173             : /*  4423*/            0, /*End of Scope*/
    2174             : /*  4424*/          0, /*End of Scope*/
    2175             : /*  4425*/        /*Scope*/ 40|128,1/*168*/, /*->4595*/
    2176             : /*  4427*/          OPC_MoveChild1,
    2177             : /*  4428*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2178             : /*  4431*/          OPC_Scope, 80, /*->4513*/ // 2 children in Scope
    2179             : /*  4433*/            OPC_RecordChild0, // #1 = $Vd
    2180             : /*  4434*/            OPC_MoveChild1,
    2181             : /*  4435*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2182             : /*  4438*/            OPC_MoveChild0,
    2183             : /*  4439*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2184             : /*  4442*/            OPC_MoveChild0,
    2185             : /*  4443*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2186             : /*  4446*/            OPC_MoveParent,
    2187             : /*  4447*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2188             : /*  4449*/            OPC_CheckType, MVT::v16i8,
    2189             : /*  4451*/            OPC_MoveParent,
    2190             : /*  4452*/            OPC_MoveParent,
    2191             : /*  4453*/            OPC_MoveParent,
    2192             : /*  4454*/            OPC_MoveParent,
    2193             : /*  4455*/            OPC_MoveChild1,
    2194             : /*  4456*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2195             : /*  4459*/            OPC_Scope, 25, /*->4486*/ // 2 children in Scope
    2196             : /*  4461*/              OPC_RecordChild0, // #2 = $Vn
    2197             : /*  4462*/              OPC_CheckChild1Same, 1,
    2198             : /*  4464*/              OPC_MoveParent,
    2199             : /*  4465*/              OPC_CheckType, MVT::v4i32,
    2200             : /*  4467*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2201             : /*  4469*/              OPC_EmitInteger, MVT::i32, 14, 
    2202             : /*  4472*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2203             : /*  4475*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2204             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2205             :                         // 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
    2206             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2207             : /*  4486*/            /*Scope*/ 25, /*->4512*/
    2208             : /*  4487*/              OPC_CheckChild0Same, 1,
    2209             : /*  4489*/              OPC_RecordChild1, // #2 = $Vn
    2210             : /*  4490*/              OPC_MoveParent,
    2211             : /*  4491*/              OPC_CheckType, MVT::v4i32,
    2212             : /*  4493*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2213             : /*  4495*/              OPC_EmitInteger, MVT::i32, 14, 
    2214             : /*  4498*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2215             : /*  4501*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2216             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2217             :                         // 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
    2218             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2219             : /*  4512*/            0, /*End of Scope*/
    2220             : /*  4513*/          /*Scope*/ 80, /*->4594*/
    2221             : /*  4514*/            OPC_MoveChild0,
    2222             : /*  4515*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2223             : /*  4518*/            OPC_MoveChild0,
    2224             : /*  4519*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2225             : /*  4522*/            OPC_MoveChild0,
    2226             : /*  4523*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2227             : /*  4526*/            OPC_MoveParent,
    2228             : /*  4527*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2229             : /*  4529*/            OPC_CheckType, MVT::v16i8,
    2230             : /*  4531*/            OPC_MoveParent,
    2231             : /*  4532*/            OPC_MoveParent,
    2232             : /*  4533*/            OPC_RecordChild1, // #1 = $Vd
    2233             : /*  4534*/            OPC_MoveParent,
    2234             : /*  4535*/            OPC_MoveParent,
    2235             : /*  4536*/            OPC_MoveChild1,
    2236             : /*  4537*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2237             : /*  4540*/            OPC_Scope, 25, /*->4567*/ // 2 children in Scope
    2238             : /*  4542*/              OPC_RecordChild0, // #2 = $Vn
    2239             : /*  4543*/              OPC_CheckChild1Same, 1,
    2240             : /*  4545*/              OPC_MoveParent,
    2241             : /*  4546*/              OPC_CheckType, MVT::v4i32,
    2242             : /*  4548*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2243             : /*  4550*/              OPC_EmitInteger, MVT::i32, 14, 
    2244             : /*  4553*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2245             : /*  4556*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2246             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2247             :                         // 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
    2248             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2249             : /*  4567*/            /*Scope*/ 25, /*->4593*/
    2250             : /*  4568*/              OPC_CheckChild0Same, 1,
    2251             : /*  4570*/              OPC_RecordChild1, // #2 = $Vn
    2252             : /*  4571*/              OPC_MoveParent,
    2253             : /*  4572*/              OPC_CheckType, MVT::v4i32,
    2254             : /*  4574*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2255             : /*  4576*/              OPC_EmitInteger, MVT::i32, 14, 
    2256             : /*  4579*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2257             : /*  4582*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2258             :                             MVT::v4i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2259             :                         // 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
    2260             :                         // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2261             : /*  4593*/            0, /*End of Scope*/
    2262             : /*  4594*/          0, /*End of Scope*/
    2263             : /*  4595*/        0, /*End of Scope*/
    2264             : /*  4596*/      /*Scope*/ 42|128,1/*170*/, /*->4768*/
    2265             : /*  4598*/        OPC_MoveChild0,
    2266             : /*  4599*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2267             : /*  4602*/        OPC_Scope, 81, /*->4685*/ // 2 children in Scope
    2268             : /*  4604*/          OPC_RecordChild0, // #0 = $Vd
    2269             : /*  4605*/          OPC_MoveChild1,
    2270             : /*  4606*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2271             : /*  4609*/          OPC_MoveChild0,
    2272             : /*  4610*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2273             : /*  4613*/          OPC_MoveChild0,
    2274             : /*  4614*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2275             : /*  4617*/          OPC_MoveParent,
    2276             : /*  4618*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2277             : /*  4620*/          OPC_CheckType, MVT::v16i8,
    2278             : /*  4622*/          OPC_MoveParent,
    2279             : /*  4623*/          OPC_MoveParent,
    2280             : /*  4624*/          OPC_MoveParent,
    2281             : /*  4625*/          OPC_RecordChild1, // #1 = $Vm
    2282             : /*  4626*/          OPC_MoveParent,
    2283             : /*  4627*/          OPC_MoveChild1,
    2284             : /*  4628*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2285             : /*  4631*/          OPC_Scope, 25, /*->4658*/ // 2 children in Scope
    2286             : /*  4633*/            OPC_RecordChild0, // #2 = $Vn
    2287             : /*  4634*/            OPC_CheckChild1Same, 0,
    2288             : /*  4636*/            OPC_MoveParent,
    2289             : /*  4637*/            OPC_CheckType, MVT::v4i32,
    2290             : /*  4639*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2291             : /*  4641*/            OPC_EmitInteger, MVT::i32, 14, 
    2292             : /*  4644*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2293             : /*  4647*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2294             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2295             :                       // 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
    2296             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2297             : /*  4658*/          /*Scope*/ 25, /*->4684*/
    2298             : /*  4659*/            OPC_CheckChild0Same, 0,
    2299             : /*  4661*/            OPC_RecordChild1, // #2 = $Vn
    2300             : /*  4662*/            OPC_MoveParent,
    2301             : /*  4663*/            OPC_CheckType, MVT::v4i32,
    2302             : /*  4665*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2303             : /*  4667*/            OPC_EmitInteger, MVT::i32, 14, 
    2304             : /*  4670*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2305             : /*  4673*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2306             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2307             :                       // 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
    2308             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2309             : /*  4684*/          0, /*End of Scope*/
    2310             : /*  4685*/        /*Scope*/ 81, /*->4767*/
    2311             : /*  4686*/          OPC_MoveChild0,
    2312             : /*  4687*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2313             : /*  4690*/          OPC_MoveChild0,
    2314             : /*  4691*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2315             : /*  4694*/          OPC_MoveChild0,
    2316             : /*  4695*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2317             : /*  4698*/          OPC_MoveParent,
    2318             : /*  4699*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2319             : /*  4701*/          OPC_CheckType, MVT::v16i8,
    2320             : /*  4703*/          OPC_MoveParent,
    2321             : /*  4704*/          OPC_MoveParent,
    2322             : /*  4705*/          OPC_RecordChild1, // #0 = $Vd
    2323             : /*  4706*/          OPC_MoveParent,
    2324             : /*  4707*/          OPC_RecordChild1, // #1 = $Vm
    2325             : /*  4708*/          OPC_MoveParent,
    2326             : /*  4709*/          OPC_MoveChild1,
    2327             : /*  4710*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2328             : /*  4713*/          OPC_Scope, 25, /*->4740*/ // 2 children in Scope
    2329             : /*  4715*/            OPC_RecordChild0, // #2 = $Vn
    2330             : /*  4716*/            OPC_CheckChild1Same, 0,
    2331             : /*  4718*/            OPC_MoveParent,
    2332             : /*  4719*/            OPC_CheckType, MVT::v4i32,
    2333             : /*  4721*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2334             : /*  4723*/            OPC_EmitInteger, MVT::i32, 14, 
    2335             : /*  4726*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2336             : /*  4729*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2337             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2338             :                       // 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
    2339             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2340             : /*  4740*/          /*Scope*/ 25, /*->4766*/
    2341             : /*  4741*/            OPC_CheckChild0Same, 0,
    2342             : /*  4743*/            OPC_RecordChild1, // #2 = $Vn
    2343             : /*  4744*/            OPC_MoveParent,
    2344             : /*  4745*/            OPC_CheckType, MVT::v4i32,
    2345             : /*  4747*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2346             : /*  4749*/            OPC_EmitInteger, MVT::i32, 14, 
    2347             : /*  4752*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2348             : /*  4755*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2349             :                           MVT::v4i32, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2350             :                       // 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
    2351             :                       // Dst: (VBSLq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vd, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2352             : /*  4766*/          0, /*End of Scope*/
    2353             : /*  4767*/        0, /*End of Scope*/
    2354             : /*  4768*/      /*Scope*/ 17|128,4/*529*/, /*->5299*/
    2355             : /*  4770*/        OPC_RecordChild0, // #0 = $Vn
    2356             : /*  4771*/        OPC_Scope, 98|128,2/*354*/, /*->5128*/ // 2 children in Scope
    2357             : /*  4774*/          OPC_RecordChild1, // #1 = $Vd
    2358             : /*  4775*/          OPC_MoveParent,
    2359             : /*  4776*/          OPC_MoveChild1,
    2360             : /*  4777*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2361             : /*  4780*/          OPC_Scope, 49, /*->4831*/ // 4 children in Scope
    2362             : /*  4782*/            OPC_RecordChild0, // #2 = $Vm
    2363             : /*  4783*/            OPC_MoveChild1,
    2364             : /*  4784*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2365             : /*  4787*/            OPC_MoveChild0,
    2366             : /*  4788*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2367             : /*  4791*/            OPC_MoveChild0,
    2368             : /*  4792*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2369             : /*  4795*/            OPC_MoveChild0,
    2370             : /*  4796*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2371             : /*  4799*/            OPC_MoveParent,
    2372             : /*  4800*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2373             : /*  4802*/            OPC_CheckType, MVT::v16i8,
    2374             : /*  4804*/            OPC_MoveParent,
    2375             : /*  4805*/            OPC_MoveParent,
    2376             : /*  4806*/            OPC_CheckChild1Same, 1,
    2377             : /*  4808*/            OPC_MoveParent,
    2378             : /*  4809*/            OPC_MoveParent,
    2379             : /*  4810*/            OPC_CheckType, MVT::v2i64,
    2380             : /*  4812*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2381             : /*  4814*/            OPC_EmitInteger, MVT::i32, 14, 
    2382             : /*  4817*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2383             : /*  4820*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2384             :                           MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2385             :                       // 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
    2386             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2387             : /*  4831*/          /*Scope*/ 98, /*->4930*/
    2388             : /*  4832*/            OPC_MoveChild0,
    2389             : /*  4833*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2390             : /*  4836*/            OPC_Scope, 45, /*->4883*/ // 2 children in Scope
    2391             : /*  4838*/              OPC_CheckChild0Same, 1,
    2392             : /*  4840*/              OPC_MoveChild1,
    2393             : /*  4841*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2394             : /*  4844*/              OPC_MoveChild0,
    2395             : /*  4845*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2396             : /*  4848*/              OPC_MoveChild0,
    2397             : /*  4849*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2398             : /*  4852*/              OPC_MoveParent,
    2399             : /*  4853*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2400             : /*  4855*/              OPC_CheckType, MVT::v16i8,
    2401             : /*  4857*/              OPC_MoveParent,
    2402             : /*  4858*/              OPC_MoveParent,
    2403             : /*  4859*/              OPC_MoveParent,
    2404             : /*  4860*/              OPC_RecordChild1, // #2 = $Vm
    2405             : /*  4861*/              OPC_MoveParent,
    2406             : /*  4862*/              OPC_CheckType, MVT::v2i64,
    2407             : /*  4864*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2408             : /*  4866*/              OPC_EmitInteger, MVT::i32, 14, 
    2409             : /*  4869*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2410             : /*  4872*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2411             :                             MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2412             :                         // 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
    2413             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2414             : /*  4883*/            /*Scope*/ 45, /*->4929*/
    2415             : /*  4884*/              OPC_MoveChild0,
    2416             : /*  4885*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2417             : /*  4888*/              OPC_MoveChild0,
    2418             : /*  4889*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2419             : /*  4892*/              OPC_MoveChild0,
    2420             : /*  4893*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2421             : /*  4896*/              OPC_MoveParent,
    2422             : /*  4897*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2423             : /*  4899*/              OPC_CheckType, MVT::v16i8,
    2424             : /*  4901*/              OPC_MoveParent,
    2425             : /*  4902*/              OPC_MoveParent,
    2426             : /*  4903*/              OPC_CheckChild1Same, 1,
    2427             : /*  4905*/              OPC_MoveParent,
    2428             : /*  4906*/              OPC_RecordChild1, // #2 = $Vm
    2429             : /*  4907*/              OPC_MoveParent,
    2430             : /*  4908*/              OPC_CheckType, MVT::v2i64,
    2431             : /*  4910*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2432             : /*  4912*/              OPC_EmitInteger, MVT::i32, 14, 
    2433             : /*  4915*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2434             : /*  4918*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2435             :                             MVT::v2i64, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    2436             :                         // 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
    2437             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2438             : /*  4929*/            0, /*End of Scope*/
    2439             : /*  4930*/          /*Scope*/ 97, /*->5028*/
    2440             : /*  4931*/            OPC_RecordChild0, // #2 = $Vm
    2441             : /*  4932*/            OPC_MoveChild1,
    2442             : /*  4933*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2443             : /*  4936*/            OPC_Scope, 44, /*->4982*/ // 2 children in Scope
    2444             : /*  4938*/              OPC_CheckChild0Same, 0,
    2445             : /*  4940*/              OPC_MoveChild1,
    2446             : /*  4941*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2447             : /*  4944*/              OPC_MoveChild0,
    2448             : /*  4945*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2449             : /*  4948*/              OPC_MoveChild0,
    2450             : /*  4949*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2451             : /*  4952*/              OPC_MoveParent,
    2452             : /*  4953*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2453             : /*  4955*/              OPC_CheckType, MVT::v16i8,
    2454             : /*  4957*/              OPC_MoveParent,
    2455             : /*  4958*/              OPC_MoveParent,
    2456             : /*  4959*/              OPC_MoveParent,
    2457             : /*  4960*/              OPC_MoveParent,
    2458             : /*  4961*/              OPC_CheckType, MVT::v2i64,
    2459             : /*  4963*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2460             : /*  4965*/              OPC_EmitInteger, MVT::i32, 14, 
    2461             : /*  4968*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2462             : /*  4971*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2463             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2464             :                         // 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
    2465             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2466             : /*  4982*/            /*Scope*/ 44, /*->5027*/
    2467             : /*  4983*/              OPC_MoveChild0,
    2468             : /*  4984*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2469             : /*  4987*/              OPC_MoveChild0,
    2470             : /*  4988*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2471             : /*  4991*/              OPC_MoveChild0,
    2472             : /*  4992*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2473             : /*  4995*/              OPC_MoveParent,
    2474             : /*  4996*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2475             : /*  4998*/              OPC_CheckType, MVT::v16i8,
    2476             : /*  5000*/              OPC_MoveParent,
    2477             : /*  5001*/              OPC_MoveParent,
    2478             : /*  5002*/              OPC_CheckChild1Same, 0,
    2479             : /*  5004*/              OPC_MoveParent,
    2480             : /*  5005*/              OPC_MoveParent,
    2481             : /*  5006*/              OPC_CheckType, MVT::v2i64,
    2482             : /*  5008*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2483             : /*  5010*/              OPC_EmitInteger, MVT::i32, 14, 
    2484             : /*  5013*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2485             : /*  5016*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2486             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2487             :                         // 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
    2488             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2489             : /*  5027*/            0, /*End of Scope*/
    2490             : /*  5028*/          /*Scope*/ 98, /*->5127*/
    2491             : /*  5029*/            OPC_MoveChild0,
    2492             : /*  5030*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2493             : /*  5033*/            OPC_Scope, 45, /*->5080*/ // 2 children in Scope
    2494             : /*  5035*/              OPC_CheckChild0Same, 0,
    2495             : /*  5037*/              OPC_MoveChild1,
    2496             : /*  5038*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2497             : /*  5041*/              OPC_MoveChild0,
    2498             : /*  5042*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2499             : /*  5045*/              OPC_MoveChild0,
    2500             : /*  5046*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2501             : /*  5049*/              OPC_MoveParent,
    2502             : /*  5050*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2503             : /*  5052*/              OPC_CheckType, MVT::v16i8,
    2504             : /*  5054*/              OPC_MoveParent,
    2505             : /*  5055*/              OPC_MoveParent,
    2506             : /*  5056*/              OPC_MoveParent,
    2507             : /*  5057*/              OPC_RecordChild1, // #2 = $Vm
    2508             : /*  5058*/              OPC_MoveParent,
    2509             : /*  5059*/              OPC_CheckType, MVT::v2i64,
    2510             : /*  5061*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2511             : /*  5063*/              OPC_EmitInteger, MVT::i32, 14, 
    2512             : /*  5066*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2513             : /*  5069*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2514             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2515             :                         // 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
    2516             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2517             : /*  5080*/            /*Scope*/ 45, /*->5126*/
    2518             : /*  5081*/              OPC_MoveChild0,
    2519             : /*  5082*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2520             : /*  5085*/              OPC_MoveChild0,
    2521             : /*  5086*/              OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2522             : /*  5089*/              OPC_MoveChild0,
    2523             : /*  5090*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2524             : /*  5093*/              OPC_MoveParent,
    2525             : /*  5094*/              OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2526             : /*  5096*/              OPC_CheckType, MVT::v16i8,
    2527             : /*  5098*/              OPC_MoveParent,
    2528             : /*  5099*/              OPC_MoveParent,
    2529             : /*  5100*/              OPC_CheckChild1Same, 0,
    2530             : /*  5102*/              OPC_MoveParent,
    2531             : /*  5103*/              OPC_RecordChild1, // #2 = $Vm
    2532             : /*  5104*/              OPC_MoveParent,
    2533             : /*  5105*/              OPC_CheckType, MVT::v2i64,
    2534             : /*  5107*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2535             : /*  5109*/              OPC_EmitInteger, MVT::i32, 14, 
    2536             : /*  5112*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2537             : /*  5115*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2538             :                             MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    2539             :                         // 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
    2540             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2541             : /*  5126*/            0, /*End of Scope*/
    2542             : /*  5127*/          0, /*End of Scope*/
    2543             : /*  5128*/        /*Scope*/ 40|128,1/*168*/, /*->5298*/
    2544             : /*  5130*/          OPC_MoveChild1,
    2545             : /*  5131*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2546             : /*  5134*/          OPC_Scope, 80, /*->5216*/ // 2 children in Scope
    2547             : /*  5136*/            OPC_RecordChild0, // #1 = $Vd
    2548             : /*  5137*/            OPC_MoveChild1,
    2549             : /*  5138*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2550             : /*  5141*/            OPC_MoveChild0,
    2551             : /*  5142*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2552             : /*  5145*/            OPC_MoveChild0,
    2553             : /*  5146*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2554             : /*  5149*/            OPC_MoveParent,
    2555             : /*  5150*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2556             : /*  5152*/            OPC_CheckType, MVT::v16i8,
    2557             : /*  5154*/            OPC_MoveParent,
    2558             : /*  5155*/            OPC_MoveParent,
    2559             : /*  5156*/            OPC_MoveParent,
    2560             : /*  5157*/            OPC_MoveParent,
    2561             : /*  5158*/            OPC_MoveChild1,
    2562             : /*  5159*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2563             : /*  5162*/            OPC_Scope, 25, /*->5189*/ // 2 children in Scope
    2564             : /*  5164*/              OPC_RecordChild0, // #2 = $Vn
    2565             : /*  5165*/              OPC_CheckChild1Same, 1,
    2566             : /*  5167*/              OPC_MoveParent,
    2567             : /*  5168*/              OPC_CheckType, MVT::v2i64,
    2568             : /*  5170*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2569             : /*  5172*/              OPC_EmitInteger, MVT::i32, 14, 
    2570             : /*  5175*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2571             : /*  5178*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2572             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2573             :                         // 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
    2574             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2575             : /*  5189*/            /*Scope*/ 25, /*->5215*/
    2576             : /*  5190*/              OPC_CheckChild0Same, 1,
    2577             : /*  5192*/              OPC_RecordChild1, // #2 = $Vn
    2578             : /*  5193*/              OPC_MoveParent,
    2579             : /*  5194*/              OPC_CheckType, MVT::v2i64,
    2580             : /*  5196*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2581             : /*  5198*/              OPC_EmitInteger, MVT::i32, 14, 
    2582             : /*  5201*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2583             : /*  5204*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2584             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2585             :                         // 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
    2586             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2587             : /*  5215*/            0, /*End of Scope*/
    2588             : /*  5216*/          /*Scope*/ 80, /*->5297*/
    2589             : /*  5217*/            OPC_MoveChild0,
    2590             : /*  5218*/            OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2591             : /*  5221*/            OPC_MoveChild0,
    2592             : /*  5222*/            OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2593             : /*  5225*/            OPC_MoveChild0,
    2594             : /*  5226*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2595             : /*  5229*/            OPC_MoveParent,
    2596             : /*  5230*/            OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2597             : /*  5232*/            OPC_CheckType, MVT::v16i8,
    2598             : /*  5234*/            OPC_MoveParent,
    2599             : /*  5235*/            OPC_MoveParent,
    2600             : /*  5236*/            OPC_RecordChild1, // #1 = $Vd
    2601             : /*  5237*/            OPC_MoveParent,
    2602             : /*  5238*/            OPC_MoveParent,
    2603             : /*  5239*/            OPC_MoveChild1,
    2604             : /*  5240*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2605             : /*  5243*/            OPC_Scope, 25, /*->5270*/ // 2 children in Scope
    2606             : /*  5245*/              OPC_RecordChild0, // #2 = $Vn
    2607             : /*  5246*/              OPC_CheckChild1Same, 1,
    2608             : /*  5248*/              OPC_MoveParent,
    2609             : /*  5249*/              OPC_CheckType, MVT::v2i64,
    2610             : /*  5251*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2611             : /*  5253*/              OPC_EmitInteger, MVT::i32, 14, 
    2612             : /*  5256*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2613             : /*  5259*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2614             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2615             :                         // 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
    2616             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2617             : /*  5270*/            /*Scope*/ 25, /*->5296*/
    2618             : /*  5271*/              OPC_CheckChild0Same, 1,
    2619             : /*  5273*/              OPC_RecordChild1, // #2 = $Vn
    2620             : /*  5274*/              OPC_MoveParent,
    2621             : /*  5275*/              OPC_CheckType, MVT::v2i64,
    2622             : /*  5277*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2623             : /*  5279*/              OPC_EmitInteger, MVT::i32, 14, 
    2624             : /*  5282*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2625             : /*  5285*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2626             :                             MVT::v2i64, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    2627             :                         // 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
    2628             :                         // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2629             : /*  5296*/            0, /*End of Scope*/
    2630             : /*  5297*/          0, /*End of Scope*/
    2631             : /*  5298*/        0, /*End of Scope*/
    2632             : /*  5299*/      /*Scope*/ 42|128,1/*170*/, /*->5471*/
    2633             : /*  5301*/        OPC_MoveChild0,
    2634             : /*  5302*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2635             : /*  5305*/        OPC_Scope, 81, /*->5388*/ // 2 children in Scope
    2636             : /*  5307*/          OPC_RecordChild0, // #0 = $Vd
    2637             : /*  5308*/          OPC_MoveChild1,
    2638             : /*  5309*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2639             : /*  5312*/          OPC_MoveChild0,
    2640             : /*  5313*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2641             : /*  5316*/          OPC_MoveChild0,
    2642             : /*  5317*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2643             : /*  5320*/          OPC_MoveParent,
    2644             : /*  5321*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2645             : /*  5323*/          OPC_CheckType, MVT::v16i8,
    2646             : /*  5325*/          OPC_MoveParent,
    2647             : /*  5326*/          OPC_MoveParent,
    2648             : /*  5327*/          OPC_MoveParent,
    2649             : /*  5328*/          OPC_RecordChild1, // #1 = $Vm
    2650             : /*  5329*/          OPC_MoveParent,
    2651             : /*  5330*/          OPC_MoveChild1,
    2652             : /*  5331*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2653             : /*  5334*/          OPC_Scope, 25, /*->5361*/ // 2 children in Scope
    2654             : /*  5336*/            OPC_RecordChild0, // #2 = $Vn
    2655             : /*  5337*/            OPC_CheckChild1Same, 0,
    2656             : /*  5339*/            OPC_MoveParent,
    2657             : /*  5340*/            OPC_CheckType, MVT::v2i64,
    2658             : /*  5342*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2659             : /*  5344*/            OPC_EmitInteger, MVT::i32, 14, 
    2660             : /*  5347*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2661             : /*  5350*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2662             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2663             :                       // 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
    2664             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2665             : /*  5361*/          /*Scope*/ 25, /*->5387*/
    2666             : /*  5362*/            OPC_CheckChild0Same, 0,
    2667             : /*  5364*/            OPC_RecordChild1, // #2 = $Vn
    2668             : /*  5365*/            OPC_MoveParent,
    2669             : /*  5366*/            OPC_CheckType, MVT::v2i64,
    2670             : /*  5368*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2671             : /*  5370*/            OPC_EmitInteger, MVT::i32, 14, 
    2672             : /*  5373*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2673             : /*  5376*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2674             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2675             :                       // 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
    2676             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2677             : /*  5387*/          0, /*End of Scope*/
    2678             : /*  5388*/        /*Scope*/ 81, /*->5470*/
    2679             : /*  5389*/          OPC_MoveChild0,
    2680             : /*  5390*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2681             : /*  5393*/          OPC_MoveChild0,
    2682             : /*  5394*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2683             : /*  5397*/          OPC_MoveChild0,
    2684             : /*  5398*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2685             : /*  5401*/          OPC_MoveParent,
    2686             : /*  5402*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2687             : /*  5404*/          OPC_CheckType, MVT::v16i8,
    2688             : /*  5406*/          OPC_MoveParent,
    2689             : /*  5407*/          OPC_MoveParent,
    2690             : /*  5408*/          OPC_RecordChild1, // #0 = $Vd
    2691             : /*  5409*/          OPC_MoveParent,
    2692             : /*  5410*/          OPC_RecordChild1, // #1 = $Vm
    2693             : /*  5411*/          OPC_MoveParent,
    2694             : /*  5412*/          OPC_MoveChild1,
    2695             : /*  5413*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    2696             : /*  5416*/          OPC_Scope, 25, /*->5443*/ // 2 children in Scope
    2697             : /*  5418*/            OPC_RecordChild0, // #2 = $Vn
    2698             : /*  5419*/            OPC_CheckChild1Same, 0,
    2699             : /*  5421*/            OPC_MoveParent,
    2700             : /*  5422*/            OPC_CheckType, MVT::v2i64,
    2701             : /*  5424*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2702             : /*  5426*/            OPC_EmitInteger, MVT::i32, 14, 
    2703             : /*  5429*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2704             : /*  5432*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2705             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2706             :                       // 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
    2707             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2708             : /*  5443*/          /*Scope*/ 25, /*->5469*/
    2709             : /*  5444*/            OPC_CheckChild0Same, 0,
    2710             : /*  5446*/            OPC_RecordChild1, // #2 = $Vn
    2711             : /*  5447*/            OPC_MoveParent,
    2712             : /*  5448*/            OPC_CheckType, MVT::v2i64,
    2713             : /*  5450*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2714             : /*  5452*/            OPC_EmitInteger, MVT::i32, 14, 
    2715             : /*  5455*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2716             : /*  5458*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSLq), 0,
    2717             :                           MVT::v2i64, 5/*#Ops*/, 0, 2, 1, 3, 4, 
    2718             :                       // 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
    2719             :                       // Dst: (VBSLq:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vd, QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    2720             : /*  5469*/          0, /*End of Scope*/
    2721             : /*  5470*/        0, /*End of Scope*/
    2722             : /*  5471*/      0, /*End of Scope*/
    2723             : /*  5472*/    /*Scope*/ 118, /*->5591*/
    2724             : /*  5473*/      OPC_RecordChild0, // #0 = $Vn
    2725             : /*  5474*/      OPC_MoveChild1,
    2726             : /*  5475*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2727             : /*  5478*/      OPC_Scope, 68, /*->5548*/ // 2 children in Scope
    2728             : /*  5480*/        OPC_RecordChild0, // #1 = $Vm
    2729             : /*  5481*/        OPC_MoveChild1,
    2730             : /*  5482*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2731             : /*  5485*/        OPC_MoveChild0,
    2732             : /*  5486*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2733             : /*  5489*/        OPC_MoveChild0,
    2734             : /*  5490*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2735             : /*  5493*/        OPC_MoveParent,
    2736             : /*  5494*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2737             : /*  5496*/        OPC_SwitchType /*2 cases */, 23, MVT::v8i8,// ->5522
    2738             : /*  5499*/          OPC_MoveParent,
    2739             : /*  5500*/          OPC_MoveParent,
    2740             : /*  5501*/          OPC_MoveParent,
    2741             : /*  5502*/          OPC_CheckType, MVT::v2i32,
    2742             : /*  5504*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2743             : /*  5506*/          OPC_EmitInteger, MVT::i32, 14, 
    2744             : /*  5509*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2745             : /*  5512*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2746             :                         MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2747             :                     // Src: (or:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    2748             :                     // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2749             : /*  5522*/        /*SwitchType*/ 23, MVT::v16i8,// ->5547
    2750             : /*  5524*/          OPC_MoveParent,
    2751             : /*  5525*/          OPC_MoveParent,
    2752             : /*  5526*/          OPC_MoveParent,
    2753             : /*  5527*/          OPC_CheckType, MVT::v4i32,
    2754             : /*  5529*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2755             : /*  5531*/          OPC_EmitInteger, MVT::i32, 14, 
    2756             : /*  5534*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2757             : /*  5537*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2758             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2759             :                     // Src: (or:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    2760             :                     // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2761             : /*  5547*/        0, // EndSwitchType
    2762             : /*  5548*/      /*Scope*/ 41, /*->5590*/
    2763             : /*  5549*/        OPC_MoveChild0,
    2764             : /*  5550*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2765             : /*  5553*/        OPC_MoveChild0,
    2766             : /*  5554*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2767             : /*  5557*/        OPC_MoveChild0,
    2768             : /*  5558*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2769             : /*  5561*/        OPC_MoveParent,
    2770             : /*  5562*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2771             : /*  5564*/        OPC_CheckType, MVT::v8i8,
    2772             : /*  5566*/        OPC_MoveParent,
    2773             : /*  5567*/        OPC_MoveParent,
    2774             : /*  5568*/        OPC_RecordChild1, // #1 = $Vm
    2775             : /*  5569*/        OPC_MoveParent,
    2776             : /*  5570*/        OPC_CheckType, MVT::v2i32,
    2777             : /*  5572*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2778             : /*  5574*/        OPC_EmitInteger, MVT::i32, 14, 
    2779             : /*  5577*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2780             : /*  5580*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2781             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2782             :                   // Src: (or:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 16
    2783             :                   // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2784             : /*  5590*/      0, /*End of Scope*/
    2785             : /*  5591*/    /*Scope*/ 92, /*->5684*/
    2786             : /*  5592*/      OPC_MoveChild0,
    2787             : /*  5593*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2788             : /*  5596*/      OPC_Scope, 42, /*->5640*/ // 2 children in Scope
    2789             : /*  5598*/        OPC_RecordChild0, // #0 = $Vm
    2790             : /*  5599*/        OPC_MoveChild1,
    2791             : /*  5600*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2792             : /*  5603*/        OPC_MoveChild0,
    2793             : /*  5604*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2794             : /*  5607*/        OPC_MoveChild0,
    2795             : /*  5608*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2796             : /*  5611*/        OPC_MoveParent,
    2797             : /*  5612*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2798             : /*  5614*/        OPC_CheckType, MVT::v8i8,
    2799             : /*  5616*/        OPC_MoveParent,
    2800             : /*  5617*/        OPC_MoveParent,
    2801             : /*  5618*/        OPC_MoveParent,
    2802             : /*  5619*/        OPC_RecordChild1, // #1 = $Vn
    2803             : /*  5620*/        OPC_CheckType, MVT::v2i32,
    2804             : /*  5622*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2805             : /*  5624*/        OPC_EmitInteger, MVT::i32, 14, 
    2806             : /*  5627*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2807             : /*  5630*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2808             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2809             :                   // Src: (or:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    2810             :                   // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2811             : /*  5640*/      /*Scope*/ 42, /*->5683*/
    2812             : /*  5641*/        OPC_MoveChild0,
    2813             : /*  5642*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2814             : /*  5645*/        OPC_MoveChild0,
    2815             : /*  5646*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2816             : /*  5649*/        OPC_MoveChild0,
    2817             : /*  5650*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2818             : /*  5653*/        OPC_MoveParent,
    2819             : /*  5654*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2820             : /*  5656*/        OPC_CheckType, MVT::v8i8,
    2821             : /*  5658*/        OPC_MoveParent,
    2822             : /*  5659*/        OPC_MoveParent,
    2823             : /*  5660*/        OPC_RecordChild1, // #0 = $Vm
    2824             : /*  5661*/        OPC_MoveParent,
    2825             : /*  5662*/        OPC_RecordChild1, // #1 = $Vn
    2826             : /*  5663*/        OPC_CheckType, MVT::v2i32,
    2827             : /*  5665*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2828             : /*  5667*/        OPC_EmitInteger, MVT::i32, 14, 
    2829             : /*  5670*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2830             : /*  5673*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
    2831             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2832             :                   // Src: (or:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    2833             :                   // Dst: (VORNd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2834             : /*  5683*/      0, /*End of Scope*/
    2835             : /*  5684*/    /*Scope*/ 46, /*->5731*/
    2836             : /*  5685*/      OPC_RecordChild0, // #0 = $Vn
    2837             : /*  5686*/      OPC_MoveChild1,
    2838             : /*  5687*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2839             : /*  5690*/      OPC_MoveChild0,
    2840             : /*  5691*/      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2841             : /*  5694*/      OPC_MoveChild0,
    2842             : /*  5695*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2843             : /*  5698*/      OPC_MoveChild0,
    2844             : /*  5699*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2845             : /*  5702*/      OPC_MoveParent,
    2846             : /*  5703*/      OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2847             : /*  5705*/      OPC_CheckType, MVT::v16i8,
    2848             : /*  5707*/      OPC_MoveParent,
    2849             : /*  5708*/      OPC_MoveParent,
    2850             : /*  5709*/      OPC_RecordChild1, // #1 = $Vm
    2851             : /*  5710*/      OPC_MoveParent,
    2852             : /*  5711*/      OPC_CheckType, MVT::v4i32,
    2853             : /*  5713*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2854             : /*  5715*/      OPC_EmitInteger, MVT::i32, 14, 
    2855             : /*  5718*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2856             : /*  5721*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2857             :                     MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2858             :                 // Src: (or:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 16
    2859             :                 // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2860             : /*  5731*/    /*Scope*/ 92, /*->5824*/
    2861             : /*  5732*/      OPC_MoveChild0,
    2862             : /*  5733*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    2863             : /*  5736*/      OPC_Scope, 42, /*->5780*/ // 2 children in Scope
    2864             : /*  5738*/        OPC_RecordChild0, // #0 = $Vm
    2865             : /*  5739*/        OPC_MoveChild1,
    2866             : /*  5740*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2867             : /*  5743*/        OPC_MoveChild0,
    2868             : /*  5744*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2869             : /*  5747*/        OPC_MoveChild0,
    2870             : /*  5748*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2871             : /*  5751*/        OPC_MoveParent,
    2872             : /*  5752*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2873             : /*  5754*/        OPC_CheckType, MVT::v16i8,
    2874             : /*  5756*/        OPC_MoveParent,
    2875             : /*  5757*/        OPC_MoveParent,
    2876             : /*  5758*/        OPC_MoveParent,
    2877             : /*  5759*/        OPC_RecordChild1, // #1 = $Vn
    2878             : /*  5760*/        OPC_CheckType, MVT::v4i32,
    2879             : /*  5762*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2880             : /*  5764*/        OPC_EmitInteger, MVT::i32, 14, 
    2881             : /*  5767*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2882             : /*  5770*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2883             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2884             :                   // Src: (or:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    2885             :                   // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2886             : /*  5780*/      /*Scope*/ 42, /*->5823*/
    2887             : /*  5781*/        OPC_MoveChild0,
    2888             : /*  5782*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    2889             : /*  5785*/        OPC_MoveChild0,
    2890             : /*  5786*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    2891             : /*  5789*/        OPC_MoveChild0,
    2892             : /*  5790*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    2893             : /*  5793*/        OPC_MoveParent,
    2894             : /*  5794*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    2895             : /*  5796*/        OPC_CheckType, MVT::v16i8,
    2896             : /*  5798*/        OPC_MoveParent,
    2897             : /*  5799*/        OPC_MoveParent,
    2898             : /*  5800*/        OPC_RecordChild1, // #0 = $Vm
    2899             : /*  5801*/        OPC_MoveParent,
    2900             : /*  5802*/        OPC_RecordChild1, // #1 = $Vn
    2901             : /*  5803*/        OPC_CheckType, MVT::v4i32,
    2902             : /*  5805*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2903             : /*  5807*/        OPC_EmitInteger, MVT::i32, 14, 
    2904             : /*  5810*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2905             : /*  5813*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
    2906             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    2907             :                   // Src: (or:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    2908             :                   // Dst: (VORNq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2909             : /*  5823*/      0, /*End of Scope*/
    2910             : /*  5824*/    /*Scope*/ 44, /*->5869*/
    2911             : /*  5825*/      OPC_RecordChild0, // #0 = $Vn
    2912             : /*  5826*/      OPC_RecordChild1, // #1 = $Vm
    2913             : /*  5827*/      OPC_SwitchType /*2 cases */, 18, MVT::v2i32,// ->5848
    2914             : /*  5830*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2915             : /*  5832*/        OPC_EmitInteger, MVT::i32, 14, 
    2916             : /*  5835*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2917             : /*  5838*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRd), 0,
    2918             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2919             :                   // Src: (or:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm) - Complexity = 3
    2920             :                   // Dst: (VORRd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    2921             : /*  5848*/      /*SwitchType*/ 18, MVT::v4i32,// ->5868
    2922             : /*  5850*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    2923             : /*  5852*/        OPC_EmitInteger, MVT::i32, 14, 
    2924             : /*  5855*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2925             : /*  5858*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRq), 0,
    2926             :                       MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    2927             :                   // Src: (or:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm) - Complexity = 3
    2928             :                   // Dst: (VORRq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    2929             : /*  5868*/      0, // EndSwitchType
    2930             : /*  5869*/    0, /*End of Scope*/
    2931             : /*  5870*/  /*SwitchOpcode*/ 114|128,77/*9970*/, TARGET_VAL(ISD::ADD),// ->15844
    2932             : /*  5874*/    OPC_Scope, 0|128,3/*384*/, /*->6261*/ // 51 children in Scope
    2933             : /*  5877*/      OPC_RecordChild0, // #0 = $Rn
    2934             : /*  5878*/      OPC_MoveChild1,
    2935             : /*  5879*/      OPC_Scope, 46, /*->5927*/ // 8 children in Scope
    2936             : /*  5881*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    2937             : /*  5884*/        OPC_MoveChild0,
    2938             : /*  5885*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    2939             : /*  5888*/        OPC_RecordChild0, // #1 = $Rm
    2940             : /*  5889*/        OPC_RecordChild1, // #2 = $rot
    2941             : /*  5890*/        OPC_MoveChild1,
    2942             : /*  5891*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2943             : /*  5894*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    2944             : /*  5896*/        OPC_CheckType, MVT::i32,
    2945             : /*  5898*/        OPC_MoveParent,
    2946             : /*  5899*/        OPC_MoveParent,
    2947             : /*  5900*/        OPC_MoveParent,
    2948             : /*  5901*/        OPC_CheckType, MVT::i32,
    2949             : /*  5903*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    2950             : /*  5905*/        OPC_EmitConvertToTarget, 2,
    2951             : /*  5907*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2952             : /*  5910*/        OPC_EmitInteger, MVT::i32, 14, 
    2953             : /*  5913*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2954             : /*  5916*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    2955             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2956             :                   // 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
    2957             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    2958             : /*  5927*/      /*Scope*/ 47, /*->5975*/
    2959             : /*  5928*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2960             : /*  5932*/        OPC_MoveChild0,
    2961             : /*  5933*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    2962             : /*  5936*/        OPC_RecordChild0, // #1 = $Rm
    2963             : /*  5937*/        OPC_RecordChild1, // #2 = $rot
    2964             : /*  5938*/        OPC_MoveChild1,
    2965             : /*  5939*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2966             : /*  5942*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    2967             : /*  5944*/        OPC_CheckType, MVT::i32,
    2968             : /*  5946*/        OPC_MoveParent,
    2969             : /*  5947*/        OPC_MoveParent,
    2970             : /*  5948*/        OPC_MoveParent,
    2971             : /*  5949*/        OPC_CheckType, MVT::i32,
    2972             : /*  5951*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    2973             : /*  5953*/        OPC_EmitConvertToTarget, 2,
    2974             : /*  5955*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2975             : /*  5958*/        OPC_EmitInteger, MVT::i32, 14, 
    2976             : /*  5961*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    2977             : /*  5964*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    2978             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    2979             :                   // 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
    2980             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    2981             : /*  5975*/      /*Scope*/ 46, /*->6022*/
    2982             : /*  5976*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    2983             : /*  5979*/        OPC_MoveChild0,
    2984             : /*  5980*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2985             : /*  5983*/        OPC_RecordChild0, // #1 = $Rm
    2986             : /*  5984*/        OPC_RecordChild1, // #2 = $rot
    2987             : /*  5985*/        OPC_MoveChild1,
    2988             : /*  5986*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2989             : /*  5989*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    2990             : /*  5991*/        OPC_CheckType, MVT::i32,
    2991             : /*  5993*/        OPC_MoveParent,
    2992             : /*  5994*/        OPC_MoveParent,
    2993             : /*  5995*/        OPC_MoveParent,
    2994             : /*  5996*/        OPC_CheckType, MVT::i32,
    2995             : /*  5998*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    2996             : /*  6000*/        OPC_EmitConvertToTarget, 2,
    2997             : /*  6002*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    2998             : /*  6005*/        OPC_EmitInteger, MVT::i32, 14, 
    2999             : /*  6008*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3000             : /*  6011*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3001             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3002             :                   // 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
    3003             :                   // Dst: (UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3004             : /*  6022*/      /*Scope*/ 47, /*->6070*/
    3005             : /*  6023*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3006             : /*  6027*/        OPC_MoveChild0,
    3007             : /*  6028*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3008             : /*  6031*/        OPC_RecordChild0, // #1 = $Rm
    3009             : /*  6032*/        OPC_RecordChild1, // #2 = $rot
    3010             : /*  6033*/        OPC_MoveChild1,
    3011             : /*  6034*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3012             : /*  6037*/        OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    3013             : /*  6039*/        OPC_CheckType, MVT::i32,
    3014             : /*  6041*/        OPC_MoveParent,
    3015             : /*  6042*/        OPC_MoveParent,
    3016             : /*  6043*/        OPC_MoveParent,
    3017             : /*  6044*/        OPC_CheckType, MVT::i32,
    3018             : /*  6046*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3019             : /*  6048*/        OPC_EmitConvertToTarget, 2,
    3020             : /*  6050*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3021             : /*  6053*/        OPC_EmitInteger, MVT::i32, 14, 
    3022             : /*  6056*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3023             : /*  6059*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3024             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3025             :                   // 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
    3026             :                   // Dst: (UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3027             : /*  6070*/      /*Scope*/ 46, /*->6117*/
    3028             : /*  6071*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3029             : /*  6074*/        OPC_MoveChild0,
    3030             : /*  6075*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3031             : /*  6078*/        OPC_RecordChild0, // #1 = $Rm
    3032             : /*  6079*/        OPC_RecordChild1, // #2 = $rot
    3033             : /*  6080*/        OPC_MoveChild1,
    3034             : /*  6081*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3035             : /*  6084*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3036             : /*  6086*/        OPC_CheckType, MVT::i32,
    3037             : /*  6088*/        OPC_MoveParent,
    3038             : /*  6089*/        OPC_MoveParent,
    3039             : /*  6090*/        OPC_MoveParent,
    3040             : /*  6091*/        OPC_CheckType, MVT::i32,
    3041             : /*  6093*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3042             : /*  6095*/        OPC_EmitConvertToTarget, 2,
    3043             : /*  6097*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3044             : /*  6100*/        OPC_EmitInteger, MVT::i32, 14, 
    3045             : /*  6103*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3046             : /*  6106*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3047             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3048             :                   // 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
    3049             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3050             : /*  6117*/      /*Scope*/ 47, /*->6165*/
    3051             : /*  6118*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3052             : /*  6122*/        OPC_MoveChild0,
    3053             : /*  6123*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3054             : /*  6126*/        OPC_RecordChild0, // #1 = $Rm
    3055             : /*  6127*/        OPC_RecordChild1, // #2 = $rot
    3056             : /*  6128*/        OPC_MoveChild1,
    3057             : /*  6129*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3058             : /*  6132*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3059             : /*  6134*/        OPC_CheckType, MVT::i32,
    3060             : /*  6136*/        OPC_MoveParent,
    3061             : /*  6137*/        OPC_MoveParent,
    3062             : /*  6138*/        OPC_MoveParent,
    3063             : /*  6139*/        OPC_CheckType, MVT::i32,
    3064             : /*  6141*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3065             : /*  6143*/        OPC_EmitConvertToTarget, 2,
    3066             : /*  6145*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3067             : /*  6148*/        OPC_EmitInteger, MVT::i32, 14, 
    3068             : /*  6151*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3069             : /*  6154*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3070             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3071             :                   // 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
    3072             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3073             : /*  6165*/      /*Scope*/ 46, /*->6212*/
    3074             : /*  6166*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3075             : /*  6169*/        OPC_MoveChild0,
    3076             : /*  6170*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3077             : /*  6173*/        OPC_RecordChild0, // #1 = $Rm
    3078             : /*  6174*/        OPC_RecordChild1, // #2 = $rot
    3079             : /*  6175*/        OPC_MoveChild1,
    3080             : /*  6176*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3081             : /*  6179*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3082             : /*  6181*/        OPC_CheckType, MVT::i32,
    3083             : /*  6183*/        OPC_MoveParent,
    3084             : /*  6184*/        OPC_MoveParent,
    3085             : /*  6185*/        OPC_MoveParent,
    3086             : /*  6186*/        OPC_CheckType, MVT::i32,
    3087             : /*  6188*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3088             : /*  6190*/        OPC_EmitConvertToTarget, 2,
    3089             : /*  6192*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3090             : /*  6195*/        OPC_EmitInteger, MVT::i32, 14, 
    3091             : /*  6198*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3092             : /*  6201*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3093             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3094             :                   // 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
    3095             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3096             : /*  6212*/      /*Scope*/ 47, /*->6260*/
    3097             : /*  6213*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3098             : /*  6217*/        OPC_MoveChild0,
    3099             : /*  6218*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3100             : /*  6221*/        OPC_RecordChild0, // #1 = $Rm
    3101             : /*  6222*/        OPC_RecordChild1, // #2 = $rot
    3102             : /*  6223*/        OPC_MoveChild1,
    3103             : /*  6224*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3104             : /*  6227*/        OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    3105             : /*  6229*/        OPC_CheckType, MVT::i32,
    3106             : /*  6231*/        OPC_MoveParent,
    3107             : /*  6232*/        OPC_MoveParent,
    3108             : /*  6233*/        OPC_MoveParent,
    3109             : /*  6234*/        OPC_CheckType, MVT::i32,
    3110             : /*  6236*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3111             : /*  6238*/        OPC_EmitConvertToTarget, 2,
    3112             : /*  6240*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3113             : /*  6243*/        OPC_EmitInteger, MVT::i32, 14, 
    3114             : /*  6246*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3115             : /*  6249*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3116             :                       MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    3117             :                   // 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
    3118             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3119             : /*  6260*/      0, /*End of Scope*/
    3120             : /*  6261*/    /*Scope*/ 7|128,3/*391*/, /*->6654*/
    3121             : /*  6263*/      OPC_MoveChild0,
    3122             : /*  6264*/      OPC_Scope, 47, /*->6313*/ // 8 children in Scope
    3123             : /*  6266*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3124             : /*  6269*/        OPC_MoveChild0,
    3125             : /*  6270*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3126             : /*  6273*/        OPC_RecordChild0, // #0 = $Rm
    3127             : /*  6274*/        OPC_RecordChild1, // #1 = $rot
    3128             : /*  6275*/        OPC_MoveChild1,
    3129             : /*  6276*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3130             : /*  6279*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3131             : /*  6281*/        OPC_CheckType, MVT::i32,
    3132             : /*  6283*/        OPC_MoveParent,
    3133             : /*  6284*/        OPC_MoveParent,
    3134             : /*  6285*/        OPC_MoveParent,
    3135             : /*  6286*/        OPC_RecordChild1, // #2 = $Rn
    3136             : /*  6287*/        OPC_CheckType, MVT::i32,
    3137             : /*  6289*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3138             : /*  6291*/        OPC_EmitConvertToTarget, 1,
    3139             : /*  6293*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3140             : /*  6296*/        OPC_EmitInteger, MVT::i32, 14, 
    3141             : /*  6299*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3142             : /*  6302*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3143             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3144             :                   // 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
    3145             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    3146             : /*  6313*/      /*Scope*/ 48, /*->6362*/
    3147             : /*  6314*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3148             : /*  6318*/        OPC_MoveChild0,
    3149             : /*  6319*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3150             : /*  6322*/        OPC_RecordChild0, // #0 = $Rm
    3151             : /*  6323*/        OPC_RecordChild1, // #1 = $rot
    3152             : /*  6324*/        OPC_MoveChild1,
    3153             : /*  6325*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3154             : /*  6328*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3155             : /*  6330*/        OPC_CheckType, MVT::i32,
    3156             : /*  6332*/        OPC_MoveParent,
    3157             : /*  6333*/        OPC_MoveParent,
    3158             : /*  6334*/        OPC_MoveParent,
    3159             : /*  6335*/        OPC_RecordChild1, // #2 = $Rn
    3160             : /*  6336*/        OPC_CheckType, MVT::i32,
    3161             : /*  6338*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3162             : /*  6340*/        OPC_EmitConvertToTarget, 1,
    3163             : /*  6342*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3164             : /*  6345*/        OPC_EmitInteger, MVT::i32, 14, 
    3165             : /*  6348*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3166             : /*  6351*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3167             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3168             :                   // 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
    3169             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    3170             : /*  6362*/      /*Scope*/ 47, /*->6410*/
    3171             : /*  6363*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3172             : /*  6366*/        OPC_MoveChild0,
    3173             : /*  6367*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3174             : /*  6370*/        OPC_RecordChild0, // #0 = $Rm
    3175             : /*  6371*/        OPC_RecordChild1, // #1 = $rot
    3176             : /*  6372*/        OPC_MoveChild1,
    3177             : /*  6373*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3178             : /*  6376*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3179             : /*  6378*/        OPC_CheckType, MVT::i32,
    3180             : /*  6380*/        OPC_MoveParent,
    3181             : /*  6381*/        OPC_MoveParent,
    3182             : /*  6382*/        OPC_MoveParent,
    3183             : /*  6383*/        OPC_RecordChild1, // #2 = $Rn
    3184             : /*  6384*/        OPC_CheckType, MVT::i32,
    3185             : /*  6386*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3186             : /*  6388*/        OPC_EmitConvertToTarget, 1,
    3187             : /*  6390*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3188             : /*  6393*/        OPC_EmitInteger, MVT::i32, 14, 
    3189             : /*  6396*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3190             : /*  6399*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3191             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3192             :                   // 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
    3193             :                   // Dst: (UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3194             : /*  6410*/      /*Scope*/ 48, /*->6459*/
    3195             : /*  6411*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3196             : /*  6415*/        OPC_MoveChild0,
    3197             : /*  6416*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3198             : /*  6419*/        OPC_RecordChild0, // #0 = $Rm
    3199             : /*  6420*/        OPC_RecordChild1, // #1 = $rot
    3200             : /*  6421*/        OPC_MoveChild1,
    3201             : /*  6422*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3202             : /*  6425*/        OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    3203             : /*  6427*/        OPC_CheckType, MVT::i32,
    3204             : /*  6429*/        OPC_MoveParent,
    3205             : /*  6430*/        OPC_MoveParent,
    3206             : /*  6431*/        OPC_MoveParent,
    3207             : /*  6432*/        OPC_RecordChild1, // #2 = $Rn
    3208             : /*  6433*/        OPC_CheckType, MVT::i32,
    3209             : /*  6435*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3210             : /*  6437*/        OPC_EmitConvertToTarget, 1,
    3211             : /*  6439*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3212             : /*  6442*/        OPC_EmitInteger, MVT::i32, 14, 
    3213             : /*  6445*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3214             : /*  6448*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3215             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3216             :                   // 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
    3217             :                   // Dst: (UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3218             : /*  6459*/      /*Scope*/ 47, /*->6507*/
    3219             : /*  6460*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3220             : /*  6463*/        OPC_MoveChild0,
    3221             : /*  6464*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3222             : /*  6467*/        OPC_RecordChild0, // #0 = $Rm
    3223             : /*  6468*/        OPC_RecordChild1, // #1 = $rot
    3224             : /*  6469*/        OPC_MoveChild1,
    3225             : /*  6470*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3226             : /*  6473*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3227             : /*  6475*/        OPC_CheckType, MVT::i32,
    3228             : /*  6477*/        OPC_MoveParent,
    3229             : /*  6478*/        OPC_MoveParent,
    3230             : /*  6479*/        OPC_MoveParent,
    3231             : /*  6480*/        OPC_RecordChild1, // #2 = $Rn
    3232             : /*  6481*/        OPC_CheckType, MVT::i32,
    3233             : /*  6483*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3234             : /*  6485*/        OPC_EmitConvertToTarget, 1,
    3235             : /*  6487*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3236             : /*  6490*/        OPC_EmitInteger, MVT::i32, 14, 
    3237             : /*  6493*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3238             : /*  6496*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3239             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3240             :                   // 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
    3241             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3242             : /*  6507*/      /*Scope*/ 48, /*->6556*/
    3243             : /*  6508*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3244             : /*  6512*/        OPC_MoveChild0,
    3245             : /*  6513*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3246             : /*  6516*/        OPC_RecordChild0, // #0 = $Rm
    3247             : /*  6517*/        OPC_RecordChild1, // #1 = $rot
    3248             : /*  6518*/        OPC_MoveChild1,
    3249             : /*  6519*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3250             : /*  6522*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3251             : /*  6524*/        OPC_CheckType, MVT::i32,
    3252             : /*  6526*/        OPC_MoveParent,
    3253             : /*  6527*/        OPC_MoveParent,
    3254             : /*  6528*/        OPC_MoveParent,
    3255             : /*  6529*/        OPC_RecordChild1, // #2 = $Rn
    3256             : /*  6530*/        OPC_CheckType, MVT::i32,
    3257             : /*  6532*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3258             : /*  6534*/        OPC_EmitConvertToTarget, 1,
    3259             : /*  6536*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3260             : /*  6539*/        OPC_EmitInteger, MVT::i32, 14, 
    3261             : /*  6542*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3262             : /*  6545*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3263             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3264             :                   // 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
    3265             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3266             : /*  6556*/      /*Scope*/ 47, /*->6604*/
    3267             : /*  6557*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3268             : /*  6560*/        OPC_MoveChild0,
    3269             : /*  6561*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3270             : /*  6564*/        OPC_RecordChild0, // #0 = $Rm
    3271             : /*  6565*/        OPC_RecordChild1, // #1 = $rot
    3272             : /*  6566*/        OPC_MoveChild1,
    3273             : /*  6567*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3274             : /*  6570*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    3275             : /*  6572*/        OPC_CheckType, MVT::i32,
    3276             : /*  6574*/        OPC_MoveParent,
    3277             : /*  6575*/        OPC_MoveParent,
    3278             : /*  6576*/        OPC_MoveParent,
    3279             : /*  6577*/        OPC_RecordChild1, // #2 = $Rn
    3280             : /*  6578*/        OPC_CheckType, MVT::i32,
    3281             : /*  6580*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3282             : /*  6582*/        OPC_EmitConvertToTarget, 1,
    3283             : /*  6584*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3284             : /*  6587*/        OPC_EmitInteger, MVT::i32, 14, 
    3285             : /*  6590*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3286             : /*  6593*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3287             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3288             :                   // 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
    3289             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3290             : /*  6604*/      /*Scope*/ 48, /*->6653*/
    3291             : /*  6605*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3292             : /*  6609*/        OPC_MoveChild0,
    3293             : /*  6610*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3294             : /*  6613*/        OPC_RecordChild0, // #0 = $Rm
    3295             : /*  6614*/        OPC_RecordChild1, // #1 = $rot
    3296             : /*  6615*/        OPC_MoveChild1,
    3297             : /*  6616*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3298             : /*  6619*/        OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    3299             : /*  6621*/        OPC_CheckType, MVT::i32,
    3300             : /*  6623*/        OPC_MoveParent,
    3301             : /*  6624*/        OPC_MoveParent,
    3302             : /*  6625*/        OPC_MoveParent,
    3303             : /*  6626*/        OPC_RecordChild1, // #2 = $Rn
    3304             : /*  6627*/        OPC_CheckType, MVT::i32,
    3305             : /*  6629*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3306             : /*  6631*/        OPC_EmitConvertToTarget, 1,
    3307             : /*  6633*/        OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    3308             : /*  6636*/        OPC_EmitInteger, MVT::i32, 14, 
    3309             : /*  6639*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3310             : /*  6642*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3311             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    3312             :                   // 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
    3313             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    3314             : /*  6653*/      0, /*End of Scope*/
    3315             : /*  6654*/    /*Scope*/ 126, /*->6781*/
    3316             : /*  6655*/      OPC_RecordChild0, // #0 = $Rn
    3317             : /*  6656*/      OPC_MoveChild1,
    3318             : /*  6657*/      OPC_Scope, 29, /*->6688*/ // 4 children in Scope
    3319             : /*  6659*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3320             : /*  6662*/        OPC_RecordChild0, // #1 = $Rm
    3321             : /*  6663*/        OPC_MoveParent,
    3322             : /*  6664*/        OPC_CheckType, MVT::i32,
    3323             : /*  6666*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3324             : /*  6668*/        OPC_EmitInteger, MVT::i32, 0, 
    3325             : /*  6671*/        OPC_EmitInteger, MVT::i32, 14, 
    3326             : /*  6674*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3327             : /*  6677*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3328             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3329             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 255:{ *:[i32] })) - Complexity = 27
    3330             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3331             : /*  6688*/      /*Scope*/ 30, /*->6719*/
    3332             : /*  6689*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3333             : /*  6693*/        OPC_RecordChild0, // #1 = $Rm
    3334             : /*  6694*/        OPC_MoveParent,
    3335             : /*  6695*/        OPC_CheckType, MVT::i32,
    3336             : /*  6697*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3337             : /*  6699*/        OPC_EmitInteger, MVT::i32, 0, 
    3338             : /*  6702*/        OPC_EmitInteger, MVT::i32, 14, 
    3339             : /*  6705*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3340             : /*  6708*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3341             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3342             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] })) - Complexity = 27
    3343             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3344             : /*  6719*/      /*Scope*/ 29, /*->6749*/
    3345             : /*  6720*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3346             : /*  6723*/        OPC_RecordChild0, // #1 = $Rm
    3347             : /*  6724*/        OPC_MoveParent,
    3348             : /*  6725*/        OPC_CheckType, MVT::i32,
    3349             : /*  6727*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3350             : /*  6729*/        OPC_EmitInteger, MVT::i32, 0, 
    3351             : /*  6732*/        OPC_EmitInteger, MVT::i32, 14, 
    3352             : /*  6735*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3353             : /*  6738*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3354             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3355             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] })) - Complexity = 27
    3356             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3357             : /*  6749*/      /*Scope*/ 30, /*->6780*/
    3358             : /*  6750*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3359             : /*  6754*/        OPC_RecordChild0, // #1 = $Rm
    3360             : /*  6755*/        OPC_MoveParent,
    3361             : /*  6756*/        OPC_CheckType, MVT::i32,
    3362             : /*  6758*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3363             : /*  6760*/        OPC_EmitInteger, MVT::i32, 0, 
    3364             : /*  6763*/        OPC_EmitInteger, MVT::i32, 14, 
    3365             : /*  6766*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3366             : /*  6769*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3367             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3368             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] })) - Complexity = 27
    3369             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3370             : /*  6780*/      0, /*End of Scope*/
    3371             : /*  6781*/    /*Scope*/ 1|128,1/*129*/, /*->6912*/
    3372             : /*  6783*/      OPC_MoveChild0,
    3373             : /*  6784*/      OPC_Scope, 30, /*->6816*/ // 4 children in Scope
    3374             : /*  6786*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3375             : /*  6789*/        OPC_RecordChild0, // #0 = $Rm
    3376             : /*  6790*/        OPC_MoveParent,
    3377             : /*  6791*/        OPC_RecordChild1, // #1 = $Rn
    3378             : /*  6792*/        OPC_CheckType, MVT::i32,
    3379             : /*  6794*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3380             : /*  6796*/        OPC_EmitInteger, MVT::i32, 0, 
    3381             : /*  6799*/        OPC_EmitInteger, MVT::i32, 14, 
    3382             : /*  6802*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3383             : /*  6805*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
    3384             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3385             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 27
    3386             :                   // Dst: (UXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3387             : /*  6816*/      /*Scope*/ 31, /*->6848*/
    3388             : /*  6817*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3389             : /*  6821*/        OPC_RecordChild0, // #0 = $Rm
    3390             : /*  6822*/        OPC_MoveParent,
    3391             : /*  6823*/        OPC_RecordChild1, // #1 = $Rn
    3392             : /*  6824*/        OPC_CheckType, MVT::i32,
    3393             : /*  6826*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    3394             : /*  6828*/        OPC_EmitInteger, MVT::i32, 0, 
    3395             : /*  6831*/        OPC_EmitInteger, MVT::i32, 14, 
    3396             : /*  6834*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3397             : /*  6837*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
    3398             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3399             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } GPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 27
    3400             :                   // Dst: (UXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3401             : /*  6848*/      /*Scope*/ 30, /*->6879*/
    3402             : /*  6849*/        OPC_CheckAndImm, 127|128,1/*255*/, 
    3403             : /*  6852*/        OPC_RecordChild0, // #0 = $Rm
    3404             : /*  6853*/        OPC_MoveParent,
    3405             : /*  6854*/        OPC_RecordChild1, // #1 = $Rn
    3406             : /*  6855*/        OPC_CheckType, MVT::i32,
    3407             : /*  6857*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3408             : /*  6859*/        OPC_EmitInteger, MVT::i32, 0, 
    3409             : /*  6862*/        OPC_EmitInteger, MVT::i32, 14, 
    3410             : /*  6865*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3411             : /*  6868*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
    3412             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3413             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 27
    3414             :                   // Dst: (t2UXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3415             : /*  6879*/      /*Scope*/ 31, /*->6911*/
    3416             : /*  6880*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3417             : /*  6884*/        OPC_RecordChild0, // #0 = $Rm
    3418             : /*  6885*/        OPC_MoveParent,
    3419             : /*  6886*/        OPC_RecordChild1, // #1 = $Rn
    3420             : /*  6887*/        OPC_CheckType, MVT::i32,
    3421             : /*  6889*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3422             : /*  6891*/        OPC_EmitInteger, MVT::i32, 0, 
    3423             : /*  6894*/        OPC_EmitInteger, MVT::i32, 14, 
    3424             : /*  6897*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3425             : /*  6900*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
    3426             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3427             :                   // Src: (add:{ *:[i32] } (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 27
    3428             :                   // Dst: (t2UXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    3429             : /*  6911*/      0, /*End of Scope*/
    3430             : /*  6912*/    /*Scope*/ 108, /*->7021*/
    3431             : /*  6913*/      OPC_RecordChild0, // #0 = $Rn
    3432             : /*  6914*/      OPC_MoveChild1,
    3433             : /*  6915*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3434             : /*  6918*/      OPC_MoveChild0,
    3435             : /*  6919*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    3436             : /*  6922*/      OPC_MoveChild0,
    3437             : /*  6923*/      OPC_SwitchOpcode /*2 cases */, 45, TARGET_VAL(ISD::SRL),// ->6972
    3438             : /*  6927*/        OPC_RecordChild0, // #1 = $Rm
    3439             : /*  6928*/        OPC_CheckChild1Integer, 24, 
    3440             : /*  6930*/        OPC_CheckChild1Type, MVT::i32,
    3441             : /*  6932*/        OPC_MoveParent,
    3442             : /*  6933*/        OPC_MoveChild1,
    3443             : /*  6934*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    3444             : /*  6937*/        OPC_CheckChild0Same, 1,
    3445             : /*  6939*/        OPC_CheckChild1Integer, 8, 
    3446             : /*  6941*/        OPC_CheckChild1Type, MVT::i32,
    3447             : /*  6943*/        OPC_MoveParent,
    3448             : /*  6944*/        OPC_MoveParent,
    3449             : /*  6945*/        OPC_MoveChild1,
    3450             : /*  6946*/        OPC_CheckValueType, MVT::i16,
    3451             : /*  6948*/        OPC_MoveParent,
    3452             : /*  6949*/        OPC_MoveParent,
    3453             : /*  6950*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3454             : /*  6952*/        OPC_EmitInteger, MVT::i32, 3, 
    3455             : /*  6955*/        OPC_EmitInteger, MVT::i32, 14, 
    3456             : /*  6958*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3457             : /*  6961*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3458             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3459             :                   // 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
    3460             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3461             : /*  6972*/      /*SwitchOpcode*/ 45, TARGET_VAL(ISD::SHL),// ->7020
    3462             : /*  6975*/        OPC_RecordChild0, // #1 = $Rm
    3463             : /*  6976*/        OPC_CheckChild1Integer, 8, 
    3464             : /*  6978*/        OPC_CheckChild1Type, MVT::i32,
    3465             : /*  6980*/        OPC_MoveParent,
    3466             : /*  6981*/        OPC_MoveChild1,
    3467             : /*  6982*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3468             : /*  6985*/        OPC_CheckChild0Same, 1,
    3469             : /*  6987*/        OPC_CheckChild1Integer, 24, 
    3470             : /*  6989*/        OPC_CheckChild1Type, MVT::i32,
    3471             : /*  6991*/        OPC_MoveParent,
    3472             : /*  6992*/        OPC_MoveParent,
    3473             : /*  6993*/        OPC_MoveChild1,
    3474             : /*  6994*/        OPC_CheckValueType, MVT::i16,
    3475             : /*  6996*/        OPC_MoveParent,
    3476             : /*  6997*/        OPC_MoveParent,
    3477             : /*  6998*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3478             : /*  7000*/        OPC_EmitInteger, MVT::i32, 3, 
    3479             : /*  7003*/        OPC_EmitInteger, MVT::i32, 14, 
    3480             : /*  7006*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3481             : /*  7009*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3482             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3483             :                   // 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
    3484             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3485             : /*  7020*/      0, // EndSwitchOpcode
    3486             : /*  7021*/    /*Scope*/ 109, /*->7131*/
    3487             : /*  7022*/      OPC_MoveChild0,
    3488             : /*  7023*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3489             : /*  7026*/      OPC_MoveChild0,
    3490             : /*  7027*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    3491             : /*  7030*/      OPC_MoveChild0,
    3492             : /*  7031*/      OPC_SwitchOpcode /*2 cases */, 46, TARGET_VAL(ISD::SRL),// ->7081
    3493             : /*  7035*/        OPC_RecordChild0, // #0 = $Rm
    3494             : /*  7036*/        OPC_CheckChild1Integer, 24, 
    3495             : /*  7038*/        OPC_CheckChild1Type, MVT::i32,
    3496             : /*  7040*/        OPC_MoveParent,
    3497             : /*  7041*/        OPC_MoveChild1,
    3498             : /*  7042*/        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    3499             : /*  7045*/        OPC_CheckChild0Same, 0,
    3500             : /*  7047*/        OPC_CheckChild1Integer, 8, 
    3501             : /*  7049*/        OPC_CheckChild1Type, MVT::i32,
    3502             : /*  7051*/        OPC_MoveParent,
    3503             : /*  7052*/        OPC_MoveParent,
    3504             : /*  7053*/        OPC_MoveChild1,
    3505             : /*  7054*/        OPC_CheckValueType, MVT::i16,
    3506             : /*  7056*/        OPC_MoveParent,
    3507             : /*  7057*/        OPC_MoveParent,
    3508             : /*  7058*/        OPC_RecordChild1, // #1 = $Rn
    3509             : /*  7059*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3510             : /*  7061*/        OPC_EmitInteger, MVT::i32, 3, 
    3511             : /*  7064*/        OPC_EmitInteger, MVT::i32, 14, 
    3512             : /*  7067*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3513             : /*  7070*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3514             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3515             :                   // 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
    3516             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3517             : /*  7081*/      /*SwitchOpcode*/ 46, TARGET_VAL(ISD::SHL),// ->7130
    3518             : /*  7084*/        OPC_RecordChild0, // #0 = $Rm
    3519             : /*  7085*/        OPC_CheckChild1Integer, 8, 
    3520             : /*  7087*/        OPC_CheckChild1Type, MVT::i32,
    3521             : /*  7089*/        OPC_MoveParent,
    3522             : /*  7090*/        OPC_MoveChild1,
    3523             : /*  7091*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3524             : /*  7094*/        OPC_CheckChild0Same, 0,
    3525             : /*  7096*/        OPC_CheckChild1Integer, 24, 
    3526             : /*  7098*/        OPC_CheckChild1Type, MVT::i32,
    3527             : /*  7100*/        OPC_MoveParent,
    3528             : /*  7101*/        OPC_MoveParent,
    3529             : /*  7102*/        OPC_MoveChild1,
    3530             : /*  7103*/        OPC_CheckValueType, MVT::i16,
    3531             : /*  7105*/        OPC_MoveParent,
    3532             : /*  7106*/        OPC_MoveParent,
    3533             : /*  7107*/        OPC_RecordChild1, // #1 = $Rn
    3534             : /*  7108*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3535             : /*  7110*/        OPC_EmitInteger, MVT::i32, 3, 
    3536             : /*  7113*/        OPC_EmitInteger, MVT::i32, 14, 
    3537             : /*  7116*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3538             : /*  7119*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3539             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3540             :                   // 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
    3541             :                   // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3542             : /*  7130*/      0, // EndSwitchOpcode
    3543             : /*  7131*/    /*Scope*/ 70, /*->7202*/
    3544             : /*  7132*/      OPC_RecordChild0, // #0 = $Ra
    3545             : /*  7133*/      OPC_MoveChild1,
    3546             : /*  7134*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3547             : /*  7137*/      OPC_MoveChild0,
    3548             : /*  7138*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3549             : /*  7141*/      OPC_RecordChild0, // #1 = $Rn
    3550             : /*  7142*/      OPC_CheckChild1Integer, 16, 
    3551             : /*  7144*/      OPC_CheckChild1Type, MVT::i32,
    3552             : /*  7146*/      OPC_MoveParent,
    3553             : /*  7147*/      OPC_MoveChild1,
    3554             : /*  7148*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3555             : /*  7151*/      OPC_RecordChild0, // #2 = $Rm
    3556             : /*  7152*/      OPC_CheckChild1Integer, 16, 
    3557             : /*  7154*/      OPC_CheckChild1Type, MVT::i32,
    3558             : /*  7156*/      OPC_MoveParent,
    3559             : /*  7157*/      OPC_MoveParent,
    3560             : /*  7158*/      OPC_CheckType, MVT::i32,
    3561             : /*  7160*/      OPC_Scope, 19, /*->7181*/ // 2 children in Scope
    3562             : /*  7162*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3563             : /*  7164*/        OPC_EmitInteger, MVT::i32, 14, 
    3564             : /*  7167*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3565             : /*  7170*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATT), 0,
    3566             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3567             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 16:{ *:[i32] }))) - Complexity = 22
    3568             :                   // Dst: (SMLATT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3569             : /*  7181*/      /*Scope*/ 19, /*->7201*/
    3570             : /*  7182*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3571             : /*  7184*/        OPC_EmitInteger, MVT::i32, 14, 
    3572             : /*  7187*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3573             : /*  7190*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATT), 0,
    3574             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3575             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] }))) - Complexity = 22
    3576             :                   // Dst: (t2SMLATT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3577             : /*  7201*/      0, /*End of Scope*/
    3578             : /*  7202*/    /*Scope*/ 70, /*->7273*/
    3579             : /*  7203*/      OPC_MoveChild0,
    3580             : /*  7204*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3581             : /*  7207*/      OPC_MoveChild0,
    3582             : /*  7208*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3583             : /*  7211*/      OPC_RecordChild0, // #0 = $Rn
    3584             : /*  7212*/      OPC_CheckChild1Integer, 16, 
    3585             : /*  7214*/      OPC_CheckChild1Type, MVT::i32,
    3586             : /*  7216*/      OPC_MoveParent,
    3587             : /*  7217*/      OPC_MoveChild1,
    3588             : /*  7218*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3589             : /*  7221*/      OPC_RecordChild0, // #1 = $Rm
    3590             : /*  7222*/      OPC_CheckChild1Integer, 16, 
    3591             : /*  7224*/      OPC_CheckChild1Type, MVT::i32,
    3592             : /*  7226*/      OPC_MoveParent,
    3593             : /*  7227*/      OPC_MoveParent,
    3594             : /*  7228*/      OPC_RecordChild1, // #2 = $Ra
    3595             : /*  7229*/      OPC_CheckType, MVT::i32,
    3596             : /*  7231*/      OPC_Scope, 19, /*->7252*/ // 2 children in Scope
    3597             : /*  7233*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3598             : /*  7235*/        OPC_EmitInteger, MVT::i32, 14, 
    3599             : /*  7238*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3600             : /*  7241*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATT), 0,
    3601             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3602             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, 16:{ *:[i32] })), GPR:{ *:[i32] }:$Ra) - Complexity = 22
    3603             :                   // Dst: (SMLATT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3604             : /*  7252*/      /*Scope*/ 19, /*->7272*/
    3605             : /*  7253*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3606             : /*  7255*/        OPC_EmitInteger, MVT::i32, 14, 
    3607             : /*  7258*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3608             : /*  7261*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATT), 0,
    3609             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3610             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, 16:{ *:[i32] }), (sra:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16:{ *:[i32] })), rGPR:{ *:[i32] }:$Ra) - Complexity = 22
    3611             :                   // Dst: (t2SMLATT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3612             : /*  7272*/      0, /*End of Scope*/
    3613             : /*  7273*/    /*Scope*/ 4|128,1/*132*/, /*->7407*/
    3614             : /*  7275*/      OPC_RecordChild0, // #0 = $Ra
    3615             : /*  7276*/      OPC_MoveChild1,
    3616             : /*  7277*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3617             : /*  7280*/      OPC_MoveChild0,
    3618             : /*  7281*/      OPC_SwitchOpcode /*2 cases */, 59, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->7344
    3619             : /*  7285*/        OPC_RecordChild0, // #1 = $Rn
    3620             : /*  7286*/        OPC_MoveChild1,
    3621             : /*  7287*/        OPC_CheckValueType, MVT::i16,
    3622             : /*  7289*/        OPC_MoveParent,
    3623             : /*  7290*/        OPC_MoveParent,
    3624             : /*  7291*/        OPC_MoveChild1,
    3625             : /*  7292*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3626             : /*  7295*/        OPC_RecordChild0, // #2 = $Rm
    3627             : /*  7296*/        OPC_CheckChild1Integer, 16, 
    3628             : /*  7298*/        OPC_CheckChild1Type, MVT::i32,
    3629             : /*  7300*/        OPC_MoveParent,
    3630             : /*  7301*/        OPC_MoveParent,
    3631             : /*  7302*/        OPC_Scope, 19, /*->7323*/ // 2 children in Scope
    3632             : /*  7304*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3633             : /*  7306*/          OPC_EmitInteger, MVT::i32, 14, 
    3634             : /*  7309*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3635             : /*  7312*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3636             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3637             :                     // 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
    3638             :                     // Dst: (SMLABT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3639             : /*  7323*/        /*Scope*/ 19, /*->7343*/
    3640             : /*  7324*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3641             : /*  7326*/          OPC_EmitInteger, MVT::i32, 14, 
    3642             : /*  7329*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3643             : /*  7332*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3644             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3645             :                     // 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
    3646             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3647             : /*  7343*/        0, /*End of Scope*/
    3648             : /*  7344*/      /*SwitchOpcode*/ 59, TARGET_VAL(ISD::SRA),// ->7406
    3649             : /*  7347*/        OPC_RecordChild0, // #1 = $Rn
    3650             : /*  7348*/        OPC_CheckChild1Integer, 16, 
    3651             : /*  7350*/        OPC_CheckChild1Type, MVT::i32,
    3652             : /*  7352*/        OPC_MoveParent,
    3653             : /*  7353*/        OPC_MoveChild1,
    3654             : /*  7354*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3655             : /*  7357*/        OPC_RecordChild0, // #2 = $Rm
    3656             : /*  7358*/        OPC_MoveChild1,
    3657             : /*  7359*/        OPC_CheckValueType, MVT::i16,
    3658             : /*  7361*/        OPC_MoveParent,
    3659             : /*  7362*/        OPC_MoveParent,
    3660             : /*  7363*/        OPC_MoveParent,
    3661             : /*  7364*/        OPC_Scope, 19, /*->7385*/ // 2 children in Scope
    3662             : /*  7366*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3663             : /*  7368*/          OPC_EmitInteger, MVT::i32, 14, 
    3664             : /*  7371*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3665             : /*  7374*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATB), 0,
    3666             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3667             :                     // 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
    3668             :                     // Dst: (SMLATB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3669             : /*  7385*/        /*Scope*/ 19, /*->7405*/
    3670             : /*  7386*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3671             : /*  7388*/          OPC_EmitInteger, MVT::i32, 14, 
    3672             : /*  7391*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3673             : /*  7394*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATB), 0,
    3674             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3675             :                     // 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
    3676             :                     // Dst: (t2SMLATB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3677             : /*  7405*/        0, /*End of Scope*/
    3678             : /*  7406*/      0, // EndSwitchOpcode
    3679             : /*  7407*/    /*Scope*/ 5|128,1/*133*/, /*->7542*/
    3680             : /*  7409*/      OPC_MoveChild0,
    3681             : /*  7410*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3682             : /*  7413*/      OPC_MoveChild0,
    3683             : /*  7414*/      OPC_SwitchOpcode /*2 cases */, 60, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->7478
    3684             : /*  7418*/        OPC_RecordChild0, // #0 = $Rn
    3685             : /*  7419*/        OPC_MoveChild1,
    3686             : /*  7420*/        OPC_CheckValueType, MVT::i16,
    3687             : /*  7422*/        OPC_MoveParent,
    3688             : /*  7423*/        OPC_MoveParent,
    3689             : /*  7424*/        OPC_MoveChild1,
    3690             : /*  7425*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3691             : /*  7428*/        OPC_RecordChild0, // #1 = $Rm
    3692             : /*  7429*/        OPC_CheckChild1Integer, 16, 
    3693             : /*  7431*/        OPC_CheckChild1Type, MVT::i32,
    3694             : /*  7433*/        OPC_MoveParent,
    3695             : /*  7434*/        OPC_MoveParent,
    3696             : /*  7435*/        OPC_RecordChild1, // #2 = $Ra
    3697             : /*  7436*/        OPC_Scope, 19, /*->7457*/ // 2 children in Scope
    3698             : /*  7438*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3699             : /*  7440*/          OPC_EmitInteger, MVT::i32, 14, 
    3700             : /*  7443*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3701             : /*  7446*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3702             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3703             :                     // 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
    3704             :                     // Dst: (SMLABT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3705             : /*  7457*/        /*Scope*/ 19, /*->7477*/
    3706             : /*  7458*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3707             : /*  7460*/          OPC_EmitInteger, MVT::i32, 14, 
    3708             : /*  7463*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3709             : /*  7466*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3710             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3711             :                     // 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
    3712             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3713             : /*  7477*/        0, /*End of Scope*/
    3714             : /*  7478*/      /*SwitchOpcode*/ 60, TARGET_VAL(ISD::SRA),// ->7541
    3715             : /*  7481*/        OPC_RecordChild0, // #0 = $Rm
    3716             : /*  7482*/        OPC_CheckChild1Integer, 16, 
    3717             : /*  7484*/        OPC_CheckChild1Type, MVT::i32,
    3718             : /*  7486*/        OPC_MoveParent,
    3719             : /*  7487*/        OPC_MoveChild1,
    3720             : /*  7488*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3721             : /*  7491*/        OPC_RecordChild0, // #1 = $Rn
    3722             : /*  7492*/        OPC_MoveChild1,
    3723             : /*  7493*/        OPC_CheckValueType, MVT::i16,
    3724             : /*  7495*/        OPC_MoveParent,
    3725             : /*  7496*/        OPC_MoveParent,
    3726             : /*  7497*/        OPC_MoveParent,
    3727             : /*  7498*/        OPC_RecordChild1, // #2 = $Ra
    3728             : /*  7499*/        OPC_Scope, 19, /*->7520*/ // 2 children in Scope
    3729             : /*  7501*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3730             : /*  7503*/          OPC_EmitInteger, MVT::i32, 14, 
    3731             : /*  7506*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3732             : /*  7509*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3733             :                         MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3734             :                     // 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
    3735             :                     // Dst: (SMLABT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    3736             : /*  7520*/        /*Scope*/ 19, /*->7540*/
    3737             : /*  7521*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3738             : /*  7523*/          OPC_EmitInteger, MVT::i32, 14, 
    3739             : /*  7526*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3740             : /*  7529*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3741             :                         MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3742             :                     // 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
    3743             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3744             : /*  7540*/        0, /*End of Scope*/
    3745             : /*  7541*/      0, // EndSwitchOpcode
    3746             : /*  7542*/    /*Scope*/ 97|128,1/*225*/, /*->7769*/
    3747             : /*  7544*/      OPC_RecordChild0, // #0 = $Rn
    3748             : /*  7545*/      OPC_Scope, 30, /*->7577*/ // 3 children in Scope
    3749             : /*  7547*/        OPC_RecordChild1, // #1 = $shift
    3750             : /*  7548*/        OPC_CheckType, MVT::i32,
    3751             : /*  7550*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    3752             : /*  7552*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectRegShifterOperand:$shift #2 #3 #4
    3753             : /*  7555*/        OPC_EmitInteger, MVT::i32, 14, 
    3754             : /*  7558*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3755             : /*  7561*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3756             : /*  7564*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsr), 0,
    3757             :                       MVT::i32, 7/*#Ops*/, 0, 2, 3, 4, 5, 6, 7, 
    3758             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift) - Complexity = 15
    3759             :                   // Dst: (ADDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    3760             : /*  7577*/      /*Scope*/ 30|128,1/*158*/, /*->7737*/
    3761             : /*  7579*/        OPC_MoveChild1,
    3762             : /*  7580*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3763             : /*  7583*/        OPC_Scope, 37, /*->7622*/ // 4 children in Scope
    3764             : /*  7585*/          OPC_RecordChild0, // #1 = $a
    3765             : /*  7586*/          OPC_MoveChild0,
    3766             : /*  7587*/          OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3767             : /*  7589*/          OPC_MoveParent,
    3768             : /*  7590*/          OPC_MoveChild1,
    3769             : /*  7591*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3770             : /*  7594*/          OPC_RecordChild0, // #2 = $b
    3771             : /*  7595*/          OPC_CheckChild1Integer, 16, 
    3772             : /*  7597*/          OPC_CheckChild1Type, MVT::i32,
    3773             : /*  7599*/          OPC_MoveParent,
    3774             : /*  7600*/          OPC_MoveParent,
    3775             : /*  7601*/          OPC_CheckType, MVT::i32,
    3776             : /*  7603*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3777             : /*  7605*/          OPC_EmitInteger, MVT::i32, 14, 
    3778             : /*  7608*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3779             : /*  7611*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3780             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3781             :                     // 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
    3782             :                     // Dst: (SMLABT:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3783             : /*  7622*/        /*Scope*/ 37, /*->7660*/
    3784             : /*  7623*/          OPC_MoveChild0,
    3785             : /*  7624*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3786             : /*  7627*/          OPC_RecordChild0, // #1 = $a
    3787             : /*  7628*/          OPC_CheckChild1Integer, 16, 
    3788             : /*  7630*/          OPC_CheckChild1Type, MVT::i32,
    3789             : /*  7632*/          OPC_MoveParent,
    3790             : /*  7633*/          OPC_RecordChild1, // #2 = $b
    3791             : /*  7634*/          OPC_MoveChild1,
    3792             : /*  7635*/          OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3793             : /*  7637*/          OPC_MoveParent,
    3794             : /*  7638*/          OPC_MoveParent,
    3795             : /*  7639*/          OPC_CheckType, MVT::i32,
    3796             : /*  7641*/          OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3797             : /*  7643*/          OPC_EmitInteger, MVT::i32, 14, 
    3798             : /*  7646*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3799             : /*  7649*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATB), 0,
    3800             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3801             :                     // 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
    3802             :                     // Dst: (SMLATB:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3803             : /*  7660*/        /*Scope*/ 37, /*->7698*/
    3804             : /*  7661*/          OPC_RecordChild0, // #1 = $Rn
    3805             : /*  7662*/          OPC_MoveChild0,
    3806             : /*  7663*/          OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3807             : /*  7665*/          OPC_MoveParent,
    3808             : /*  7666*/          OPC_MoveChild1,
    3809             : /*  7667*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3810             : /*  7670*/          OPC_RecordChild0, // #2 = $Rm
    3811             : /*  7671*/          OPC_CheckChild1Integer, 16, 
    3812             : /*  7673*/          OPC_CheckChild1Type, MVT::i32,
    3813             : /*  7675*/          OPC_MoveParent,
    3814             : /*  7676*/          OPC_MoveParent,
    3815             : /*  7677*/          OPC_CheckType, MVT::i32,
    3816             : /*  7679*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3817             : /*  7681*/          OPC_EmitInteger, MVT::i32, 14, 
    3818             : /*  7684*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3819             : /*  7687*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3820             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3821             :                     // 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
    3822             :                     // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3823             : /*  7698*/        /*Scope*/ 37, /*->7736*/
    3824             : /*  7699*/          OPC_MoveChild0,
    3825             : /*  7700*/          OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3826             : /*  7703*/          OPC_RecordChild0, // #1 = $Rn
    3827             : /*  7704*/          OPC_CheckChild1Integer, 16, 
    3828             : /*  7706*/          OPC_CheckChild1Type, MVT::i32,
    3829             : /*  7708*/          OPC_MoveParent,
    3830             : /*  7709*/          OPC_RecordChild1, // #2 = $Rm
    3831             : /*  7710*/          OPC_MoveChild1,
    3832             : /*  7711*/          OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3833             : /*  7713*/          OPC_MoveParent,
    3834             : /*  7714*/          OPC_MoveParent,
    3835             : /*  7715*/          OPC_CheckType, MVT::i32,
    3836             : /*  7717*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3837             : /*  7719*/          OPC_EmitInteger, MVT::i32, 14, 
    3838             : /*  7722*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3839             : /*  7725*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATB), 0,
    3840             :                         MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    3841             :                     // 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
    3842             :                     // Dst: (t2SMLATB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3843             : /*  7736*/        0, /*End of Scope*/
    3844             : /*  7737*/      /*Scope*/ 30, /*->7768*/
    3845             : /*  7738*/        OPC_RecordChild1, // #1 = $Rn
    3846             : /*  7739*/        OPC_CheckType, MVT::i32,
    3847             : /*  7741*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    3848             : /*  7743*/        OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectRegShifterOperand:$shift #2 #3 #4
    3849             : /*  7746*/        OPC_EmitInteger, MVT::i32, 14, 
    3850             : /*  7749*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3851             : /*  7752*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3852             : /*  7755*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsr), 0,
    3853             :                       MVT::i32, 7/*#Ops*/, 1, 2, 3, 4, 5, 6, 7, 
    3854             :                   // Src: (add:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 15
    3855             :                   // Dst: (ADDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    3856             : /*  7768*/      0, /*End of Scope*/
    3857             : /*  7769*/    /*Scope*/ 34|128,1/*162*/, /*->7933*/
    3858             : /*  7771*/      OPC_MoveChild0,
    3859             : /*  7772*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    3860             : /*  7775*/      OPC_Scope, 38, /*->7815*/ // 4 children in Scope
    3861             : /*  7777*/        OPC_RecordChild0, // #0 = $a
    3862             : /*  7778*/        OPC_MoveChild0,
    3863             : /*  7779*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3864             : /*  7781*/        OPC_MoveParent,
    3865             : /*  7782*/        OPC_MoveChild1,
    3866             : /*  7783*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3867             : /*  7786*/        OPC_RecordChild0, // #1 = $b
    3868             : /*  7787*/        OPC_CheckChild1Integer, 16, 
    3869             : /*  7789*/        OPC_CheckChild1Type, MVT::i32,
    3870             : /*  7791*/        OPC_MoveParent,
    3871             : /*  7792*/        OPC_MoveParent,
    3872             : /*  7793*/        OPC_RecordChild1, // #2 = $acc
    3873             : /*  7794*/        OPC_CheckType, MVT::i32,
    3874             : /*  7796*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3875             : /*  7798*/        OPC_EmitInteger, MVT::i32, 14, 
    3876             : /*  7801*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3877             : /*  7804*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3878             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3879             :                   // 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
    3880             :                   // Dst: (SMLABT:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3881             : /*  7815*/      /*Scope*/ 38, /*->7854*/
    3882             : /*  7816*/        OPC_MoveChild0,
    3883             : /*  7817*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3884             : /*  7820*/        OPC_RecordChild0, // #0 = $b
    3885             : /*  7821*/        OPC_CheckChild1Integer, 16, 
    3886             : /*  7823*/        OPC_CheckChild1Type, MVT::i32,
    3887             : /*  7825*/        OPC_MoveParent,
    3888             : /*  7826*/        OPC_RecordChild1, // #1 = $a
    3889             : /*  7827*/        OPC_MoveChild1,
    3890             : /*  7828*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3891             : /*  7830*/        OPC_MoveParent,
    3892             : /*  7831*/        OPC_MoveParent,
    3893             : /*  7832*/        OPC_RecordChild1, // #2 = $acc
    3894             : /*  7833*/        OPC_CheckType, MVT::i32,
    3895             : /*  7835*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    3896             : /*  7837*/        OPC_EmitInteger, MVT::i32, 14, 
    3897             : /*  7840*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3898             : /*  7843*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
    3899             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3900             :                   // 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
    3901             :                   // Dst: (SMLABT:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    3902             : /*  7854*/      /*Scope*/ 38, /*->7893*/
    3903             : /*  7855*/        OPC_RecordChild0, // #0 = $Rn
    3904             : /*  7856*/        OPC_MoveChild0,
    3905             : /*  7857*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3906             : /*  7859*/        OPC_MoveParent,
    3907             : /*  7860*/        OPC_MoveChild1,
    3908             : /*  7861*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3909             : /*  7864*/        OPC_RecordChild0, // #1 = $Rm
    3910             : /*  7865*/        OPC_CheckChild1Integer, 16, 
    3911             : /*  7867*/        OPC_CheckChild1Type, MVT::i32,
    3912             : /*  7869*/        OPC_MoveParent,
    3913             : /*  7870*/        OPC_MoveParent,
    3914             : /*  7871*/        OPC_RecordChild1, // #2 = $Ra
    3915             : /*  7872*/        OPC_CheckType, MVT::i32,
    3916             : /*  7874*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3917             : /*  7876*/        OPC_EmitInteger, MVT::i32, 14, 
    3918             : /*  7879*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3919             : /*  7882*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3920             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3921             :                   // 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
    3922             :                   // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3923             : /*  7893*/      /*Scope*/ 38, /*->7932*/
    3924             : /*  7894*/        OPC_MoveChild0,
    3925             : /*  7895*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3926             : /*  7898*/        OPC_RecordChild0, // #0 = $Rm
    3927             : /*  7899*/        OPC_CheckChild1Integer, 16, 
    3928             : /*  7901*/        OPC_CheckChild1Type, MVT::i32,
    3929             : /*  7903*/        OPC_MoveParent,
    3930             : /*  7904*/        OPC_RecordChild1, // #1 = $Rn
    3931             : /*  7905*/        OPC_MoveChild1,
    3932             : /*  7906*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    3933             : /*  7908*/        OPC_MoveParent,
    3934             : /*  7909*/        OPC_MoveParent,
    3935             : /*  7910*/        OPC_RecordChild1, // #2 = $Ra
    3936             : /*  7911*/        OPC_CheckType, MVT::i32,
    3937             : /*  7913*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    3938             : /*  7915*/        OPC_EmitInteger, MVT::i32, 14, 
    3939             : /*  7918*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3940             : /*  7921*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
    3941             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3942             :                   // 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
    3943             :                   // Dst: (t2SMLABT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    3944             : /*  7932*/      0, /*End of Scope*/
    3945             : /*  7933*/    /*Scope*/ 42, /*->7976*/
    3946             : /*  7934*/      OPC_RecordChild0, // #0 = $Rn
    3947             : /*  7935*/      OPC_MoveChild1,
    3948             : /*  7936*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3949             : /*  7939*/      OPC_MoveChild0,
    3950             : /*  7940*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3951             : /*  7943*/      OPC_RecordChild0, // #1 = $Rm
    3952             : /*  7944*/      OPC_CheckChild1Integer, 24, 
    3953             : /*  7946*/      OPC_CheckChild1Type, MVT::i32,
    3954             : /*  7948*/      OPC_MoveParent,
    3955             : /*  7949*/      OPC_MoveChild1,
    3956             : /*  7950*/      OPC_CheckValueType, MVT::i16,
    3957             : /*  7952*/      OPC_MoveParent,
    3958             : /*  7953*/      OPC_MoveParent,
    3959             : /*  7954*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3960             : /*  7956*/      OPC_EmitInteger, MVT::i32, 3, 
    3961             : /*  7959*/      OPC_EmitInteger, MVT::i32, 14, 
    3962             : /*  7962*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3963             : /*  7965*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3964             :                     MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    3965             :                 // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), i16:{ *:[Other] })) - Complexity = 14
    3966             :                 // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3967             : /*  7976*/    /*Scope*/ 42, /*->8019*/
    3968             : /*  7977*/      OPC_MoveChild0,
    3969             : /*  7978*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3970             : /*  7981*/      OPC_MoveChild0,
    3971             : /*  7982*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    3972             : /*  7985*/      OPC_RecordChild0, // #0 = $Rm
    3973             : /*  7986*/      OPC_CheckChild1Integer, 24, 
    3974             : /*  7988*/      OPC_CheckChild1Type, MVT::i32,
    3975             : /*  7990*/      OPC_MoveParent,
    3976             : /*  7991*/      OPC_MoveChild1,
    3977             : /*  7992*/      OPC_CheckValueType, MVT::i16,
    3978             : /*  7994*/      OPC_MoveParent,
    3979             : /*  7995*/      OPC_MoveParent,
    3980             : /*  7996*/      OPC_RecordChild1, // #1 = $Rn
    3981             : /*  7997*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    3982             : /*  7999*/      OPC_EmitInteger, MVT::i32, 3, 
    3983             : /*  8002*/      OPC_EmitInteger, MVT::i32, 14, 
    3984             : /*  8005*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    3985             : /*  8008*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    3986             :                     MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    3987             :                 // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 24:{ *:[i32] }), i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 14
    3988             :                 // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 3:{ *:[i32] })
    3989             : /*  8019*/    /*Scope*/ 35|128,2/*291*/, /*->8312*/
    3990             : /*  8021*/      OPC_RecordChild0, // #0 = $Rn
    3991             : /*  8022*/      OPC_MoveChild1,
    3992             : /*  8023*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3993             : /*  8026*/      OPC_MoveChild0,
    3994             : /*  8027*/      OPC_SwitchOpcode /*2 cases */, 1|128,1/*129*/, TARGET_VAL(ISD::ROTR),// ->8161
    3995             : /*  8032*/        OPC_RecordChild0, // #1 = $Rm
    3996             : /*  8033*/        OPC_RecordChild1, // #2 = $rot
    3997             : /*  8034*/        OPC_MoveChild1,
    3998             : /*  8035*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3999             : /*  8038*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    4000             : /*  8040*/        OPC_CheckType, MVT::i32,
    4001             : /*  8042*/        OPC_MoveParent,
    4002             : /*  8043*/        OPC_MoveParent,
    4003             : /*  8044*/        OPC_MoveChild1,
    4004             : /*  8045*/        OPC_Scope, 56, /*->8103*/ // 2 children in Scope
    4005             : /*  8047*/          OPC_CheckValueType, MVT::i8,
    4006             : /*  8049*/          OPC_MoveParent,
    4007             : /*  8050*/          OPC_MoveParent,
    4008             : /*  8051*/          OPC_Scope, 24, /*->8077*/ // 2 children in Scope
    4009             : /*  8053*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4010             : /*  8055*/            OPC_EmitConvertToTarget, 2,
    4011             : /*  8057*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4012             : /*  8060*/            OPC_EmitInteger, MVT::i32, 14, 
    4013             : /*  8063*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4014             : /*  8066*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4015             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4016             :                       // 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
    4017             :                       // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    4018             : /*  8077*/          /*Scope*/ 24, /*->8102*/
    4019             : /*  8078*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4020             : /*  8080*/            OPC_EmitConvertToTarget, 2,
    4021             : /*  8082*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4022             : /*  8085*/            OPC_EmitInteger, MVT::i32, 14, 
    4023             : /*  8088*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4024             : /*  8091*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4025             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4026             :                       // 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
    4027             :                       // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4028             : /*  8102*/          0, /*End of Scope*/
    4029             : /*  8103*/        /*Scope*/ 56, /*->8160*/
    4030             : /*  8104*/          OPC_CheckValueType, MVT::i16,
    4031             : /*  8106*/          OPC_MoveParent,
    4032             : /*  8107*/          OPC_MoveParent,
    4033             : /*  8108*/          OPC_Scope, 24, /*->8134*/ // 2 children in Scope
    4034             : /*  8110*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4035             : /*  8112*/            OPC_EmitConvertToTarget, 2,
    4036             : /*  8114*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4037             : /*  8117*/            OPC_EmitInteger, MVT::i32, 14, 
    4038             : /*  8120*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4039             : /*  8123*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4040             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4041             :                       // 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
    4042             :                       // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    4043             : /*  8134*/          /*Scope*/ 24, /*->8159*/
    4044             : /*  8135*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4045             : /*  8137*/            OPC_EmitConvertToTarget, 2,
    4046             : /*  8139*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4047             : /*  8142*/            OPC_EmitInteger, MVT::i32, 14, 
    4048             : /*  8145*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4049             : /*  8148*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4050             :                           MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4051             :                       // 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
    4052             :                       // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4053             : /*  8159*/          0, /*End of Scope*/
    4054             : /*  8160*/        0, /*End of Scope*/
    4055             : /*  8161*/      /*SwitchOpcode*/ 18|128,1/*146*/, TARGET_VAL(ISD::SRL),// ->8311
    4056             : /*  8165*/        OPC_RecordChild0, // #1 = $Rm
    4057             : /*  8166*/        OPC_RecordChild1, // #2 = $rot
    4058             : /*  8167*/        OPC_MoveChild1,
    4059             : /*  8168*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4060             : /*  8171*/        OPC_CheckType, MVT::i32,
    4061             : /*  8173*/        OPC_Scope, 33, /*->8208*/ // 4 children in Scope
    4062             : /*  8175*/          OPC_CheckPredicate, 14, // Predicate_rot_imm
    4063             : /*  8177*/          OPC_MoveParent,
    4064             : /*  8178*/          OPC_MoveParent,
    4065             : /*  8179*/          OPC_MoveChild1,
    4066             : /*  8180*/          OPC_CheckValueType, MVT::i8,
    4067             : /*  8182*/          OPC_MoveParent,
    4068             : /*  8183*/          OPC_MoveParent,
    4069             : /*  8184*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4070             : /*  8186*/          OPC_EmitConvertToTarget, 2,
    4071             : /*  8188*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4072             : /*  8191*/          OPC_EmitInteger, MVT::i32, 14, 
    4073             : /*  8194*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4074             : /*  8197*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4075             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4076             :                     // 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
    4077             :                     // Dst: (SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4078             : /*  8208*/        /*Scope*/ 33, /*->8242*/
    4079             : /*  8209*/          OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    4080             : /*  8211*/          OPC_MoveParent,
    4081             : /*  8212*/          OPC_MoveParent,
    4082             : /*  8213*/          OPC_MoveChild1,
    4083             : /*  8214*/          OPC_CheckValueType, MVT::i16,
    4084             : /*  8216*/          OPC_MoveParent,
    4085             : /*  8217*/          OPC_MoveParent,
    4086             : /*  8218*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4087             : /*  8220*/          OPC_EmitConvertToTarget, 2,
    4088             : /*  8222*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4089             : /*  8225*/          OPC_EmitInteger, MVT::i32, 14, 
    4090             : /*  8228*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4091             : /*  8231*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4092             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4093             :                     // 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
    4094             :                     // Dst: (SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4095             : /*  8242*/        /*Scope*/ 33, /*->8276*/
    4096             : /*  8243*/          OPC_CheckPredicate, 14, // Predicate_rot_imm
    4097             : /*  8245*/          OPC_MoveParent,
    4098             : /*  8246*/          OPC_MoveParent,
    4099             : /*  8247*/          OPC_MoveChild1,
    4100             : /*  8248*/          OPC_CheckValueType, MVT::i8,
    4101             : /*  8250*/          OPC_MoveParent,
    4102             : /*  8251*/          OPC_MoveParent,
    4103             : /*  8252*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4104             : /*  8254*/          OPC_EmitConvertToTarget, 2,
    4105             : /*  8256*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4106             : /*  8259*/          OPC_EmitInteger, MVT::i32, 14, 
    4107             : /*  8262*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4108             : /*  8265*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4109             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4110             :                     // 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
    4111             :                     // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4112             : /*  8276*/        /*Scope*/ 33, /*->8310*/
    4113             : /*  8277*/          OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    4114             : /*  8279*/          OPC_MoveParent,
    4115             : /*  8280*/          OPC_MoveParent,
    4116             : /*  8281*/          OPC_MoveChild1,
    4117             : /*  8282*/          OPC_CheckValueType, MVT::i16,
    4118             : /*  8284*/          OPC_MoveParent,
    4119             : /*  8285*/          OPC_MoveParent,
    4120             : /*  8286*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4121             : /*  8288*/          OPC_EmitConvertToTarget, 2,
    4122             : /*  8290*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4123             : /*  8293*/          OPC_EmitInteger, MVT::i32, 14, 
    4124             : /*  8296*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4125             : /*  8299*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4126             :                         MVT::i32, 5/*#Ops*/, 0, 1, 4, 5, 6, 
    4127             :                     // 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
    4128             :                     // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4129             : /*  8310*/        0, /*End of Scope*/
    4130             : /*  8311*/      0, // EndSwitchOpcode
    4131             : /*  8312*/    /*Scope*/ 40|128,2/*296*/, /*->8610*/
    4132             : /*  8314*/      OPC_MoveChild0,
    4133             : /*  8315*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4134             : /*  8318*/      OPC_MoveChild0,
    4135             : /*  8319*/      OPC_SwitchOpcode /*2 cases */, 3|128,1/*131*/, TARGET_VAL(ISD::ROTR),// ->8455
    4136             : /*  8324*/        OPC_RecordChild0, // #0 = $Rm
    4137             : /*  8325*/        OPC_RecordChild1, // #1 = $rot
    4138             : /*  8326*/        OPC_MoveChild1,
    4139             : /*  8327*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4140             : /*  8330*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    4141             : /*  8332*/        OPC_CheckType, MVT::i32,
    4142             : /*  8334*/        OPC_MoveParent,
    4143             : /*  8335*/        OPC_MoveParent,
    4144             : /*  8336*/        OPC_MoveChild1,
    4145             : /*  8337*/        OPC_Scope, 57, /*->8396*/ // 2 children in Scope
    4146             : /*  8339*/          OPC_CheckValueType, MVT::i8,
    4147             : /*  8341*/          OPC_MoveParent,
    4148             : /*  8342*/          OPC_MoveParent,
    4149             : /*  8343*/          OPC_RecordChild1, // #2 = $Rn
    4150             : /*  8344*/          OPC_Scope, 24, /*->8370*/ // 2 children in Scope
    4151             : /*  8346*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4152             : /*  8348*/            OPC_EmitConvertToTarget, 1,
    4153             : /*  8350*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4154             : /*  8353*/            OPC_EmitInteger, MVT::i32, 14, 
    4155             : /*  8356*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4156             : /*  8359*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4157             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4158             :                       // 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
    4159             :                       // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    4160             : /*  8370*/          /*Scope*/ 24, /*->8395*/
    4161             : /*  8371*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4162             : /*  8373*/            OPC_EmitConvertToTarget, 1,
    4163             : /*  8375*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4164             : /*  8378*/            OPC_EmitInteger, MVT::i32, 14, 
    4165             : /*  8381*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4166             : /*  8384*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4167             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4168             :                       // 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
    4169             :                       // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4170             : /*  8395*/          0, /*End of Scope*/
    4171             : /*  8396*/        /*Scope*/ 57, /*->8454*/
    4172             : /*  8397*/          OPC_CheckValueType, MVT::i16,
    4173             : /*  8399*/          OPC_MoveParent,
    4174             : /*  8400*/          OPC_MoveParent,
    4175             : /*  8401*/          OPC_RecordChild1, // #2 = $Rn
    4176             : /*  8402*/          OPC_Scope, 24, /*->8428*/ // 2 children in Scope
    4177             : /*  8404*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4178             : /*  8406*/            OPC_EmitConvertToTarget, 1,
    4179             : /*  8408*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4180             : /*  8411*/            OPC_EmitInteger, MVT::i32, 14, 
    4181             : /*  8414*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4182             : /*  8417*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4183             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4184             :                       // 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
    4185             :                       // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    4186             : /*  8428*/          /*Scope*/ 24, /*->8453*/
    4187             : /*  8429*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4188             : /*  8431*/            OPC_EmitConvertToTarget, 1,
    4189             : /*  8433*/            OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4190             : /*  8436*/            OPC_EmitInteger, MVT::i32, 14, 
    4191             : /*  8439*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4192             : /*  8442*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4193             :                           MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4194             :                       // 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
    4195             :                       // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4196             : /*  8453*/          0, /*End of Scope*/
    4197             : /*  8454*/        0, /*End of Scope*/
    4198             : /*  8455*/      /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(ISD::SRL),// ->8609
    4199             : /*  8459*/        OPC_RecordChild0, // #0 = $Rm
    4200             : /*  8460*/        OPC_RecordChild1, // #1 = $rot
    4201             : /*  8461*/        OPC_MoveChild1,
    4202             : /*  8462*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4203             : /*  8465*/        OPC_CheckType, MVT::i32,
    4204             : /*  8467*/        OPC_Scope, 34, /*->8503*/ // 4 children in Scope
    4205             : /*  8469*/          OPC_CheckPredicate, 14, // Predicate_rot_imm
    4206             : /*  8471*/          OPC_MoveParent,
    4207             : /*  8472*/          OPC_MoveParent,
    4208             : /*  8473*/          OPC_MoveChild1,
    4209             : /*  8474*/          OPC_CheckValueType, MVT::i8,
    4210             : /*  8476*/          OPC_MoveParent,
    4211             : /*  8477*/          OPC_MoveParent,
    4212             : /*  8478*/          OPC_RecordChild1, // #2 = $Rn
    4213             : /*  8479*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4214             : /*  8481*/          OPC_EmitConvertToTarget, 1,
    4215             : /*  8483*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4216             : /*  8486*/          OPC_EmitInteger, MVT::i32, 14, 
    4217             : /*  8489*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4218             : /*  8492*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4219             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4220             :                     // 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
    4221             :                     // Dst: (SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4222             : /*  8503*/        /*Scope*/ 34, /*->8538*/
    4223             : /*  8504*/          OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    4224             : /*  8506*/          OPC_MoveParent,
    4225             : /*  8507*/          OPC_MoveParent,
    4226             : /*  8508*/          OPC_MoveChild1,
    4227             : /*  8509*/          OPC_CheckValueType, MVT::i16,
    4228             : /*  8511*/          OPC_MoveParent,
    4229             : /*  8512*/          OPC_MoveParent,
    4230             : /*  8513*/          OPC_RecordChild1, // #2 = $Rn
    4231             : /*  8514*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4232             : /*  8516*/          OPC_EmitConvertToTarget, 1,
    4233             : /*  8518*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4234             : /*  8521*/          OPC_EmitInteger, MVT::i32, 14, 
    4235             : /*  8524*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4236             : /*  8527*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4237             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4238             :                     // 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
    4239             :                     // Dst: (SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4240             : /*  8538*/        /*Scope*/ 34, /*->8573*/
    4241             : /*  8539*/          OPC_CheckPredicate, 14, // Predicate_rot_imm
    4242             : /*  8541*/          OPC_MoveParent,
    4243             : /*  8542*/          OPC_MoveParent,
    4244             : /*  8543*/          OPC_MoveChild1,
    4245             : /*  8544*/          OPC_CheckValueType, MVT::i8,
    4246             : /*  8546*/          OPC_MoveParent,
    4247             : /*  8547*/          OPC_MoveParent,
    4248             : /*  8548*/          OPC_RecordChild1, // #2 = $Rn
    4249             : /*  8549*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4250             : /*  8551*/          OPC_EmitConvertToTarget, 1,
    4251             : /*  8553*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4252             : /*  8556*/          OPC_EmitInteger, MVT::i32, 14, 
    4253             : /*  8559*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4254             : /*  8562*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4255             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4256             :                     // 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
    4257             :                     // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4258             : /*  8573*/        /*Scope*/ 34, /*->8608*/
    4259             : /*  8574*/          OPC_CheckPredicate, 15, // Predicate_imm8_or_16
    4260             : /*  8576*/          OPC_MoveParent,
    4261             : /*  8577*/          OPC_MoveParent,
    4262             : /*  8578*/          OPC_MoveChild1,
    4263             : /*  8579*/          OPC_CheckValueType, MVT::i16,
    4264             : /*  8581*/          OPC_MoveParent,
    4265             : /*  8582*/          OPC_MoveParent,
    4266             : /*  8583*/          OPC_RecordChild1, // #2 = $Rn
    4267             : /*  8584*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4268             : /*  8586*/          OPC_EmitConvertToTarget, 1,
    4269             : /*  8588*/          OPC_EmitNodeXForm, 2, 3, // rot_imm_XFORM
    4270             : /*  8591*/          OPC_EmitInteger, MVT::i32, 14, 
    4271             : /*  8594*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4272             : /*  8597*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4273             :                         MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4274             :                     // 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
    4275             :                     // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    4276             : /*  8608*/        0, /*End of Scope*/
    4277             : /*  8609*/      0, // EndSwitchOpcode
    4278             : /*  8610*/    /*Scope*/ 55|128,1/*183*/, /*->8795*/
    4279             : /*  8612*/      OPC_RecordChild0, // #0 = $Rn
    4280             : /*  8613*/      OPC_Scope, 29, /*->8644*/ // 5 children in Scope
    4281             : /*  8615*/        OPC_RecordChild1, // #1 = $shift
    4282             : /*  8616*/        OPC_CheckType, MVT::i32,
    4283             : /*  8618*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4284             : /*  8620*/        OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
    4285             : /*  8623*/        OPC_EmitInteger, MVT::i32, 14, 
    4286             : /*  8626*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4287             : /*  8629*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4288             : /*  8632*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsi), 0,
    4289             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    4290             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift) - Complexity = 12
    4291             :                   // Dst: (ADDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    4292             : /*  8644*/      /*Scope*/ 44, /*->8689*/
    4293             : /*  8645*/        OPC_MoveChild1,
    4294             : /*  8646*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4295             : /*  8649*/        OPC_MoveChild0,
    4296             : /*  8650*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4297             : /*  8653*/        OPC_RecordChild0, // #1 = $Rn
    4298             : /*  8654*/        OPC_MoveChild1,
    4299             : /*  8655*/        OPC_CheckValueType, MVT::i16,
    4300             : /*  8657*/        OPC_MoveParent,
    4301             : /*  8658*/        OPC_MoveParent,
    4302             : /*  8659*/        OPC_MoveChild1,
    4303             : /*  8660*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4304             : /*  8663*/        OPC_RecordChild0, // #2 = $Rm
    4305             : /*  8664*/        OPC_MoveChild1,
    4306             : /*  8665*/        OPC_CheckValueType, MVT::i16,
    4307             : /*  8667*/        OPC_MoveParent,
    4308             : /*  8668*/        OPC_MoveParent,
    4309             : /*  8669*/        OPC_MoveParent,
    4310             : /*  8670*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4311             : /*  8672*/        OPC_EmitInteger, MVT::i32, 14, 
    4312             : /*  8675*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4313             : /*  8678*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4314             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4315             :                   // 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
    4316             :                   // Dst: (SMLABB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4317             : /*  8689*/      /*Scope*/ 29, /*->8719*/
    4318             : /*  8690*/        OPC_RecordChild1, // #1 = $ShiftedRm
    4319             : /*  8691*/        OPC_CheckType, MVT::i32,
    4320             : /*  8693*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4321             : /*  8695*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    4322             : /*  8698*/        OPC_EmitInteger, MVT::i32, 14, 
    4323             : /*  8701*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4324             : /*  8704*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4325             : /*  8707*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrs), 0,
    4326             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    4327             :                   // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm) - Complexity = 12
    4328             :                   // Dst: (t2ADDrs:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    4329             : /*  8719*/      /*Scope*/ 44, /*->8764*/
    4330             : /*  8720*/        OPC_MoveChild1,
    4331             : /*  8721*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4332             : /*  8724*/        OPC_MoveChild0,
    4333             : /*  8725*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4334             : /*  8728*/        OPC_RecordChild0, // #1 = $Rn
    4335             : /*  8729*/        OPC_MoveChild1,
    4336             : /*  8730*/        OPC_CheckValueType, MVT::i16,
    4337             : /*  8732*/        OPC_MoveParent,
    4338             : /*  8733*/        OPC_MoveParent,
    4339             : /*  8734*/        OPC_MoveChild1,
    4340             : /*  8735*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4341             : /*  8738*/        OPC_RecordChild0, // #2 = $Rm
    4342             : /*  8739*/        OPC_MoveChild1,
    4343             : /*  8740*/        OPC_CheckValueType, MVT::i16,
    4344             : /*  8742*/        OPC_MoveParent,
    4345             : /*  8743*/        OPC_MoveParent,
    4346             : /*  8744*/        OPC_MoveParent,
    4347             : /*  8745*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4348             : /*  8747*/        OPC_EmitInteger, MVT::i32, 14, 
    4349             : /*  8750*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4350             : /*  8753*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4351             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4352             :                   // 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
    4353             :                   // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4354             : /*  8764*/      /*Scope*/ 29, /*->8794*/
    4355             : /*  8765*/        OPC_RecordChild1, // #1 = $Rn
    4356             : /*  8766*/        OPC_CheckType, MVT::i32,
    4357             : /*  8768*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4358             : /*  8770*/        OPC_CheckComplexPat, /*CP*/3, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
    4359             : /*  8773*/        OPC_EmitInteger, MVT::i32, 14, 
    4360             : /*  8776*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4361             : /*  8779*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4362             : /*  8782*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsi), 0,
    4363             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    4364             :                   // Src: (add:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 12
    4365             :                   // Dst: (ADDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    4366             : /*  8794*/      0, /*End of Scope*/
    4367             : /*  8795*/    /*Scope*/ 45, /*->8841*/
    4368             : /*  8796*/      OPC_MoveChild0,
    4369             : /*  8797*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4370             : /*  8800*/      OPC_MoveChild0,
    4371             : /*  8801*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4372             : /*  8804*/      OPC_RecordChild0, // #0 = $Rn
    4373             : /*  8805*/      OPC_MoveChild1,
    4374             : /*  8806*/      OPC_CheckValueType, MVT::i16,
    4375             : /*  8808*/      OPC_MoveParent,
    4376             : /*  8809*/      OPC_MoveParent,
    4377             : /*  8810*/      OPC_MoveChild1,
    4378             : /*  8811*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4379             : /*  8814*/      OPC_RecordChild0, // #1 = $Rm
    4380             : /*  8815*/      OPC_MoveChild1,
    4381             : /*  8816*/      OPC_CheckValueType, MVT::i16,
    4382             : /*  8818*/      OPC_MoveParent,
    4383             : /*  8819*/      OPC_MoveParent,
    4384             : /*  8820*/      OPC_MoveParent,
    4385             : /*  8821*/      OPC_RecordChild1, // #2 = $Ra
    4386             : /*  8822*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4387             : /*  8824*/      OPC_EmitInteger, MVT::i32, 14, 
    4388             : /*  8827*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4389             : /*  8830*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4390             :                     MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4391             :                 // 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
    4392             :                 // Dst: (SMLABB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4393             : /*  8841*/    /*Scope*/ 30, /*->8872*/
    4394             : /*  8842*/      OPC_RecordChild0, // #0 = $ShiftedRm
    4395             : /*  8843*/      OPC_RecordChild1, // #1 = $Rn
    4396             : /*  8844*/      OPC_CheckType, MVT::i32,
    4397             : /*  8846*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4398             : /*  8848*/      OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    4399             : /*  8851*/      OPC_EmitInteger, MVT::i32, 14, 
    4400             : /*  8854*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4401             : /*  8857*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4402             : /*  8860*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrs), 0,
    4403             :                     MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    4404             :                 // Src: (add:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, GPRnopc:{ *:[i32] }:$Rn) - Complexity = 12
    4405             :                 // Dst: (t2ADDrs:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    4406             : /*  8872*/    /*Scope*/ 45, /*->8918*/
    4407             : /*  8873*/      OPC_MoveChild0,
    4408             : /*  8874*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4409             : /*  8877*/      OPC_MoveChild0,
    4410             : /*  8878*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4411             : /*  8881*/      OPC_RecordChild0, // #0 = $Rn
    4412             : /*  8882*/      OPC_MoveChild1,
    4413             : /*  8883*/      OPC_CheckValueType, MVT::i16,
    4414             : /*  8885*/      OPC_MoveParent,
    4415             : /*  8886*/      OPC_MoveParent,
    4416             : /*  8887*/      OPC_MoveChild1,
    4417             : /*  8888*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    4418             : /*  8891*/      OPC_RecordChild0, // #1 = $Rm
    4419             : /*  8892*/      OPC_MoveChild1,
    4420             : /*  8893*/      OPC_CheckValueType, MVT::i16,
    4421             : /*  8895*/      OPC_MoveParent,
    4422             : /*  8896*/      OPC_MoveParent,
    4423             : /*  8897*/      OPC_MoveParent,
    4424             : /*  8898*/      OPC_RecordChild1, // #2 = $Ra
    4425             : /*  8899*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4426             : /*  8901*/      OPC_EmitInteger, MVT::i32, 14, 
    4427             : /*  8904*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4428             : /*  8907*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4429             :                     MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4430             :                 // 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
    4431             :                 // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4432             : /*  8918*/    /*Scope*/ 115, /*->9034*/
    4433             : /*  8919*/      OPC_RecordChild0, // #0 = $acc
    4434             : /*  8920*/      OPC_Scope, 36, /*->8958*/ // 3 children in Scope
    4435             : /*  8922*/        OPC_MoveChild1,
    4436             : /*  8923*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4437             : /*  8926*/        OPC_RecordChild0, // #1 = $a
    4438             : /*  8927*/        OPC_MoveChild0,
    4439             : /*  8928*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    4440             : /*  8930*/        OPC_MoveParent,
    4441             : /*  8931*/        OPC_RecordChild1, // #2 = $b
    4442             : /*  8932*/        OPC_MoveChild1,
    4443             : /*  8933*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    4444             : /*  8935*/        OPC_MoveParent,
    4445             : /*  8936*/        OPC_MoveParent,
    4446             : /*  8937*/        OPC_CheckType, MVT::i32,
    4447             : /*  8939*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4448             : /*  8941*/        OPC_EmitInteger, MVT::i32, 14, 
    4449             : /*  8944*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4450             : /*  8947*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4451             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4452             :                   // 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
    4453             :                   // Dst: (SMLABB:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    4454             : /*  8958*/      /*Scope*/ 37, /*->8996*/
    4455             : /*  8959*/        OPC_RecordChild1, // #1 = $imm
    4456             : /*  8960*/        OPC_MoveChild1,
    4457             : /*  8961*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4458             : /*  8964*/        OPC_CheckPredicate, 17, // Predicate_imm1_255_neg
    4459             : /*  8966*/        OPC_MoveParent,
    4460             : /*  8967*/        OPC_CheckType, MVT::i32,
    4461             : /*  8969*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4462             : /*  8971*/        OPC_EmitConvertToTarget, 1,
    4463             : /*  8973*/        OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4464             : /*  8976*/        OPC_EmitInteger, MVT::i32, 14, 
    4465             : /*  8979*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4466             : /*  8982*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4467             : /*  8985*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri), 0,
    4468             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    4469             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm1_255_neg>><<X:imm_neg_XFORM>>:$imm) - Complexity = 8
    4470             :                   // Dst: (t2SUBri:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_imm1_255_neg>>:$imm))
    4471             : /*  8996*/      /*Scope*/ 36, /*->9033*/
    4472             : /*  8997*/        OPC_MoveChild1,
    4473             : /*  8998*/        OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4474             : /*  9001*/        OPC_RecordChild0, // #1 = $Rn
    4475             : /*  9002*/        OPC_MoveChild0,
    4476             : /*  9003*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    4477             : /*  9005*/        OPC_MoveParent,
    4478             : /*  9006*/        OPC_RecordChild1, // #2 = $Rm
    4479             : /*  9007*/        OPC_MoveChild1,
    4480             : /*  9008*/        OPC_CheckPredicate, 16, // Predicate_sext_16_node
    4481             : /*  9010*/        OPC_MoveParent,
    4482             : /*  9011*/        OPC_MoveParent,
    4483             : /*  9012*/        OPC_CheckType, MVT::i32,
    4484             : /*  9014*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4485             : /*  9016*/        OPC_EmitInteger, MVT::i32, 14, 
    4486             : /*  9019*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4487             : /*  9022*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4488             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4489             :                   // 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
    4490             :                   // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4491             : /*  9033*/      0, /*End of Scope*/
    4492             : /*  9034*/    /*Scope*/ 60, /*->9095*/
    4493             : /*  9035*/      OPC_MoveChild0,
    4494             : /*  9036*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    4495             : /*  9039*/      OPC_RecordChild0, // #0 = $a
    4496             : /*  9040*/      OPC_MoveChild0,
    4497             : /*  9041*/      OPC_CheckPredicate, 16, // Predicate_sext_16_node
    4498             : /*  9043*/      OPC_MoveParent,
    4499             : /*  9044*/      OPC_RecordChild1, // #1 = $b
    4500             : /*  9045*/      OPC_MoveChild1,
    4501             : /*  9046*/      OPC_CheckPredicate, 16, // Predicate_sext_16_node
    4502             : /*  9048*/      OPC_MoveParent,
    4503             : /*  9049*/      OPC_MoveParent,
    4504             : /*  9050*/      OPC_RecordChild1, // #2 = $acc
    4505             : /*  9051*/      OPC_CheckType, MVT::i32,
    4506             : /*  9053*/      OPC_Scope, 19, /*->9074*/ // 2 children in Scope
    4507             : /*  9055*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4508             : /*  9057*/        OPC_EmitInteger, MVT::i32, 14, 
    4509             : /*  9060*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4510             : /*  9063*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
    4511             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4512             :                   // 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
    4513             :                   // Dst: (SMLABB:{ *:[i32] } GPR:{ *:[i32] }:$a, GPR:{ *:[i32] }:$b, GPR:{ *:[i32] }:$acc)
    4514             : /*  9074*/      /*Scope*/ 19, /*->9094*/
    4515             : /*  9075*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4516             : /*  9077*/        OPC_EmitInteger, MVT::i32, 14, 
    4517             : /*  9080*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4518             : /*  9083*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
    4519             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4520             :                   // 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
    4521             :                   // Dst: (t2SMLABB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4522             : /*  9094*/      0, /*End of Scope*/
    4523             : /*  9095*/    /*Scope*/ 25|128,3/*409*/, /*->9506*/
    4524             : /*  9097*/      OPC_RecordChild0, // #0 = $Rn
    4525             : /*  9098*/      OPC_RecordChild1, // #1 = $imm
    4526             : /*  9099*/      OPC_MoveChild1,
    4527             : /*  9100*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4528             : /*  9103*/      OPC_Scope, 29, /*->9134*/ // 11 children in Scope
    4529             : /*  9105*/        OPC_CheckPredicate, 11, // Predicate_mod_imm
    4530             : /*  9107*/        OPC_MoveParent,
    4531             : /*  9108*/        OPC_CheckType, MVT::i32,
    4532             : /*  9110*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4533             : /*  9112*/        OPC_EmitConvertToTarget, 1,
    4534             : /*  9114*/        OPC_EmitInteger, MVT::i32, 14, 
    4535             : /*  9117*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4536             : /*  9120*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4537             : /*  9123*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDri), 0,
    4538             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    4539             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm) - Complexity = 7
    4540             :                   // Dst: (ADDri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    4541             : /*  9134*/      /*Scope*/ 32, /*->9167*/
    4542             : /*  9135*/        OPC_CheckPredicate, 18, // Predicate_mod_imm_neg
    4543             : /*  9137*/        OPC_MoveParent,
    4544             : /*  9138*/        OPC_CheckType, MVT::i32,
    4545             : /*  9140*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    4546             : /*  9142*/        OPC_EmitConvertToTarget, 1,
    4547             : /*  9144*/        OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4548             : /*  9147*/        OPC_EmitInteger, MVT::i32, 14, 
    4549             : /*  9150*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4550             : /*  9153*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4551             : /*  9156*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SUBri), 0,
    4552             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    4553             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_mod_imm_neg>><<X:imm_neg_XFORM>>:$imm) - Complexity = 7
    4554             :                   // Dst: (SUBri:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm_neg>>:$imm))
    4555             : /*  9167*/      /*Scope*/ 29, /*->9197*/
    4556             : /*  9168*/        OPC_CheckPredicate, 7, // Predicate_imm0_7
    4557             : /*  9170*/        OPC_MoveParent,
    4558             : /*  9171*/        OPC_CheckType, MVT::i32,
    4559             : /*  9173*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4560             : /*  9175*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4561             : /*  9178*/        OPC_EmitConvertToTarget, 1,
    4562             : /*  9180*/        OPC_EmitInteger, MVT::i32, 14, 
    4563             : /*  9183*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4564             : /*  9186*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi3), 0,
    4565             :                       MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    4566             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm0_7>>:$imm3) - Complexity = 7
    4567             :                   // Dst: (tADDi3:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$imm3)
    4568             : /*  9197*/      /*Scope*/ 29, /*->9227*/
    4569             : /*  9198*/        OPC_CheckPredicate, 8, // Predicate_imm8_255
    4570             : /*  9200*/        OPC_MoveParent,
    4571             : /*  9201*/        OPC_CheckType, MVT::i32,
    4572             : /*  9203*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4573             : /*  9205*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4574             : /*  9208*/        OPC_EmitConvertToTarget, 1,
    4575             : /*  9210*/        OPC_EmitInteger, MVT::i32, 14, 
    4576             : /*  9213*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4577             : /*  9216*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi8), 0,
    4578             :                       MVT::i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    4579             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm8_255>>:$imm8) - Complexity = 7
    4580             :                   // Dst: (tADDi8:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm8)
    4581             : /*  9227*/      /*Scope*/ 32, /*->9260*/
    4582             : /*  9228*/        OPC_CheckPredicate, 19, // Predicate_imm0_7_neg
    4583             : /*  9230*/        OPC_MoveParent,
    4584             : /*  9231*/        OPC_CheckType, MVT::i32,
    4585             : /*  9233*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4586             : /*  9235*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4587             : /*  9238*/        OPC_EmitConvertToTarget, 1,
    4588             : /*  9240*/        OPC_EmitNodeXForm, 3, 3, // imm_neg_XFORM
    4589             : /*  9243*/        OPC_EmitInteger, MVT::i32, 14, 
    4590             : /*  9246*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4591             : /*  9249*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tSUBi3), 0,
    4592             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4593             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_imm0_7_neg>><<X:imm_neg_XFORM>>:$imm3) - Complexity = 7
    4594             :                   // Dst: (tSUBi3:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm3))
    4595             : /*  9260*/      /*Scope*/ 32, /*->9293*/
    4596             : /*  9261*/        OPC_CheckPredicate, 20, // Predicate_imm8_255_neg
    4597             : /*  9263*/        OPC_MoveParent,
    4598             : /*  9264*/        OPC_CheckType, MVT::i32,
    4599             : /*  9266*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    4600             : /*  9268*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    4601             : /*  9271*/        OPC_EmitConvertToTarget, 1,
    4602             : /*  9273*/        OPC_EmitNodeXForm, 3, 3, // imm_neg_XFORM
    4603             : /*  9276*/        OPC_EmitInteger, MVT::i32, 14, 
    4604             : /*  9279*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4605             : /*  9282*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tSUBi8), 0,
    4606             :                       MVT::i32, 5/*#Ops*/, 2, 0, 4, 5, 6, 
    4607             :                   // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm8_255_neg>><<X:imm_neg_XFORM>>:$imm8) - Complexity = 7
    4608             :                   // Dst: (tSUBi8:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm8))
    4609             : /*  9293*/      /*Scope*/ 29, /*->9323*/
    4610             : /*  9294*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    4611             : /*  9296*/        OPC_MoveParent,
    4612             : /*  9297*/        OPC_CheckType, MVT::i32,
    4613             : /*  9299*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4614             : /*  9301*/        OPC_EmitConvertToTarget, 1,
    4615             : /*  9303*/        OPC_EmitInteger, MVT::i32, 14, 
    4616             : /*  9306*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4617             : /*  9309*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4618             : /*  9312*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri), 0,
    4619             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    4620             :                   // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm) - Complexity = 7
    4621             :                   // Dst: (t2ADDri:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    4622             : /*  9323*/      /*Scope*/ 25, /*->9349*/
    4623             : /*  9324*/        OPC_CheckPredicate, 9, // Predicate_imm0_4095
    4624             : /*  9326*/        OPC_MoveParent,
    4625             : /*  9327*/        OPC_CheckType, MVT::i32,
    4626             : /*  9329*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4627             : /*  9331*/        OPC_EmitConvertToTarget, 1,
    4628             : /*  9333*/        OPC_EmitInteger, MVT::i32, 14, 
    4629             : /*  9336*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4630             : /*  9339*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri12), 0,
    4631             :                       MVT::i32, 4/*#Ops*/, 0, 2, 3, 4, 
    4632             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm0_4095>>:$imm) - Complexity = 7
    4633             :                   // Dst: (t2ADDri12:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    4634             : /*  9349*/      /*Scope*/ 32, /*->9382*/
    4635             : /*  9350*/        OPC_CheckPredicate, 21, // Predicate_t2_so_imm_neg
    4636             : /*  9352*/        OPC_MoveParent,
    4637             : /*  9353*/        OPC_CheckType, MVT::i32,
    4638             : /*  9355*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4639             : /*  9357*/        OPC_EmitConvertToTarget, 1,
    4640             : /*  9359*/        OPC_EmitNodeXForm, 4, 2, // t2_so_imm_neg_XFORM
    4641             : /*  9362*/        OPC_EmitInteger, MVT::i32, 14, 
    4642             : /*  9365*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4643             : /*  9368*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4644             : /*  9371*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri), 0,
    4645             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    4646             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_neg>><<X:t2_so_imm_neg_XFORM>>:$imm) - Complexity = 7
    4647             :                   // Dst: (t2SUBri:{ *:[i32] } GPR:{ *:[i32] }:$src, (t2_so_imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_neg>>:$imm))
    4648             : /*  9382*/      /*Scope*/ 28, /*->9411*/
    4649             : /*  9383*/        OPC_CheckPredicate, 22, // Predicate_imm0_4095_neg
    4650             : /*  9385*/        OPC_MoveParent,
    4651             : /*  9386*/        OPC_CheckType, MVT::i32,
    4652             : /*  9388*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4653             : /*  9390*/        OPC_EmitConvertToTarget, 1,
    4654             : /*  9392*/        OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4655             : /*  9395*/        OPC_EmitInteger, MVT::i32, 14, 
    4656             : /*  9398*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4657             : /*  9401*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri12), 0,
    4658             :                       MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    4659             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm0_4095_neg>><<X:imm_neg_XFORM>>:$imm) - Complexity = 7
    4660             :                   // Dst: (t2SUBri12:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_4095_neg>>:$imm))
    4661             : /*  9411*/      /*Scope*/ 93, /*->9505*/
    4662             : /*  9412*/        OPC_CheckPredicate, 23, // Predicate_imm0_65535_neg
    4663             : /*  9414*/        OPC_MoveParent,
    4664             : /*  9415*/        OPC_CheckType, MVT::i32,
    4665             : /*  9417*/        OPC_Scope, 42, /*->9461*/ // 2 children in Scope
    4666             : /*  9419*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb())
    4667             : /*  9421*/          OPC_EmitConvertToTarget, 1,
    4668             : /*  9423*/          OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4669             : /*  9426*/          OPC_EmitInteger, MVT::i32, 14, 
    4670             : /*  9429*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4671             : /*  9432*/          OPC_EmitNode1, TARGET_VAL(ARM::MOVi16), 0,
    4672             :                         MVT::i32, 3/*#Ops*/, 3, 4, 5,  // Results = #6
    4673             : /*  9441*/          OPC_EmitInteger, MVT::i32, 14, 
    4674             : /*  9444*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4675             : /*  9447*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4676             : /*  9450*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SUBrr), 0,
    4677             :                         MVT::i32, 5/*#Ops*/, 0, 6, 7, 8, 9, 
    4678             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm0_65535_neg>>:$imm) - Complexity = 7
    4679             :                     // Dst: (SUBrr:{ *:[i32] } GPR:{ *:[i32] }:$src, (MOVi16:{ *:[i32] } (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm)))
    4680             : /*  9461*/        /*Scope*/ 42, /*->9504*/
    4681             : /*  9462*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    4682             : /*  9464*/          OPC_EmitConvertToTarget, 1,
    4683             : /*  9466*/          OPC_EmitNodeXForm, 3, 2, // imm_neg_XFORM
    4684             : /*  9469*/          OPC_EmitInteger, MVT::i32, 14, 
    4685             : /*  9472*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4686             : /*  9475*/          OPC_EmitNode1, TARGET_VAL(ARM::t2MOVi16), 0,
    4687             :                         MVT::i32, 3/*#Ops*/, 3, 4, 5,  // Results = #6
    4688             : /*  9484*/          OPC_EmitInteger, MVT::i32, 14, 
    4689             : /*  9487*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4690             : /*  9490*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4691             : /*  9493*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBrr), 0,
    4692             :                         MVT::i32, 5/*#Ops*/, 0, 6, 7, 8, 9, 
    4693             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_imm0_65535_neg>>:$imm) - Complexity = 7
    4694             :                     // Dst: (t2SUBrr:{ *:[i32] } GPR:{ *:[i32] }:$src, (t2MOVi16:{ *:[i32] } (imm_neg_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm)))
    4695             : /*  9504*/        0, /*End of Scope*/
    4696             : /*  9505*/      0, /*End of Scope*/
    4697             : /*  9506*/    /*Scope*/ 90, /*->9597*/
    4698             : /*  9507*/      OPC_MoveChild0,
    4699             : /*  9508*/      OPC_SwitchOpcode /*2 cases */, 56, TARGET_VAL(ISD::MUL),// ->9568
    4700             : /*  9512*/        OPC_RecordChild0, // #0 = $Rn
    4701             : /*  9513*/        OPC_RecordChild1, // #1 = $Rm
    4702             : /*  9514*/        OPC_MoveParent,
    4703             : /*  9515*/        OPC_RecordChild1, // #2 = $Ra
    4704             : /*  9516*/        OPC_CheckType, MVT::i32,
    4705             : /*  9518*/        OPC_Scope, 23, /*->9543*/ // 2 children in Scope
    4706             : /*  9520*/          OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4707             : /*  9522*/          OPC_EmitInteger, MVT::i32, 14, 
    4708             : /*  9525*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4709             : /*  9528*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4710             : /*  9531*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLA), 0,
    4711             :                         MVT::i32, 6/*#Ops*/, 0, 1, 2, 3, 4, 5, 
    4712             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPRnopc:{ *:[i32] }:$Ra) - Complexity = 6
    4713             :                     // Dst: (MLA:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4714             : /*  9543*/        /*Scope*/ 23, /*->9567*/
    4715             : /*  9544*/          OPC_CheckPatternPredicate, 11, // (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops())
    4716             : /*  9546*/          OPC_EmitInteger, MVT::i32, 14, 
    4717             : /*  9549*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4718             : /*  9552*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4719             : /*  9555*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLAv5), 0,
    4720             :                         MVT::i32, 6/*#Ops*/, 0, 1, 2, 3, 4, 5, 
    4721             :                     // Src: (add:{ *:[i32] } (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPRnopc:{ *:[i32] }:$Ra) - Complexity = 6
    4722             :                     // Dst: (MLAv5:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4723             : /*  9567*/        0, /*End of Scope*/
    4724             : /*  9568*/      /*SwitchOpcode*/ 25, TARGET_VAL(ISD::MULHS),// ->9596
    4725             : /*  9571*/        OPC_RecordChild0, // #0 = $Rn
    4726             : /*  9572*/        OPC_RecordChild1, // #1 = $Rm
    4727             : /*  9573*/        OPC_MoveParent,
    4728             : /*  9574*/        OPC_RecordChild1, // #2 = $Ra
    4729             : /*  9575*/        OPC_CheckType, MVT::i32,
    4730             : /*  9577*/        OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4731             : /*  9579*/        OPC_EmitInteger, MVT::i32, 14, 
    4732             : /*  9582*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4733             : /*  9585*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMMLA), 0,
    4734             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4735             :                   // Src: (add:{ *:[i32] } (mulhs:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm), GPR:{ *:[i32] }:$Ra) - Complexity = 6
    4736             :                   // Dst: (SMMLA:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4737             : /*  9596*/      0, // EndSwitchOpcode
    4738             : /*  9597*/    /*Scope*/ 119, /*->9717*/
    4739             : /*  9598*/      OPC_RecordChild0, // #0 = $Ra
    4740             : /*  9599*/      OPC_MoveChild1,
    4741             : /*  9600*/      OPC_SwitchOpcode /*3 cases */, 24, TARGET_VAL(ARMISD::SMULWB),// ->9628
    4742             : /*  9604*/        OPC_RecordChild0, // #1 = $Rn
    4743             : /*  9605*/        OPC_RecordChild1, // #2 = $Rm
    4744             : /*  9606*/        OPC_MoveParent,
    4745             : /*  9607*/        OPC_CheckType, MVT::i32,
    4746             : /*  9609*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4747             : /*  9611*/        OPC_EmitInteger, MVT::i32, 14, 
    4748             : /*  9614*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4749             : /*  9617*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWB), 0,
    4750             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4751             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (ARMsmulwb:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4752             :                   // Dst: (SMLAWB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4753             : /*  9628*/      /*SwitchOpcode*/ 24, TARGET_VAL(ARMISD::SMULWT),// ->9655
    4754             : /*  9631*/        OPC_RecordChild0, // #1 = $Rn
    4755             : /*  9632*/        OPC_RecordChild1, // #2 = $Rm
    4756             : /*  9633*/        OPC_MoveParent,
    4757             : /*  9634*/        OPC_CheckType, MVT::i32,
    4758             : /*  9636*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4759             : /*  9638*/        OPC_EmitInteger, MVT::i32, 14, 
    4760             : /*  9641*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4761             : /*  9644*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWT), 0,
    4762             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4763             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (ARMsmulwt:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4764             :                   // Dst: (SMLAWT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4765             : /*  9655*/      /*SwitchOpcode*/ 58, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->9716
    4766             : /*  9658*/        OPC_RecordChild0, // #1 = $Rm
    4767             : /*  9659*/        OPC_MoveChild1,
    4768             : /*  9660*/        OPC_Scope, 26, /*->9688*/ // 2 children in Scope
    4769             : /*  9662*/          OPC_CheckValueType, MVT::i8,
    4770             : /*  9664*/          OPC_MoveParent,
    4771             : /*  9665*/          OPC_MoveParent,
    4772             : /*  9666*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4773             : /*  9668*/          OPC_EmitInteger, MVT::i32, 0, 
    4774             : /*  9671*/          OPC_EmitInteger, MVT::i32, 14, 
    4775             : /*  9674*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4776             : /*  9677*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    4777             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4778             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i8:{ *:[Other] })) - Complexity = 6
    4779             :                     // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4780             : /*  9688*/        /*Scope*/ 26, /*->9715*/
    4781             : /*  9689*/          OPC_CheckValueType, MVT::i16,
    4782             : /*  9691*/          OPC_MoveParent,
    4783             : /*  9692*/          OPC_MoveParent,
    4784             : /*  9693*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    4785             : /*  9695*/          OPC_EmitInteger, MVT::i32, 0, 
    4786             : /*  9698*/          OPC_EmitInteger, MVT::i32, 14, 
    4787             : /*  9701*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4788             : /*  9704*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    4789             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4790             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i16:{ *:[Other] })) - Complexity = 6
    4791             :                     // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4792             : /*  9715*/        0, /*End of Scope*/
    4793             : /*  9716*/      0, // EndSwitchOpcode
    4794             : /*  9717*/    /*Scope*/ 59, /*->9777*/
    4795             : /*  9718*/      OPC_MoveChild0,
    4796             : /*  9719*/      OPC_SwitchOpcode /*2 cases */, 25, TARGET_VAL(ISD::MUL),// ->9748
    4797             : /*  9723*/        OPC_RecordChild0, // #0 = $Rn
    4798             : /*  9724*/        OPC_RecordChild1, // #1 = $Rm
    4799             : /*  9725*/        OPC_MoveParent,
    4800             : /*  9726*/        OPC_RecordChild1, // #2 = $Ra
    4801             : /*  9727*/        OPC_CheckType, MVT::i32,
    4802             : /*  9729*/        OPC_CheckPatternPredicate, 12, // (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4803             : /*  9731*/        OPC_EmitInteger, MVT::i32, 14, 
    4804             : /*  9734*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4805             : /*  9737*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MLA), 0,
    4806             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4807             :                   // Src: (add:{ *:[i32] } (mul:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4808             :                   // Dst: (t2MLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4809             : /*  9748*/      /*SwitchOpcode*/ 25, TARGET_VAL(ISD::MULHS),// ->9776
    4810             : /*  9751*/        OPC_RecordChild0, // #0 = $Rm
    4811             : /*  9752*/        OPC_RecordChild1, // #1 = $Rn
    4812             : /*  9753*/        OPC_MoveParent,
    4813             : /*  9754*/        OPC_RecordChild1, // #2 = $Ra
    4814             : /*  9755*/        OPC_CheckType, MVT::i32,
    4815             : /*  9757*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4816             : /*  9759*/        OPC_EmitInteger, MVT::i32, 14, 
    4817             : /*  9762*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4818             : /*  9765*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMMLA), 0,
    4819             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    4820             :                   // Src: (add:{ *:[i32] } (mulhs:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Rn), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4821             :                   // Dst: (t2SMMLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4822             : /*  9776*/      0, // EndSwitchOpcode
    4823             : /*  9777*/    /*Scope*/ 76|128,1/*204*/, /*->9983*/
    4824             : /*  9779*/      OPC_RecordChild0, // #0 = $Ra
    4825             : /*  9780*/      OPC_MoveChild1,
    4826             : /*  9781*/      OPC_SwitchOpcode /*5 cases */, 24, TARGET_VAL(ARMISD::SMULWB),// ->9809
    4827             : /*  9785*/        OPC_RecordChild0, // #1 = $Rn
    4828             : /*  9786*/        OPC_RecordChild1, // #2 = $Rm
    4829             : /*  9787*/        OPC_MoveParent,
    4830             : /*  9788*/        OPC_CheckType, MVT::i32,
    4831             : /*  9790*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4832             : /*  9792*/        OPC_EmitInteger, MVT::i32, 14, 
    4833             : /*  9795*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4834             : /*  9798*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWB), 0,
    4835             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4836             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (ARMsmulwb:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4837             :                   // Dst: (t2SMLAWB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4838             : /*  9809*/      /*SwitchOpcode*/ 24, TARGET_VAL(ARMISD::SMULWT),// ->9836
    4839             : /*  9812*/        OPC_RecordChild0, // #1 = $Rn
    4840             : /*  9813*/        OPC_RecordChild1, // #2 = $Rm
    4841             : /*  9814*/        OPC_MoveParent,
    4842             : /*  9815*/        OPC_CheckType, MVT::i32,
    4843             : /*  9817*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4844             : /*  9819*/        OPC_EmitInteger, MVT::i32, 14, 
    4845             : /*  9822*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4846             : /*  9825*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWT), 0,
    4847             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4848             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (ARMsmulwt:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4849             :                   // Dst: (t2SMLAWT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4850             : /*  9836*/      /*SwitchOpcode*/ 58, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->9897
    4851             : /*  9839*/        OPC_RecordChild0, // #1 = $Rm
    4852             : /*  9840*/        OPC_MoveChild1,
    4853             : /*  9841*/        OPC_Scope, 26, /*->9869*/ // 2 children in Scope
    4854             : /*  9843*/          OPC_CheckValueType, MVT::i8,
    4855             : /*  9845*/          OPC_MoveParent,
    4856             : /*  9846*/          OPC_MoveParent,
    4857             : /*  9847*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4858             : /*  9849*/          OPC_EmitInteger, MVT::i32, 0, 
    4859             : /*  9852*/          OPC_EmitInteger, MVT::i32, 14, 
    4860             : /*  9855*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4861             : /*  9858*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    4862             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4863             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i8:{ *:[Other] })) - Complexity = 6
    4864             :                     // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4865             : /*  9869*/        /*Scope*/ 26, /*->9896*/
    4866             : /*  9870*/          OPC_CheckValueType, MVT::i16,
    4867             : /*  9872*/          OPC_MoveParent,
    4868             : /*  9873*/          OPC_MoveParent,
    4869             : /*  9874*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    4870             : /*  9876*/          OPC_EmitInteger, MVT::i32, 0, 
    4871             : /*  9879*/          OPC_EmitInteger, MVT::i32, 14, 
    4872             : /*  9882*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4873             : /*  9885*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    4874             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4875             :                     // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i16:{ *:[Other] })) - Complexity = 6
    4876             :                     // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    4877             : /*  9896*/        0, /*End of Scope*/
    4878             : /*  9897*/      /*SwitchOpcode*/ 55, TARGET_VAL(ISD::MUL),// ->9955
    4879             : /*  9900*/        OPC_RecordChild0, // #1 = $Rn
    4880             : /*  9901*/        OPC_RecordChild1, // #2 = $Rm
    4881             : /*  9902*/        OPC_MoveParent,
    4882             : /*  9903*/        OPC_CheckType, MVT::i32,
    4883             : /*  9905*/        OPC_Scope, 23, /*->9930*/ // 2 children in Scope
    4884             : /*  9907*/          OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4885             : /*  9909*/          OPC_EmitInteger, MVT::i32, 14, 
    4886             : /*  9912*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4887             : /*  9915*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4888             : /*  9918*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLA), 0,
    4889             :                         MVT::i32, 6/*#Ops*/, 1, 2, 0, 3, 4, 5, 
    4890             :                     // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Ra, (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4891             :                     // Dst: (MLA:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4892             : /*  9930*/        /*Scope*/ 23, /*->9954*/
    4893             : /*  9931*/          OPC_CheckPatternPredicate, 11, // (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops())
    4894             : /*  9933*/          OPC_EmitInteger, MVT::i32, 14, 
    4895             : /*  9936*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4896             : /*  9939*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4897             : /*  9942*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::MLAv5), 0,
    4898             :                         MVT::i32, 6/*#Ops*/, 1, 2, 0, 3, 4, 5, 
    4899             :                     // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Ra, (mul:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm)) - Complexity = 6
    4900             :                     // Dst: (MLAv5:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Ra)
    4901             : /*  9954*/        0, /*End of Scope*/
    4902             : /*  9955*/      /*SwitchOpcode*/ 24, TARGET_VAL(ISD::MULHS),// ->9982
    4903             : /*  9958*/        OPC_RecordChild0, // #1 = $Rn
    4904             : /*  9959*/        OPC_RecordChild1, // #2 = $Rm
    4905             : /*  9960*/        OPC_MoveParent,
    4906             : /*  9961*/        OPC_CheckType, MVT::i32,
    4907             : /*  9963*/        OPC_CheckPatternPredicate, 10, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4908             : /*  9965*/        OPC_EmitInteger, MVT::i32, 14, 
    4909             : /*  9968*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4910             : /*  9971*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMMLA), 0,
    4911             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4912             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Ra, (mulhs:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4913             :                   // Dst: (SMMLA:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4914             : /*  9982*/      0, // EndSwitchOpcode
    4915             : /*  9983*/    /*Scope*/ 59, /*->10043*/
    4916             : /*  9984*/      OPC_MoveChild0,
    4917             : /*  9985*/      OPC_SwitchOpcode /*2 cases */, 25, TARGET_VAL(ARMISD::SMULWB),// ->10014
    4918             : /*  9989*/        OPC_RecordChild0, // #0 = $Rn
    4919             : /*  9990*/        OPC_RecordChild1, // #1 = $Rm
    4920             : /*  9991*/        OPC_MoveParent,
    4921             : /*  9992*/        OPC_RecordChild1, // #2 = $Ra
    4922             : /*  9993*/        OPC_CheckType, MVT::i32,
    4923             : /*  9995*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4924             : /*  9997*/        OPC_EmitInteger, MVT::i32, 14, 
    4925             : /* 10000*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4926             : /* 10003*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWB), 0,
    4927             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4928             :                   // Src: (add:{ *:[i32] } (ARMsmulwb:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPR:{ *:[i32] }:$Ra) - Complexity = 6
    4929             :                   // Dst: (SMLAWB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4930             : /* 10014*/      /*SwitchOpcode*/ 25, TARGET_VAL(ARMISD::SMULWT),// ->10042
    4931             : /* 10017*/        OPC_RecordChild0, // #0 = $Rn
    4932             : /* 10018*/        OPC_RecordChild1, // #1 = $Rm
    4933             : /* 10019*/        OPC_MoveParent,
    4934             : /* 10020*/        OPC_RecordChild1, // #2 = $Ra
    4935             : /* 10021*/        OPC_CheckType, MVT::i32,
    4936             : /* 10023*/        OPC_CheckPatternPredicate, 8, // (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps())
    4937             : /* 10025*/        OPC_EmitInteger, MVT::i32, 14, 
    4938             : /* 10028*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4939             : /* 10031*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWT), 0,
    4940             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4941             :                   // Src: (add:{ *:[i32] } (ARMsmulwt:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm), GPR:{ *:[i32] }:$Ra) - Complexity = 6
    4942             :                   // Dst: (SMLAWT:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, GPR:{ *:[i32] }:$Ra)
    4943             : /* 10042*/      0, // EndSwitchOpcode
    4944             : /* 10043*/    /*Scope*/ 58, /*->10102*/
    4945             : /* 10044*/      OPC_RecordChild0, // #0 = $Ra
    4946             : /* 10045*/      OPC_MoveChild1,
    4947             : /* 10046*/      OPC_SwitchOpcode /*2 cases */, 24, TARGET_VAL(ISD::MUL),// ->10074
    4948             : /* 10050*/        OPC_RecordChild0, // #1 = $Rn
    4949             : /* 10051*/        OPC_RecordChild1, // #2 = $Rm
    4950             : /* 10052*/        OPC_MoveParent,
    4951             : /* 10053*/        OPC_CheckType, MVT::i32,
    4952             : /* 10055*/        OPC_CheckPatternPredicate, 12, // (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4953             : /* 10057*/        OPC_EmitInteger, MVT::i32, 14, 
    4954             : /* 10060*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4955             : /* 10063*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MLA), 0,
    4956             :                       MVT::i32, 5/*#Ops*/, 1, 2, 0, 3, 4, 
    4957             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mul:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)) - Complexity = 6
    4958             :                   // Dst: (t2MLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4959             : /* 10074*/      /*SwitchOpcode*/ 24, TARGET_VAL(ISD::MULHS),// ->10101
    4960             : /* 10077*/        OPC_RecordChild0, // #1 = $Rm
    4961             : /* 10078*/        OPC_RecordChild1, // #2 = $Rn
    4962             : /* 10079*/        OPC_MoveParent,
    4963             : /* 10080*/        OPC_CheckType, MVT::i32,
    4964             : /* 10082*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4965             : /* 10084*/        OPC_EmitInteger, MVT::i32, 14, 
    4966             : /* 10087*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4967             : /* 10090*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMMLA), 0,
    4968             :                       MVT::i32, 5/*#Ops*/, 2, 1, 0, 3, 4, 
    4969             :                   // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Ra, (mulhs:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Rn)) - Complexity = 6
    4970             :                   // Dst: (t2SMMLA:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4971             : /* 10101*/      0, // EndSwitchOpcode
    4972             : /* 10102*/    /*Scope*/ 46|128,1/*174*/, /*->10278*/
    4973             : /* 10104*/      OPC_MoveChild0,
    4974             : /* 10105*/      OPC_SwitchOpcode /*3 cases */, 25, TARGET_VAL(ARMISD::SMULWB),// ->10134
    4975             : /* 10109*/        OPC_RecordChild0, // #0 = $Rn
    4976             : /* 10110*/        OPC_RecordChild1, // #1 = $Rm
    4977             : /* 10111*/        OPC_MoveParent,
    4978             : /* 10112*/        OPC_RecordChild1, // #2 = $Ra
    4979             : /* 10113*/        OPC_CheckType, MVT::i32,
    4980             : /* 10115*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4981             : /* 10117*/        OPC_EmitInteger, MVT::i32, 14, 
    4982             : /* 10120*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4983             : /* 10123*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWB), 0,
    4984             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4985             :                   // Src: (add:{ *:[i32] } (ARMsmulwb:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4986             :                   // Dst: (t2SMLAWB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    4987             : /* 10134*/      /*SwitchOpcode*/ 25, TARGET_VAL(ARMISD::SMULWT),// ->10162
    4988             : /* 10137*/        OPC_RecordChild0, // #0 = $Rn
    4989             : /* 10138*/        OPC_RecordChild1, // #1 = $Rm
    4990             : /* 10139*/        OPC_MoveParent,
    4991             : /* 10140*/        OPC_RecordChild1, // #2 = $Ra
    4992             : /* 10141*/        OPC_CheckType, MVT::i32,
    4993             : /* 10143*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps())
    4994             : /* 10145*/        OPC_EmitInteger, MVT::i32, 14, 
    4995             : /* 10148*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    4996             : /* 10151*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWT), 0,
    4997             :                       MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    4998             :                   // Src: (add:{ *:[i32] } (ARMsmulwt:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm), rGPR:{ *:[i32] }:$Ra) - Complexity = 6
    4999             :                   // Dst: (t2SMLAWT:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, rGPR:{ *:[i32] }:$Ra)
    5000             : /* 10162*/      /*SwitchOpcode*/ 112, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->10277
    5001             : /* 10165*/        OPC_RecordChild0, // #0 = $Rm
    5002             : /* 10166*/        OPC_MoveChild1,
    5003             : /* 10167*/        OPC_Scope, 53, /*->10222*/ // 2 children in Scope
    5004             : /* 10169*/          OPC_CheckValueType, MVT::i8,
    5005             : /* 10171*/          OPC_MoveParent,
    5006             : /* 10172*/          OPC_MoveParent,
    5007             : /* 10173*/          OPC_RecordChild1, // #1 = $Rn
    5008             : /* 10174*/          OPC_Scope, 22, /*->10198*/ // 2 children in Scope
    5009             : /* 10176*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    5010             : /* 10178*/            OPC_EmitInteger, MVT::i32, 0, 
    5011             : /* 10181*/            OPC_EmitInteger, MVT::i32, 14, 
    5012             : /* 10184*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5013             : /* 10187*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
    5014             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    5015             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i8:{ *:[Other] }), GPR:{ *:[i32] }:$Rn) - Complexity = 6
    5016             :                       // Dst: (SXTAB:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    5017             : /* 10198*/          /*Scope*/ 22, /*->10221*/
    5018             : /* 10199*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    5019             : /* 10201*/            OPC_EmitInteger, MVT::i32, 0, 
    5020             : /* 10204*/            OPC_EmitInteger, MVT::i32, 14, 
    5021             : /* 10207*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5022             : /* 10210*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
    5023             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    5024             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i8:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 6
    5025             :                       // Dst: (t2SXTAB:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    5026             : /* 10221*/          0, /*End of Scope*/
    5027             : /* 10222*/        /*Scope*/ 53, /*->10276*/
    5028             : /* 10223*/          OPC_CheckValueType, MVT::i16,
    5029             : /* 10225*/          OPC_MoveParent,
    5030             : /* 10226*/          OPC_MoveParent,
    5031             : /* 10227*/          OPC_RecordChild1, // #1 = $Rn
    5032             : /* 10228*/          OPC_Scope, 22, /*->10252*/ // 2 children in Scope
    5033             : /* 10230*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    5034             : /* 10232*/            OPC_EmitInteger, MVT::i32, 0, 
    5035             : /* 10235*/            OPC_EmitInteger, MVT::i32, 14, 
    5036             : /* 10238*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5037             : /* 10241*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
    5038             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    5039             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, i16:{ *:[Other] }), GPR:{ *:[i32] }:$Rn) - Complexity = 6
    5040             :                       // Dst: (SXTAH:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPRnopc:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    5041             : /* 10252*/          /*Scope*/ 22, /*->10275*/
    5042             : /* 10253*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    5043             : /* 10255*/            OPC_EmitInteger, MVT::i32, 0, 
    5044             : /* 10258*/            OPC_EmitInteger, MVT::i32, 14, 
    5045             : /* 10261*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5046             : /* 10264*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
    5047             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    5048             :                       // Src: (add:{ *:[i32] } (sext_inreg:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, i16:{ *:[Other] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 6
    5049             :                       // Dst: (t2SXTAH:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    5050             : /* 10275*/          0, /*End of Scope*/
    5051             : /* 10276*/        0, /*End of Scope*/
    5052             : /* 10277*/      0, // EndSwitchOpcode
    5053             : /* 10278*/    /*Scope*/ 37|128,2/*293*/, /*->10573*/
    5054             : /* 10280*/      OPC_RecordChild0, // #0 = $Rn
    5055             : /* 10281*/      OPC_Scope, 89, /*->10372*/ // 2 children in Scope
    5056             : /* 10283*/        OPC_RecordChild1, // #1 = $Rm
    5057             : /* 10284*/        OPC_CheckType, MVT::i32,
    5058             : /* 10286*/        OPC_Scope, 22, /*->10310*/ // 3 children in Scope
    5059             : /* 10288*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    5060             : /* 10290*/          OPC_EmitInteger, MVT::i32, 14, 
    5061             : /* 10293*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5062             : /* 10296*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5063             : /* 10299*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrr), 0,
    5064             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5065             :                     // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm) - Complexity = 3
    5066             :                     // Dst: (ADDrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    5067             : /* 10310*/        /*Scope*/ 22, /*->10333*/
    5068             : /* 10311*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    5069             : /* 10313*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    5070             : /* 10316*/          OPC_EmitInteger, MVT::i32, 14, 
    5071             : /* 10319*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5072             : /* 10322*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDrr), 0,
    5073             :                         MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5074             :                     // Src: (add:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 3
    5075             :                     // Dst: (tADDrr:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    5076             : /* 10333*/        /*Scope*/ 37, /*->10371*/
    5077             : /* 10334*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    5078             : /* 10336*/          OPC_EmitInteger, MVT::i32, 14, 
    5079             : /* 10339*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5080             : /* 10342*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5081             : /* 10345*/          OPC_Scope, 11, /*->10358*/ // 2 children in Scope
    5082             : /* 10347*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
    5083             :                           MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5084             :                       // Src: (add:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm) - Complexity = 3
    5085             :                       // Dst: (t2ADDrr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    5086             : /* 10358*/          /*Scope*/ 11, /*->10370*/
    5087             : /* 10359*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
    5088             :                           MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    5089             :                       // Src: (add:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, GPRnopc:{ *:[i32] }:$Rn) - Complexity = 3
    5090             :                       // Dst: (t2ADDrr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    5091             : /* 10370*/          0, /*End of Scope*/
    5092             : /* 10371*/        0, /*End of Scope*/
    5093             : /* 10372*/      /*Scope*/ 70|128,1/*198*/, /*->10572*/
    5094             : /* 10374*/        OPC_MoveChild1,
    5095             : /* 10375*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    5096             : /* 10378*/        OPC_MoveChild0,
    5097             : /* 10379*/        OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    5098             : /* 10382*/        OPC_Scope, 93, /*->10477*/ // 2 children in Scope
    5099             : /* 10384*/          OPC_CheckChild0Integer, 30|128,8/*1054*/, 
    5100             : /* 10387*/          OPC_RecordChild1, // #1 = $Vn
    5101             : /* 10388*/          OPC_Scope, 28, /*->10418*/ // 3 children in Scope
    5102             : /* 10390*/            OPC_CheckChild1Type, MVT::v8i8,
    5103             : /* 10392*/            OPC_RecordChild2, // #2 = $Vm
    5104             : /* 10393*/            OPC_CheckChild2Type, MVT::v8i8,
    5105             : /* 10395*/            OPC_MoveParent,
    5106             : /* 10396*/            OPC_MoveParent,
    5107             : /* 10397*/            OPC_CheckType, MVT::v8i16,
    5108             : /* 10399*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5109             : /* 10401*/            OPC_EmitInteger, MVT::i32, 14, 
    5110             : /* 10404*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5111             : /* 10407*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv8i16), 0,
    5112             :                           MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5113             :                       // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1054:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm))) - Complexity = 14
    5114             :                       // Dst: (VABALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5115             : /* 10418*/          /*Scope*/ 28, /*->10447*/
    5116             : /* 10419*/            OPC_CheckChild1Type, MVT::v4i16,
    5117             : /* 10421*/            OPC_RecordChild2, // #2 = $Vm
    5118             : /* 10422*/            OPC_CheckChild2Type, MVT::v4i16,
    5119             : /* 10424*/            OPC_MoveParent,
    5120             : /* 10425*/            OPC_MoveParent,
    5121             : /* 10426*/            OPC_CheckType, MVT::v4i32,
    5122             : /* 10428*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5123             : /* 10430*/            OPC_EmitInteger, MVT::i32, 14, 
    5124             : /* 10433*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5125             : /* 10436*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv4i32), 0,
    5126             :                           MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5127             :                       // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1054:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm))) - Complexity = 14
    5128             :                       // Dst: (VABALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5129             : /* 10447*/          /*Scope*/ 28, /*->10476*/
    5130             : /* 10448*/            OPC_CheckChild1Type, MVT::v2i32,
    5131             : /* 10450*/            OPC_RecordChild2, // #2 = $Vm
    5132             : /* 10451*/            OPC_CheckChild2Type, MVT::v2i32,
    5133             : /* 10453*/            OPC_MoveParent,
    5134             : /* 10454*/            OPC_MoveParent,
    5135             : /* 10455*/            OPC_CheckType, MVT::v2i64,
    5136             : /* 10457*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5137             : /* 10459*/            OPC_EmitInteger, MVT::i32, 14, 
    5138             : /* 10462*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5139             : /* 10465*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv2i64), 0,
    5140             :                           MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5141             :                       // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1054:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm))) - Complexity = 14
    5142             :                       // Dst: (VABALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5143             : /* 10476*/          0, /*End of Scope*/
    5144             : /* 10477*/        /*Scope*/ 93, /*->10571*/
    5145             : /* 10478*/          OPC_CheckChild0Integer, 31|128,8/*1055*/, 
    5146             : /* 10481*/          OPC_RecordChild1, // #1 = $Vn
    5147             : /* 10482*/          OPC_Scope, 28, /*->10512*/ // 3 children in Scope
    5148             : /* 10484*/            OPC_CheckChild1Type, MVT::v8i8,
    5149             : /* 10486*/            OPC_RecordChild2, // #2 = $Vm
    5150             : /* 10487*/            OPC_CheckChild2Type, MVT::v8i8,
    5151             : /* 10489*/            OPC_MoveParent,
    5152             : /* 10490*/            OPC_MoveParent,
    5153             : /* 10491*/            OPC_CheckType, MVT::v8i16,
    5154             : /* 10493*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5155             : /* 10495*/            OPC_EmitInteger, MVT::i32, 14, 
    5156             : /* 10498*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5157             : /* 10501*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv8i16), 0,
    5158             :                           MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5159             :                       // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1055:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm))) - Complexity = 14
    5160             :                       // Dst: (VABALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5161             : /* 10512*/          /*Scope*/ 28, /*->10541*/
    5162             : /* 10513*/            OPC_CheckChild1Type, MVT::v4i16,
    5163             : /* 10515*/            OPC_RecordChild2, // #2 = $Vm
    5164             : /* 10516*/            OPC_CheckChild2Type, MVT::v4i16,
    5165             : /* 10518*/            OPC_MoveParent,
    5166             : /* 10519*/            OPC_MoveParent,
    5167             : /* 10520*/            OPC_CheckType, MVT::v4i32,
    5168             : /* 10522*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5169             : /* 10524*/            OPC_EmitInteger, MVT::i32, 14, 
    5170             : /* 10527*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5171             : /* 10530*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv4i32), 0,
    5172             :                           MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5173             :                       // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1055:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm))) - Complexity = 14
    5174             :                       // Dst: (VABALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5175             : /* 10541*/          /*Scope*/ 28, /*->10570*/
    5176             : /* 10542*/            OPC_CheckChild1Type, MVT::v2i32,
    5177             : /* 10544*/            OPC_RecordChild2, // #2 = $Vm
    5178             : /* 10545*/            OPC_CheckChild2Type, MVT::v2i32,
    5179             : /* 10547*/            OPC_MoveParent,
    5180             : /* 10548*/            OPC_MoveParent,
    5181             : /* 10549*/            OPC_CheckType, MVT::v2i64,
    5182             : /* 10551*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5183             : /* 10553*/            OPC_EmitInteger, MVT::i32, 14, 
    5184             : /* 10556*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5185             : /* 10559*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv2i64), 0,
    5186             :                           MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    5187             :                       // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1055:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm))) - Complexity = 14
    5188             :                       // Dst: (VABALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5189             : /* 10570*/          0, /*End of Scope*/
    5190             : /* 10571*/        0, /*End of Scope*/
    5191             : /* 10572*/      0, /*End of Scope*/
    5192             : /* 10573*/    /*Scope*/ 76|128,1/*204*/, /*->10779*/
    5193             : /* 10575*/      OPC_MoveChild0,
    5194             : /* 10576*/      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    5195             : /* 10579*/      OPC_MoveChild0,
    5196             : /* 10580*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    5197             : /* 10583*/      OPC_Scope, 96, /*->10681*/ // 2 children in Scope
    5198             : /* 10585*/        OPC_CheckChild0Integer, 30|128,8/*1054*/, 
    5199             : /* 10588*/        OPC_RecordChild1, // #0 = $Vn
    5200             : /* 10589*/        OPC_Scope, 29, /*->10620*/ // 3 children in Scope
    5201             : /* 10591*/          OPC_CheckChild1Type, MVT::v8i8,
    5202             : /* 10593*/          OPC_RecordChild2, // #1 = $Vm
    5203             : /* 10594*/          OPC_CheckChild2Type, MVT::v8i8,
    5204             : /* 10596*/          OPC_MoveParent,
    5205             : /* 10597*/          OPC_MoveParent,
    5206             : /* 10598*/          OPC_RecordChild1, // #2 = $src1
    5207             : /* 10599*/          OPC_CheckType, MVT::v8i16,
    5208             : /* 10601*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5209             : /* 10603*/          OPC_EmitInteger, MVT::i32, 14, 
    5210             : /* 10606*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5211             : /* 10609*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv8i16), 0,
    5212             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5213             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1054:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)), QPR:{ *:[v8i16] }:$src1) - Complexity = 14
    5214             :                     // Dst: (VABALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5215             : /* 10620*/        /*Scope*/ 29, /*->10650*/
    5216             : /* 10621*/          OPC_CheckChild1Type, MVT::v4i16,
    5217             : /* 10623*/          OPC_RecordChild2, // #1 = $Vm
    5218             : /* 10624*/          OPC_CheckChild2Type, MVT::v4i16,
    5219             : /* 10626*/          OPC_MoveParent,
    5220             : /* 10627*/          OPC_MoveParent,
    5221             : /* 10628*/          OPC_RecordChild1, // #2 = $src1
    5222             : /* 10629*/          OPC_CheckType, MVT::v4i32,
    5223             : /* 10631*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5224             : /* 10633*/          OPC_EmitInteger, MVT::i32, 14, 
    5225             : /* 10636*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5226             : /* 10639*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv4i32), 0,
    5227             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5228             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1054:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)), QPR:{ *:[v4i32] }:$src1) - Complexity = 14
    5229             :                     // Dst: (VABALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5230             : /* 10650*/        /*Scope*/ 29, /*->10680*/
    5231             : /* 10651*/          OPC_CheckChild1Type, MVT::v2i32,
    5232             : /* 10653*/          OPC_RecordChild2, // #1 = $Vm
    5233             : /* 10654*/          OPC_CheckChild2Type, MVT::v2i32,
    5234             : /* 10656*/          OPC_MoveParent,
    5235             : /* 10657*/          OPC_MoveParent,
    5236             : /* 10658*/          OPC_RecordChild1, // #2 = $src1
    5237             : /* 10659*/          OPC_CheckType, MVT::v2i64,
    5238             : /* 10661*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5239             : /* 10663*/          OPC_EmitInteger, MVT::i32, 14, 
    5240             : /* 10666*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5241             : /* 10669*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv2i64), 0,
    5242             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5243             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1054:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)), QPR:{ *:[v2i64] }:$src1) - Complexity = 14
    5244             :                     // Dst: (VABALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5245             : /* 10680*/        0, /*End of Scope*/
    5246             : /* 10681*/      /*Scope*/ 96, /*->10778*/
    5247             : /* 10682*/        OPC_CheckChild0Integer, 31|128,8/*1055*/, 
    5248             : /* 10685*/        OPC_RecordChild1, // #0 = $Vn
    5249             : /* 10686*/        OPC_Scope, 29, /*->10717*/ // 3 children in Scope
    5250             : /* 10688*/          OPC_CheckChild1Type, MVT::v8i8,
    5251             : /* 10690*/          OPC_RecordChild2, // #1 = $Vm
    5252             : /* 10691*/          OPC_CheckChild2Type, MVT::v8i8,
    5253             : /* 10693*/          OPC_MoveParent,
    5254             : /* 10694*/          OPC_MoveParent,
    5255             : /* 10695*/          OPC_RecordChild1, // #2 = $src1
    5256             : /* 10696*/          OPC_CheckType, MVT::v8i16,
    5257             : /* 10698*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5258             : /* 10700*/          OPC_EmitInteger, MVT::i32, 14, 
    5259             : /* 10703*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5260             : /* 10706*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv8i16), 0,
    5261             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5262             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 1055:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)), QPR:{ *:[v8i16] }:$src1) - Complexity = 14
    5263             :                     // Dst: (VABALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    5264             : /* 10717*/        /*Scope*/ 29, /*->10747*/
    5265             : /* 10718*/          OPC_CheckChild1Type, MVT::v4i16,
    5266             : /* 10720*/          OPC_RecordChild2, // #1 = $Vm
    5267             : /* 10721*/          OPC_CheckChild2Type, MVT::v4i16,
    5268             : /* 10723*/          OPC_MoveParent,
    5269             : /* 10724*/          OPC_MoveParent,
    5270             : /* 10725*/          OPC_RecordChild1, // #2 = $src1
    5271             : /* 10726*/          OPC_CheckType, MVT::v4i32,
    5272             : /* 10728*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5273             : /* 10730*/          OPC_EmitInteger, MVT::i32, 14, 
    5274             : /* 10733*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5275             : /* 10736*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv4i32), 0,
    5276             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5277             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 1055:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)), QPR:{ *:[v4i32] }:$src1) - Complexity = 14
    5278             :                     // Dst: (VABALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    5279             : /* 10747*/        /*Scope*/ 29, /*->10777*/
    5280             : /* 10748*/          OPC_CheckChild1Type, MVT::v2i32,
    5281             : /* 10750*/          OPC_RecordChild2, // #1 = $Vm
    5282             : /* 10751*/          OPC_CheckChild2Type, MVT::v2i32,
    5283             : /* 10753*/          OPC_MoveParent,
    5284             : /* 10754*/          OPC_MoveParent,
    5285             : /* 10755*/          OPC_RecordChild1, // #2 = $src1
    5286             : /* 10756*/          OPC_CheckType, MVT::v2i64,
    5287             : /* 10758*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5288             : /* 10760*/          OPC_EmitInteger, MVT::i32, 14, 
    5289             : /* 10763*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5290             : /* 10766*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv2i64), 0,
    5291             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    5292             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 1055:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)), QPR:{ *:[v2i64] }:$src1) - Complexity = 14
    5293             :                     // Dst: (VABALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    5294             : /* 10777*/        0, /*End of Scope*/
    5295             : /* 10778*/      0, /*End of Scope*/
    5296             : /* 10779*/    /*Scope*/ 107|128,2/*363*/, /*->11144*/
    5297             : /* 10781*/      OPC_RecordChild0, // #0 = $src1
    5298             : /* 10782*/      OPC_MoveChild1,
    5299             : /* 10783*/      OPC_SwitchOpcode /*3 cases */, 47|128,1/*175*/, TARGET_VAL(ISD::MUL),// ->10963
    5300             : /* 10788*/        OPC_Scope, 2|128,1/*130*/, /*->10921*/ // 2 children in Scope
    5301             : /* 10791*/          OPC_RecordChild0, // #1 = $Vn
    5302             : /* 10792*/          OPC_MoveChild1,
    5303             : /* 10793*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5304             : /* 10796*/          OPC_RecordChild0, // #2 = $Vm
    5305             : /* 10797*/          OPC_Scope, 60, /*->10859*/ // 2 children in Scope
    5306             : /* 10799*/            OPC_CheckChild0Type, MVT::v4i16,
    5307             : /* 10801*/            OPC_RecordChild1, // #3 = $lane
    5308             : /* 10802*/            OPC_MoveChild1,
    5309             : /* 10803*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5310             : /* 10806*/            OPC_MoveParent,
    5311             : /* 10807*/            OPC_MoveParent,
    5312             : /* 10808*/            OPC_MoveParent,
    5313             : /* 10809*/            OPC_SwitchType /*2 cases */, 22, MVT::v4i16,// ->10834
    5314             : /* 10812*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5315             : /* 10814*/              OPC_EmitConvertToTarget, 3,
    5316             : /* 10816*/              OPC_EmitInteger, MVT::i32, 14, 
    5317             : /* 10819*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5318             : /* 10822*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5319             :                             MVT::v4i16, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5320             :                         // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5321             :                         // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5322             : /* 10834*/            /*SwitchType*/ 22, MVT::v8i16,// ->10858
    5323             : /* 10836*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5324             : /* 10838*/              OPC_EmitConvertToTarget, 3,
    5325             : /* 10840*/              OPC_EmitInteger, MVT::i32, 14, 
    5326             : /* 10843*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5327             : /* 10846*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5328             :                             MVT::v8i16, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5329             :                         // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5330             :                         // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5331             : /* 10858*/            0, // EndSwitchType
    5332             : /* 10859*/          /*Scope*/ 60, /*->10920*/
    5333             : /* 10860*/            OPC_CheckChild0Type, MVT::v2i32,
    5334             : /* 10862*/            OPC_RecordChild1, // #3 = $lane
    5335             : /* 10863*/            OPC_MoveChild1,
    5336             : /* 10864*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5337             : /* 10867*/            OPC_MoveParent,
    5338             : /* 10868*/            OPC_MoveParent,
    5339             : /* 10869*/            OPC_MoveParent,
    5340             : /* 10870*/            OPC_SwitchType /*2 cases */, 22, MVT::v2i32,// ->10895
    5341             : /* 10873*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5342             : /* 10875*/              OPC_EmitConvertToTarget, 3,
    5343             : /* 10877*/              OPC_EmitInteger, MVT::i32, 14, 
    5344             : /* 10880*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5345             : /* 10883*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5346             :                             MVT::v2i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5347             :                         // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5348             :                         // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5349             : /* 10895*/            /*SwitchType*/ 22, MVT::v4i32,// ->10919
    5350             : /* 10897*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5351             : /* 10899*/              OPC_EmitConvertToTarget, 3,
    5352             : /* 10901*/              OPC_EmitInteger, MVT::i32, 14, 
    5353             : /* 10904*/              OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5354             : /* 10907*/              OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5355             :                             MVT::v4i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5356             :                         // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5357             :                         // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5358             : /* 10919*/            0, // EndSwitchType
    5359             : /* 10920*/          0, /*End of Scope*/
    5360             : /* 10921*/        /*Scope*/ 40, /*->10962*/
    5361             : /* 10922*/          OPC_MoveChild0,
    5362             : /* 10923*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5363             : /* 10926*/          OPC_RecordChild0, // #1 = $Vm
    5364             : /* 10927*/          OPC_CheckChild0Type, MVT::v4i16,
    5365             : /* 10929*/          OPC_RecordChild1, // #2 = $lane
    5366             : /* 10930*/          OPC_MoveChild1,
    5367             : /* 10931*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5368             : /* 10934*/          OPC_MoveParent,
    5369             : /* 10935*/          OPC_MoveParent,
    5370             : /* 10936*/          OPC_RecordChild1, // #3 = $Vn
    5371             : /* 10937*/          OPC_MoveParent,
    5372             : /* 10938*/          OPC_CheckType, MVT::v4i16,
    5373             : /* 10940*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5374             : /* 10942*/          OPC_EmitConvertToTarget, 2,
    5375             : /* 10944*/          OPC_EmitInteger, MVT::i32, 14, 
    5376             : /* 10947*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5377             : /* 10950*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5378             :                         MVT::v4i16, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5379             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (mul:{ *:[v4i16] } (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v4i16] }:$Vn)) - Complexity = 12
    5380             :                     // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5381             : /* 10962*/        0, /*End of Scope*/
    5382             : /* 10963*/      /*SwitchOpcode*/ 87, TARGET_VAL(ARMISD::VMULLs),// ->11053
    5383             : /* 10966*/        OPC_RecordChild0, // #1 = $Vn
    5384             : /* 10967*/        OPC_Scope, 41, /*->11010*/ // 2 children in Scope
    5385             : /* 10969*/          OPC_CheckChild0Type, MVT::v4i16,
    5386             : /* 10971*/          OPC_MoveChild1,
    5387             : /* 10972*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5388             : /* 10975*/          OPC_RecordChild0, // #2 = $Vm
    5389             : /* 10976*/          OPC_CheckChild0Type, MVT::v4i16,
    5390             : /* 10978*/          OPC_RecordChild1, // #3 = $lane
    5391             : /* 10979*/          OPC_MoveChild1,
    5392             : /* 10980*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5393             : /* 10983*/          OPC_MoveParent,
    5394             : /* 10984*/          OPC_MoveParent,
    5395             : /* 10985*/          OPC_MoveParent,
    5396             : /* 10986*/          OPC_CheckType, MVT::v4i32,
    5397             : /* 10988*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5398             : /* 10990*/          OPC_EmitConvertToTarget, 3,
    5399             : /* 10992*/          OPC_EmitInteger, MVT::i32, 14, 
    5400             : /* 10995*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5401             : /* 10998*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv4i16), 0,
    5402             :                         MVT::v4i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5403             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5404             :                     // Dst: (VMLALslsv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5405             : /* 11010*/        /*Scope*/ 41, /*->11052*/
    5406             : /* 11011*/          OPC_CheckChild0Type, MVT::v2i32,
    5407             : /* 11013*/          OPC_MoveChild1,
    5408             : /* 11014*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5409             : /* 11017*/          OPC_RecordChild0, // #2 = $Vm
    5410             : /* 11018*/          OPC_CheckChild0Type, MVT::v2i32,
    5411             : /* 11020*/          OPC_RecordChild1, // #3 = $lane
    5412             : /* 11021*/          OPC_MoveChild1,
    5413             : /* 11022*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5414             : /* 11025*/          OPC_MoveParent,
    5415             : /* 11026*/          OPC_MoveParent,
    5416             : /* 11027*/          OPC_MoveParent,
    5417             : /* 11028*/          OPC_CheckType, MVT::v2i64,
    5418             : /* 11030*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5419             : /* 11032*/          OPC_EmitConvertToTarget, 3,
    5420             : /* 11034*/          OPC_EmitInteger, MVT::i32, 14, 
    5421             : /* 11037*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5422             : /* 11040*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv2i32), 0,
    5423             :                         MVT::v2i64, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5424             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5425             :                     // Dst: (VMLALslsv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5426             : /* 11052*/        0, /*End of Scope*/
    5427             : /* 11053*/      /*SwitchOpcode*/ 87, TARGET_VAL(ARMISD::VMULLu),// ->11143
    5428             : /* 11056*/        OPC_RecordChild0, // #1 = $Vn
    5429             : /* 11057*/        OPC_Scope, 41, /*->11100*/ // 2 children in Scope
    5430             : /* 11059*/          OPC_CheckChild0Type, MVT::v4i16,
    5431             : /* 11061*/          OPC_MoveChild1,
    5432             : /* 11062*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5433             : /* 11065*/          OPC_RecordChild0, // #2 = $Vm
    5434             : /* 11066*/          OPC_CheckChild0Type, MVT::v4i16,
    5435             : /* 11068*/          OPC_RecordChild1, // #3 = $lane
    5436             : /* 11069*/          OPC_MoveChild1,
    5437             : /* 11070*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5438             : /* 11073*/          OPC_MoveParent,
    5439             : /* 11074*/          OPC_MoveParent,
    5440             : /* 11075*/          OPC_MoveParent,
    5441             : /* 11076*/          OPC_CheckType, MVT::v4i32,
    5442             : /* 11078*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5443             : /* 11080*/          OPC_EmitConvertToTarget, 3,
    5444             : /* 11082*/          OPC_EmitInteger, MVT::i32, 14, 
    5445             : /* 11085*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5446             : /* 11088*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv4i16), 0,
    5447             :                         MVT::v4i32, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5448             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5449             :                     // Dst: (VMLALsluv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5450             : /* 11100*/        /*Scope*/ 41, /*->11142*/
    5451             : /* 11101*/          OPC_CheckChild0Type, MVT::v2i32,
    5452             : /* 11103*/          OPC_MoveChild1,
    5453             : /* 11104*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5454             : /* 11107*/          OPC_RecordChild0, // #2 = $Vm
    5455             : /* 11108*/          OPC_CheckChild0Type, MVT::v2i32,
    5456             : /* 11110*/          OPC_RecordChild1, // #3 = $lane
    5457             : /* 11111*/          OPC_MoveChild1,
    5458             : /* 11112*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5459             : /* 11115*/          OPC_MoveParent,
    5460             : /* 11116*/          OPC_MoveParent,
    5461             : /* 11117*/          OPC_MoveParent,
    5462             : /* 11118*/          OPC_CheckType, MVT::v2i64,
    5463             : /* 11120*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5464             : /* 11122*/          OPC_EmitConvertToTarget, 3,
    5465             : /* 11124*/          OPC_EmitInteger, MVT::i32, 14, 
    5466             : /* 11127*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5467             : /* 11130*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv2i32), 0,
    5468             :                         MVT::v2i64, 6/*#Ops*/, 0, 1, 2, 4, 5, 6, 
    5469             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5470             :                     // Dst: (VMLALsluv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5471             : /* 11142*/        0, /*End of Scope*/
    5472             : /* 11143*/      0, // EndSwitchOpcode
    5473             : /* 11144*/    /*Scope*/ 90, /*->11235*/
    5474             : /* 11145*/      OPC_MoveChild0,
    5475             : /* 11146*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5476             : /* 11149*/      OPC_Scope, 41, /*->11192*/ // 2 children in Scope
    5477             : /* 11151*/        OPC_RecordChild0, // #0 = $Vn
    5478             : /* 11152*/        OPC_MoveChild1,
    5479             : /* 11153*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5480             : /* 11156*/        OPC_RecordChild0, // #1 = $Vm
    5481             : /* 11157*/        OPC_CheckChild0Type, MVT::v4i16,
    5482             : /* 11159*/        OPC_RecordChild1, // #2 = $lane
    5483             : /* 11160*/        OPC_MoveChild1,
    5484             : /* 11161*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5485             : /* 11164*/        OPC_MoveParent,
    5486             : /* 11165*/        OPC_MoveParent,
    5487             : /* 11166*/        OPC_MoveParent,
    5488             : /* 11167*/        OPC_RecordChild1, // #3 = $src1
    5489             : /* 11168*/        OPC_CheckType, MVT::v4i16,
    5490             : /* 11170*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5491             : /* 11172*/        OPC_EmitConvertToTarget, 2,
    5492             : /* 11174*/        OPC_EmitInteger, MVT::i32, 14, 
    5493             : /* 11177*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5494             : /* 11180*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5495             :                       MVT::v4i16, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5496             :                   // Src: (add:{ *:[v4i16] } (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), DPR:{ *:[v4i16] }:$src1) - Complexity = 12
    5497             :                   // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5498             : /* 11192*/      /*Scope*/ 41, /*->11234*/
    5499             : /* 11193*/        OPC_MoveChild0,
    5500             : /* 11194*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5501             : /* 11197*/        OPC_RecordChild0, // #0 = $Vm
    5502             : /* 11198*/        OPC_CheckChild0Type, MVT::v4i16,
    5503             : /* 11200*/        OPC_RecordChild1, // #1 = $lane
    5504             : /* 11201*/        OPC_MoveChild1,
    5505             : /* 11202*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5506             : /* 11205*/        OPC_MoveParent,
    5507             : /* 11206*/        OPC_MoveParent,
    5508             : /* 11207*/        OPC_RecordChild1, // #2 = $Vn
    5509             : /* 11208*/        OPC_MoveParent,
    5510             : /* 11209*/        OPC_RecordChild1, // #3 = $src1
    5511             : /* 11210*/        OPC_CheckType, MVT::v4i16,
    5512             : /* 11212*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5513             : /* 11214*/        OPC_EmitConvertToTarget, 1,
    5514             : /* 11216*/        OPC_EmitInteger, MVT::i32, 14, 
    5515             : /* 11219*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5516             : /* 11222*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
    5517             :                       MVT::v4i16, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5518             :                   // Src: (add:{ *:[v4i16] } (mul:{ *:[v4i16] } (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v4i16] }:$Vn), DPR:{ *:[v4i16] }:$src1) - Complexity = 12
    5519             :                   // Dst: (VMLAslv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5520             : /* 11234*/      0, /*End of Scope*/
    5521             : /* 11235*/    /*Scope*/ 45, /*->11281*/
    5522             : /* 11236*/      OPC_RecordChild0, // #0 = $src1
    5523             : /* 11237*/      OPC_MoveChild1,
    5524             : /* 11238*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5525             : /* 11241*/      OPC_MoveChild0,
    5526             : /* 11242*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5527             : /* 11245*/      OPC_RecordChild0, // #1 = $Vm
    5528             : /* 11246*/      OPC_CheckChild0Type, MVT::v2i32,
    5529             : /* 11248*/      OPC_RecordChild1, // #2 = $lane
    5530             : /* 11249*/      OPC_MoveChild1,
    5531             : /* 11250*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5532             : /* 11253*/      OPC_MoveParent,
    5533             : /* 11254*/      OPC_MoveParent,
    5534             : /* 11255*/      OPC_RecordChild1, // #3 = $Vn
    5535             : /* 11256*/      OPC_MoveParent,
    5536             : /* 11257*/      OPC_CheckType, MVT::v2i32,
    5537             : /* 11259*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5538             : /* 11261*/      OPC_EmitConvertToTarget, 2,
    5539             : /* 11263*/      OPC_EmitInteger, MVT::i32, 14, 
    5540             : /* 11266*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5541             : /* 11269*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5542             :                     MVT::v2i32, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5543             :                 // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (mul:{ *:[v2i32] } (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v2i32] }:$Vn)) - Complexity = 12
    5544             :                 // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5545             : /* 11281*/    /*Scope*/ 90, /*->11372*/
    5546             : /* 11282*/      OPC_MoveChild0,
    5547             : /* 11283*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5548             : /* 11286*/      OPC_Scope, 41, /*->11329*/ // 2 children in Scope
    5549             : /* 11288*/        OPC_RecordChild0, // #0 = $Vn
    5550             : /* 11289*/        OPC_MoveChild1,
    5551             : /* 11290*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5552             : /* 11293*/        OPC_RecordChild0, // #1 = $Vm
    5553             : /* 11294*/        OPC_CheckChild0Type, MVT::v2i32,
    5554             : /* 11296*/        OPC_RecordChild1, // #2 = $lane
    5555             : /* 11297*/        OPC_MoveChild1,
    5556             : /* 11298*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5557             : /* 11301*/        OPC_MoveParent,
    5558             : /* 11302*/        OPC_MoveParent,
    5559             : /* 11303*/        OPC_MoveParent,
    5560             : /* 11304*/        OPC_RecordChild1, // #3 = $src1
    5561             : /* 11305*/        OPC_CheckType, MVT::v2i32,
    5562             : /* 11307*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5563             : /* 11309*/        OPC_EmitConvertToTarget, 2,
    5564             : /* 11311*/        OPC_EmitInteger, MVT::i32, 14, 
    5565             : /* 11314*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5566             : /* 11317*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5567             :                       MVT::v2i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5568             :                   // Src: (add:{ *:[v2i32] } (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), DPR:{ *:[v2i32] }:$src1) - Complexity = 12
    5569             :                   // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5570             : /* 11329*/      /*Scope*/ 41, /*->11371*/
    5571             : /* 11330*/        OPC_MoveChild0,
    5572             : /* 11331*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5573             : /* 11334*/        OPC_RecordChild0, // #0 = $Vm
    5574             : /* 11335*/        OPC_CheckChild0Type, MVT::v2i32,
    5575             : /* 11337*/        OPC_RecordChild1, // #1 = $lane
    5576             : /* 11338*/        OPC_MoveChild1,
    5577             : /* 11339*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5578             : /* 11342*/        OPC_MoveParent,
    5579             : /* 11343*/        OPC_MoveParent,
    5580             : /* 11344*/        OPC_RecordChild1, // #2 = $Vn
    5581             : /* 11345*/        OPC_MoveParent,
    5582             : /* 11346*/        OPC_RecordChild1, // #3 = $src1
    5583             : /* 11347*/        OPC_CheckType, MVT::v2i32,
    5584             : /* 11349*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5585             : /* 11351*/        OPC_EmitConvertToTarget, 1,
    5586             : /* 11353*/        OPC_EmitInteger, MVT::i32, 14, 
    5587             : /* 11356*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5588             : /* 11359*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
    5589             :                       MVT::v2i32, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5590             :                   // Src: (add:{ *:[v2i32] } (mul:{ *:[v2i32] } (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), DPR:{ *:[v2i32] }:$Vn), DPR:{ *:[v2i32] }:$src1) - Complexity = 12
    5591             :                   // Dst: (VMLAslv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5592             : /* 11371*/      0, /*End of Scope*/
    5593             : /* 11372*/    /*Scope*/ 45, /*->11418*/
    5594             : /* 11373*/      OPC_RecordChild0, // #0 = $src1
    5595             : /* 11374*/      OPC_MoveChild1,
    5596             : /* 11375*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5597             : /* 11378*/      OPC_MoveChild0,
    5598             : /* 11379*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5599             : /* 11382*/      OPC_RecordChild0, // #1 = $Vm
    5600             : /* 11383*/      OPC_CheckChild0Type, MVT::v4i16,
    5601             : /* 11385*/      OPC_RecordChild1, // #2 = $lane
    5602             : /* 11386*/      OPC_MoveChild1,
    5603             : /* 11387*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5604             : /* 11390*/      OPC_MoveParent,
    5605             : /* 11391*/      OPC_MoveParent,
    5606             : /* 11392*/      OPC_RecordChild1, // #3 = $Vn
    5607             : /* 11393*/      OPC_MoveParent,
    5608             : /* 11394*/      OPC_CheckType, MVT::v8i16,
    5609             : /* 11396*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5610             : /* 11398*/      OPC_EmitConvertToTarget, 2,
    5611             : /* 11400*/      OPC_EmitInteger, MVT::i32, 14, 
    5612             : /* 11403*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5613             : /* 11406*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5614             :                     MVT::v8i16, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5615             :                 // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$Vn)) - Complexity = 12
    5616             :                 // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5617             : /* 11418*/    /*Scope*/ 90, /*->11509*/
    5618             : /* 11419*/      OPC_MoveChild0,
    5619             : /* 11420*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5620             : /* 11423*/      OPC_Scope, 41, /*->11466*/ // 2 children in Scope
    5621             : /* 11425*/        OPC_RecordChild0, // #0 = $Vn
    5622             : /* 11426*/        OPC_MoveChild1,
    5623             : /* 11427*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5624             : /* 11430*/        OPC_RecordChild0, // #1 = $Vm
    5625             : /* 11431*/        OPC_CheckChild0Type, MVT::v4i16,
    5626             : /* 11433*/        OPC_RecordChild1, // #2 = $lane
    5627             : /* 11434*/        OPC_MoveChild1,
    5628             : /* 11435*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5629             : /* 11438*/        OPC_MoveParent,
    5630             : /* 11439*/        OPC_MoveParent,
    5631             : /* 11440*/        OPC_MoveParent,
    5632             : /* 11441*/        OPC_RecordChild1, // #3 = $src1
    5633             : /* 11442*/        OPC_CheckType, MVT::v8i16,
    5634             : /* 11444*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5635             : /* 11446*/        OPC_EmitConvertToTarget, 2,
    5636             : /* 11448*/        OPC_EmitInteger, MVT::i32, 14, 
    5637             : /* 11451*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5638             : /* 11454*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5639             :                       MVT::v8i16, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5640             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5641             :                   // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5642             : /* 11466*/      /*Scope*/ 41, /*->11508*/
    5643             : /* 11467*/        OPC_MoveChild0,
    5644             : /* 11468*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5645             : /* 11471*/        OPC_RecordChild0, // #0 = $Vm
    5646             : /* 11472*/        OPC_CheckChild0Type, MVT::v4i16,
    5647             : /* 11474*/        OPC_RecordChild1, // #1 = $lane
    5648             : /* 11475*/        OPC_MoveChild1,
    5649             : /* 11476*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5650             : /* 11479*/        OPC_MoveParent,
    5651             : /* 11480*/        OPC_MoveParent,
    5652             : /* 11481*/        OPC_RecordChild1, // #2 = $Vn
    5653             : /* 11482*/        OPC_MoveParent,
    5654             : /* 11483*/        OPC_RecordChild1, // #3 = $src1
    5655             : /* 11484*/        OPC_CheckType, MVT::v8i16,
    5656             : /* 11486*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5657             : /* 11488*/        OPC_EmitConvertToTarget, 1,
    5658             : /* 11490*/        OPC_EmitInteger, MVT::i32, 14, 
    5659             : /* 11493*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5660             : /* 11496*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5661             :                       MVT::v8i16, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5662             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$Vn), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5663             :                   // Dst: (VMLAslv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5664             : /* 11508*/      0, /*End of Scope*/
    5665             : /* 11509*/    /*Scope*/ 45, /*->11555*/
    5666             : /* 11510*/      OPC_RecordChild0, // #0 = $src1
    5667             : /* 11511*/      OPC_MoveChild1,
    5668             : /* 11512*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5669             : /* 11515*/      OPC_MoveChild0,
    5670             : /* 11516*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5671             : /* 11519*/      OPC_RecordChild0, // #1 = $Vm
    5672             : /* 11520*/      OPC_CheckChild0Type, MVT::v2i32,
    5673             : /* 11522*/      OPC_RecordChild1, // #2 = $lane
    5674             : /* 11523*/      OPC_MoveChild1,
    5675             : /* 11524*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5676             : /* 11527*/      OPC_MoveParent,
    5677             : /* 11528*/      OPC_MoveParent,
    5678             : /* 11529*/      OPC_RecordChild1, // #3 = $Vn
    5679             : /* 11530*/      OPC_MoveParent,
    5680             : /* 11531*/      OPC_CheckType, MVT::v4i32,
    5681             : /* 11533*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5682             : /* 11535*/      OPC_EmitConvertToTarget, 2,
    5683             : /* 11537*/      OPC_EmitInteger, MVT::i32, 14, 
    5684             : /* 11540*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5685             : /* 11543*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5686             :                     MVT::v4i32, 6/*#Ops*/, 0, 3, 1, 4, 5, 6, 
    5687             :                 // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$Vn)) - Complexity = 12
    5688             :                 // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5689             : /* 11555*/    /*Scope*/ 20|128,2/*276*/, /*->11833*/
    5690             : /* 11557*/      OPC_MoveChild0,
    5691             : /* 11558*/      OPC_SwitchOpcode /*3 cases */, 86, TARGET_VAL(ISD::MUL),// ->11648
    5692             : /* 11562*/        OPC_Scope, 41, /*->11605*/ // 2 children in Scope
    5693             : /* 11564*/          OPC_RecordChild0, // #0 = $Vn
    5694             : /* 11565*/          OPC_MoveChild1,
    5695             : /* 11566*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5696             : /* 11569*/          OPC_RecordChild0, // #1 = $Vm
    5697             : /* 11570*/          OPC_CheckChild0Type, MVT::v2i32,
    5698             : /* 11572*/          OPC_RecordChild1, // #2 = $lane
    5699             : /* 11573*/          OPC_MoveChild1,
    5700             : /* 11574*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5701             : /* 11577*/          OPC_MoveParent,
    5702             : /* 11578*/          OPC_MoveParent,
    5703             : /* 11579*/          OPC_MoveParent,
    5704             : /* 11580*/          OPC_RecordChild1, // #3 = $src1
    5705             : /* 11581*/          OPC_CheckType, MVT::v4i32,
    5706             : /* 11583*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5707             : /* 11585*/          OPC_EmitConvertToTarget, 2,
    5708             : /* 11587*/          OPC_EmitInteger, MVT::i32, 14, 
    5709             : /* 11590*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5710             : /* 11593*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5711             :                         MVT::v4i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5712             :                     // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5713             :                     // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5714             : /* 11605*/        /*Scope*/ 41, /*->11647*/
    5715             : /* 11606*/          OPC_MoveChild0,
    5716             : /* 11607*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5717             : /* 11610*/          OPC_RecordChild0, // #0 = $Vm
    5718             : /* 11611*/          OPC_CheckChild0Type, MVT::v2i32,
    5719             : /* 11613*/          OPC_RecordChild1, // #1 = $lane
    5720             : /* 11614*/          OPC_MoveChild1,
    5721             : /* 11615*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5722             : /* 11618*/          OPC_MoveParent,
    5723             : /* 11619*/          OPC_MoveParent,
    5724             : /* 11620*/          OPC_RecordChild1, // #2 = $Vn
    5725             : /* 11621*/          OPC_MoveParent,
    5726             : /* 11622*/          OPC_RecordChild1, // #3 = $src1
    5727             : /* 11623*/          OPC_CheckType, MVT::v4i32,
    5728             : /* 11625*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5729             : /* 11627*/          OPC_EmitConvertToTarget, 1,
    5730             : /* 11629*/          OPC_EmitInteger, MVT::i32, 14, 
    5731             : /* 11632*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5732             : /* 11635*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5733             :                         MVT::v4i32, 6/*#Ops*/, 3, 2, 0, 4, 5, 6, 
    5734             :                     // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$Vn), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5735             :                     // Dst: (VMLAslv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5736             : /* 11647*/        0, /*End of Scope*/
    5737             : /* 11648*/      /*SwitchOpcode*/ 89, TARGET_VAL(ARMISD::VMULLs),// ->11740
    5738             : /* 11651*/        OPC_RecordChild0, // #0 = $Vn
    5739             : /* 11652*/        OPC_Scope, 42, /*->11696*/ // 2 children in Scope
    5740             : /* 11654*/          OPC_CheckChild0Type, MVT::v4i16,
    5741             : /* 11656*/          OPC_MoveChild1,
    5742             : /* 11657*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5743             : /* 11660*/          OPC_RecordChild0, // #1 = $Vm
    5744             : /* 11661*/          OPC_CheckChild0Type, MVT::v4i16,
    5745             : /* 11663*/          OPC_RecordChild1, // #2 = $lane
    5746             : /* 11664*/          OPC_MoveChild1,
    5747             : /* 11665*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5748             : /* 11668*/          OPC_MoveParent,
    5749             : /* 11669*/          OPC_MoveParent,
    5750             : /* 11670*/          OPC_MoveParent,
    5751             : /* 11671*/          OPC_RecordChild1, // #3 = $src1
    5752             : /* 11672*/          OPC_CheckType, MVT::v4i32,
    5753             : /* 11674*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5754             : /* 11676*/          OPC_EmitConvertToTarget, 2,
    5755             : /* 11678*/          OPC_EmitInteger, MVT::i32, 14, 
    5756             : /* 11681*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5757             : /* 11684*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv4i16), 0,
    5758             :                         MVT::v4i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5759             :                     // Src: (add:{ *:[v4i32] } (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5760             :                     // Dst: (VMLALslsv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5761             : /* 11696*/        /*Scope*/ 42, /*->11739*/
    5762             : /* 11697*/          OPC_CheckChild0Type, MVT::v2i32,
    5763             : /* 11699*/          OPC_MoveChild1,
    5764             : /* 11700*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5765             : /* 11703*/          OPC_RecordChild0, // #1 = $Vm
    5766             : /* 11704*/          OPC_CheckChild0Type, MVT::v2i32,
    5767             : /* 11706*/          OPC_RecordChild1, // #2 = $lane
    5768             : /* 11707*/          OPC_MoveChild1,
    5769             : /* 11708*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5770             : /* 11711*/          OPC_MoveParent,
    5771             : /* 11712*/          OPC_MoveParent,
    5772             : /* 11713*/          OPC_MoveParent,
    5773             : /* 11714*/          OPC_RecordChild1, // #3 = $src1
    5774             : /* 11715*/          OPC_CheckType, MVT::v2i64,
    5775             : /* 11717*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5776             : /* 11719*/          OPC_EmitConvertToTarget, 2,
    5777             : /* 11721*/          OPC_EmitInteger, MVT::i32, 14, 
    5778             : /* 11724*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5779             : /* 11727*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv2i32), 0,
    5780             :                         MVT::v2i64, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5781             :                     // Src: (add:{ *:[v2i64] } (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v2i64] }:$src1) - Complexity = 12
    5782             :                     // Dst: (VMLALslsv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5783             : /* 11739*/        0, /*End of Scope*/
    5784             : /* 11740*/      /*SwitchOpcode*/ 89, TARGET_VAL(ARMISD::VMULLu),// ->11832
    5785             : /* 11743*/        OPC_RecordChild0, // #0 = $Vn
    5786             : /* 11744*/        OPC_Scope, 42, /*->11788*/ // 2 children in Scope
    5787             : /* 11746*/          OPC_CheckChild0Type, MVT::v4i16,
    5788             : /* 11748*/          OPC_MoveChild1,
    5789             : /* 11749*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5790             : /* 11752*/          OPC_RecordChild0, // #1 = $Vm
    5791             : /* 11753*/          OPC_CheckChild0Type, MVT::v4i16,
    5792             : /* 11755*/          OPC_RecordChild1, // #2 = $lane
    5793             : /* 11756*/          OPC_MoveChild1,
    5794             : /* 11757*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5795             : /* 11760*/          OPC_MoveParent,
    5796             : /* 11761*/          OPC_MoveParent,
    5797             : /* 11762*/          OPC_MoveParent,
    5798             : /* 11763*/          OPC_RecordChild1, // #3 = $src1
    5799             : /* 11764*/          OPC_CheckType, MVT::v4i32,
    5800             : /* 11766*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5801             : /* 11768*/          OPC_EmitConvertToTarget, 2,
    5802             : /* 11770*/          OPC_EmitInteger, MVT::i32, 14, 
    5803             : /* 11773*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5804             : /* 11776*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv4i16), 0,
    5805             :                         MVT::v4i32, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5806             :                     // Src: (add:{ *:[v4i32] } (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, (NEONvduplane:{ *:[v4i16] } DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    5807             :                     // Dst: (VMLALsluv4i16:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR_8:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$lane)
    5808             : /* 11788*/        /*Scope*/ 42, /*->11831*/
    5809             : /* 11789*/          OPC_CheckChild0Type, MVT::v2i32,
    5810             : /* 11791*/          OPC_MoveChild1,
    5811             : /* 11792*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5812             : /* 11795*/          OPC_RecordChild0, // #1 = $Vm
    5813             : /* 11796*/          OPC_CheckChild0Type, MVT::v2i32,
    5814             : /* 11798*/          OPC_RecordChild1, // #2 = $lane
    5815             : /* 11799*/          OPC_MoveChild1,
    5816             : /* 11800*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5817             : /* 11803*/          OPC_MoveParent,
    5818             : /* 11804*/          OPC_MoveParent,
    5819             : /* 11805*/          OPC_MoveParent,
    5820             : /* 11806*/          OPC_RecordChild1, // #3 = $src1
    5821             : /* 11807*/          OPC_CheckType, MVT::v2i64,
    5822             : /* 11809*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    5823             : /* 11811*/          OPC_EmitConvertToTarget, 2,
    5824             : /* 11813*/          OPC_EmitInteger, MVT::i32, 14, 
    5825             : /* 11816*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5826             : /* 11819*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv2i32), 0,
    5827             :                         MVT::v2i64, 6/*#Ops*/, 3, 0, 1, 4, 5, 6, 
    5828             :                     // Src: (add:{ *:[v2i64] } (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, (NEONvduplane:{ *:[v2i32] } DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v2i64] }:$src1) - Complexity = 12
    5829             :                     // Dst: (VMLALsluv2i32:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR_VFP2:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$lane)
    5830             : /* 11831*/        0, /*End of Scope*/
    5831             : /* 11832*/      0, // EndSwitchOpcode
    5832             : /* 11833*/    /*Scope*/ 41|128,1/*169*/, /*->12004*/
    5833             : /* 11835*/      OPC_RecordChild0, // #0 = $src1
    5834             : /* 11836*/      OPC_MoveChild1,
    5835             : /* 11837*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5836             : /* 11840*/      OPC_Scope, 106, /*->11948*/ // 2 children in Scope
    5837             : /* 11842*/        OPC_RecordChild0, // #1 = $src2
    5838             : /* 11843*/        OPC_MoveChild1,
    5839             : /* 11844*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5840             : /* 11847*/        OPC_RecordChild0, // #2 = $src3
    5841             : /* 11848*/        OPC_Scope, 48, /*->11898*/ // 2 children in Scope
    5842             : /* 11850*/          OPC_CheckChild0Type, MVT::v8i16,
    5843             : /* 11852*/          OPC_RecordChild1, // #3 = $lane
    5844             : /* 11853*/          OPC_MoveChild1,
    5845             : /* 11854*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5846             : /* 11857*/          OPC_MoveParent,
    5847             : /* 11858*/          OPC_MoveParent,
    5848             : /* 11859*/          OPC_MoveParent,
    5849             : /* 11860*/          OPC_CheckType, MVT::v8i16,
    5850             : /* 11862*/          OPC_EmitConvertToTarget, 3,
    5851             : /* 11864*/          OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5852             : /* 11867*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5853             :                         MVT::v4i16, 2/*#Ops*/, 2, 5,  // Results = #6
    5854             : /* 11875*/          OPC_EmitConvertToTarget, 3,
    5855             : /* 11877*/          OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5856             : /* 11880*/          OPC_EmitInteger, MVT::i32, 14, 
    5857             : /* 11883*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5858             : /* 11886*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5859             :                         MVT::v8i16, 6/*#Ops*/, 0, 1, 6, 8, 9, 10, 
    5860             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src2, (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5861             :                     // 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))
    5862             : /* 11898*/        /*Scope*/ 48, /*->11947*/
    5863             : /* 11899*/          OPC_CheckChild0Type, MVT::v4i32,
    5864             : /* 11901*/          OPC_RecordChild1, // #3 = $lane
    5865             : /* 11902*/          OPC_MoveChild1,
    5866             : /* 11903*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5867             : /* 11906*/          OPC_MoveParent,
    5868             : /* 11907*/          OPC_MoveParent,
    5869             : /* 11908*/          OPC_MoveParent,
    5870             : /* 11909*/          OPC_CheckType, MVT::v4i32,
    5871             : /* 11911*/          OPC_EmitConvertToTarget, 3,
    5872             : /* 11913*/          OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    5873             : /* 11916*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5874             :                         MVT::v2i32, 2/*#Ops*/, 2, 5,  // Results = #6
    5875             : /* 11924*/          OPC_EmitConvertToTarget, 3,
    5876             : /* 11926*/          OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    5877             : /* 11929*/          OPC_EmitInteger, MVT::i32, 14, 
    5878             : /* 11932*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5879             : /* 11935*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5880             :                         MVT::v4i32, 6/*#Ops*/, 0, 1, 6, 8, 9, 10, 
    5881             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src2, (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane))) - Complexity = 12
    5882             :                     // 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))
    5883             : /* 11947*/        0, /*End of Scope*/
    5884             : /* 11948*/      /*Scope*/ 54, /*->12003*/
    5885             : /* 11949*/        OPC_MoveChild0,
    5886             : /* 11950*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5887             : /* 11953*/        OPC_RecordChild0, // #1 = $src3
    5888             : /* 11954*/        OPC_CheckChild0Type, MVT::v8i16,
    5889             : /* 11956*/        OPC_RecordChild1, // #2 = $lane
    5890             : /* 11957*/        OPC_MoveChild1,
    5891             : /* 11958*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5892             : /* 11961*/        OPC_MoveParent,
    5893             : /* 11962*/        OPC_MoveParent,
    5894             : /* 11963*/        OPC_RecordChild1, // #3 = $src2
    5895             : /* 11964*/        OPC_MoveParent,
    5896             : /* 11965*/        OPC_CheckType, MVT::v8i16,
    5897             : /* 11967*/        OPC_EmitConvertToTarget, 2,
    5898             : /* 11969*/        OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5899             : /* 11972*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5900             :                       MVT::v4i16, 2/*#Ops*/, 1, 5,  // Results = #6
    5901             : /* 11980*/        OPC_EmitConvertToTarget, 2,
    5902             : /* 11982*/        OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5903             : /* 11985*/        OPC_EmitInteger, MVT::i32, 14, 
    5904             : /* 11988*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5905             : /* 11991*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5906             :                       MVT::v8i16, 6/*#Ops*/, 0, 3, 6, 8, 9, 10, 
    5907             :                   // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$src2)) - Complexity = 12
    5908             :                   // 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))
    5909             : /* 12003*/      0, /*End of Scope*/
    5910             : /* 12004*/    /*Scope*/ 118, /*->12123*/
    5911             : /* 12005*/      OPC_MoveChild0,
    5912             : /* 12006*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5913             : /* 12009*/      OPC_Scope, 55, /*->12066*/ // 2 children in Scope
    5914             : /* 12011*/        OPC_RecordChild0, // #0 = $src2
    5915             : /* 12012*/        OPC_MoveChild1,
    5916             : /* 12013*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5917             : /* 12016*/        OPC_RecordChild0, // #1 = $src3
    5918             : /* 12017*/        OPC_CheckChild0Type, MVT::v8i16,
    5919             : /* 12019*/        OPC_RecordChild1, // #2 = $lane
    5920             : /* 12020*/        OPC_MoveChild1,
    5921             : /* 12021*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5922             : /* 12024*/        OPC_MoveParent,
    5923             : /* 12025*/        OPC_MoveParent,
    5924             : /* 12026*/        OPC_MoveParent,
    5925             : /* 12027*/        OPC_RecordChild1, // #3 = $src1
    5926             : /* 12028*/        OPC_CheckType, MVT::v8i16,
    5927             : /* 12030*/        OPC_EmitConvertToTarget, 2,
    5928             : /* 12032*/        OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5929             : /* 12035*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5930             :                       MVT::v4i16, 2/*#Ops*/, 1, 5,  // Results = #6
    5931             : /* 12043*/        OPC_EmitConvertToTarget, 2,
    5932             : /* 12045*/        OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5933             : /* 12048*/        OPC_EmitInteger, MVT::i32, 14, 
    5934             : /* 12051*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5935             : /* 12054*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5936             :                       MVT::v8i16, 6/*#Ops*/, 3, 0, 6, 8, 9, 10, 
    5937             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src2, (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5938             :                   // 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))
    5939             : /* 12066*/      /*Scope*/ 55, /*->12122*/
    5940             : /* 12067*/        OPC_MoveChild0,
    5941             : /* 12068*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5942             : /* 12071*/        OPC_RecordChild0, // #0 = $src3
    5943             : /* 12072*/        OPC_CheckChild0Type, MVT::v8i16,
    5944             : /* 12074*/        OPC_RecordChild1, // #1 = $lane
    5945             : /* 12075*/        OPC_MoveChild1,
    5946             : /* 12076*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5947             : /* 12079*/        OPC_MoveParent,
    5948             : /* 12080*/        OPC_MoveParent,
    5949             : /* 12081*/        OPC_RecordChild1, // #2 = $src2
    5950             : /* 12082*/        OPC_MoveParent,
    5951             : /* 12083*/        OPC_RecordChild1, // #3 = $src1
    5952             : /* 12084*/        OPC_CheckType, MVT::v8i16,
    5953             : /* 12086*/        OPC_EmitConvertToTarget, 1,
    5954             : /* 12088*/        OPC_EmitNodeXForm, 5, 4, // DSubReg_i16_reg
    5955             : /* 12091*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5956             :                       MVT::v4i16, 2/*#Ops*/, 0, 5,  // Results = #6
    5957             : /* 12099*/        OPC_EmitConvertToTarget, 1,
    5958             : /* 12101*/        OPC_EmitNodeXForm, 6, 7, // SubReg_i16_lane
    5959             : /* 12104*/        OPC_EmitInteger, MVT::i32, 14, 
    5960             : /* 12107*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5961             : /* 12110*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
    5962             :                       MVT::v8i16, 6/*#Ops*/, 3, 2, 6, 8, 9, 10, 
    5963             :                   // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } (NEONvduplane:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v8i16] }:$src2), QPR:{ *:[v8i16] }:$src1) - Complexity = 12
    5964             :                   // 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))
    5965             : /* 12122*/      0, /*End of Scope*/
    5966             : /* 12123*/    /*Scope*/ 59, /*->12183*/
    5967             : /* 12124*/      OPC_RecordChild0, // #0 = $src1
    5968             : /* 12125*/      OPC_MoveChild1,
    5969             : /* 12126*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5970             : /* 12129*/      OPC_MoveChild0,
    5971             : /* 12130*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    5972             : /* 12133*/      OPC_RecordChild0, // #1 = $src3
    5973             : /* 12134*/      OPC_CheckChild0Type, MVT::v4i32,
    5974             : /* 12136*/      OPC_RecordChild1, // #2 = $lane
    5975             : /* 12137*/      OPC_MoveChild1,
    5976             : /* 12138*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5977             : /* 12141*/      OPC_MoveParent,
    5978             : /* 12142*/      OPC_MoveParent,
    5979             : /* 12143*/      OPC_RecordChild1, // #3 = $src2
    5980             : /* 12144*/      OPC_MoveParent,
    5981             : /* 12145*/      OPC_CheckType, MVT::v4i32,
    5982             : /* 12147*/      OPC_EmitConvertToTarget, 2,
    5983             : /* 12149*/      OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    5984             : /* 12152*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5985             :                     MVT::v2i32, 2/*#Ops*/, 1, 5,  // Results = #6
    5986             : /* 12160*/      OPC_EmitConvertToTarget, 2,
    5987             : /* 12162*/      OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    5988             : /* 12165*/      OPC_EmitInteger, MVT::i32, 14, 
    5989             : /* 12168*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    5990             : /* 12171*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    5991             :                     MVT::v4i32, 6/*#Ops*/, 0, 3, 6, 8, 9, 10, 
    5992             :                 // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$src2)) - Complexity = 12
    5993             :                 // 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))
    5994             : /* 12183*/    /*Scope*/ 118, /*->12302*/
    5995             : /* 12184*/      OPC_MoveChild0,
    5996             : /* 12185*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    5997             : /* 12188*/      OPC_Scope, 55, /*->12245*/ // 2 children in Scope
    5998             : /* 12190*/        OPC_RecordChild0, // #0 = $src2
    5999             : /* 12191*/        OPC_MoveChild1,
    6000             : /* 12192*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    6001             : /* 12195*/        OPC_RecordChild0, // #1 = $src3
    6002             : /* 12196*/        OPC_CheckChild0Type, MVT::v4i32,
    6003             : /* 12198*/        OPC_RecordChild1, // #2 = $lane
    6004             : /* 12199*/        OPC_MoveChild1,
    6005             : /* 12200*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6006             : /* 12203*/        OPC_MoveParent,
    6007             : /* 12204*/        OPC_MoveParent,
    6008             : /* 12205*/        OPC_MoveParent,
    6009             : /* 12206*/        OPC_RecordChild1, // #3 = $src1
    6010             : /* 12207*/        OPC_CheckType, MVT::v4i32,
    6011             : /* 12209*/        OPC_EmitConvertToTarget, 2,
    6012             : /* 12211*/        OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    6013             : /* 12214*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6014             :                       MVT::v2i32, 2/*#Ops*/, 1, 5,  // Results = #6
    6015             : /* 12222*/        OPC_EmitConvertToTarget, 2,
    6016             : /* 12224*/        OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    6017             : /* 12227*/        OPC_EmitInteger, MVT::i32, 14, 
    6018             : /* 12230*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6019             : /* 12233*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    6020             :                       MVT::v4i32, 6/*#Ops*/, 3, 0, 6, 8, 9, 10, 
    6021             :                   // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src2, (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane)), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    6022             :                   // 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))
    6023             : /* 12245*/      /*Scope*/ 55, /*->12301*/
    6024             : /* 12246*/        OPC_MoveChild0,
    6025             : /* 12247*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    6026             : /* 12250*/        OPC_RecordChild0, // #0 = $src3
    6027             : /* 12251*/        OPC_CheckChild0Type, MVT::v4i32,
    6028             : /* 12253*/        OPC_RecordChild1, // #1 = $lane
    6029             : /* 12254*/        OPC_MoveChild1,
    6030             : /* 12255*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6031             : /* 12258*/        OPC_MoveParent,
    6032             : /* 12259*/        OPC_MoveParent,
    6033             : /* 12260*/        OPC_RecordChild1, // #2 = $src2
    6034             : /* 12261*/        OPC_MoveParent,
    6035             : /* 12262*/        OPC_RecordChild1, // #3 = $src1
    6036             : /* 12263*/        OPC_CheckType, MVT::v4i32,
    6037             : /* 12265*/        OPC_EmitConvertToTarget, 1,
    6038             : /* 12267*/        OPC_EmitNodeXForm, 7, 4, // DSubReg_i32_reg
    6039             : /* 12270*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6040             :                       MVT::v2i32, 2/*#Ops*/, 0, 5,  // Results = #6
    6041             : /* 12278*/        OPC_EmitConvertToTarget, 1,
    6042             : /* 12280*/        OPC_EmitNodeXForm, 8, 7, // SubReg_i32_lane
    6043             : /* 12283*/        OPC_EmitInteger, MVT::i32, 14, 
    6044             : /* 12286*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6045             : /* 12289*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
    6046             :                       MVT::v4i32, 6/*#Ops*/, 3, 2, 6, 8, 9, 10, 
    6047             :                   // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } (NEONvduplane:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src3, (imm:{ *:[i32] }):$lane), QPR:{ *:[v4i32] }:$src2), QPR:{ *:[v4i32] }:$src1) - Complexity = 12
    6048             :                   // 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))
    6049             : /* 12301*/      0, /*End of Scope*/
    6050             : /* 12302*/    /*Scope*/ 103|128,2/*359*/, /*->12663*/
    6051             : /* 12304*/      OPC_RecordChild0, // #0 = $src1
    6052             : /* 12305*/      OPC_MoveChild1,
    6053             : /* 12306*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    6054             : /* 12309*/      OPC_Scope, 46|128,1/*174*/, /*->12486*/ // 2 children in Scope
    6055             : /* 12312*/        OPC_CheckChild0Integer, 30|128,8/*1054*/, 
    6056             : /* 12315*/        OPC_RecordChild1, // #1 = $Vn
    6057             : /* 12316*/        OPC_Scope, 27, /*->12345*/ // 6 children in Scope
    6058             : /* 12318*/          OPC_CheckChild1Type, MVT::v8i8,
    6059             : /* 12320*/          OPC_RecordChild2, // #2 = $Vm
    6060             : /* 12321*/          OPC_CheckChild2Type, MVT::v8i8,
    6061             : /* 12323*/          OPC_MoveParent,
    6062             : /* 12324*/          OPC_CheckType, MVT::v8i8,
    6063             : /* 12326*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6064             : /* 12328*/          OPC_EmitInteger, MVT::i32, 14, 
    6065             : /* 12331*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6066             : /* 12334*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i8), 0,
    6067             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6068             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (intrinsic_wo_chain:{ *:[v8i8] } 1054:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 11
    6069             :                     // Dst: (VABAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6070             : /* 12345*/        /*Scope*/ 27, /*->12373*/
    6071             : /* 12346*/          OPC_CheckChild1Type, MVT::v4i16,
    6072             : /* 12348*/          OPC_RecordChild2, // #2 = $Vm
    6073             : /* 12349*/          OPC_CheckChild2Type, MVT::v4i16,
    6074             : /* 12351*/          OPC_MoveParent,
    6075             : /* 12352*/          OPC_CheckType, MVT::v4i16,
    6076             : /* 12354*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6077             : /* 12356*/          OPC_EmitInteger, MVT::i32, 14, 
    6078             : /* 12359*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6079             : /* 12362*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i16), 0,
    6080             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6081             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (intrinsic_wo_chain:{ *:[v4i16] } 1054:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 11
    6082             :                     // Dst: (VABAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6083             : /* 12373*/        /*Scope*/ 27, /*->12401*/
    6084             : /* 12374*/          OPC_CheckChild1Type, MVT::v2i32,
    6085             : /* 12376*/          OPC_RecordChild2, // #2 = $Vm
    6086             : /* 12377*/          OPC_CheckChild2Type, MVT::v2i32,
    6087             : /* 12379*/          OPC_MoveParent,
    6088             : /* 12380*/          OPC_CheckType, MVT::v2i32,
    6089             : /* 12382*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6090             : /* 12384*/          OPC_EmitInteger, MVT::i32, 14, 
    6091             : /* 12387*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6092             : /* 12390*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv2i32), 0,
    6093             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6094             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (intrinsic_wo_chain:{ *:[v2i32] } 1054:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 11
    6095             :                     // Dst: (VABAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6096             : /* 12401*/        /*Scope*/ 27, /*->12429*/
    6097             : /* 12402*/          OPC_CheckChild1Type, MVT::v16i8,
    6098             : /* 12404*/          OPC_RecordChild2, // #2 = $Vm
    6099             : /* 12405*/          OPC_CheckChild2Type, MVT::v16i8,
    6100             : /* 12407*/          OPC_MoveParent,
    6101             : /* 12408*/          OPC_CheckType, MVT::v16i8,
    6102             : /* 12410*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6103             : /* 12412*/          OPC_EmitInteger, MVT::i32, 14, 
    6104             : /* 12415*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6105             : /* 12418*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv16i8), 0,
    6106             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6107             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (intrinsic_wo_chain:{ *:[v16i8] } 1054:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)) - Complexity = 11
    6108             :                     // Dst: (VABAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    6109             : /* 12429*/        /*Scope*/ 27, /*->12457*/
    6110             : /* 12430*/          OPC_CheckChild1Type, MVT::v8i16,
    6111             : /* 12432*/          OPC_RecordChild2, // #2 = $Vm
    6112             : /* 12433*/          OPC_CheckChild2Type, MVT::v8i16,
    6113             : /* 12435*/          OPC_MoveParent,
    6114             : /* 12436*/          OPC_CheckType, MVT::v8i16,
    6115             : /* 12438*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6116             : /* 12440*/          OPC_EmitInteger, MVT::i32, 14, 
    6117             : /* 12443*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6118             : /* 12446*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i16), 0,
    6119             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6120             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (intrinsic_wo_chain:{ *:[v8i16] } 1054:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)) - Complexity = 11
    6121             :                     // Dst: (VABAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6122             : /* 12457*/        /*Scope*/ 27, /*->12485*/
    6123             : /* 12458*/          OPC_CheckChild1Type, MVT::v4i32,
    6124             : /* 12460*/          OPC_RecordChild2, // #2 = $Vm
    6125             : /* 12461*/          OPC_CheckChild2Type, MVT::v4i32,
    6126             : /* 12463*/          OPC_MoveParent,
    6127             : /* 12464*/          OPC_CheckType, MVT::v4i32,
    6128             : /* 12466*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6129             : /* 12468*/          OPC_EmitInteger, MVT::i32, 14, 
    6130             : /* 12471*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6131             : /* 12474*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i32), 0,
    6132             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6133             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (intrinsic_wo_chain:{ *:[v4i32] } 1054:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)) - Complexity = 11
    6134             :                     // Dst: (VABAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6135             : /* 12485*/        0, /*End of Scope*/
    6136             : /* 12486*/      /*Scope*/ 46|128,1/*174*/, /*->12662*/
    6137             : /* 12488*/        OPC_CheckChild0Integer, 31|128,8/*1055*/, 
    6138             : /* 12491*/        OPC_RecordChild1, // #1 = $Vn
    6139             : /* 12492*/        OPC_Scope, 27, /*->12521*/ // 6 children in Scope
    6140             : /* 12494*/          OPC_CheckChild1Type, MVT::v8i8,
    6141             : /* 12496*/          OPC_RecordChild2, // #2 = $Vm
    6142             : /* 12497*/          OPC_CheckChild2Type, MVT::v8i8,
    6143             : /* 12499*/          OPC_MoveParent,
    6144             : /* 12500*/          OPC_CheckType, MVT::v8i8,
    6145             : /* 12502*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6146             : /* 12504*/          OPC_EmitInteger, MVT::i32, 14, 
    6147             : /* 12507*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6148             : /* 12510*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i8), 0,
    6149             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6150             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (intrinsic_wo_chain:{ *:[v8i8] } 1055:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 11
    6151             :                     // Dst: (VABAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6152             : /* 12521*/        /*Scope*/ 27, /*->12549*/
    6153             : /* 12522*/          OPC_CheckChild1Type, MVT::v4i16,
    6154             : /* 12524*/          OPC_RecordChild2, // #2 = $Vm
    6155             : /* 12525*/          OPC_CheckChild2Type, MVT::v4i16,
    6156             : /* 12527*/          OPC_MoveParent,
    6157             : /* 12528*/          OPC_CheckType, MVT::v4i16,
    6158             : /* 12530*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6159             : /* 12532*/          OPC_EmitInteger, MVT::i32, 14, 
    6160             : /* 12535*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6161             : /* 12538*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i16), 0,
    6162             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6163             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (intrinsic_wo_chain:{ *:[v4i16] } 1055:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 11
    6164             :                     // Dst: (VABAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6165             : /* 12549*/        /*Scope*/ 27, /*->12577*/
    6166             : /* 12550*/          OPC_CheckChild1Type, MVT::v2i32,
    6167             : /* 12552*/          OPC_RecordChild2, // #2 = $Vm
    6168             : /* 12553*/          OPC_CheckChild2Type, MVT::v2i32,
    6169             : /* 12555*/          OPC_MoveParent,
    6170             : /* 12556*/          OPC_CheckType, MVT::v2i32,
    6171             : /* 12558*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6172             : /* 12560*/          OPC_EmitInteger, MVT::i32, 14, 
    6173             : /* 12563*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6174             : /* 12566*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv2i32), 0,
    6175             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6176             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (intrinsic_wo_chain:{ *:[v2i32] } 1055:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 11
    6177             :                     // Dst: (VABAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6178             : /* 12577*/        /*Scope*/ 27, /*->12605*/
    6179             : /* 12578*/          OPC_CheckChild1Type, MVT::v16i8,
    6180             : /* 12580*/          OPC_RecordChild2, // #2 = $Vm
    6181             : /* 12581*/          OPC_CheckChild2Type, MVT::v16i8,
    6182             : /* 12583*/          OPC_MoveParent,
    6183             : /* 12584*/          OPC_CheckType, MVT::v16i8,
    6184             : /* 12586*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6185             : /* 12588*/          OPC_EmitInteger, MVT::i32, 14, 
    6186             : /* 12591*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6187             : /* 12594*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv16i8), 0,
    6188             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6189             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (intrinsic_wo_chain:{ *:[v16i8] } 1055:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)) - Complexity = 11
    6190             :                     // Dst: (VABAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    6191             : /* 12605*/        /*Scope*/ 27, /*->12633*/
    6192             : /* 12606*/          OPC_CheckChild1Type, MVT::v8i16,
    6193             : /* 12608*/          OPC_RecordChild2, // #2 = $Vm
    6194             : /* 12609*/          OPC_CheckChild2Type, MVT::v8i16,
    6195             : /* 12611*/          OPC_MoveParent,
    6196             : /* 12612*/          OPC_CheckType, MVT::v8i16,
    6197             : /* 12614*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6198             : /* 12616*/          OPC_EmitInteger, MVT::i32, 14, 
    6199             : /* 12619*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6200             : /* 12622*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i16), 0,
    6201             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6202             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (intrinsic_wo_chain:{ *:[v8i16] } 1055:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)) - Complexity = 11
    6203             :                     // Dst: (VABAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6204             : /* 12633*/        /*Scope*/ 27, /*->12661*/
    6205             : /* 12634*/          OPC_CheckChild1Type, MVT::v4i32,
    6206             : /* 12636*/          OPC_RecordChild2, // #2 = $Vm
    6207             : /* 12637*/          OPC_CheckChild2Type, MVT::v4i32,
    6208             : /* 12639*/          OPC_MoveParent,
    6209             : /* 12640*/          OPC_CheckType, MVT::v4i32,
    6210             : /* 12642*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6211             : /* 12644*/          OPC_EmitInteger, MVT::i32, 14, 
    6212             : /* 12647*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6213             : /* 12650*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i32), 0,
    6214             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    6215             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (intrinsic_wo_chain:{ *:[v4i32] } 1055:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)) - Complexity = 11
    6216             :                     // Dst: (VABAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6217             : /* 12661*/        0, /*End of Scope*/
    6218             : /* 12662*/      0, /*End of Scope*/
    6219             : /* 12663*/    /*Scope*/ 7|128,4/*519*/, /*->13184*/
    6220             : /* 12665*/      OPC_MoveChild0,
    6221             : /* 12666*/      OPC_SwitchOpcode /*3 cases */, 110|128,2/*366*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->13037
    6222             : /* 12671*/        OPC_Scope, 52|128,1/*180*/, /*->12854*/ // 2 children in Scope
    6223             : /* 12674*/          OPC_CheckChild0Integer, 30|128,8/*1054*/, 
    6224             : /* 12677*/          OPC_RecordChild1, // #0 = $Vn
    6225             : /* 12678*/          OPC_Scope, 28, /*->12708*/ // 6 children in Scope
    6226             : /* 12680*/            OPC_CheckChild1Type, MVT::v8i8,
    6227             : /* 12682*/            OPC_RecordChild2, // #1 = $Vm
    6228             : /* 12683*/            OPC_CheckChild2Type, MVT::v8i8,
    6229             : /* 12685*/            OPC_MoveParent,
    6230             : /* 12686*/            OPC_RecordChild1, // #2 = $src1
    6231             : /* 12687*/            OPC_CheckType, MVT::v8i8,
    6232             : /* 12689*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6233             : /* 12691*/            OPC_EmitInteger, MVT::i32, 14, 
    6234             : /* 12694*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6235             : /* 12697*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i8), 0,
    6236             :                           MVT::v8i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6237             :                       // Src: (add:{ *:[v8i8] } (intrinsic_wo_chain:{ *:[v8i8] } 1054:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), DPR:{ *:[v8i8] }:$src1) - Complexity = 11
    6238             :                       // Dst: (VABAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6239             : /* 12708*/          /*Scope*/ 28, /*->12737*/
    6240             : /* 12709*/            OPC_CheckChild1Type, MVT::v4i16,
    6241             : /* 12711*/            OPC_RecordChild2, // #1 = $Vm
    6242             : /* 12712*/            OPC_CheckChild2Type, MVT::v4i16,
    6243             : /* 12714*/            OPC_MoveParent,
    6244             : /* 12715*/            OPC_RecordChild1, // #2 = $src1
    6245             : /* 12716*/            OPC_CheckType, MVT::v4i16,
    6246             : /* 12718*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6247             : /* 12720*/            OPC_EmitInteger, MVT::i32, 14, 
    6248             : /* 12723*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6249             : /* 12726*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i16), 0,
    6250             :                           MVT::v4i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6251             :                       // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 1054:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), DPR:{ *:[v4i16] }:$src1) - Complexity = 11
    6252             :                       // Dst: (VABAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6253             : /* 12737*/          /*Scope*/ 28, /*->12766*/
    6254             : /* 12738*/            OPC_CheckChild1Type, MVT::v2i32,
    6255             : /* 12740*/            OPC_RecordChild2, // #1 = $Vm
    6256             : /* 12741*/            OPC_CheckChild2Type, MVT::v2i32,
    6257             : /* 12743*/            OPC_MoveParent,
    6258             : /* 12744*/            OPC_RecordChild1, // #2 = $src1
    6259             : /* 12745*/            OPC_CheckType, MVT::v2i32,
    6260             : /* 12747*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6261             : /* 12749*/            OPC_EmitInteger, MVT::i32, 14, 
    6262             : /* 12752*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6263             : /* 12755*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv2i32), 0,
    6264             :                           MVT::v2i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6265             :                       // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 1054:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$src1) - Complexity = 11
    6266             :                       // Dst: (VABAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6267             : /* 12766*/          /*Scope*/ 28, /*->12795*/
    6268             : /* 12767*/            OPC_CheckChild1Type, MVT::v16i8,
    6269             : /* 12769*/            OPC_RecordChild2, // #1 = $Vm
    6270             : /* 12770*/            OPC_CheckChild2Type, MVT::v16i8,
    6271             : /* 12772*/            OPC_MoveParent,
    6272             : /* 12773*/            OPC_RecordChild1, // #2 = $src1
    6273             : /* 12774*/            OPC_CheckType, MVT::v16i8,
    6274             : /* 12776*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6275             : /* 12778*/            OPC_EmitInteger, MVT::i32, 14, 
    6276             : /* 12781*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6277             : /* 12784*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv16i8), 0,
    6278             :                           MVT::v16i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6279             :                       // Src: (add:{ *:[v16i8] } (intrinsic_wo_chain:{ *:[v16i8] } 1054:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm), QPR:{ *:[v16i8] }:$src1) - Complexity = 11
    6280             :                       // Dst: (VABAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    6281             : /* 12795*/          /*Scope*/ 28, /*->12824*/
    6282             : /* 12796*/            OPC_CheckChild1Type, MVT::v8i16,
    6283             : /* 12798*/            OPC_RecordChild2, // #1 = $Vm
    6284             : /* 12799*/            OPC_CheckChild2Type, MVT::v8i16,
    6285             : /* 12801*/            OPC_MoveParent,
    6286             : /* 12802*/            OPC_RecordChild1, // #2 = $src1
    6287             : /* 12803*/            OPC_CheckType, MVT::v8i16,
    6288             : /* 12805*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6289             : /* 12807*/            OPC_EmitInteger, MVT::i32, 14, 
    6290             : /* 12810*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6291             : /* 12813*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i16), 0,
    6292             :                           MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6293             :                       // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 1054:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 11
    6294             :                       // Dst: (VABAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6295             : /* 12824*/          /*Scope*/ 28, /*->12853*/
    6296             : /* 12825*/            OPC_CheckChild1Type, MVT::v4i32,
    6297             : /* 12827*/            OPC_RecordChild2, // #1 = $Vm
    6298             : /* 12828*/            OPC_CheckChild2Type, MVT::v4i32,
    6299             : /* 12830*/            OPC_MoveParent,
    6300             : /* 12831*/            OPC_RecordChild1, // #2 = $src1
    6301             : /* 12832*/            OPC_CheckType, MVT::v4i32,
    6302             : /* 12834*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6303             : /* 12836*/            OPC_EmitInteger, MVT::i32, 14, 
    6304             : /* 12839*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6305             : /* 12842*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i32), 0,
    6306             :                           MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6307             :                       // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 1054:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 11
    6308             :                       // Dst: (VABAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6309             : /* 12853*/          0, /*End of Scope*/
    6310             : /* 12854*/        /*Scope*/ 52|128,1/*180*/, /*->13036*/
    6311             : /* 12856*/          OPC_CheckChild0Integer, 31|128,8/*1055*/, 
    6312             : /* 12859*/          OPC_RecordChild1, // #0 = $Vn
    6313             : /* 12860*/          OPC_Scope, 28, /*->12890*/ // 6 children in Scope
    6314             : /* 12862*/            OPC_CheckChild1Type, MVT::v8i8,
    6315             : /* 12864*/            OPC_RecordChild2, // #1 = $Vm
    6316             : /* 12865*/            OPC_CheckChild2Type, MVT::v8i8,
    6317             : /* 12867*/            OPC_MoveParent,
    6318             : /* 12868*/            OPC_RecordChild1, // #2 = $src1
    6319             : /* 12869*/            OPC_CheckType, MVT::v8i8,
    6320             : /* 12871*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6321             : /* 12873*/            OPC_EmitInteger, MVT::i32, 14, 
    6322             : /* 12876*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6323             : /* 12879*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i8), 0,
    6324             :                           MVT::v8i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6325             :                       // Src: (add:{ *:[v8i8] } (intrinsic_wo_chain:{ *:[v8i8] } 1055:{ *:[iPTR] }, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), DPR:{ *:[v8i8] }:$src1) - Complexity = 11
    6326             :                       // Dst: (VABAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6327             : /* 12890*/          /*Scope*/ 28, /*->12919*/
    6328             : /* 12891*/            OPC_CheckChild1Type, MVT::v4i16,
    6329             : /* 12893*/            OPC_RecordChild2, // #1 = $Vm
    6330             : /* 12894*/            OPC_CheckChild2Type, MVT::v4i16,
    6331             : /* 12896*/            OPC_MoveParent,
    6332             : /* 12897*/            OPC_RecordChild1, // #2 = $src1
    6333             : /* 12898*/            OPC_CheckType, MVT::v4i16,
    6334             : /* 12900*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6335             : /* 12902*/            OPC_EmitInteger, MVT::i32, 14, 
    6336             : /* 12905*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6337             : /* 12908*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i16), 0,
    6338             :                           MVT::v4i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6339             :                       // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 1055:{ *:[iPTR] }, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), DPR:{ *:[v4i16] }:$src1) - Complexity = 11
    6340             :                       // Dst: (VABAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6341             : /* 12919*/          /*Scope*/ 28, /*->12948*/
    6342             : /* 12920*/            OPC_CheckChild1Type, MVT::v2i32,
    6343             : /* 12922*/            OPC_RecordChild2, // #1 = $Vm
    6344             : /* 12923*/            OPC_CheckChild2Type, MVT::v2i32,
    6345             : /* 12925*/            OPC_MoveParent,
    6346             : /* 12926*/            OPC_RecordChild1, // #2 = $src1
    6347             : /* 12927*/            OPC_CheckType, MVT::v2i32,
    6348             : /* 12929*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6349             : /* 12931*/            OPC_EmitInteger, MVT::i32, 14, 
    6350             : /* 12934*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6351             : /* 12937*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv2i32), 0,
    6352             :                           MVT::v2i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6353             :                       // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 1055:{ *:[iPTR] }, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$src1) - Complexity = 11
    6354             :                       // Dst: (VABAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6355             : /* 12948*/          /*Scope*/ 28, /*->12977*/
    6356             : /* 12949*/            OPC_CheckChild1Type, MVT::v16i8,
    6357             : /* 12951*/            OPC_RecordChild2, // #1 = $Vm
    6358             : /* 12952*/            OPC_CheckChild2Type, MVT::v16i8,
    6359             : /* 12954*/            OPC_MoveParent,
    6360             : /* 12955*/            OPC_RecordChild1, // #2 = $src1
    6361             : /* 12956*/            OPC_CheckType, MVT::v16i8,
    6362             : /* 12958*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6363             : /* 12960*/            OPC_EmitInteger, MVT::i32, 14, 
    6364             : /* 12963*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6365             : /* 12966*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv16i8), 0,
    6366             :                           MVT::v16i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6367             :                       // Src: (add:{ *:[v16i8] } (intrinsic_wo_chain:{ *:[v16i8] } 1055:{ *:[iPTR] }, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm), QPR:{ *:[v16i8] }:$src1) - Complexity = 11
    6368             :                       // Dst: (VABAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    6369             : /* 12977*/          /*Scope*/ 28, /*->13006*/
    6370             : /* 12978*/            OPC_CheckChild1Type, MVT::v8i16,
    6371             : /* 12980*/            OPC_RecordChild2, // #1 = $Vm
    6372             : /* 12981*/            OPC_CheckChild2Type, MVT::v8i16,
    6373             : /* 12983*/            OPC_MoveParent,
    6374             : /* 12984*/            OPC_RecordChild1, // #2 = $src1
    6375             : /* 12985*/            OPC_CheckType, MVT::v8i16,
    6376             : /* 12987*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6377             : /* 12989*/            OPC_EmitInteger, MVT::i32, 14, 
    6378             : /* 12992*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6379             : /* 12995*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i16), 0,
    6380             :                           MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6381             :                       // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 1055:{ *:[iPTR] }, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 11
    6382             :                       // Dst: (VABAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    6383             : /* 13006*/          /*Scope*/ 28, /*->13035*/
    6384             : /* 13007*/            OPC_CheckChild1Type, MVT::v4i32,
    6385             : /* 13009*/            OPC_RecordChild2, // #1 = $Vm
    6386             : /* 13010*/            OPC_CheckChild2Type, MVT::v4i32,
    6387             : /* 13012*/            OPC_MoveParent,
    6388             : /* 13013*/            OPC_RecordChild1, // #2 = $src1
    6389             : /* 13014*/            OPC_CheckType, MVT::v4i32,
    6390             : /* 13016*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6391             : /* 13018*/            OPC_EmitInteger, MVT::i32, 14, 
    6392             : /* 13021*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6393             : /* 13024*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i32), 0,
    6394             :                           MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    6395             :                       // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 1055:{ *:[iPTR] }, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 11
    6396             :                       // Dst: (VABAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    6397             : /* 13035*/          0, /*End of Scope*/
    6398             : /* 13036*/        0, /*End of Scope*/
    6399             : /* 13037*/      /*SwitchOpcode*/ 70, TARGET_VAL(ISD::SIGN_EXTEND),// ->13110
    6400             : /* 13040*/        OPC_RecordChild0, // #0 = $Vn
    6401             : /* 13041*/        OPC_MoveParent,
    6402             : /* 13042*/        OPC_MoveChild1,
    6403             : /* 13043*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    6404             : /* 13046*/        OPC_RecordChild0, // #1 = $Vm
    6405             : /* 13047*/        OPC_MoveParent,
    6406             : /* 13048*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->13069
    6407             : /* 13051*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6408             : /* 13053*/          OPC_EmitInteger, MVT::i32, 14, 
    6409             : /* 13056*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6410             : /* 13059*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv8i16), 0,
    6411             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    6412             :                     // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn), (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 9
    6413             :                     // Dst: (VADDLsv8i16:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6414             : /* 13069*/        /*SwitchType*/ 18, MVT::v4i32,// ->13089
    6415             : /* 13071*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6416             : /* 13073*/          OPC_EmitInteger, MVT::i32, 14, 
    6417             : /* 13076*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6418             : /* 13079*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv4i32), 0,
    6419             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    6420             :                     // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn), (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 9
    6421             :                     // Dst: (VADDLsv4i32:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6422             : /* 13089*/        /*SwitchType*/ 18, MVT::v2i64,// ->13109
    6423             : /* 13091*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6424             : /* 13093*/          OPC_EmitInteger, MVT::i32, 14, 
    6425             : /* 13096*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6426             : /* 13099*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv2i64), 0,
    6427             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    6428             :                     // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn), (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 9
    6429             :                     // Dst: (VADDLsv2i64:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6430             : /* 13109*/        0, // EndSwitchType
    6431             : /* 13110*/      /*SwitchOpcode*/ 70, TARGET_VAL(ISD::ZERO_EXTEND),// ->13183
    6432             : /* 13113*/        OPC_RecordChild0, // #0 = $Vn
    6433             : /* 13114*/        OPC_MoveParent,
    6434             : /* 13115*/        OPC_MoveChild1,
    6435             : /* 13116*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    6436             : /* 13119*/        OPC_RecordChild0, // #1 = $Vm
    6437             : /* 13120*/        OPC_MoveParent,
    6438             : /* 13121*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->13142
    6439             : /* 13124*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6440             : /* 13126*/          OPC_EmitInteger, MVT::i32, 14, 
    6441             : /* 13129*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6442             : /* 13132*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv8i16), 0,
    6443             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    6444             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn), (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 9
    6445             :                     // Dst: (VADDLuv8i16:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    6446             : /* 13142*/        /*SwitchType*/ 18, MVT::v4i32,// ->13162
    6447             : /* 13144*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6448             : /* 13146*/          OPC_EmitInteger, MVT::i32, 14, 
    6449             : /* 13149*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6450             : /* 13152*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv4i32), 0,
    6451             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    6452             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn), (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 9
    6453             :                     // Dst: (VADDLuv4i32:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    6454             : /* 13162*/        /*SwitchType*/ 18, MVT::v2i64,// ->13182
    6455             : /* 13164*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6456             : /* 13166*/          OPC_EmitInteger, MVT::i32, 14, 
    6457             : /* 13169*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6458             : /* 13172*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv2i64), 0,
    6459             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    6460             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn), (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 9
    6461             :                     // Dst: (VADDLuv2i64:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    6462             : /* 13182*/        0, // EndSwitchType
    6463             : /* 13183*/      0, // EndSwitchOpcode
    6464             : /* 13184*/    /*Scope*/ 28|128,6/*796*/, /*->13982*/
    6465             : /* 13186*/      OPC_RecordChild0, // #0 = $src1
    6466             : /* 13187*/      OPC_MoveChild1,
    6467             : /* 13188*/      OPC_SwitchOpcode /*4 cases */, 66|128,1/*194*/, TARGET_VAL(ARMISD::VSHRs),// ->13387
    6468             : /* 13193*/        OPC_RecordChild0, // #1 = $Vm
    6469             : /* 13194*/        OPC_RecordChild1, // #2 = $SIMM
    6470             : /* 13195*/        OPC_MoveChild1,
    6471             : /* 13196*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6472             : /* 13199*/        OPC_MoveParent,
    6473             : /* 13200*/        OPC_MoveParent,
    6474             : /* 13201*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13225
    6475             : /* 13204*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6476             : /* 13206*/          OPC_EmitConvertToTarget, 2,
    6477             : /* 13208*/          OPC_EmitInteger, MVT::i32, 14, 
    6478             : /* 13211*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6479             : /* 13214*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i8), 0,
    6480             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6481             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6482             :                     // Dst: (VSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6483             : /* 13225*/        /*SwitchType*/ 21, MVT::v4i16,// ->13248
    6484             : /* 13227*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6485             : /* 13229*/          OPC_EmitConvertToTarget, 2,
    6486             : /* 13231*/          OPC_EmitInteger, MVT::i32, 14, 
    6487             : /* 13234*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6488             : /* 13237*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i16), 0,
    6489             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6490             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6491             :                     // Dst: (VSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6492             : /* 13248*/        /*SwitchType*/ 21, MVT::v2i32,// ->13271
    6493             : /* 13250*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6494             : /* 13252*/          OPC_EmitConvertToTarget, 2,
    6495             : /* 13254*/          OPC_EmitInteger, MVT::i32, 14, 
    6496             : /* 13257*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6497             : /* 13260*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i32), 0,
    6498             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6499             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6500             :                     // Dst: (VSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6501             : /* 13271*/        /*SwitchType*/ 21, MVT::v1i64,// ->13294
    6502             : /* 13273*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6503             : /* 13275*/          OPC_EmitConvertToTarget, 2,
    6504             : /* 13277*/          OPC_EmitInteger, MVT::i32, 14, 
    6505             : /* 13280*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6506             : /* 13283*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv1i64), 0,
    6507             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6508             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6509             :                     // Dst: (VSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6510             : /* 13294*/        /*SwitchType*/ 21, MVT::v16i8,// ->13317
    6511             : /* 13296*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6512             : /* 13298*/          OPC_EmitConvertToTarget, 2,
    6513             : /* 13300*/          OPC_EmitInteger, MVT::i32, 14, 
    6514             : /* 13303*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6515             : /* 13306*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv16i8), 0,
    6516             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6517             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6518             :                     // Dst: (VSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6519             : /* 13317*/        /*SwitchType*/ 21, MVT::v8i16,// ->13340
    6520             : /* 13319*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6521             : /* 13321*/          OPC_EmitConvertToTarget, 2,
    6522             : /* 13323*/          OPC_EmitInteger, MVT::i32, 14, 
    6523             : /* 13326*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6524             : /* 13329*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i16), 0,
    6525             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6526             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6527             :                     // Dst: (VSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6528             : /* 13340*/        /*SwitchType*/ 21, MVT::v4i32,// ->13363
    6529             : /* 13342*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6530             : /* 13344*/          OPC_EmitConvertToTarget, 2,
    6531             : /* 13346*/          OPC_EmitInteger, MVT::i32, 14, 
    6532             : /* 13349*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6533             : /* 13352*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i32), 0,
    6534             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6535             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6536             :                     // Dst: (VSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6537             : /* 13363*/        /*SwitchType*/ 21, MVT::v2i64,// ->13386
    6538             : /* 13365*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6539             : /* 13367*/          OPC_EmitConvertToTarget, 2,
    6540             : /* 13369*/          OPC_EmitInteger, MVT::i32, 14, 
    6541             : /* 13372*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6542             : /* 13375*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i64), 0,
    6543             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6544             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6545             :                     // Dst: (VSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6546             : /* 13386*/        0, // EndSwitchType
    6547             : /* 13387*/      /*SwitchOpcode*/ 66|128,1/*194*/, TARGET_VAL(ARMISD::VSHRu),// ->13585
    6548             : /* 13391*/        OPC_RecordChild0, // #1 = $Vm
    6549             : /* 13392*/        OPC_RecordChild1, // #2 = $SIMM
    6550             : /* 13393*/        OPC_MoveChild1,
    6551             : /* 13394*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6552             : /* 13397*/        OPC_MoveParent,
    6553             : /* 13398*/        OPC_MoveParent,
    6554             : /* 13399*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13423
    6555             : /* 13402*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6556             : /* 13404*/          OPC_EmitConvertToTarget, 2,
    6557             : /* 13406*/          OPC_EmitInteger, MVT::i32, 14, 
    6558             : /* 13409*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6559             : /* 13412*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i8), 0,
    6560             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6561             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6562             :                     // Dst: (VSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6563             : /* 13423*/        /*SwitchType*/ 21, MVT::v4i16,// ->13446
    6564             : /* 13425*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6565             : /* 13427*/          OPC_EmitConvertToTarget, 2,
    6566             : /* 13429*/          OPC_EmitInteger, MVT::i32, 14, 
    6567             : /* 13432*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6568             : /* 13435*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i16), 0,
    6569             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6570             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6571             :                     // Dst: (VSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6572             : /* 13446*/        /*SwitchType*/ 21, MVT::v2i32,// ->13469
    6573             : /* 13448*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6574             : /* 13450*/          OPC_EmitConvertToTarget, 2,
    6575             : /* 13452*/          OPC_EmitInteger, MVT::i32, 14, 
    6576             : /* 13455*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6577             : /* 13458*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i32), 0,
    6578             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6579             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6580             :                     // Dst: (VSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6581             : /* 13469*/        /*SwitchType*/ 21, MVT::v1i64,// ->13492
    6582             : /* 13471*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6583             : /* 13473*/          OPC_EmitConvertToTarget, 2,
    6584             : /* 13475*/          OPC_EmitInteger, MVT::i32, 14, 
    6585             : /* 13478*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6586             : /* 13481*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv1i64), 0,
    6587             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6588             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6589             :                     // Dst: (VSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6590             : /* 13492*/        /*SwitchType*/ 21, MVT::v16i8,// ->13515
    6591             : /* 13494*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6592             : /* 13496*/          OPC_EmitConvertToTarget, 2,
    6593             : /* 13498*/          OPC_EmitInteger, MVT::i32, 14, 
    6594             : /* 13501*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6595             : /* 13504*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv16i8), 0,
    6596             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6597             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6598             :                     // Dst: (VSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6599             : /* 13515*/        /*SwitchType*/ 21, MVT::v8i16,// ->13538
    6600             : /* 13517*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6601             : /* 13519*/          OPC_EmitConvertToTarget, 2,
    6602             : /* 13521*/          OPC_EmitInteger, MVT::i32, 14, 
    6603             : /* 13524*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6604             : /* 13527*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i16), 0,
    6605             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6606             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6607             :                     // Dst: (VSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6608             : /* 13538*/        /*SwitchType*/ 21, MVT::v4i32,// ->13561
    6609             : /* 13540*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6610             : /* 13542*/          OPC_EmitConvertToTarget, 2,
    6611             : /* 13544*/          OPC_EmitInteger, MVT::i32, 14, 
    6612             : /* 13547*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6613             : /* 13550*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i32), 0,
    6614             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6615             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6616             :                     // Dst: (VSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6617             : /* 13561*/        /*SwitchType*/ 21, MVT::v2i64,// ->13584
    6618             : /* 13563*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6619             : /* 13565*/          OPC_EmitConvertToTarget, 2,
    6620             : /* 13567*/          OPC_EmitInteger, MVT::i32, 14, 
    6621             : /* 13570*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6622             : /* 13573*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i64), 0,
    6623             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6624             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6625             :                     // Dst: (VSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6626             : /* 13584*/        0, // EndSwitchType
    6627             : /* 13585*/      /*SwitchOpcode*/ 66|128,1/*194*/, TARGET_VAL(ARMISD::VRSHRs),// ->13783
    6628             : /* 13589*/        OPC_RecordChild0, // #1 = $Vm
    6629             : /* 13590*/        OPC_RecordChild1, // #2 = $SIMM
    6630             : /* 13591*/        OPC_MoveChild1,
    6631             : /* 13592*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6632             : /* 13595*/        OPC_MoveParent,
    6633             : /* 13596*/        OPC_MoveParent,
    6634             : /* 13597*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13621
    6635             : /* 13600*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6636             : /* 13602*/          OPC_EmitConvertToTarget, 2,
    6637             : /* 13604*/          OPC_EmitInteger, MVT::i32, 14, 
    6638             : /* 13607*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6639             : /* 13610*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i8), 0,
    6640             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6641             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvrshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6642             :                     // Dst: (VRSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6643             : /* 13621*/        /*SwitchType*/ 21, MVT::v4i16,// ->13644
    6644             : /* 13623*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6645             : /* 13625*/          OPC_EmitConvertToTarget, 2,
    6646             : /* 13627*/          OPC_EmitInteger, MVT::i32, 14, 
    6647             : /* 13630*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6648             : /* 13633*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i16), 0,
    6649             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6650             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvrshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6651             :                     // Dst: (VRSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6652             : /* 13644*/        /*SwitchType*/ 21, MVT::v2i32,// ->13667
    6653             : /* 13646*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6654             : /* 13648*/          OPC_EmitConvertToTarget, 2,
    6655             : /* 13650*/          OPC_EmitInteger, MVT::i32, 14, 
    6656             : /* 13653*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6657             : /* 13656*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i32), 0,
    6658             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6659             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvrshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6660             :                     // Dst: (VRSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6661             : /* 13667*/        /*SwitchType*/ 21, MVT::v1i64,// ->13690
    6662             : /* 13669*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6663             : /* 13671*/          OPC_EmitConvertToTarget, 2,
    6664             : /* 13673*/          OPC_EmitInteger, MVT::i32, 14, 
    6665             : /* 13676*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6666             : /* 13679*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv1i64), 0,
    6667             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6668             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvrshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6669             :                     // Dst: (VRSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6670             : /* 13690*/        /*SwitchType*/ 21, MVT::v16i8,// ->13713
    6671             : /* 13692*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6672             : /* 13694*/          OPC_EmitConvertToTarget, 2,
    6673             : /* 13696*/          OPC_EmitInteger, MVT::i32, 14, 
    6674             : /* 13699*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6675             : /* 13702*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv16i8), 0,
    6676             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6677             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvrshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6678             :                     // Dst: (VRSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6679             : /* 13713*/        /*SwitchType*/ 21, MVT::v8i16,// ->13736
    6680             : /* 13715*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6681             : /* 13717*/          OPC_EmitConvertToTarget, 2,
    6682             : /* 13719*/          OPC_EmitInteger, MVT::i32, 14, 
    6683             : /* 13722*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6684             : /* 13725*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i16), 0,
    6685             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6686             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvrshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6687             :                     // Dst: (VRSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6688             : /* 13736*/        /*SwitchType*/ 21, MVT::v4i32,// ->13759
    6689             : /* 13738*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6690             : /* 13740*/          OPC_EmitConvertToTarget, 2,
    6691             : /* 13742*/          OPC_EmitInteger, MVT::i32, 14, 
    6692             : /* 13745*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6693             : /* 13748*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i32), 0,
    6694             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6695             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvrshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6696             :                     // Dst: (VRSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6697             : /* 13759*/        /*SwitchType*/ 21, MVT::v2i64,// ->13782
    6698             : /* 13761*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6699             : /* 13763*/          OPC_EmitConvertToTarget, 2,
    6700             : /* 13765*/          OPC_EmitInteger, MVT::i32, 14, 
    6701             : /* 13768*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6702             : /* 13771*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i64), 0,
    6703             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6704             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvrshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6705             :                     // Dst: (VRSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6706             : /* 13782*/        0, // EndSwitchType
    6707             : /* 13783*/      /*SwitchOpcode*/ 66|128,1/*194*/, TARGET_VAL(ARMISD::VRSHRu),// ->13981
    6708             : /* 13787*/        OPC_RecordChild0, // #1 = $Vm
    6709             : /* 13788*/        OPC_RecordChild1, // #2 = $SIMM
    6710             : /* 13789*/        OPC_MoveChild1,
    6711             : /* 13790*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6712             : /* 13793*/        OPC_MoveParent,
    6713             : /* 13794*/        OPC_MoveParent,
    6714             : /* 13795*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->13819
    6715             : /* 13798*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6716             : /* 13800*/          OPC_EmitConvertToTarget, 2,
    6717             : /* 13802*/          OPC_EmitInteger, MVT::i32, 14, 
    6718             : /* 13805*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6719             : /* 13808*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i8), 0,
    6720             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6721             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (NEONvrshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6722             :                     // Dst: (VRSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6723             : /* 13819*/        /*SwitchType*/ 21, MVT::v4i16,// ->13842
    6724             : /* 13821*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6725             : /* 13823*/          OPC_EmitConvertToTarget, 2,
    6726             : /* 13825*/          OPC_EmitInteger, MVT::i32, 14, 
    6727             : /* 13828*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6728             : /* 13831*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i16), 0,
    6729             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6730             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (NEONvrshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6731             :                     // Dst: (VRSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6732             : /* 13842*/        /*SwitchType*/ 21, MVT::v2i32,// ->13865
    6733             : /* 13844*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6734             : /* 13846*/          OPC_EmitConvertToTarget, 2,
    6735             : /* 13848*/          OPC_EmitInteger, MVT::i32, 14, 
    6736             : /* 13851*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6737             : /* 13854*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i32), 0,
    6738             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6739             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (NEONvrshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6740             :                     // Dst: (VRSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6741             : /* 13865*/        /*SwitchType*/ 21, MVT::v1i64,// ->13888
    6742             : /* 13867*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6743             : /* 13869*/          OPC_EmitConvertToTarget, 2,
    6744             : /* 13871*/          OPC_EmitInteger, MVT::i32, 14, 
    6745             : /* 13874*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6746             : /* 13877*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv1i64), 0,
    6747             :                         MVT::v1i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6748             :                     // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, (NEONvrshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6749             :                     // Dst: (VRSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6750             : /* 13888*/        /*SwitchType*/ 21, MVT::v16i8,// ->13911
    6751             : /* 13890*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6752             : /* 13892*/          OPC_EmitConvertToTarget, 2,
    6753             : /* 13894*/          OPC_EmitInteger, MVT::i32, 14, 
    6754             : /* 13897*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6755             : /* 13900*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv16i8), 0,
    6756             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6757             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (NEONvrshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6758             :                     // Dst: (VRSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6759             : /* 13911*/        /*SwitchType*/ 21, MVT::v8i16,// ->13934
    6760             : /* 13913*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6761             : /* 13915*/          OPC_EmitConvertToTarget, 2,
    6762             : /* 13917*/          OPC_EmitInteger, MVT::i32, 14, 
    6763             : /* 13920*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6764             : /* 13923*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i16), 0,
    6765             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6766             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvrshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6767             :                     // Dst: (VRSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6768             : /* 13934*/        /*SwitchType*/ 21, MVT::v4i32,// ->13957
    6769             : /* 13936*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6770             : /* 13938*/          OPC_EmitConvertToTarget, 2,
    6771             : /* 13940*/          OPC_EmitInteger, MVT::i32, 14, 
    6772             : /* 13943*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6773             : /* 13946*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i32), 0,
    6774             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6775             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvrshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6776             :                     // Dst: (VRSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6777             : /* 13957*/        /*SwitchType*/ 21, MVT::v2i64,// ->13980
    6778             : /* 13959*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6779             : /* 13961*/          OPC_EmitConvertToTarget, 2,
    6780             : /* 13963*/          OPC_EmitInteger, MVT::i32, 14, 
    6781             : /* 13966*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6782             : /* 13969*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i64), 0,
    6783             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 3, 4, 5, 
    6784             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvrshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)) - Complexity = 9
    6785             :                     // Dst: (VRSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6786             : /* 13980*/        0, // EndSwitchType
    6787             : /* 13981*/      0, // EndSwitchOpcode
    6788             : /* 13982*/    /*Scope*/ 31|128,6/*799*/, /*->14783*/
    6789             : /* 13984*/      OPC_MoveChild0,
    6790             : /* 13985*/      OPC_SwitchOpcode /*4 cases */, 67|128,1/*195*/, TARGET_VAL(ARMISD::VSHRs),// ->14185
    6791             : /* 13990*/        OPC_RecordChild0, // #0 = $Vm
    6792             : /* 13991*/        OPC_RecordChild1, // #1 = $SIMM
    6793             : /* 13992*/        OPC_MoveChild1,
    6794             : /* 13993*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6795             : /* 13996*/        OPC_MoveParent,
    6796             : /* 13997*/        OPC_MoveParent,
    6797             : /* 13998*/        OPC_RecordChild1, // #2 = $src1
    6798             : /* 13999*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->14023
    6799             : /* 14002*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6800             : /* 14004*/          OPC_EmitConvertToTarget, 1,
    6801             : /* 14006*/          OPC_EmitInteger, MVT::i32, 14, 
    6802             : /* 14009*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6803             : /* 14012*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i8), 0,
    6804             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6805             :                     // Src: (add:{ *:[v8i8] } (NEONvshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    6806             :                     // Dst: (VSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6807             : /* 14023*/        /*SwitchType*/ 21, MVT::v4i16,// ->14046
    6808             : /* 14025*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6809             : /* 14027*/          OPC_EmitConvertToTarget, 1,
    6810             : /* 14029*/          OPC_EmitInteger, MVT::i32, 14, 
    6811             : /* 14032*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6812             : /* 14035*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i16), 0,
    6813             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6814             :                     // Src: (add:{ *:[v4i16] } (NEONvshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    6815             :                     // Dst: (VSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6816             : /* 14046*/        /*SwitchType*/ 21, MVT::v2i32,// ->14069
    6817             : /* 14048*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6818             : /* 14050*/          OPC_EmitConvertToTarget, 1,
    6819             : /* 14052*/          OPC_EmitInteger, MVT::i32, 14, 
    6820             : /* 14055*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6821             : /* 14058*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i32), 0,
    6822             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6823             :                     // Src: (add:{ *:[v2i32] } (NEONvshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    6824             :                     // Dst: (VSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6825             : /* 14069*/        /*SwitchType*/ 21, MVT::v1i64,// ->14092
    6826             : /* 14071*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6827             : /* 14073*/          OPC_EmitConvertToTarget, 1,
    6828             : /* 14075*/          OPC_EmitInteger, MVT::i32, 14, 
    6829             : /* 14078*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6830             : /* 14081*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv1i64), 0,
    6831             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6832             :                     // Src: (add:{ *:[v1i64] } (NEONvshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    6833             :                     // Dst: (VSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6834             : /* 14092*/        /*SwitchType*/ 21, MVT::v16i8,// ->14115
    6835             : /* 14094*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6836             : /* 14096*/          OPC_EmitConvertToTarget, 1,
    6837             : /* 14098*/          OPC_EmitInteger, MVT::i32, 14, 
    6838             : /* 14101*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6839             : /* 14104*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv16i8), 0,
    6840             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6841             :                     // Src: (add:{ *:[v16i8] } (NEONvshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    6842             :                     // Dst: (VSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6843             : /* 14115*/        /*SwitchType*/ 21, MVT::v8i16,// ->14138
    6844             : /* 14117*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6845             : /* 14119*/          OPC_EmitConvertToTarget, 1,
    6846             : /* 14121*/          OPC_EmitInteger, MVT::i32, 14, 
    6847             : /* 14124*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6848             : /* 14127*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i16), 0,
    6849             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6850             :                     // Src: (add:{ *:[v8i16] } (NEONvshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    6851             :                     // Dst: (VSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6852             : /* 14138*/        /*SwitchType*/ 21, MVT::v4i32,// ->14161
    6853             : /* 14140*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6854             : /* 14142*/          OPC_EmitConvertToTarget, 1,
    6855             : /* 14144*/          OPC_EmitInteger, MVT::i32, 14, 
    6856             : /* 14147*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6857             : /* 14150*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i32), 0,
    6858             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6859             :                     // Src: (add:{ *:[v4i32] } (NEONvshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    6860             :                     // Dst: (VSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6861             : /* 14161*/        /*SwitchType*/ 21, MVT::v2i64,// ->14184
    6862             : /* 14163*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6863             : /* 14165*/          OPC_EmitConvertToTarget, 1,
    6864             : /* 14167*/          OPC_EmitInteger, MVT::i32, 14, 
    6865             : /* 14170*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6866             : /* 14173*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i64), 0,
    6867             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6868             :                     // Src: (add:{ *:[v2i64] } (NEONvshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    6869             :                     // Dst: (VSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6870             : /* 14184*/        0, // EndSwitchType
    6871             : /* 14185*/      /*SwitchOpcode*/ 67|128,1/*195*/, TARGET_VAL(ARMISD::VSHRu),// ->14384
    6872             : /* 14189*/        OPC_RecordChild0, // #0 = $Vm
    6873             : /* 14190*/        OPC_RecordChild1, // #1 = $SIMM
    6874             : /* 14191*/        OPC_MoveChild1,
    6875             : /* 14192*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6876             : /* 14195*/        OPC_MoveParent,
    6877             : /* 14196*/        OPC_MoveParent,
    6878             : /* 14197*/        OPC_RecordChild1, // #2 = $src1
    6879             : /* 14198*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->14222
    6880             : /* 14201*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6881             : /* 14203*/          OPC_EmitConvertToTarget, 1,
    6882             : /* 14205*/          OPC_EmitInteger, MVT::i32, 14, 
    6883             : /* 14208*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6884             : /* 14211*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i8), 0,
    6885             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6886             :                     // Src: (add:{ *:[v8i8] } (NEONvshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    6887             :                     // Dst: (VSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6888             : /* 14222*/        /*SwitchType*/ 21, MVT::v4i16,// ->14245
    6889             : /* 14224*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6890             : /* 14226*/          OPC_EmitConvertToTarget, 1,
    6891             : /* 14228*/          OPC_EmitInteger, MVT::i32, 14, 
    6892             : /* 14231*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6893             : /* 14234*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i16), 0,
    6894             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6895             :                     // Src: (add:{ *:[v4i16] } (NEONvshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    6896             :                     // Dst: (VSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6897             : /* 14245*/        /*SwitchType*/ 21, MVT::v2i32,// ->14268
    6898             : /* 14247*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6899             : /* 14249*/          OPC_EmitConvertToTarget, 1,
    6900             : /* 14251*/          OPC_EmitInteger, MVT::i32, 14, 
    6901             : /* 14254*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6902             : /* 14257*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i32), 0,
    6903             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6904             :                     // Src: (add:{ *:[v2i32] } (NEONvshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    6905             :                     // Dst: (VSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6906             : /* 14268*/        /*SwitchType*/ 21, MVT::v1i64,// ->14291
    6907             : /* 14270*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6908             : /* 14272*/          OPC_EmitConvertToTarget, 1,
    6909             : /* 14274*/          OPC_EmitInteger, MVT::i32, 14, 
    6910             : /* 14277*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6911             : /* 14280*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv1i64), 0,
    6912             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6913             :                     // Src: (add:{ *:[v1i64] } (NEONvshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    6914             :                     // Dst: (VSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6915             : /* 14291*/        /*SwitchType*/ 21, MVT::v16i8,// ->14314
    6916             : /* 14293*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6917             : /* 14295*/          OPC_EmitConvertToTarget, 1,
    6918             : /* 14297*/          OPC_EmitInteger, MVT::i32, 14, 
    6919             : /* 14300*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6920             : /* 14303*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv16i8), 0,
    6921             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6922             :                     // Src: (add:{ *:[v16i8] } (NEONvshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    6923             :                     // Dst: (VSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6924             : /* 14314*/        /*SwitchType*/ 21, MVT::v8i16,// ->14337
    6925             : /* 14316*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6926             : /* 14318*/          OPC_EmitConvertToTarget, 1,
    6927             : /* 14320*/          OPC_EmitInteger, MVT::i32, 14, 
    6928             : /* 14323*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6929             : /* 14326*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i16), 0,
    6930             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6931             :                     // Src: (add:{ *:[v8i16] } (NEONvshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    6932             :                     // Dst: (VSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6933             : /* 14337*/        /*SwitchType*/ 21, MVT::v4i32,// ->14360
    6934             : /* 14339*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6935             : /* 14341*/          OPC_EmitConvertToTarget, 1,
    6936             : /* 14343*/          OPC_EmitInteger, MVT::i32, 14, 
    6937             : /* 14346*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6938             : /* 14349*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i32), 0,
    6939             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6940             :                     // Src: (add:{ *:[v4i32] } (NEONvshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    6941             :                     // Dst: (VSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6942             : /* 14360*/        /*SwitchType*/ 21, MVT::v2i64,// ->14383
    6943             : /* 14362*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6944             : /* 14364*/          OPC_EmitConvertToTarget, 1,
    6945             : /* 14366*/          OPC_EmitInteger, MVT::i32, 14, 
    6946             : /* 14369*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6947             : /* 14372*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i64), 0,
    6948             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6949             :                     // Src: (add:{ *:[v2i64] } (NEONvshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    6950             :                     // Dst: (VSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6951             : /* 14383*/        0, // EndSwitchType
    6952             : /* 14384*/      /*SwitchOpcode*/ 67|128,1/*195*/, TARGET_VAL(ARMISD::VRSHRs),// ->14583
    6953             : /* 14388*/        OPC_RecordChild0, // #0 = $Vm
    6954             : /* 14389*/        OPC_RecordChild1, // #1 = $SIMM
    6955             : /* 14390*/        OPC_MoveChild1,
    6956             : /* 14391*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6957             : /* 14394*/        OPC_MoveParent,
    6958             : /* 14395*/        OPC_MoveParent,
    6959             : /* 14396*/        OPC_RecordChild1, // #2 = $src1
    6960             : /* 14397*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->14421
    6961             : /* 14400*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6962             : /* 14402*/          OPC_EmitConvertToTarget, 1,
    6963             : /* 14404*/          OPC_EmitInteger, MVT::i32, 14, 
    6964             : /* 14407*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6965             : /* 14410*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i8), 0,
    6966             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6967             :                     // Src: (add:{ *:[v8i8] } (NEONvrshrs:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    6968             :                     // Dst: (VRSRAsv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6969             : /* 14421*/        /*SwitchType*/ 21, MVT::v4i16,// ->14444
    6970             : /* 14423*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6971             : /* 14425*/          OPC_EmitConvertToTarget, 1,
    6972             : /* 14427*/          OPC_EmitInteger, MVT::i32, 14, 
    6973             : /* 14430*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6974             : /* 14433*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i16), 0,
    6975             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6976             :                     // Src: (add:{ *:[v4i16] } (NEONvrshrs:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    6977             :                     // Dst: (VRSRAsv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6978             : /* 14444*/        /*SwitchType*/ 21, MVT::v2i32,// ->14467
    6979             : /* 14446*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6980             : /* 14448*/          OPC_EmitConvertToTarget, 1,
    6981             : /* 14450*/          OPC_EmitInteger, MVT::i32, 14, 
    6982             : /* 14453*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6983             : /* 14456*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i32), 0,
    6984             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6985             :                     // Src: (add:{ *:[v2i32] } (NEONvrshrs:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    6986             :                     // Dst: (VRSRAsv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6987             : /* 14467*/        /*SwitchType*/ 21, MVT::v1i64,// ->14490
    6988             : /* 14469*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6989             : /* 14471*/          OPC_EmitConvertToTarget, 1,
    6990             : /* 14473*/          OPC_EmitInteger, MVT::i32, 14, 
    6991             : /* 14476*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    6992             : /* 14479*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv1i64), 0,
    6993             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    6994             :                     // Src: (add:{ *:[v1i64] } (NEONvrshrs:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    6995             :                     // Dst: (VRSRAsv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    6996             : /* 14490*/        /*SwitchType*/ 21, MVT::v16i8,// ->14513
    6997             : /* 14492*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    6998             : /* 14494*/          OPC_EmitConvertToTarget, 1,
    6999             : /* 14496*/          OPC_EmitInteger, MVT::i32, 14, 
    7000             : /* 14499*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7001             : /* 14502*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv16i8), 0,
    7002             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7003             :                     // Src: (add:{ *:[v16i8] } (NEONvrshrs:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    7004             :                     // Dst: (VRSRAsv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7005             : /* 14513*/        /*SwitchType*/ 21, MVT::v8i16,// ->14536
    7006             : /* 14515*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7007             : /* 14517*/          OPC_EmitConvertToTarget, 1,
    7008             : /* 14519*/          OPC_EmitInteger, MVT::i32, 14, 
    7009             : /* 14522*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7010             : /* 14525*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i16), 0,
    7011             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7012             :                     // Src: (add:{ *:[v8i16] } (NEONvrshrs:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    7013             :                     // Dst: (VRSRAsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7014             : /* 14536*/        /*SwitchType*/ 21, MVT::v4i32,// ->14559
    7015             : /* 14538*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7016             : /* 14540*/          OPC_EmitConvertToTarget, 1,
    7017             : /* 14542*/          OPC_EmitInteger, MVT::i32, 14, 
    7018             : /* 14545*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7019             : /* 14548*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i32), 0,
    7020             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7021             :                     // Src: (add:{ *:[v4i32] } (NEONvrshrs:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    7022             :                     // Dst: (VRSRAsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7023             : /* 14559*/        /*SwitchType*/ 21, MVT::v2i64,// ->14582
    7024             : /* 14561*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7025             : /* 14563*/          OPC_EmitConvertToTarget, 1,
    7026             : /* 14565*/          OPC_EmitInteger, MVT::i32, 14, 
    7027             : /* 14568*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7028             : /* 14571*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i64), 0,
    7029             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7030             :                     // Src: (add:{ *:[v2i64] } (NEONvrshrs:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    7031             :                     // Dst: (VRSRAsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7032             : /* 14582*/        0, // EndSwitchType
    7033             : /* 14583*/      /*SwitchOpcode*/ 67|128,1/*195*/, TARGET_VAL(ARMISD::VRSHRu),// ->14782
    7034             : /* 14587*/        OPC_RecordChild0, // #0 = $Vm
    7035             : /* 14588*/        OPC_RecordChild1, // #1 = $SIMM
    7036             : /* 14589*/        OPC_MoveChild1,
    7037             : /* 14590*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7038             : /* 14593*/        OPC_MoveParent,
    7039             : /* 14594*/        OPC_MoveParent,
    7040             : /* 14595*/        OPC_RecordChild1, // #2 = $src1
    7041             : /* 14596*/        OPC_SwitchType /*8 cases */, 21, MVT::v8i8,// ->14620
    7042             : /* 14599*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7043             : /* 14601*/          OPC_EmitConvertToTarget, 1,
    7044             : /* 14603*/          OPC_EmitInteger, MVT::i32, 14, 
    7045             : /* 14606*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7046             : /* 14609*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i8), 0,
    7047             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7048             :                     // Src: (add:{ *:[v8i8] } (NEONvrshru:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v8i8] }:$src1) - Complexity = 9
    7049             :                     // Dst: (VRSRAuv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7050             : /* 14620*/        /*SwitchType*/ 21, MVT::v4i16,// ->14643
    7051             : /* 14622*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7052             : /* 14624*/          OPC_EmitConvertToTarget, 1,
    7053             : /* 14626*/          OPC_EmitInteger, MVT::i32, 14, 
    7054             : /* 14629*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7055             : /* 14632*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i16), 0,
    7056             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7057             :                     // Src: (add:{ *:[v4i16] } (NEONvrshru:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v4i16] }:$src1) - Complexity = 9
    7058             :                     // Dst: (VRSRAuv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7059             : /* 14643*/        /*SwitchType*/ 21, MVT::v2i32,// ->14666
    7060             : /* 14645*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7061             : /* 14647*/          OPC_EmitConvertToTarget, 1,
    7062             : /* 14649*/          OPC_EmitInteger, MVT::i32, 14, 
    7063             : /* 14652*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7064             : /* 14655*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i32), 0,
    7065             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7066             :                     // Src: (add:{ *:[v2i32] } (NEONvrshru:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v2i32] }:$src1) - Complexity = 9
    7067             :                     // Dst: (VRSRAuv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7068             : /* 14666*/        /*SwitchType*/ 21, MVT::v1i64,// ->14689
    7069             : /* 14668*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7070             : /* 14670*/          OPC_EmitConvertToTarget, 1,
    7071             : /* 14672*/          OPC_EmitInteger, MVT::i32, 14, 
    7072             : /* 14675*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7073             : /* 14678*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv1i64), 0,
    7074             :                         MVT::v1i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7075             :                     // Src: (add:{ *:[v1i64] } (NEONvrshru:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), DPR:{ *:[v1i64] }:$src1) - Complexity = 9
    7076             :                     // Dst: (VRSRAuv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$src1, DPR:{ *:[v1i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7077             : /* 14689*/        /*SwitchType*/ 21, MVT::v16i8,// ->14712
    7078             : /* 14691*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7079             : /* 14693*/          OPC_EmitConvertToTarget, 1,
    7080             : /* 14695*/          OPC_EmitInteger, MVT::i32, 14, 
    7081             : /* 14698*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7082             : /* 14701*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv16i8), 0,
    7083             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7084             :                     // Src: (add:{ *:[v16i8] } (NEONvrshru:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v16i8] }:$src1) - Complexity = 9
    7085             :                     // Dst: (VRSRAuv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7086             : /* 14712*/        /*SwitchType*/ 21, MVT::v8i16,// ->14735
    7087             : /* 14714*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7088             : /* 14716*/          OPC_EmitConvertToTarget, 1,
    7089             : /* 14718*/          OPC_EmitInteger, MVT::i32, 14, 
    7090             : /* 14721*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7091             : /* 14724*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i16), 0,
    7092             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7093             :                     // Src: (add:{ *:[v8i16] } (NEONvrshru:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v8i16] }:$src1) - Complexity = 9
    7094             :                     // Dst: (VRSRAuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7095             : /* 14735*/        /*SwitchType*/ 21, MVT::v4i32,// ->14758
    7096             : /* 14737*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7097             : /* 14739*/          OPC_EmitConvertToTarget, 1,
    7098             : /* 14741*/          OPC_EmitInteger, MVT::i32, 14, 
    7099             : /* 14744*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7100             : /* 14747*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i32), 0,
    7101             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7102             :                     // Src: (add:{ *:[v4i32] } (NEONvrshru:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v4i32] }:$src1) - Complexity = 9
    7103             :                     // Dst: (VRSRAuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7104             : /* 14758*/        /*SwitchType*/ 21, MVT::v2i64,// ->14781
    7105             : /* 14760*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7106             : /* 14762*/          OPC_EmitConvertToTarget, 1,
    7107             : /* 14764*/          OPC_EmitInteger, MVT::i32, 14, 
    7108             : /* 14767*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7109             : /* 14770*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i64), 0,
    7110             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 3, 4, 5, 
    7111             :                     // Src: (add:{ *:[v2i64] } (NEONvrshru:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM), QPR:{ *:[v2i64] }:$src1) - Complexity = 9
    7112             :                     // Dst: (VRSRAuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, QPR:{ *:[v2i64] }:$Vm, (imm:{ *:[i32] }):$SIMM)
    7113             : /* 14781*/        0, // EndSwitchType
    7114             : /* 14782*/      0, // EndSwitchOpcode
    7115             : /* 14783*/    /*Scope*/ 57|128,3/*441*/, /*->15226*/
    7116             : /* 14785*/      OPC_RecordChild0, // #0 = $Vn
    7117             : /* 14786*/      OPC_MoveChild1,
    7118             : /* 14787*/      OPC_SwitchOpcode /*5 cases */, 64, TARGET_VAL(ISD::SIGN_EXTEND),// ->14855
    7119             : /* 14791*/        OPC_RecordChild0, // #1 = $Vm
    7120             : /* 14792*/        OPC_MoveParent,
    7121             : /* 14793*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->14814
    7122             : /* 14796*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7123             : /* 14798*/          OPC_EmitInteger, MVT::i32, 14, 
    7124             : /* 14801*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7125             : /* 14804*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv8i16), 0,
    7126             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7127             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7128             :                     // Dst: (VADDWsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7129             : /* 14814*/        /*SwitchType*/ 18, MVT::v4i32,// ->14834
    7130             : /* 14816*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7131             : /* 14818*/          OPC_EmitInteger, MVT::i32, 14, 
    7132             : /* 14821*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7133             : /* 14824*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv4i32), 0,
    7134             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7135             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7136             :                     // Dst: (VADDWsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7137             : /* 14834*/        /*SwitchType*/ 18, MVT::v2i64,// ->14854
    7138             : /* 14836*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7139             : /* 14838*/          OPC_EmitInteger, MVT::i32, 14, 
    7140             : /* 14841*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7141             : /* 14844*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv2i64), 0,
    7142             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7143             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7144             :                     // Dst: (VADDWsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7145             : /* 14854*/        0, // EndSwitchType
    7146             : /* 14855*/      /*SwitchOpcode*/ 64, TARGET_VAL(ISD::ZERO_EXTEND),// ->14922
    7147             : /* 14858*/        OPC_RecordChild0, // #1 = $Vm
    7148             : /* 14859*/        OPC_MoveParent,
    7149             : /* 14860*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->14881
    7150             : /* 14863*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7151             : /* 14865*/          OPC_EmitInteger, MVT::i32, 14, 
    7152             : /* 14868*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7153             : /* 14871*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
    7154             :                         MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7155             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7156             :                     // Dst: (VADDWuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7157             : /* 14881*/        /*SwitchType*/ 18, MVT::v4i32,// ->14901
    7158             : /* 14883*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7159             : /* 14885*/          OPC_EmitInteger, MVT::i32, 14, 
    7160             : /* 14888*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7161             : /* 14891*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
    7162             :                         MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7163             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7164             :                     // Dst: (VADDWuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7165             : /* 14901*/        /*SwitchType*/ 18, MVT::v2i64,// ->14921
    7166             : /* 14903*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7167             : /* 14905*/          OPC_EmitInteger, MVT::i32, 14, 
    7168             : /* 14908*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7169             : /* 14911*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
    7170             :                         MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7171             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7172             :                     // Dst: (VADDWuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7173             : /* 14921*/        0, // EndSwitchType
    7174             : /* 14922*/      /*SwitchOpcode*/ 3|128,1/*131*/, TARGET_VAL(ISD::MUL),// ->15057
    7175             : /* 14926*/        OPC_RecordChild0, // #1 = $Vn
    7176             : /* 14927*/        OPC_RecordChild1, // #2 = $Vm
    7177             : /* 14928*/        OPC_MoveParent,
    7178             : /* 14929*/        OPC_SwitchType /*6 cases */, 19, MVT::v8i8,// ->14951
    7179             : /* 14932*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7180             : /* 14934*/          OPC_EmitInteger, MVT::i32, 14, 
    7181             : /* 14937*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7182             : /* 14940*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i8), 0,
    7183             :                         MVT::v8i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7184             :                     // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, (mul:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7185             :                     // Dst: (VMLAv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7186             : /* 14951*/        /*SwitchType*/ 19, MVT::v4i16,// ->14972
    7187             : /* 14953*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7188             : /* 14955*/          OPC_EmitInteger, MVT::i32, 14, 
    7189             : /* 14958*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7190             : /* 14961*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i16), 0,
    7191             :                         MVT::v4i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7192             :                     // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7193             :                     // Dst: (VMLAv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7194             : /* 14972*/        /*SwitchType*/ 19, MVT::v2i32,// ->14993
    7195             : /* 14974*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7196             : /* 14976*/          OPC_EmitInteger, MVT::i32, 14, 
    7197             : /* 14979*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7198             : /* 14982*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv2i32), 0,
    7199             :                         MVT::v2i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7200             :                     // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7201             :                     // Dst: (VMLAv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7202             : /* 14993*/        /*SwitchType*/ 19, MVT::v16i8,// ->15014
    7203             : /* 14995*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7204             : /* 14997*/          OPC_EmitInteger, MVT::i32, 14, 
    7205             : /* 15000*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7206             : /* 15003*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv16i8), 0,
    7207             :                         MVT::v16i8, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7208             :                     // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, (mul:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)) - Complexity = 6
    7209             :                     // Dst: (VMLAv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    7210             : /* 15014*/        /*SwitchType*/ 19, MVT::v8i16,// ->15035
    7211             : /* 15016*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7212             : /* 15018*/          OPC_EmitInteger, MVT::i32, 14, 
    7213             : /* 15021*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7214             : /* 15024*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i16), 0,
    7215             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7216             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)) - Complexity = 6
    7217             :                     // Dst: (VMLAv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    7218             : /* 15035*/        /*SwitchType*/ 19, MVT::v4i32,// ->15056
    7219             : /* 15037*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7220             : /* 15039*/          OPC_EmitInteger, MVT::i32, 14, 
    7221             : /* 15042*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7222             : /* 15045*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i32), 0,
    7223             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7224             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)) - Complexity = 6
    7225             :                     // Dst: (VMLAv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    7226             : /* 15056*/        0, // EndSwitchType
    7227             : /* 15057*/      /*SwitchOpcode*/ 81, TARGET_VAL(ARMISD::VMULLs),// ->15141
    7228             : /* 15060*/        OPC_RecordChild0, // #1 = $Vn
    7229             : /* 15061*/        OPC_Scope, 25, /*->15088*/ // 3 children in Scope
    7230             : /* 15063*/          OPC_CheckChild0Type, MVT::v8i8,
    7231             : /* 15065*/          OPC_RecordChild1, // #2 = $Vm
    7232             : /* 15066*/          OPC_MoveParent,
    7233             : /* 15067*/          OPC_CheckType, MVT::v8i16,
    7234             : /* 15069*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7235             : /* 15071*/          OPC_EmitInteger, MVT::i32, 14, 
    7236             : /* 15074*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7237             : /* 15077*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv8i16), 0,
    7238             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7239             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvmulls:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7240             :                     // Dst: (VMLALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7241             : /* 15088*/        /*Scope*/ 25, /*->15114*/
    7242             : /* 15089*/          OPC_CheckChild0Type, MVT::v4i16,
    7243             : /* 15091*/          OPC_RecordChild1, // #2 = $Vm
    7244             : /* 15092*/          OPC_MoveParent,
    7245             : /* 15093*/          OPC_CheckType, MVT::v4i32,
    7246             : /* 15095*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7247             : /* 15097*/          OPC_EmitInteger, MVT::i32, 14, 
    7248             : /* 15100*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7249             : /* 15103*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv4i32), 0,
    7250             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7251             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7252             :                     // Dst: (VMLALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7253             : /* 15114*/        /*Scope*/ 25, /*->15140*/
    7254             : /* 15115*/          OPC_CheckChild0Type, MVT::v2i32,
    7255             : /* 15117*/          OPC_RecordChild1, // #2 = $Vm
    7256             : /* 15118*/          OPC_MoveParent,
    7257             : /* 15119*/          OPC_CheckType, MVT::v2i64,
    7258             : /* 15121*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7259             : /* 15123*/          OPC_EmitInteger, MVT::i32, 14, 
    7260             : /* 15126*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7261             : /* 15129*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv2i64), 0,
    7262             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7263             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7264             :                     // Dst: (VMLALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7265             : /* 15140*/        0, /*End of Scope*/
    7266             : /* 15141*/      /*SwitchOpcode*/ 81, TARGET_VAL(ARMISD::VMULLu),// ->15225
    7267             : /* 15144*/        OPC_RecordChild0, // #1 = $Vn
    7268             : /* 15145*/        OPC_Scope, 25, /*->15172*/ // 3 children in Scope
    7269             : /* 15147*/          OPC_CheckChild0Type, MVT::v8i8,
    7270             : /* 15149*/          OPC_RecordChild1, // #2 = $Vm
    7271             : /* 15150*/          OPC_MoveParent,
    7272             : /* 15151*/          OPC_CheckType, MVT::v8i16,
    7273             : /* 15153*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7274             : /* 15155*/          OPC_EmitInteger, MVT::i32, 14, 
    7275             : /* 15158*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7276             : /* 15161*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv8i16), 0,
    7277             :                         MVT::v8i16, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7278             :                     // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, (NEONvmullu:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)) - Complexity = 6
    7279             :                     // Dst: (VMLALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7280             : /* 15172*/        /*Scope*/ 25, /*->15198*/
    7281             : /* 15173*/          OPC_CheckChild0Type, MVT::v4i16,
    7282             : /* 15175*/          OPC_RecordChild1, // #2 = $Vm
    7283             : /* 15176*/          OPC_MoveParent,
    7284             : /* 15177*/          OPC_CheckType, MVT::v4i32,
    7285             : /* 15179*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7286             : /* 15181*/          OPC_EmitInteger, MVT::i32, 14, 
    7287             : /* 15184*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7288             : /* 15187*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv4i32), 0,
    7289             :                         MVT::v4i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7290             :                     // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)) - Complexity = 6
    7291             :                     // Dst: (VMLALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7292             : /* 15198*/        /*Scope*/ 25, /*->15224*/
    7293             : /* 15199*/          OPC_CheckChild0Type, MVT::v2i32,
    7294             : /* 15201*/          OPC_RecordChild1, // #2 = $Vm
    7295             : /* 15202*/          OPC_MoveParent,
    7296             : /* 15203*/          OPC_CheckType, MVT::v2i64,
    7297             : /* 15205*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7298             : /* 15207*/          OPC_EmitInteger, MVT::i32, 14, 
    7299             : /* 15210*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7300             : /* 15213*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv2i64), 0,
    7301             :                         MVT::v2i64, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    7302             :                     // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)) - Complexity = 6
    7303             :                     // Dst: (VMLALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7304             : /* 15224*/        0, /*End of Scope*/
    7305             : /* 15225*/      0, // EndSwitchOpcode
    7306             : /* 15226*/    /*Scope*/ 65|128,3/*449*/, /*->15677*/
    7307             : /* 15228*/      OPC_MoveChild0,
    7308             : /* 15229*/      OPC_SwitchOpcode /*5 cases */, 65, TARGET_VAL(ISD::SIGN_EXTEND),// ->15298
    7309             : /* 15233*/        OPC_RecordChild0, // #0 = $Vm
    7310             : /* 15234*/        OPC_MoveParent,
    7311             : /* 15235*/        OPC_RecordChild1, // #1 = $Vn
    7312             : /* 15236*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->15257
    7313             : /* 15239*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7314             : /* 15241*/          OPC_EmitInteger, MVT::i32, 14, 
    7315             : /* 15244*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7316             : /* 15247*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv8i16), 0,
    7317             :                         MVT::v8i16, 4/*#Ops*/, 1, 0, 2, 3, 
    7318             :                     // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$Vn) - Complexity = 6
    7319             :                     // Dst: (VADDWsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7320             : /* 15257*/        /*SwitchType*/ 18, MVT::v4i32,// ->15277
    7321             : /* 15259*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7322             : /* 15261*/          OPC_EmitInteger, MVT::i32, 14, 
    7323             : /* 15264*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7324             : /* 15267*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv4i32), 0,
    7325             :                         MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    7326             :                     // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 6
    7327             :                     // Dst: (VADDWsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7328             : /* 15277*/        /*SwitchType*/ 18, MVT::v2i64,// ->15297
    7329             : /* 15279*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7330             : /* 15281*/          OPC_EmitInteger, MVT::i32, 14, 
    7331             : /* 15284*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7332             : /* 15287*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv2i64), 0,
    7333             :                         MVT::v2i64, 4/*#Ops*/, 1, 0, 2, 3, 
    7334             :                     // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$Vn) - Complexity = 6
    7335             :                     // Dst: (VADDWsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7336             : /* 15297*/        0, // EndSwitchType
    7337             : /* 15298*/      /*SwitchOpcode*/ 65, TARGET_VAL(ISD::ZERO_EXTEND),// ->15366
    7338             : /* 15301*/        OPC_RecordChild0, // #0 = $Vm
    7339             : /* 15302*/        OPC_MoveParent,
    7340             : /* 15303*/        OPC_RecordChild1, // #1 = $Vn
    7341             : /* 15304*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i16,// ->15325
    7342             : /* 15307*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7343             : /* 15309*/          OPC_EmitInteger, MVT::i32, 14, 
    7344             : /* 15312*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7345             : /* 15315*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
    7346             :                         MVT::v8i16, 4/*#Ops*/, 1, 0, 2, 3, 
    7347             :                     // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$Vn) - Complexity = 6
    7348             :                     // Dst: (VADDWuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7349             : /* 15325*/        /*SwitchType*/ 18, MVT::v4i32,// ->15345
    7350             : /* 15327*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7351             : /* 15329*/          OPC_EmitInteger, MVT::i32, 14, 
    7352             : /* 15332*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7353             : /* 15335*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
    7354             :                         MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    7355             :                     // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 6
    7356             :                     // Dst: (VADDWuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7357             : /* 15345*/        /*SwitchType*/ 18, MVT::v2i64,// ->15365
    7358             : /* 15347*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7359             : /* 15349*/          OPC_EmitInteger, MVT::i32, 14, 
    7360             : /* 15352*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7361             : /* 15355*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
    7362             :                         MVT::v2i64, 4/*#Ops*/, 1, 0, 2, 3, 
    7363             :                     // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$Vn) - Complexity = 6
    7364             :                     // Dst: (VADDWuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7365             : /* 15365*/        0, // EndSwitchType
    7366             : /* 15366*/      /*SwitchOpcode*/ 4|128,1/*132*/, TARGET_VAL(ISD::MUL),// ->15502
    7367             : /* 15370*/        OPC_RecordChild0, // #0 = $Vn
    7368             : /* 15371*/        OPC_RecordChild1, // #1 = $Vm
    7369             : /* 15372*/        OPC_MoveParent,
    7370             : /* 15373*/        OPC_RecordChild1, // #2 = $src1
    7371             : /* 15374*/        OPC_SwitchType /*6 cases */, 19, MVT::v8i8,// ->15396
    7372             : /* 15377*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7373             : /* 15379*/          OPC_EmitInteger, MVT::i32, 14, 
    7374             : /* 15382*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7375             : /* 15385*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i8), 0,
    7376             :                         MVT::v8i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7377             :                     // Src: (add:{ *:[v8i8] } (mul:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), DPR:{ *:[v8i8] }:$src1) - Complexity = 6
    7378             :                     // Dst: (VMLAv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7379             : /* 15396*/        /*SwitchType*/ 19, MVT::v4i16,// ->15417
    7380             : /* 15398*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7381             : /* 15400*/          OPC_EmitInteger, MVT::i32, 14, 
    7382             : /* 15403*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7383             : /* 15406*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i16), 0,
    7384             :                         MVT::v4i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7385             :                     // Src: (add:{ *:[v4i16] } (mul:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), DPR:{ *:[v4i16] }:$src1) - Complexity = 6
    7386             :                     // Dst: (VMLAv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7387             : /* 15417*/        /*SwitchType*/ 19, MVT::v2i32,// ->15438
    7388             : /* 15419*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7389             : /* 15421*/          OPC_EmitInteger, MVT::i32, 14, 
    7390             : /* 15424*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7391             : /* 15427*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv2i32), 0,
    7392             :                         MVT::v2i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7393             :                     // Src: (add:{ *:[v2i32] } (mul:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$src1) - Complexity = 6
    7394             :                     // Dst: (VMLAv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7395             : /* 15438*/        /*SwitchType*/ 19, MVT::v16i8,// ->15459
    7396             : /* 15440*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7397             : /* 15442*/          OPC_EmitInteger, MVT::i32, 14, 
    7398             : /* 15445*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7399             : /* 15448*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv16i8), 0,
    7400             :                         MVT::v16i8, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7401             :                     // Src: (add:{ *:[v16i8] } (mul:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm), QPR:{ *:[v16i8] }:$src1) - Complexity = 6
    7402             :                     // Dst: (VMLAv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$src1, QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    7403             : /* 15459*/        /*SwitchType*/ 19, MVT::v8i16,// ->15480
    7404             : /* 15461*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7405             : /* 15463*/          OPC_EmitInteger, MVT::i32, 14, 
    7406             : /* 15466*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7407             : /* 15469*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i16), 0,
    7408             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7409             :                     // Src: (add:{ *:[v8i16] } (mul:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 6
    7410             :                     // Dst: (VMLAv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    7411             : /* 15480*/        /*SwitchType*/ 19, MVT::v4i32,// ->15501
    7412             : /* 15482*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7413             : /* 15484*/          OPC_EmitInteger, MVT::i32, 14, 
    7414             : /* 15487*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7415             : /* 15490*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i32), 0,
    7416             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7417             :                     // Src: (add:{ *:[v4i32] } (mul:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 6
    7418             :                     // Dst: (VMLAv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    7419             : /* 15501*/        0, // EndSwitchType
    7420             : /* 15502*/      /*SwitchOpcode*/ 84, TARGET_VAL(ARMISD::VMULLs),// ->15589
    7421             : /* 15505*/        OPC_RecordChild0, // #0 = $Vn
    7422             : /* 15506*/        OPC_Scope, 26, /*->15534*/ // 3 children in Scope
    7423             : /* 15508*/          OPC_CheckChild0Type, MVT::v8i8,
    7424             : /* 15510*/          OPC_RecordChild1, // #1 = $Vm
    7425             : /* 15511*/          OPC_MoveParent,
    7426             : /* 15512*/          OPC_RecordChild1, // #2 = $src1
    7427             : /* 15513*/          OPC_CheckType, MVT::v8i16,
    7428             : /* 15515*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7429             : /* 15517*/          OPC_EmitInteger, MVT::i32, 14, 
    7430             : /* 15520*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7431             : /* 15523*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv8i16), 0,
    7432             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7433             :                     // Src: (add:{ *:[v8i16] } (NEONvmulls:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 6
    7434             :                     // Dst: (VMLALsv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7435             : /* 15534*/        /*Scope*/ 26, /*->15561*/
    7436             : /* 15535*/          OPC_CheckChild0Type, MVT::v4i16,
    7437             : /* 15537*/          OPC_RecordChild1, // #1 = $Vm
    7438             : /* 15538*/          OPC_MoveParent,
    7439             : /* 15539*/          OPC_RecordChild1, // #2 = $src1
    7440             : /* 15540*/          OPC_CheckType, MVT::v4i32,
    7441             : /* 15542*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7442             : /* 15544*/          OPC_EmitInteger, MVT::i32, 14, 
    7443             : /* 15547*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7444             : /* 15550*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv4i32), 0,
    7445             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7446             :                     // Src: (add:{ *:[v4i32] } (NEONvmulls:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 6
    7447             :                     // Dst: (VMLALsv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7448             : /* 15561*/        /*Scope*/ 26, /*->15588*/
    7449             : /* 15562*/          OPC_CheckChild0Type, MVT::v2i32,
    7450             : /* 15564*/          OPC_RecordChild1, // #1 = $Vm
    7451             : /* 15565*/          OPC_MoveParent,
    7452             : /* 15566*/          OPC_RecordChild1, // #2 = $src1
    7453             : /* 15567*/          OPC_CheckType, MVT::v2i64,
    7454             : /* 15569*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7455             : /* 15571*/          OPC_EmitInteger, MVT::i32, 14, 
    7456             : /* 15574*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7457             : /* 15577*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv2i64), 0,
    7458             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7459             :                     // Src: (add:{ *:[v2i64] } (NEONvmulls:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$src1) - Complexity = 6
    7460             :                     // Dst: (VMLALsv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7461             : /* 15588*/        0, /*End of Scope*/
    7462             : /* 15589*/      /*SwitchOpcode*/ 84, TARGET_VAL(ARMISD::VMULLu),// ->15676
    7463             : /* 15592*/        OPC_RecordChild0, // #0 = $Vn
    7464             : /* 15593*/        OPC_Scope, 26, /*->15621*/ // 3 children in Scope
    7465             : /* 15595*/          OPC_CheckChild0Type, MVT::v8i8,
    7466             : /* 15597*/          OPC_RecordChild1, // #1 = $Vm
    7467             : /* 15598*/          OPC_MoveParent,
    7468             : /* 15599*/          OPC_RecordChild1, // #2 = $src1
    7469             : /* 15600*/          OPC_CheckType, MVT::v8i16,
    7470             : /* 15602*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7471             : /* 15604*/          OPC_EmitInteger, MVT::i32, 14, 
    7472             : /* 15607*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7473             : /* 15610*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv8i16), 0,
    7474             :                         MVT::v8i16, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7475             :                     // Src: (add:{ *:[v8i16] } (NEONvmullu:{ *:[v8i16] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm), QPR:{ *:[v8i16] }:$src1) - Complexity = 6
    7476             :                     // Dst: (VMLALuv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$src1, DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7477             : /* 15621*/        /*Scope*/ 26, /*->15648*/
    7478             : /* 15622*/          OPC_CheckChild0Type, MVT::v4i16,
    7479             : /* 15624*/          OPC_RecordChild1, // #1 = $Vm
    7480             : /* 15625*/          OPC_MoveParent,
    7481             : /* 15626*/          OPC_RecordChild1, // #2 = $src1
    7482             : /* 15627*/          OPC_CheckType, MVT::v4i32,
    7483             : /* 15629*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7484             : /* 15631*/          OPC_EmitInteger, MVT::i32, 14, 
    7485             : /* 15634*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7486             : /* 15637*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv4i32), 0,
    7487             :                         MVT::v4i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7488             :                     // Src: (add:{ *:[v4i32] } (NEONvmullu:{ *:[v4i32] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm), QPR:{ *:[v4i32] }:$src1) - Complexity = 6
    7489             :                     // Dst: (VMLALuv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$src1, DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7490             : /* 15648*/        /*Scope*/ 26, /*->15675*/
    7491             : /* 15649*/          OPC_CheckChild0Type, MVT::v2i32,
    7492             : /* 15651*/          OPC_RecordChild1, // #1 = $Vm
    7493             : /* 15652*/          OPC_MoveParent,
    7494             : /* 15653*/          OPC_RecordChild1, // #2 = $src1
    7495             : /* 15654*/          OPC_CheckType, MVT::v2i64,
    7496             : /* 15656*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7497             : /* 15658*/          OPC_EmitInteger, MVT::i32, 14, 
    7498             : /* 15661*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7499             : /* 15664*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv2i64), 0,
    7500             :                         MVT::v2i64, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    7501             :                     // Src: (add:{ *:[v2i64] } (NEONvmullu:{ *:[v2i64] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm), QPR:{ *:[v2i64] }:$src1) - Complexity = 6
    7502             :                     // Dst: (VMLALuv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$src1, DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7503             : /* 15675*/        0, /*End of Scope*/
    7504             : /* 15676*/      0, // EndSwitchOpcode
    7505             : /* 15677*/    /*Scope*/ 36|128,1/*164*/, /*->15843*/
    7506             : /* 15679*/      OPC_RecordChild0, // #0 = $Vn
    7507             : /* 15680*/      OPC_RecordChild1, // #1 = $Vm
    7508             : /* 15681*/      OPC_SwitchType /*8 cases */, 18, MVT::v8i8,// ->15702
    7509             : /* 15684*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7510             : /* 15686*/        OPC_EmitInteger, MVT::i32, 14, 
    7511             : /* 15689*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7512             : /* 15692*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv8i8), 0,
    7513             :                       MVT::v8i8, 4/*#Ops*/, 0, 1, 2, 3, 
    7514             :                   // Src: (add:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm) - Complexity = 3
    7515             :                   // Dst: (VADDv8i8:{ *:[v8i8] } DPR:{ *:[v8i8] }:$Vn, DPR:{ *:[v8i8] }:$Vm)
    7516             : /* 15702*/      /*SwitchType*/ 18, MVT::v4i16,// ->15722
    7517             : /* 15704*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7518             : /* 15706*/        OPC_EmitInteger, MVT::i32, 14, 
    7519             : /* 15709*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7520             : /* 15712*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv4i16), 0,
    7521             :                       MVT::v4i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7522             :                   // Src: (add:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm) - Complexity = 3
    7523             :                   // Dst: (VADDv4i16:{ *:[v4i16] } DPR:{ *:[v4i16] }:$Vn, DPR:{ *:[v4i16] }:$Vm)
    7524             : /* 15722*/      /*SwitchType*/ 18, MVT::v2i32,// ->15742
    7525             : /* 15724*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7526             : /* 15726*/        OPC_EmitInteger, MVT::i32, 14, 
    7527             : /* 15729*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7528             : /* 15732*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv2i32), 0,
    7529             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7530             :                   // Src: (add:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm) - Complexity = 3
    7531             :                   // Dst: (VADDv2i32:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    7532             : /* 15742*/      /*SwitchType*/ 18, MVT::v16i8,// ->15762
    7533             : /* 15744*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7534             : /* 15746*/        OPC_EmitInteger, MVT::i32, 14, 
    7535             : /* 15749*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7536             : /* 15752*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv16i8), 0,
    7537             :                       MVT::v16i8, 4/*#Ops*/, 0, 1, 2, 3, 
    7538             :                   // Src: (add:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm) - Complexity = 3
    7539             :                   // Dst: (VADDv16i8:{ *:[v16i8] } QPR:{ *:[v16i8] }:$Vn, QPR:{ *:[v16i8] }:$Vm)
    7540             : /* 15762*/      /*SwitchType*/ 18, MVT::v8i16,// ->15782
    7541             : /* 15764*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7542             : /* 15766*/        OPC_EmitInteger, MVT::i32, 14, 
    7543             : /* 15769*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7544             : /* 15772*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv8i16), 0,
    7545             :                       MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 3, 
    7546             :                   // Src: (add:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm) - Complexity = 3
    7547             :                   // Dst: (VADDv8i16:{ *:[v8i16] } QPR:{ *:[v8i16] }:$Vn, QPR:{ *:[v8i16] }:$Vm)
    7548             : /* 15782*/      /*SwitchType*/ 18, MVT::v4i32,// ->15802
    7549             : /* 15784*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7550             : /* 15786*/        OPC_EmitInteger, MVT::i32, 14, 
    7551             : /* 15789*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7552             : /* 15792*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv4i32), 0,
    7553             :                       MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7554             :                   // Src: (add:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm) - Complexity = 3
    7555             :                   // Dst: (VADDv4i32:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    7556             : /* 15802*/      /*SwitchType*/ 18, MVT::v1i64,// ->15822
    7557             : /* 15804*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7558             : /* 15806*/        OPC_EmitInteger, MVT::i32, 14, 
    7559             : /* 15809*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7560             : /* 15812*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv1i64), 0,
    7561             :                       MVT::v1i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7562             :                   // Src: (add:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm) - Complexity = 3
    7563             :                   // Dst: (VADDv1i64:{ *:[v1i64] } DPR:{ *:[v1i64] }:$Vn, DPR:{ *:[v1i64] }:$Vm)
    7564             : /* 15822*/      /*SwitchType*/ 18, MVT::v2i64,// ->15842
    7565             : /* 15824*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    7566             : /* 15826*/        OPC_EmitInteger, MVT::i32, 14, 
    7567             : /* 15829*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7568             : /* 15832*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv2i64), 0,
    7569             :                       MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 3, 
    7570             :                   // Src: (add:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm) - Complexity = 3
    7571             :                   // Dst: (VADDv2i64:{ *:[v2i64] } QPR:{ *:[v2i64] }:$Vn, QPR:{ *:[v2i64] }:$Vm)
    7572             : /* 15842*/      0, // EndSwitchType
    7573             : /* 15843*/    0, /*End of Scope*/
    7574             : /* 15844*/  /*SwitchOpcode*/ 37|128,19/*2469*/, TARGET_VAL(ISD::AND),// ->18317
    7575             : /* 15848*/    OPC_Scope, 63, /*->15913*/ // 35 children in Scope
    7576             : /* 15850*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7577             : /* 15855*/      OPC_MoveChild0,
    7578             : /* 15856*/      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7579             : /* 15859*/      OPC_RecordChild0, // #0 = $Src
    7580             : /* 15860*/      OPC_CheckChild1Integer, 8, 
    7581             : /* 15862*/      OPC_CheckChild1Type, MVT::i32,
    7582             : /* 15864*/      OPC_MoveParent,
    7583             : /* 15865*/      OPC_CheckType, MVT::i32,
    7584             : /* 15867*/      OPC_Scope, 21, /*->15890*/ // 2 children in Scope
    7585             : /* 15869*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7586             : /* 15871*/        OPC_EmitInteger, MVT::i32, 1, 
    7587             : /* 15874*/        OPC_EmitInteger, MVT::i32, 14, 
    7588             : /* 15877*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7589             : /* 15880*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    7590             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7591             :                   // Src: (and:{ *:[i32] } (srl:{ *:[i32] } GPR:{ *:[i32] }:$Src, 8:{ *:[i32] }), 16711935:{ *:[i32] }) - Complexity = 32
    7592             :                   // Dst: (UXTB16:{ *:[i32] } GPR:{ *:[i32] }:$Src, 1:{ *:[i32] })
    7593             : /* 15890*/      /*Scope*/ 21, /*->15912*/
    7594             : /* 15891*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7595             : /* 15893*/        OPC_EmitInteger, MVT::i32, 1, 
    7596             : /* 15896*/        OPC_EmitInteger, MVT::i32, 14, 
    7597             : /* 15899*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7598             : /* 15902*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    7599             :                       MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7600             :                   // Src: (and:{ *:[i32] } (srl:{ *:[i32] } rGPR:{ *:[i32] }:$Src, 8:{ *:[i32] }), 16711935:{ *:[i32] }) - Complexity = 32
    7601             :                   // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Src, 1:{ *:[i32] })
    7602             : /* 15912*/      0, /*End of Scope*/
    7603             : /* 15913*/    /*Scope*/ 44, /*->15958*/
    7604             : /* 15914*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7605             : /* 15917*/      OPC_MoveChild0,
    7606             : /* 15918*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7607             : /* 15921*/      OPC_RecordChild0, // #0 = $Rm
    7608             : /* 15922*/      OPC_RecordChild1, // #1 = $rot
    7609             : /* 15923*/      OPC_MoveChild1,
    7610             : /* 15924*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7611             : /* 15927*/      OPC_CheckPredicate, 14, // Predicate_rot_imm
    7612             : /* 15929*/      OPC_CheckType, MVT::i32,
    7613             : /* 15931*/      OPC_MoveParent,
    7614             : /* 15932*/      OPC_MoveParent,
    7615             : /* 15933*/      OPC_CheckType, MVT::i32,
    7616             : /* 15935*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7617             : /* 15937*/      OPC_EmitConvertToTarget, 1,
    7618             : /* 15939*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7619             : /* 15942*/      OPC_EmitInteger, MVT::i32, 14, 
    7620             : /* 15945*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7621             : /* 15948*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB), 0,
    7622             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7623             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }) - Complexity = 31
    7624             :                 // Dst: (UXTB:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    7625             : /* 15958*/    /*Scope*/ 45, /*->16004*/
    7626             : /* 15959*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7627             : /* 15963*/      OPC_MoveChild0,
    7628             : /* 15964*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7629             : /* 15967*/      OPC_RecordChild0, // #0 = $Rm
    7630             : /* 15968*/      OPC_RecordChild1, // #1 = $rot
    7631             : /* 15969*/      OPC_MoveChild1,
    7632             : /* 15970*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7633             : /* 15973*/      OPC_CheckPredicate, 14, // Predicate_rot_imm
    7634             : /* 15975*/      OPC_CheckType, MVT::i32,
    7635             : /* 15977*/      OPC_MoveParent,
    7636             : /* 15978*/      OPC_MoveParent,
    7637             : /* 15979*/      OPC_CheckType, MVT::i32,
    7638             : /* 15981*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7639             : /* 15983*/      OPC_EmitConvertToTarget, 1,
    7640             : /* 15985*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7641             : /* 15988*/      OPC_EmitInteger, MVT::i32, 14, 
    7642             : /* 15991*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7643             : /* 15994*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTH), 0,
    7644             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7645             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] }) - Complexity = 31
    7646             :                 // Dst: (UXTH:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    7647             : /* 16004*/    /*Scope*/ 46, /*->16051*/
    7648             : /* 16005*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7649             : /* 16010*/      OPC_MoveChild0,
    7650             : /* 16011*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7651             : /* 16014*/      OPC_RecordChild0, // #0 = $Rm
    7652             : /* 16015*/      OPC_RecordChild1, // #1 = $rot
    7653             : /* 16016*/      OPC_MoveChild1,
    7654             : /* 16017*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7655             : /* 16020*/      OPC_CheckPredicate, 14, // Predicate_rot_imm
    7656             : /* 16022*/      OPC_CheckType, MVT::i32,
    7657             : /* 16024*/      OPC_MoveParent,
    7658             : /* 16025*/      OPC_MoveParent,
    7659             : /* 16026*/      OPC_CheckType, MVT::i32,
    7660             : /* 16028*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7661             : /* 16030*/      OPC_EmitConvertToTarget, 1,
    7662             : /* 16032*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7663             : /* 16035*/      OPC_EmitInteger, MVT::i32, 14, 
    7664             : /* 16038*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7665             : /* 16041*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    7666             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7667             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 16711935:{ *:[i32] }) - Complexity = 31
    7668             :                 // Dst: (UXTB16:{ *:[i32] } GPRnopc:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$rot))
    7669             : /* 16051*/    /*Scope*/ 44, /*->16096*/
    7670             : /* 16052*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7671             : /* 16055*/      OPC_MoveChild0,
    7672             : /* 16056*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7673             : /* 16059*/      OPC_RecordChild0, // #0 = $Rm
    7674             : /* 16060*/      OPC_RecordChild1, // #1 = $rot
    7675             : /* 16061*/      OPC_MoveChild1,
    7676             : /* 16062*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7677             : /* 16065*/      OPC_CheckPredicate, 14, // Predicate_rot_imm
    7678             : /* 16067*/      OPC_CheckType, MVT::i32,
    7679             : /* 16069*/      OPC_MoveParent,
    7680             : /* 16070*/      OPC_MoveParent,
    7681             : /* 16071*/      OPC_CheckType, MVT::i32,
    7682             : /* 16073*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7683             : /* 16075*/      OPC_EmitConvertToTarget, 1,
    7684             : /* 16077*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7685             : /* 16080*/      OPC_EmitInteger, MVT::i32, 14, 
    7686             : /* 16083*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7687             : /* 16086*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB), 0,
    7688             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7689             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 255:{ *:[i32] }) - Complexity = 31
    7690             :                 // Dst: (t2UXTB:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    7691             : /* 16096*/    /*Scope*/ 45, /*->16142*/
    7692             : /* 16097*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7693             : /* 16101*/      OPC_MoveChild0,
    7694             : /* 16102*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7695             : /* 16105*/      OPC_RecordChild0, // #0 = $Rm
    7696             : /* 16106*/      OPC_RecordChild1, // #1 = $rot
    7697             : /* 16107*/      OPC_MoveChild1,
    7698             : /* 16108*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7699             : /* 16111*/      OPC_CheckPredicate, 14, // Predicate_rot_imm
    7700             : /* 16113*/      OPC_CheckType, MVT::i32,
    7701             : /* 16115*/      OPC_MoveParent,
    7702             : /* 16116*/      OPC_MoveParent,
    7703             : /* 16117*/      OPC_CheckType, MVT::i32,
    7704             : /* 16119*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7705             : /* 16121*/      OPC_EmitConvertToTarget, 1,
    7706             : /* 16123*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7707             : /* 16126*/      OPC_EmitInteger, MVT::i32, 14, 
    7708             : /* 16129*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7709             : /* 16132*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTH), 0,
    7710             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7711             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 65535:{ *:[i32] }) - Complexity = 31
    7712             :                 // Dst: (t2UXTH:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    7713             : /* 16142*/    /*Scope*/ 46, /*->16189*/
    7714             : /* 16143*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7715             : /* 16148*/      OPC_MoveChild0,
    7716             : /* 16149*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    7717             : /* 16152*/      OPC_RecordChild0, // #0 = $Rm
    7718             : /* 16153*/      OPC_RecordChild1, // #1 = $rot
    7719             : /* 16154*/      OPC_MoveChild1,
    7720             : /* 16155*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7721             : /* 16158*/      OPC_CheckPredicate, 14, // Predicate_rot_imm
    7722             : /* 16160*/      OPC_CheckType, MVT::i32,
    7723             : /* 16162*/      OPC_MoveParent,
    7724             : /* 16163*/      OPC_MoveParent,
    7725             : /* 16164*/      OPC_CheckType, MVT::i32,
    7726             : /* 16166*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7727             : /* 16168*/      OPC_EmitConvertToTarget, 1,
    7728             : /* 16170*/      OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    7729             : /* 16173*/      OPC_EmitInteger, MVT::i32, 14, 
    7730             : /* 16176*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7731             : /* 16179*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    7732             :                     MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    7733             :                 // Src: (and:{ *:[i32] } (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot), 16711935:{ *:[i32] }) - Complexity = 31
    7734             :                 // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    7735             : /* 16189*/    /*Scope*/ 27, /*->16217*/
    7736             : /* 16190*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7737             : /* 16193*/      OPC_RecordChild0, // #0 = $Src
    7738             : /* 16194*/      OPC_CheckType, MVT::i32,
    7739             : /* 16196*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7740             : /* 16198*/      OPC_EmitInteger, MVT::i32, 0, 
    7741             : /* 16201*/      OPC_EmitInteger, MVT::i32, 14, 
    7742             : /* 16204*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7743             : /* 16207*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB), 0,
    7744             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7745             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Src, 255:{ *:[i32] }) - Complexity = 24
    7746             :                 // Dst: (UXTB:{ *:[i32] } GPR:{ *:[i32] }:$Src, 0:{ *:[i32] })
    7747             : /* 16217*/    /*Scope*/ 28, /*->16246*/
    7748             : /* 16218*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7749             : /* 16222*/      OPC_RecordChild0, // #0 = $Src
    7750             : /* 16223*/      OPC_CheckType, MVT::i32,
    7751             : /* 16225*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7752             : /* 16227*/      OPC_EmitInteger, MVT::i32, 0, 
    7753             : /* 16230*/      OPC_EmitInteger, MVT::i32, 14, 
    7754             : /* 16233*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7755             : /* 16236*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTH), 0,
    7756             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7757             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Src, 65535:{ *:[i32] }) - Complexity = 24
    7758             :                 // Dst: (UXTH:{ *:[i32] } GPR:{ *:[i32] }:$Src, 0:{ *:[i32] })
    7759             : /* 16246*/    /*Scope*/ 29, /*->16276*/
    7760             : /* 16247*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7761             : /* 16252*/      OPC_RecordChild0, // #0 = $Src
    7762             : /* 16253*/      OPC_CheckType, MVT::i32,
    7763             : /* 16255*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    7764             : /* 16257*/      OPC_EmitInteger, MVT::i32, 0, 
    7765             : /* 16260*/      OPC_EmitInteger, MVT::i32, 14, 
    7766             : /* 16263*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7767             : /* 16266*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    7768             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7769             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Src, 16711935:{ *:[i32] }) - Complexity = 24
    7770             :                 // Dst: (UXTB16:{ *:[i32] } GPR:{ *:[i32] }:$Src, 0:{ *:[i32] })
    7771             : /* 16276*/    /*Scope*/ 27, /*->16304*/
    7772             : /* 16277*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7773             : /* 16280*/      OPC_RecordChild0, // #0 = $Rm
    7774             : /* 16281*/      OPC_CheckType, MVT::i32,
    7775             : /* 16283*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7776             : /* 16285*/      OPC_EmitInteger, MVT::i32, 0, 
    7777             : /* 16288*/      OPC_EmitInteger, MVT::i32, 14, 
    7778             : /* 16291*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7779             : /* 16294*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB), 0,
    7780             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7781             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }) - Complexity = 24
    7782             :                 // Dst: (t2UXTB:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    7783             : /* 16304*/    /*Scope*/ 28, /*->16333*/
    7784             : /* 16305*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7785             : /* 16309*/      OPC_RecordChild0, // #0 = $Rm
    7786             : /* 16310*/      OPC_CheckType, MVT::i32,
    7787             : /* 16312*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7788             : /* 16314*/      OPC_EmitInteger, MVT::i32, 0, 
    7789             : /* 16317*/      OPC_EmitInteger, MVT::i32, 14, 
    7790             : /* 16320*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7791             : /* 16323*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTH), 0,
    7792             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7793             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }) - Complexity = 24
    7794             :                 // Dst: (t2UXTH:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    7795             : /* 16333*/    /*Scope*/ 29, /*->16363*/
    7796             : /* 16334*/      OPC_CheckAndImm, 127|128,1|128,124|128,7/*16711935*/, 
    7797             : /* 16339*/      OPC_RecordChild0, // #0 = $Rm
    7798             : /* 16340*/      OPC_CheckType, MVT::i32,
    7799             : /* 16342*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    7800             : /* 16344*/      OPC_EmitInteger, MVT::i32, 0, 
    7801             : /* 16347*/      OPC_EmitInteger, MVT::i32, 14, 
    7802             : /* 16350*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7803             : /* 16353*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    7804             :                     MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    7805             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 16711935:{ *:[i32] }) - Complexity = 24
    7806             :                 // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })
    7807             : /* 16363*/    /*Scope*/ 47, /*->16411*/
    7808             : /* 16364*/      OPC_RecordChild0, // #0 = $Rn
    7809             : /* 16365*/      OPC_MoveChild1,
    7810             : /* 16366*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7811             : /* 16369*/      OPC_RecordChild0, // #1 = $shift
    7812             : /* 16370*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7813             : /* 16381*/      OPC_MoveParent,
    7814             : /* 16382*/      OPC_CheckType, MVT::i32,
    7815             : /* 16384*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7816             : /* 16386*/      OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectRegShifterOperand:$shift #2 #3 #4
    7817             : /* 16389*/      OPC_EmitInteger, MVT::i32, 14, 
    7818             : /* 16392*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7819             : /* 16395*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7820             : /* 16398*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsr), 0,
    7821             :                     MVT::i32, 7/*#Ops*/, 0, 2, 3, 4, 5, 6, 7, 
    7822             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, -1:{ *:[i32] })) - Complexity = 23
    7823             :                 // Dst: (BICrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    7824             : /* 16411*/    /*Scope*/ 39, /*->16451*/
    7825             : /* 16412*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7826             : /* 16415*/      OPC_MoveChild0,
    7827             : /* 16416*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7828             : /* 16419*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7829             : /* 16420*/      OPC_CheckFoldableChainNode,
    7830             : /* 16421*/      OPC_CheckChild1Integer, 4|128,8/*1028*/, 
    7831             : /* 16424*/      OPC_RecordChild2, // #1 = $addr
    7832             : /* 16425*/      OPC_CheckChild2Type, MVT::i32,
    7833             : /* 16427*/      OPC_CheckPredicate, 24, // Predicate_ldrex_1
    7834             : /* 16429*/      OPC_MoveParent,
    7835             : /* 16430*/      OPC_CheckPatternPredicate, 5, // (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb())
    7836             : /* 16432*/      OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7837             : /* 16435*/      OPC_EmitMergeInputChains1_0,
    7838             : /* 16436*/      OPC_EmitInteger, MVT::i32, 14, 
    7839             : /* 16439*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7840             : /* 16442*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDREXB), 0|OPFL_Chain,
    7841             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7842             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1028:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldrex_1>>, 255:{ *:[i32] }) - Complexity = 23
    7843             :                 // Dst: (t2LDREXB:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7844             : /* 16451*/    /*Scope*/ 40, /*->16492*/
    7845             : /* 16452*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7846             : /* 16456*/      OPC_MoveChild0,
    7847             : /* 16457*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7848             : /* 16460*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7849             : /* 16461*/      OPC_CheckFoldableChainNode,
    7850             : /* 16462*/      OPC_CheckChild1Integer, 4|128,8/*1028*/, 
    7851             : /* 16465*/      OPC_RecordChild2, // #1 = $addr
    7852             : /* 16466*/      OPC_CheckChild2Type, MVT::i32,
    7853             : /* 16468*/      OPC_CheckPredicate, 25, // Predicate_ldrex_2
    7854             : /* 16470*/      OPC_MoveParent,
    7855             : /* 16471*/      OPC_CheckPatternPredicate, 5, // (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb())
    7856             : /* 16473*/      OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7857             : /* 16476*/      OPC_EmitMergeInputChains1_0,
    7858             : /* 16477*/      OPC_EmitInteger, MVT::i32, 14, 
    7859             : /* 16480*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7860             : /* 16483*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDREXH), 0|OPFL_Chain,
    7861             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7862             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1028:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldrex_2>>, 65535:{ *:[i32] }) - Complexity = 23
    7863             :                 // Dst: (t2LDREXH:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7864             : /* 16492*/    /*Scope*/ 39, /*->16532*/
    7865             : /* 16493*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7866             : /* 16496*/      OPC_MoveChild0,
    7867             : /* 16497*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7868             : /* 16500*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7869             : /* 16501*/      OPC_CheckFoldableChainNode,
    7870             : /* 16502*/      OPC_CheckChild1Integer, 126|128,7/*1022*/, 
    7871             : /* 16505*/      OPC_RecordChild2, // #1 = $addr
    7872             : /* 16506*/      OPC_CheckChild2Type, MVT::i32,
    7873             : /* 16508*/      OPC_CheckPredicate, 24, // Predicate_ldaex_1
    7874             : /* 16510*/      OPC_MoveParent,
    7875             : /* 16511*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (Subtarget->isThumb())
    7876             : /* 16513*/      OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7877             : /* 16516*/      OPC_EmitMergeInputChains1_0,
    7878             : /* 16517*/      OPC_EmitInteger, MVT::i32, 14, 
    7879             : /* 16520*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7880             : /* 16523*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAEXB), 0|OPFL_Chain,
    7881             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7882             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1022:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldaex_1>>, 255:{ *:[i32] }) - Complexity = 23
    7883             :                 // Dst: (t2LDAEXB:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7884             : /* 16532*/    /*Scope*/ 40, /*->16573*/
    7885             : /* 16533*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7886             : /* 16537*/      OPC_MoveChild0,
    7887             : /* 16538*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    7888             : /* 16541*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
    7889             : /* 16542*/      OPC_CheckFoldableChainNode,
    7890             : /* 16543*/      OPC_CheckChild1Integer, 126|128,7/*1022*/, 
    7891             : /* 16546*/      OPC_RecordChild2, // #1 = $addr
    7892             : /* 16547*/      OPC_CheckChild2Type, MVT::i32,
    7893             : /* 16549*/      OPC_CheckPredicate, 25, // Predicate_ldaex_2
    7894             : /* 16551*/      OPC_MoveParent,
    7895             : /* 16552*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (Subtarget->isThumb())
    7896             : /* 16554*/      OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectAddrOffsetNone:$addr #2
    7897             : /* 16557*/      OPC_EmitMergeInputChains1_0,
    7898             : /* 16558*/      OPC_EmitInteger, MVT::i32, 14, 
    7899             : /* 16561*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7900             : /* 16564*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAEXH), 0|OPFL_Chain,
    7901             :                     MVT::i32, 3/*#Ops*/, 2, 3, 4, 
    7902             :                 // Src: (and:{ *:[i32] } (intrinsic_w_chain:{ *:[i32] } 1022:{ *:[iPTR] }, addr_offset_none:{ *:[i32] }:$addr)<<P:Predicate_ldaex_2>>, 65535:{ *:[i32] }) - Complexity = 23
    7903             :                 // Dst: (t2LDAEXH:{ *:[i32] } addr_offset_none:{ *:[i32] }:$addr)
    7904             : /* 16573*/    /*Scope*/ 47, /*->16621*/
    7905             : /* 16574*/      OPC_MoveChild0,
    7906             : /* 16575*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7907             : /* 16578*/      OPC_RecordChild0, // #0 = $shift
    7908             : /* 16579*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7909             : /* 16590*/      OPC_MoveParent,
    7910             : /* 16591*/      OPC_RecordChild1, // #1 = $Rn
    7911             : /* 16592*/      OPC_CheckType, MVT::i32,
    7912             : /* 16594*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7913             : /* 16596*/      OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectRegShifterOperand:$shift #2 #3 #4
    7914             : /* 16599*/      OPC_EmitInteger, MVT::i32, 14, 
    7915             : /* 16602*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7916             : /* 16605*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7917             : /* 16608*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsr), 0,
    7918             :                     MVT::i32, 7/*#Ops*/, 1, 2, 3, 4, 5, 6, 7, 
    7919             :                 // Src: (and:{ *:[i32] } (xor:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 23
    7920             :                 // Dst: (BICrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    7921             : /* 16621*/    /*Scope*/ 76, /*->16698*/
    7922             : /* 16622*/      OPC_RecordChild0, // #0 = $Rn
    7923             : /* 16623*/      OPC_MoveChild1,
    7924             : /* 16624*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7925             : /* 16627*/      OPC_RecordChild0, // #1 = $shift
    7926             : /* 16628*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7927             : /* 16639*/      OPC_MoveParent,
    7928             : /* 16640*/      OPC_CheckType, MVT::i32,
    7929             : /* 16642*/      OPC_Scope, 26, /*->16670*/ // 2 children in Scope
    7930             : /* 16644*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7931             : /* 16646*/        OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
    7932             : /* 16649*/        OPC_EmitInteger, MVT::i32, 14, 
    7933             : /* 16652*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7934             : /* 16655*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7935             : /* 16658*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsi), 0,
    7936             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    7937             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, -1:{ *:[i32] })) - Complexity = 20
    7938             :                   // Dst: (BICrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    7939             : /* 16670*/      /*Scope*/ 26, /*->16697*/
    7940             : /* 16671*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7941             : /* 16673*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    7942             : /* 16676*/        OPC_EmitInteger, MVT::i32, 14, 
    7943             : /* 16679*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7944             : /* 16682*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7945             : /* 16685*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrs), 0,
    7946             :                       MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    7947             :                   // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, -1:{ *:[i32] })) - Complexity = 20
    7948             :                   // Dst: (t2BICrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    7949             : /* 16697*/      0, /*End of Scope*/
    7950             : /* 16698*/    /*Scope*/ 76, /*->16775*/
    7951             : /* 16699*/      OPC_MoveChild0,
    7952             : /* 16700*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7953             : /* 16703*/      OPC_RecordChild0, // #0 = $shift
    7954             : /* 16704*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    7955             : /* 16715*/      OPC_MoveParent,
    7956             : /* 16716*/      OPC_RecordChild1, // #1 = $Rn
    7957             : /* 16717*/      OPC_CheckType, MVT::i32,
    7958             : /* 16719*/      OPC_Scope, 26, /*->16747*/ // 2 children in Scope
    7959             : /* 16721*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7960             : /* 16723*/        OPC_CheckComplexPat, /*CP*/3, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
    7961             : /* 16726*/        OPC_EmitInteger, MVT::i32, 14, 
    7962             : /* 16729*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7963             : /* 16732*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7964             : /* 16735*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsi), 0,
    7965             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    7966             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 20
    7967             :                   // Dst: (BICrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    7968             : /* 16747*/      /*Scope*/ 26, /*->16774*/
    7969             : /* 16748*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    7970             : /* 16750*/        OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    7971             : /* 16753*/        OPC_EmitInteger, MVT::i32, 14, 
    7972             : /* 16756*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7973             : /* 16759*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7974             : /* 16762*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrs), 0,
    7975             :                       MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    7976             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 20
    7977             :                   // Dst: (t2BICrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    7978             : /* 16774*/      0, /*End of Scope*/
    7979             : /* 16775*/    /*Scope*/ 84|128,1/*212*/, /*->16989*/
    7980             : /* 16777*/      OPC_RecordChild0, // #0 = $Rn
    7981             : /* 16778*/      OPC_Scope, 30, /*->16810*/ // 4 children in Scope
    7982             : /* 16780*/        OPC_RecordChild1, // #1 = $shift
    7983             : /* 16781*/        OPC_CheckType, MVT::i32,
    7984             : /* 16783*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    7985             : /* 16785*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectRegShifterOperand:$shift #2 #3 #4
    7986             : /* 16788*/        OPC_EmitInteger, MVT::i32, 14, 
    7987             : /* 16791*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7988             : /* 16794*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    7989             : /* 16797*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsr), 0,
    7990             :                       MVT::i32, 7/*#Ops*/, 0, 2, 3, 4, 5, 6, 7, 
    7991             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift) - Complexity = 15
    7992             :                   // Dst: (ANDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    7993             : /* 16810*/      /*Scope*/ 95, /*->16906*/
    7994             : /* 16811*/        OPC_MoveChild1,
    7995             : /* 16812*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    7996             : /* 16815*/        OPC_RecordChild0, // #1 = $imm
    7997             : /* 16816*/        OPC_MoveChild0,
    7998             : /* 16817*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7999             : /* 16820*/        OPC_Scope, 41, /*->16863*/ // 2 children in Scope
    8000             : /* 16822*/          OPC_CheckPredicate, 11, // Predicate_mod_imm
    8001             : /* 16824*/          OPC_MoveParent,
    8002             : /* 16825*/          OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8003             : /* 16836*/          OPC_MoveParent,
    8004             : /* 16837*/          OPC_CheckType, MVT::i32,
    8005             : /* 16839*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8006             : /* 16841*/          OPC_EmitConvertToTarget, 1,
    8007             : /* 16843*/          OPC_EmitInteger, MVT::i32, 14, 
    8008             : /* 16846*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8009             : /* 16849*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8010             : /* 16852*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    8011             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8012             :                     // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm, -1:{ *:[i32] })) - Complexity = 15
    8013             :                     // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8014             : /* 16863*/        /*Scope*/ 41, /*->16905*/
    8015             : /* 16864*/          OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8016             : /* 16866*/          OPC_MoveParent,
    8017             : /* 16867*/          OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8018             : /* 16878*/          OPC_MoveParent,
    8019             : /* 16879*/          OPC_CheckType, MVT::i32,
    8020             : /* 16881*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8021             : /* 16883*/          OPC_EmitConvertToTarget, 1,
    8022             : /* 16885*/          OPC_EmitInteger, MVT::i32, 14, 
    8023             : /* 16888*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8024             : /* 16891*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8025             : /* 16894*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8026             :                         MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8027             :                     // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm, -1:{ *:[i32] })) - Complexity = 15
    8028             :                     // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8029             : /* 16905*/        0, /*End of Scope*/
    8030             : /* 16906*/      /*Scope*/ 30, /*->16937*/
    8031             : /* 16907*/        OPC_RecordChild1, // #1 = $Rn
    8032             : /* 16908*/        OPC_CheckType, MVT::i32,
    8033             : /* 16910*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8034             : /* 16912*/        OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectRegShifterOperand:$shift #2 #3 #4
    8035             : /* 16915*/        OPC_EmitInteger, MVT::i32, 14, 
    8036             : /* 16918*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8037             : /* 16921*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8038             : /* 16924*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsr), 0,
    8039             :                       MVT::i32, 7/*#Ops*/, 1, 2, 3, 4, 5, 6, 7, 
    8040             :                   // Src: (and:{ *:[i32] } so_reg_reg:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 15
    8041             :                   // Dst: (ANDrsr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_reg:{ *:[i32] }:$shift)
    8042             : /* 16937*/      /*Scope*/ 50, /*->16988*/
    8043             : /* 16938*/        OPC_MoveChild1,
    8044             : /* 16939*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8045             : /* 16942*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8046             : /* 16953*/        OPC_RecordChild1, // #1 = $imm
    8047             : /* 16954*/        OPC_MoveChild1,
    8048             : /* 16955*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8049             : /* 16958*/        OPC_CheckPredicate, 11, // Predicate_mod_imm
    8050             : /* 16960*/        OPC_MoveParent,
    8051             : /* 16961*/        OPC_MoveParent,
    8052             : /* 16962*/        OPC_CheckType, MVT::i32,
    8053             : /* 16964*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8054             : /* 16966*/        OPC_EmitConvertToTarget, 1,
    8055             : /* 16968*/        OPC_EmitInteger, MVT::i32, 14, 
    8056             : /* 16971*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8057             : /* 16974*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8058             : /* 16977*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    8059             :                       MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8060             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm)) - Complexity = 15
    8061             :                   // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8062             : /* 16988*/      0, /*End of Scope*/
    8063             : /* 16989*/    /*Scope*/ 102, /*->17092*/
    8064             : /* 16990*/      OPC_MoveChild0,
    8065             : /* 16991*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8066             : /* 16994*/      OPC_Scope, 47, /*->17043*/ // 2 children in Scope
    8067             : /* 16996*/        OPC_RecordChild0, // #0 = $imm
    8068             : /* 16997*/        OPC_MoveChild0,
    8069             : /* 16998*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8070             : /* 17001*/        OPC_CheckPredicate, 11, // Predicate_mod_imm
    8071             : /* 17003*/        OPC_MoveParent,
    8072             : /* 17004*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8073             : /* 17015*/        OPC_MoveParent,
    8074             : /* 17016*/        OPC_RecordChild1, // #1 = $Rn
    8075             : /* 17017*/        OPC_CheckType, MVT::i32,
    8076             : /* 17019*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8077             : /* 17021*/        OPC_EmitConvertToTarget, 0,
    8078             : /* 17023*/        OPC_EmitInteger, MVT::i32, 14, 
    8079             : /* 17026*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8080             : /* 17029*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8081             : /* 17032*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    8082             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    8083             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 15
    8084             :                   // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8085             : /* 17043*/      /*Scope*/ 47, /*->17091*/
    8086             : /* 17044*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8087             : /* 17055*/        OPC_RecordChild1, // #0 = $imm
    8088             : /* 17056*/        OPC_MoveChild1,
    8089             : /* 17057*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8090             : /* 17060*/        OPC_CheckPredicate, 11, // Predicate_mod_imm
    8091             : /* 17062*/        OPC_MoveParent,
    8092             : /* 17063*/        OPC_MoveParent,
    8093             : /* 17064*/        OPC_RecordChild1, // #1 = $Rn
    8094             : /* 17065*/        OPC_CheckType, MVT::i32,
    8095             : /* 17067*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8096             : /* 17069*/        OPC_EmitConvertToTarget, 0,
    8097             : /* 17071*/        OPC_EmitInteger, MVT::i32, 14, 
    8098             : /* 17074*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8099             : /* 17077*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8100             : /* 17080*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    8101             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    8102             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm), GPR:{ *:[i32] }:$Rn) - Complexity = 15
    8103             :                   // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8104             : /* 17091*/      0, /*End of Scope*/
    8105             : /* 17092*/    /*Scope*/ 51, /*->17144*/
    8106             : /* 17093*/      OPC_RecordChild0, // #0 = $Rn
    8107             : /* 17094*/      OPC_MoveChild1,
    8108             : /* 17095*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8109             : /* 17098*/      OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8110             : /* 17109*/      OPC_RecordChild1, // #1 = $imm
    8111             : /* 17110*/      OPC_MoveChild1,
    8112             : /* 17111*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8113             : /* 17114*/      OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8114             : /* 17116*/      OPC_MoveParent,
    8115             : /* 17117*/      OPC_MoveParent,
    8116             : /* 17118*/      OPC_CheckType, MVT::i32,
    8117             : /* 17120*/      OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8118             : /* 17122*/      OPC_EmitConvertToTarget, 1,
    8119             : /* 17124*/      OPC_EmitInteger, MVT::i32, 14, 
    8120             : /* 17127*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8121             : /* 17130*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8122             : /* 17133*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8123             :                     MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8124             :                 // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm)) - Complexity = 15
    8125             :                 // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8126             : /* 17144*/    /*Scope*/ 102, /*->17247*/
    8127             : /* 17145*/      OPC_MoveChild0,
    8128             : /* 17146*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8129             : /* 17149*/      OPC_Scope, 47, /*->17198*/ // 2 children in Scope
    8130             : /* 17151*/        OPC_RecordChild0, // #0 = $imm
    8131             : /* 17152*/        OPC_MoveChild0,
    8132             : /* 17153*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8133             : /* 17156*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8134             : /* 17158*/        OPC_MoveParent,
    8135             : /* 17159*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8136             : /* 17170*/        OPC_MoveParent,
    8137             : /* 17171*/        OPC_RecordChild1, // #1 = $Rn
    8138             : /* 17172*/        OPC_CheckType, MVT::i32,
    8139             : /* 17174*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8140             : /* 17176*/        OPC_EmitConvertToTarget, 0,
    8141             : /* 17178*/        OPC_EmitInteger, MVT::i32, 14, 
    8142             : /* 17181*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8143             : /* 17184*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8144             : /* 17187*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8145             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    8146             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 15
    8147             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8148             : /* 17198*/      /*Scope*/ 47, /*->17246*/
    8149             : /* 17199*/        OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8150             : /* 17210*/        OPC_RecordChild1, // #0 = $imm
    8151             : /* 17211*/        OPC_MoveChild1,
    8152             : /* 17212*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8153             : /* 17215*/        OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8154             : /* 17217*/        OPC_MoveParent,
    8155             : /* 17218*/        OPC_MoveParent,
    8156             : /* 17219*/        OPC_RecordChild1, // #1 = $Rn
    8157             : /* 17220*/        OPC_CheckType, MVT::i32,
    8158             : /* 17222*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8159             : /* 17224*/        OPC_EmitConvertToTarget, 0,
    8160             : /* 17226*/        OPC_EmitInteger, MVT::i32, 14, 
    8161             : /* 17229*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8162             : /* 17232*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8163             : /* 17235*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8164             :                       MVT::i32, 5/*#Ops*/, 1, 2, 3, 4, 5, 
    8165             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } -1:{ *:[i32] }, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm), rGPR:{ *:[i32] }:$Rn) - Complexity = 15
    8166             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8167             : /* 17246*/      0, /*End of Scope*/
    8168             : /* 17247*/    /*Scope*/ 80|128,1/*208*/, /*->17457*/
    8169             : /* 17249*/      OPC_RecordChild0, // #0 = $Rn
    8170             : /* 17250*/      OPC_Scope, 113, /*->17365*/ // 2 children in Scope
    8171             : /* 17252*/        OPC_RecordChild1, // #1 = $shift
    8172             : /* 17253*/        OPC_CheckType, MVT::i32,
    8173             : /* 17255*/        OPC_Scope, 26, /*->17283*/ // 4 children in Scope
    8174             : /* 17257*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8175             : /* 17259*/          OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectImmShifterOperand:$shift #2 #3
    8176             : /* 17262*/          OPC_EmitInteger, MVT::i32, 14, 
    8177             : /* 17265*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8178             : /* 17268*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8179             : /* 17271*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsi), 0,
    8180             :                         MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    8181             :                     // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift) - Complexity = 12
    8182             :                     // Dst: (ANDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    8183             : /* 17283*/        /*Scope*/ 26, /*->17310*/
    8184             : /* 17284*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8185             : /* 17286*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    8186             : /* 17289*/          OPC_EmitInteger, MVT::i32, 14, 
    8187             : /* 17292*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8188             : /* 17295*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8189             : /* 17298*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrs), 0,
    8190             :                         MVT::i32, 6/*#Ops*/, 0, 2, 3, 4, 5, 6, 
    8191             :                     // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm) - Complexity = 12
    8192             :                     // Dst: (t2ANDrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    8193             : /* 17310*/        /*Scope*/ 26, /*->17337*/
    8194             : /* 17311*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8195             : /* 17313*/          OPC_CheckComplexPat, /*CP*/3, /*#*/0, // SelectImmShifterOperand:$shift #2 #3
    8196             : /* 17316*/          OPC_EmitInteger, MVT::i32, 14, 
    8197             : /* 17319*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8198             : /* 17322*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8199             : /* 17325*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsi), 0,
    8200             :                         MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    8201             :                     // Src: (and:{ *:[i32] } so_reg_imm:{ *:[i32] }:$shift, GPR:{ *:[i32] }:$Rn) - Complexity = 12
    8202             :                     // Dst: (ANDrsi:{ *:[i32] } GPR:{ *:[i32] }:$Rn, so_reg_imm:{ *:[i32] }:$shift)
    8203             : /* 17337*/        /*Scope*/ 26, /*->17364*/
    8204             : /* 17338*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8205             : /* 17340*/          OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectShiftImmShifterOperand:$ShiftedRm #2 #3
    8206             : /* 17343*/          OPC_EmitInteger, MVT::i32, 14, 
    8207             : /* 17346*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8208             : /* 17349*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8209             : /* 17352*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrs), 0,
    8210             :                         MVT::i32, 6/*#Ops*/, 1, 2, 3, 4, 5, 6, 
    8211             :                     // Src: (and:{ *:[i32] } t2_so_reg:{ *:[i32] }:$ShiftedRm, rGPR:{ *:[i32] }:$Rn) - Complexity = 12
    8212             :                     // Dst: (t2ANDrs:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, t2_so_reg:{ *:[i32] }:$ShiftedRm)
    8213             : /* 17364*/        0, /*End of Scope*/
    8214             : /* 17365*/      /*Scope*/ 90, /*->17456*/
    8215             : /* 17366*/        OPC_MoveChild1,
    8216             : /* 17367*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8217             : /* 17370*/        OPC_RecordChild0, // #1 = $Rm
    8218             : /* 17371*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8219             : /* 17382*/        OPC_MoveParent,
    8220             : /* 17383*/        OPC_CheckType, MVT::i32,
    8221             : /* 17385*/        OPC_Scope, 22, /*->17409*/ // 3 children in Scope
    8222             : /* 17387*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8223             : /* 17389*/          OPC_EmitInteger, MVT::i32, 14, 
    8224             : /* 17392*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8225             : /* 17395*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8226             : /* 17398*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrr), 0,
    8227             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8228             :                     // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
    8229             :                     // Dst: (BICrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    8230             : /* 17409*/        /*Scope*/ 22, /*->17432*/
    8231             : /* 17410*/          OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8232             : /* 17412*/          OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8233             : /* 17415*/          OPC_EmitInteger, MVT::i32, 14, 
    8234             : /* 17418*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8235             : /* 17421*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::tBIC), 0,
    8236             :                         MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    8237             :                     // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
    8238             :                     // Dst: (tBIC:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    8239             : /* 17432*/        /*Scope*/ 22, /*->17455*/
    8240             : /* 17433*/          OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    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::t2BICrr), 0,
    8245             :                         MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8246             :                     // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
    8247             :                     // Dst: (t2BICrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    8248             : /* 17455*/        0, /*End of Scope*/
    8249             : /* 17456*/      0, /*End of Scope*/
    8250             : /* 17457*/    /*Scope*/ 91, /*->17549*/
    8251             : /* 17458*/      OPC_MoveChild0,
    8252             : /* 17459*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8253             : /* 17462*/      OPC_RecordChild0, // #0 = $Rm
    8254             : /* 17463*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    8255             : /* 17474*/      OPC_MoveParent,
    8256             : /* 17475*/      OPC_RecordChild1, // #1 = $Rn
    8257             : /* 17476*/      OPC_CheckType, MVT::i32,
    8258             : /* 17478*/      OPC_Scope, 22, /*->17502*/ // 3 children in Scope
    8259             : /* 17480*/        OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8260             : /* 17482*/        OPC_EmitInteger, MVT::i32, 14, 
    8261             : /* 17485*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8262             : /* 17488*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8263             : /* 17491*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrr), 0,
    8264             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    8265             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR:{ *:[i32] }:$Rn) - Complexity = 11
    8266             :                   // Dst: (BICrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    8267             : /* 17502*/      /*Scope*/ 22, /*->17525*/
    8268             : /* 17503*/        OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8269             : /* 17505*/        OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8270             : /* 17508*/        OPC_EmitInteger, MVT::i32, 14, 
    8271             : /* 17511*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8272             : /* 17514*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::tBIC), 0,
    8273             :                       MVT::i32, 5/*#Ops*/, 2, 1, 0, 3, 4, 
    8274             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), tGPR:{ *:[i32] }:$Rn) - Complexity = 11
    8275             :                   // Dst: (tBIC:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    8276             : /* 17525*/      /*Scope*/ 22, /*->17548*/
    8277             : /* 17526*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8278             : /* 17528*/        OPC_EmitInteger, MVT::i32, 14, 
    8279             : /* 17531*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8280             : /* 17534*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8281             : /* 17537*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrr), 0,
    8282             :                       MVT::i32, 5/*#Ops*/, 1, 0, 2, 3, 4, 
    8283             :                   // Src: (and:{ *:[i32] } (xor:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, -1:{ *:[i32] }), rGPR:{ *:[i32] }:$Rn) - Complexity = 11
    8284             :                   // Dst: (t2BICrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    8285             : /* 17548*/      0, /*End of Scope*/
    8286             : /* 17549*/    /*Scope*/ 38, /*->17588*/
    8287             : /* 17550*/      OPC_RecordChild0, // #0 = $src
    8288             : /* 17551*/      OPC_RecordChild1, // #1 = $imm
    8289             : /* 17552*/      OPC_MoveChild1,
    8290             : /* 17553*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8291             : /* 17556*/      OPC_CheckPredicate, 26, // Predicate_mod_imm_not
    8292             : /* 17558*/      OPC_MoveParent,
    8293             : /* 17559*/      OPC_CheckType, MVT::i32,
    8294             : /* 17561*/      OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8295             : /* 17563*/      OPC_EmitConvertToTarget, 1,
    8296             : /* 17565*/      OPC_EmitNodeXForm, 9, 2, // imm_not_XFORM
    8297             : /* 17568*/      OPC_EmitInteger, MVT::i32, 14, 
    8298             : /* 17571*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8299             : /* 17574*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8300             : /* 17577*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
    8301             :                     MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    8302             :                 // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_mod_imm_not>><<X:imm_not_XFORM>>:$imm) - Complexity = 8
    8303             :                 // Dst: (BICri:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm_not_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_mod_imm_not>>:$imm))
    8304             : /* 17588*/    /*Scope*/ 23, /*->17612*/
    8305             : /* 17589*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8306             : /* 17592*/      OPC_RecordChild0, // #0 = $Rm
    8307             : /* 17593*/      OPC_CheckType, MVT::i32,
    8308             : /* 17595*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasV6Ops()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8309             : /* 17597*/      OPC_EmitInteger, MVT::i32, 14, 
    8310             : /* 17600*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8311             : /* 17603*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::tUXTB), 0,
    8312             :                     MVT::i32, 3/*#Ops*/, 0, 1, 2, 
    8313             :                 // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, 255:{ *:[i32] }) - Complexity = 8
    8314             :                 // Dst: (tUXTB:{ *:[i32] } tGPR:{ *:[i32] }:$Rm)
    8315             : /* 17612*/    /*Scope*/ 24, /*->17637*/
    8316             : /* 17613*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8317             : /* 17617*/      OPC_RecordChild0, // #0 = $Rm
    8318             : /* 17618*/      OPC_CheckType, MVT::i32,
    8319             : /* 17620*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasV6Ops()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8320             : /* 17622*/      OPC_EmitInteger, MVT::i32, 14, 
    8321             : /* 17625*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8322             : /* 17628*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::tUXTH), 0,
    8323             :                     MVT::i32, 3/*#Ops*/, 0, 1, 2, 
    8324             :                 // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rm, 65535:{ *:[i32] }) - Complexity = 8
    8325             :                 // Dst: (tUXTH:{ *:[i32] } tGPR:{ *:[i32] }:$Rm)
    8326             : /* 17637*/    /*Scope*/ 15|128,3/*399*/, /*->18038*/
    8327             : /* 17639*/      OPC_RecordChild0, // #0 = $src
    8328             : /* 17640*/      OPC_Scope, 37, /*->17679*/ // 4 children in Scope
    8329             : /* 17642*/        OPC_RecordChild1, // #1 = $imm
    8330             : /* 17643*/        OPC_MoveChild1,
    8331             : /* 17644*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8332             : /* 17647*/        OPC_CheckPredicate, 12, // Predicate_t2_so_imm_not
    8333             : /* 17649*/        OPC_MoveParent,
    8334             : /* 17650*/        OPC_CheckType, MVT::i32,
    8335             : /* 17652*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8336             : /* 17654*/        OPC_EmitConvertToTarget, 1,
    8337             : /* 17656*/        OPC_EmitNodeXForm, 1, 2, // t2_so_imm_not_XFORM
    8338             : /* 17659*/        OPC_EmitInteger, MVT::i32, 14, 
    8339             : /* 17662*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8340             : /* 17665*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8341             : /* 17668*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8342             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    8343             :                   // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>><<X:t2_so_imm_not_XFORM>>:$imm) - Complexity = 8
    8344             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$src, (t2_so_imm_not_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_not>>:$imm))
    8345             : /* 17679*/      /*Scope*/ 41, /*->17721*/
    8346             : /* 17680*/        OPC_MoveChild0,
    8347             : /* 17681*/        OPC_CheckPredicate, 27, // Predicate_top16Zero
    8348             : /* 17683*/        OPC_MoveParent,
    8349             : /* 17684*/        OPC_RecordChild1, // #1 = $imm
    8350             : /* 17685*/        OPC_MoveChild1,
    8351             : /* 17686*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8352             : /* 17689*/        OPC_CheckPredicate, 28, // Predicate_t2_so_imm_notSext
    8353             : /* 17691*/        OPC_MoveParent,
    8354             : /* 17692*/        OPC_CheckType, MVT::i32,
    8355             : /* 17694*/        OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8356             : /* 17696*/        OPC_EmitConvertToTarget, 1,
    8357             : /* 17698*/        OPC_EmitNodeXForm, 10, 2, // t2_so_imm_notSext16_XFORM
    8358             : /* 17701*/        OPC_EmitInteger, MVT::i32, 14, 
    8359             : /* 17704*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8360             : /* 17707*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8361             : /* 17710*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
    8362             :                       MVT::i32, 5/*#Ops*/, 0, 3, 4, 5, 6, 
    8363             :                   // 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
    8364             :                   // Dst: (t2BICri:{ *:[i32] } rGPR:{ *:[i32] }:$src, (t2_so_imm_notSext16_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_t2_so_imm_notSext>>:$imm))
    8365             : /* 17721*/      /*Scope*/ 68|128,1/*196*/, /*->17919*/
    8366             : /* 17723*/        OPC_RecordChild1, // #1 = $imm
    8367             : /* 17724*/        OPC_Scope, 118, /*->17844*/ // 2 children in Scope
    8368             : /* 17726*/          OPC_MoveChild1,
    8369             : /* 17727*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8370             : /* 17730*/          OPC_Scope, 29, /*->17761*/ // 4 children in Scope
    8371             : /* 17732*/            OPC_CheckPredicate, 11, // Predicate_mod_imm
    8372             : /* 17734*/            OPC_MoveParent,
    8373             : /* 17735*/            OPC_CheckType, MVT::i32,
    8374             : /* 17737*/            OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8375             : /* 17739*/            OPC_EmitConvertToTarget, 1,
    8376             : /* 17741*/            OPC_EmitInteger, MVT::i32, 14, 
    8377             : /* 17744*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8378             : /* 17747*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8379             : /* 17750*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDri), 0,
    8380             :                           MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8381             :                       // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_mod_imm>>:$imm) - Complexity = 7
    8382             :                       // Dst: (ANDri:{ *:[i32] } GPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8383             : /* 17761*/          /*Scope*/ 25, /*->17787*/
    8384             : /* 17762*/            OPC_CheckPredicate, 29, // Predicate_bf_inv_mask_imm
    8385             : /* 17764*/            OPC_MoveParent,
    8386             : /* 17765*/            OPC_CheckType, MVT::i32,
    8387             : /* 17767*/            OPC_CheckPatternPredicate, 3, // (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb())
    8388             : /* 17769*/            OPC_EmitConvertToTarget, 1,
    8389             : /* 17771*/            OPC_EmitInteger, MVT::i32, 14, 
    8390             : /* 17774*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8391             : /* 17777*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::BFC), 0,
    8392             :                           MVT::i32, 4/*#Ops*/, 0, 2, 3, 4, 
    8393             :                       // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_bf_inv_mask_imm>>:$imm) - Complexity = 7
    8394             :                       // Dst: (BFC:{ *:[i32] } GPR:{ *:[i32] }:$src, (imm:{ *:[i32] }):$imm)
    8395             : /* 17787*/          /*Scope*/ 29, /*->17817*/
    8396             : /* 17788*/            OPC_CheckPredicate, 6, // Predicate_t2_so_imm
    8397             : /* 17790*/            OPC_MoveParent,
    8398             : /* 17791*/            OPC_CheckType, MVT::i32,
    8399             : /* 17793*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8400             : /* 17795*/            OPC_EmitConvertToTarget, 1,
    8401             : /* 17797*/            OPC_EmitInteger, MVT::i32, 14, 
    8402             : /* 17800*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8403             : /* 17803*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8404             : /* 17806*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDri), 0,
    8405             :                           MVT::i32, 5/*#Ops*/, 0, 2, 3, 4, 5, 
    8406             :                       // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_t2_so_imm>>:$imm) - Complexity = 7
    8407             :                       // Dst: (t2ANDri:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
    8408             : /* 17817*/          /*Scope*/ 25, /*->17843*/
    8409             : /* 17818*/            OPC_CheckPredicate, 29, // Predicate_bf_inv_mask_imm
    8410             : /* 17820*/            OPC_MoveParent,
    8411             : /* 17821*/            OPC_CheckType, MVT::i32,
    8412             : /* 17823*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8413             : /* 17825*/            OPC_EmitConvertToTarget, 1,
    8414             : /* 17827*/            OPC_EmitInteger, MVT::i32, 14, 
    8415             : /* 17830*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8416             : /* 17833*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BFC), 0,
    8417             :                           MVT::i32, 4/*#Ops*/, 0, 2, 3, 4, 
    8418             :                       // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_bf_inv_mask_imm>>:$imm) - Complexity = 7
    8419             :                       // Dst: (t2BFC:{ *:[i32] } rGPR:{ *:[i32] }:$src, (imm:{ *:[i32] }):$imm)
    8420             : /* 17843*/          0, /*End of Scope*/
    8421             : /* 17844*/        /*Scope*/ 73, /*->17918*/
    8422             : /* 17845*/          OPC_CheckType, MVT::i32,
    8423             : /* 17847*/          OPC_Scope, 22, /*->17871*/ // 3 children in Scope
    8424             : /* 17849*/            OPC_CheckPatternPredicate, 4, // (!Subtarget->isThumb())
    8425             : /* 17851*/            OPC_EmitInteger, MVT::i32, 14, 
    8426             : /* 17854*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8427             : /* 17857*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8428             : /* 17860*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrr), 0,
    8429             :                           MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8430             :                       // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm) - Complexity = 3
    8431             :                       // Dst: (ANDrr:{ *:[i32] } GPR:{ *:[i32] }:$Rn, GPR:{ *:[i32] }:$Rm)
    8432             : /* 17871*/          /*Scope*/ 22, /*->17894*/
    8433             : /* 17872*/            OPC_CheckPatternPredicate, 6, // (Subtarget->isThumb()) && (Subtarget->isThumb1Only())
    8434             : /* 17874*/            OPC_EmitRegister, MVT::i32, ARM::CPSR,
    8435             : /* 17877*/            OPC_EmitInteger, MVT::i32, 14, 
    8436             : /* 17880*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8437             : /* 17883*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::tAND), 0,
    8438             :                           MVT::i32, 5/*#Ops*/, 2, 0, 1, 3, 4, 
    8439             :                       // Src: (and:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm) - Complexity = 3
    8440             :                       // Dst: (tAND:{ *:[i32] } tGPR:{ *:[i32] }:$Rn, tGPR:{ *:[i32] }:$Rm)
    8441             : /* 17894*/          /*Scope*/ 22, /*->17917*/
    8442             : /* 17895*/            OPC_CheckPatternPredicate, 1, // (Subtarget->isThumb2())
    8443             : /* 17897*/            OPC_EmitInteger, MVT::i32, 14, 
    8444             : /* 17900*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8445             : /* 17903*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8446             : /* 17906*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrr), 0,
    8447             :                           MVT::i32, 5/*#Ops*/, 0, 1, 2, 3, 4, 
    8448             :                       // Src: (and:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm) - Complexity = 3
    8449             :                       // Dst: (t2ANDrr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, rGPR:{ *:[i32] }:$Rm)
    8450             : /* 17917*/          0, /*End of Scope*/
    8451             : /* 17918*/        0, /*End of Scope*/
    8452             : /* 17919*/      /*Scope*/ 117, /*->18037*/
    8453             : /* 17920*/        OPC_MoveChild1,
    8454             : /* 17921*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8455             : /* 17924*/        OPC_Scope, 68, /*->17994*/ // 2 children in Scope
    8456             : /* 17926*/          OPC_RecordChild0, // #1 = $Vm
    8457             : /* 17927*/          OPC_MoveChild1,
    8458             : /* 17928*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8459             : /* 17931*/          OPC_MoveChild0,
    8460             : /* 17932*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8461             : /* 17935*/          OPC_MoveChild0,
    8462             : /* 17936*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8463             : /* 17939*/          OPC_MoveParent,
    8464             : /* 17940*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    8465             : /* 17942*/          OPC_SwitchType /*2 cases */, 23, MVT::v8i8,// ->17968
    8466             : /* 17945*/            OPC_MoveParent,
    8467             : /* 17946*/            OPC_MoveParent,
    8468             : /* 17947*/            OPC_MoveParent,
    8469             : /* 17948*/            OPC_CheckType, MVT::v2i32,
    8470             : /* 17950*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8471             : /* 17952*/            OPC_EmitInteger, MVT::i32, 14, 
    8472             : /* 17955*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8473             : /* 17958*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8474             :                           MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8475             :                       // Src: (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    8476             :                       // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8477             : /* 17968*/          /*SwitchType*/ 23, MVT::v16i8,// ->17993
    8478             : /* 17970*/            OPC_MoveParent,
    8479             : /* 17971*/            OPC_MoveParent,
    8480             : /* 17972*/            OPC_MoveParent,
    8481             : /* 17973*/            OPC_CheckType, MVT::v4i32,
    8482             : /* 17975*/            OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8483             : /* 17977*/            OPC_EmitInteger, MVT::i32, 14, 
    8484             : /* 17980*/            OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8485             : /* 17983*/            OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8486             :                           MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8487             :                       // Src: (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>))) - Complexity = 16
    8488             :                       // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8489             : /* 17993*/          0, // EndSwitchType
    8490             : /* 17994*/        /*Scope*/ 41, /*->18036*/
    8491             : /* 17995*/          OPC_MoveChild0,
    8492             : /* 17996*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8493             : /* 17999*/          OPC_MoveChild0,
    8494             : /* 18000*/          OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8495             : /* 18003*/          OPC_MoveChild0,
    8496             : /* 18004*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8497             : /* 18007*/          OPC_MoveParent,
    8498             : /* 18008*/          OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    8499             : /* 18010*/          OPC_CheckType, MVT::v8i8,
    8500             : /* 18012*/          OPC_MoveParent,
    8501             : /* 18013*/          OPC_MoveParent,
    8502             : /* 18014*/          OPC_RecordChild1, // #1 = $Vm
    8503             : /* 18015*/          OPC_MoveParent,
    8504             : /* 18016*/          OPC_CheckType, MVT::v2i32,
    8505             : /* 18018*/          OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8506             : /* 18020*/          OPC_EmitInteger, MVT::i32, 14, 
    8507             : /* 18023*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8508             : /* 18026*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8509             :                         MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8510             :                     // Src: (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm)) - Complexity = 16
    8511             :                     // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8512             : /* 18036*/        0, /*End of Scope*/
    8513             : /* 18037*/      0, /*End of Scope*/
    8514             : /* 18038*/    /*Scope*/ 92, /*->18131*/
    8515             : /* 18039*/      OPC_MoveChild0,
    8516             : /* 18040*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8517             : /* 18043*/      OPC_Scope, 42, /*->18087*/ // 2 children in Scope
    8518             : /* 18045*/        OPC_RecordChild0, // #0 = $Vm
    8519             : /* 18046*/        OPC_MoveChild1,
    8520             : /* 18047*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8521             : /* 18050*/        OPC_MoveChild0,
    8522             : /* 18051*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8523             : /* 18054*/        OPC_MoveChild0,
    8524             : /* 18055*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8525             : /* 18058*/        OPC_MoveParent,
    8526             : /* 18059*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    8527             : /* 18061*/        OPC_CheckType, MVT::v8i8,
    8528             : /* 18063*/        OPC_MoveParent,
    8529             : /* 18064*/        OPC_MoveParent,
    8530             : /* 18065*/        OPC_MoveParent,
    8531             : /* 18066*/        OPC_RecordChild1, // #1 = $Vn
    8532             : /* 18067*/        OPC_CheckType, MVT::v2i32,
    8533             : /* 18069*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8534             : /* 18071*/        OPC_EmitInteger, MVT::i32, 14, 
    8535             : /* 18074*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8536             : /* 18077*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8537             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8538             :                   // Src: (and:{ *:[v2i32] } (xor:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vm, (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    8539             :                   // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8540             : /* 18087*/      /*Scope*/ 42, /*->18130*/
    8541             : /* 18088*/        OPC_MoveChild0,
    8542             : /* 18089*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8543             : /* 18092*/        OPC_MoveChild0,
    8544             : /* 18093*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8545             : /* 18096*/        OPC_MoveChild0,
    8546             : /* 18097*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8547             : /* 18100*/        OPC_MoveParent,
    8548             : /* 18101*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    8549             : /* 18103*/        OPC_CheckType, MVT::v8i8,
    8550             : /* 18105*/        OPC_MoveParent,
    8551             : /* 18106*/        OPC_MoveParent,
    8552             : /* 18107*/        OPC_RecordChild1, // #0 = $Vm
    8553             : /* 18108*/        OPC_MoveParent,
    8554             : /* 18109*/        OPC_RecordChild1, // #1 = $Vn
    8555             : /* 18110*/        OPC_CheckType, MVT::v2i32,
    8556             : /* 18112*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8557             : /* 18114*/        OPC_EmitInteger, MVT::i32, 14, 
    8558             : /* 18117*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8559             : /* 18120*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
    8560             :                       MVT::v2i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8561             :                   // Src: (and:{ *:[v2i32] } (xor:{ *:[v2i32] } (bitconvert:{ *:[v2i32] } (NEONvmovImm:{ *:[v8i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), DPR:{ *:[v2i32] }:$Vm), DPR:{ *:[v2i32] }:$Vn) - Complexity = 16
    8562             :                   // Dst: (VBICd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8563             : /* 18130*/      0, /*End of Scope*/
    8564             : /* 18131*/    /*Scope*/ 46, /*->18178*/
    8565             : /* 18132*/      OPC_RecordChild0, // #0 = $Vn
    8566             : /* 18133*/      OPC_MoveChild1,
    8567             : /* 18134*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8568             : /* 18137*/      OPC_MoveChild0,
    8569             : /* 18138*/      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8570             : /* 18141*/      OPC_MoveChild0,
    8571             : /* 18142*/      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8572             : /* 18145*/      OPC_MoveChild0,
    8573             : /* 18146*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8574             : /* 18149*/      OPC_MoveParent,
    8575             : /* 18150*/      OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    8576             : /* 18152*/      OPC_CheckType, MVT::v16i8,
    8577             : /* 18154*/      OPC_MoveParent,
    8578             : /* 18155*/      OPC_MoveParent,
    8579             : /* 18156*/      OPC_RecordChild1, // #1 = $Vm
    8580             : /* 18157*/      OPC_MoveParent,
    8581             : /* 18158*/      OPC_CheckType, MVT::v4i32,
    8582             : /* 18160*/      OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8583             : /* 18162*/      OPC_EmitInteger, MVT::i32, 14, 
    8584             : /* 18165*/      OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8585             : /* 18168*/      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8586             :                     MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8587             :                 // Src: (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm)) - Complexity = 16
    8588             :                 // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8589             : /* 18178*/    /*Scope*/ 92, /*->18271*/
    8590             : /* 18179*/      OPC_MoveChild0,
    8591             : /* 18180*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    8592             : /* 18183*/      OPC_Scope, 42, /*->18227*/ // 2 children in Scope
    8593             : /* 18185*/        OPC_RecordChild0, // #0 = $Vm
    8594             : /* 18186*/        OPC_MoveChild1,
    8595             : /* 18187*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8596             : /* 18190*/        OPC_MoveChild0,
    8597             : /* 18191*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8598             : /* 18194*/        OPC_MoveChild0,
    8599             : /* 18195*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8600             : /* 18198*/        OPC_MoveParent,
    8601             : /* 18199*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    8602             : /* 18201*/        OPC_CheckType, MVT::v16i8,
    8603             : /* 18203*/        OPC_MoveParent,
    8604             : /* 18204*/        OPC_MoveParent,
    8605             : /* 18205*/        OPC_MoveParent,
    8606             : /* 18206*/        OPC_RecordChild1, // #1 = $Vn
    8607             : /* 18207*/        OPC_CheckType, MVT::v4i32,
    8608             : /* 18209*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8609             : /* 18211*/        OPC_EmitInteger, MVT::i32, 14, 
    8610             : /* 18214*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8611             : /* 18217*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8612             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8613             :                   // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vm, (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>)), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    8614             :                   // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8615             : /* 18227*/      /*Scope*/ 42, /*->18270*/
    8616             : /* 18228*/        OPC_MoveChild0,
    8617             : /* 18229*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    8618             : /* 18232*/        OPC_MoveChild0,
    8619             : /* 18233*/        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    8620             : /* 18236*/        OPC_MoveChild0,
    8621             : /* 18237*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    8622             : /* 18240*/        OPC_MoveParent,
    8623             : /* 18241*/        OPC_CheckPredicate, 13, // Predicate_NEONimmAllOnesV
    8624             : /* 18243*/        OPC_CheckType, MVT::v16i8,
    8625             : /* 18245*/        OPC_MoveParent,
    8626             : /* 18246*/        OPC_MoveParent,
    8627             : /* 18247*/        OPC_RecordChild1, // #0 = $Vm
    8628             : /* 18248*/        OPC_MoveParent,
    8629             : /* 18249*/        OPC_RecordChild1, // #1 = $Vn
    8630             : /* 18250*/        OPC_CheckType, MVT::v4i32,
    8631             : /* 18252*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8632             : /* 18254*/        OPC_EmitInteger, MVT::i32, 14, 
    8633             : /* 18257*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8634             : /* 18260*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
    8635             :                       MVT::v4i32, 4/*#Ops*/, 1, 0, 2, 3, 
    8636             :                   // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (bitconvert:{ *:[v4i32] } (NEONvmovImm:{ *:[v16i8] } (timm:{ *:[i32] }))<<P:Predicate_NEONimmAllOnesV>>), QPR:{ *:[v4i32] }:$Vm), QPR:{ *:[v4i32] }:$Vn) - Complexity = 16
    8637             :                   // Dst: (VBICq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8638             : /* 18270*/      0, /*End of Scope*/
    8639             : /* 18271*/    /*Scope*/ 44, /*->18316*/
    8640             : /* 18272*/      OPC_RecordChild0, // #0 = $Vn
    8641             : /* 18273*/      OPC_RecordChild1, // #1 = $Vm
    8642             : /* 18274*/      OPC_SwitchType /*2 cases */, 18, MVT::v2i32,// ->18295
    8643             : /* 18277*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8644             : /* 18279*/        OPC_EmitInteger, MVT::i32, 14, 
    8645             : /* 18282*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8646             : /* 18285*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDd), 0,
    8647             :                       MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8648             :                   // Src: (and:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm) - Complexity = 3
    8649             :                   // Dst: (VANDd:{ *:[v2i32] } DPR:{ *:[v2i32] }:$Vn, DPR:{ *:[v2i32] }:$Vm)
    8650             : /* 18295*/      /*SwitchType*/ 18, MVT::v4i32,// ->18315
    8651             : /* 18297*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasNEON())
    8652             : /* 18299*/        OPC_EmitInteger, MVT::i32, 14, 
    8653             : /* 18302*/        OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8654             : /* 18305*/        OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDq), 0,
    8655             :                       MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8656             :                   // Src: (and:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm) - Complexity = 3
    8657             :                   // Dst: (VANDq:{ *:[v4i32] } QPR:{ *:[v4i32] }:$Vn, QPR:{ *:[v4i32] }:$Vm)
    8658             : /* 18315*/      0, // EndSwitchType
    8659             : /* 18316*/    0, /*End of Scope*/
    8660             : /* 18317*/  /*SwitchOpcode*/ 28|128,5|128,1/*17052*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->35374
    8661             : /* 18322*/    OPC_Scope, 120, /*->18444*/ // 155 children in Scope
    8662             : /* 18324*/      OPC_CheckChild0Integer, 103|128,9/*1255*/, 
    8663             : /* 18327*/      OPC_Scope, 66, /*->18395*/ // 2 children in Scope
    8664             : /* 18329*/        OPC_MoveChild1,
    8665             : /* 18330*/        OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    8666             : /* 18333*/        OPC_RecordChild0, // #0 = $Src
    8667             : /* 18334*/        OPC_RecordChild1, // #1 = $rot
    8668             : /* 18335*/        OPC_MoveChild1,
    8669             : /* 18336*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8670             : /* 18339*/        OPC_CheckPredicate, 14, // Predicate_rot_imm
    8671             : /* 18341*/        OPC_CheckType, MVT::i32,
    8672             : /* 18343*/        OPC_MoveParent,
    8673             : /* 18344*/        OPC_MoveParent,
    8674             : /* 18345*/        OPC_Scope, 23, /*->18370*/ // 2 children in Scope
    8675             : /* 18347*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    8676             : /* 18349*/          OPC_EmitConvertToTarget, 1,
    8677             : /* 18351*/          OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    8678             : /* 18354*/          OPC_EmitInteger, MVT::i32, 14, 
    8679             : /* 18357*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8680             : /* 18360*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    8681             :                         MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    8682             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 1255:{ *:[iPTR] }, (rotr:{ *:[i32] } GPR:{ *:[i32] }:$Src, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot)) - Complexity = 31
    8683             :                     // Dst: (UXTB16:{ *:[i32] } GPR:{ *:[i32] }:$Src, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    8684             : /* 18370*/        /*Scope*/ 23, /*->18394*/
    8685             : /* 18371*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    8686             : /* 18373*/          OPC_EmitConvertToTarget, 1,
    8687             : /* 18375*/          OPC_EmitNodeXForm, 2, 2, // rot_imm_XFORM
    8688             : /* 18378*/          OPC_EmitInteger, MVT::i32, 14, 
    8689             : /* 18381*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8690             : /* 18384*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    8691             :                         MVT::i32, 4/*#Ops*/, 0, 3, 4, 5, 
    8692             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 1255:{ *:[iPTR] }, (rotr:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_rot_imm>><<X:rot_imm_XFORM>>:$rot)) - Complexity = 31
    8693             :                     // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Rn, (rot_imm_XFORM:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_rot_imm>>:$rot))
    8694             : /* 18394*/        0, /*End of Scope*/
    8695             : /* 18395*/      /*Scope*/ 47, /*->18443*/
    8696             : /* 18396*/        OPC_RecordChild1, // #0 = $Src
    8697             : /* 18397*/        OPC_Scope, 21, /*->18420*/ // 2 children in Scope
    8698             : /* 18399*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasV6Ops()) && (!Subtarget->isThumb())
    8699             : /* 18401*/          OPC_EmitInteger, MVT::i32, 0, 
    8700             : /* 18404*/          OPC_EmitInteger, MVT::i32, 14, 
    8701             : /* 18407*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8702             : /* 18410*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
    8703             :                         MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8704             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 1255:{ *:[iPTR] }, GPR:{ *:[i32] }:$Src) - Complexity = 24
    8705             :                     // Dst: (UXTB16:{ *:[i32] } GPR:{ *:[i32] }:$Src, 0:{ *:[i32] })
    8706             : /* 18420*/        /*Scope*/ 21, /*->18442*/
    8707             : /* 18421*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasDSP()) && (Subtarget->isThumb2())
    8708             : /* 18423*/          OPC_EmitInteger, MVT::i32, 0, 
    8709             : /* 18426*/          OPC_EmitInteger, MVT::i32, 14, 
    8710             : /* 18429*/          OPC_EmitRegister, MVT::i32, 0 /*zero_reg*/,
    8711             : /* 18432*/          OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
    8712             :                         MVT::i32, 4/*#Ops*/, 0, 1, 2, 3, 
    8713             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 1255:{ *:[iPTR] }, rGPR:{ *:[i32] }:$Rm) - Complexity = 24
    8714             :                     // Dst: (t2UXTB16:{ *:[i32] } rGPR:{ *:[i32] }:$Rm, 0:{ *:[i32] })