LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/AMDGPU - AMDGPUGenDAGISel.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 290 296 98.0 %
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 AMDGPU 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 /*196 cases */, 84|128,70|128,3/*58196*/, TARGET_VAL(ISD::ADD),// ->58202
      58             : /*     6*/    OPC_Scope, 123|128,63|128,3/*57339*/, /*->57349*/ // 10 children in Scope
      59             : /*    10*/      OPC_MoveChild0,
      60             : /*    11*/      OPC_SwitchOpcode /*4 cases */, 60|128,94|128,1/*28476*/, TARGET_VAL(ISD::ADD),// ->28493
      61             : /*    17*/        OPC_Scope, 48|128,88|128,1/*27696*/, /*->27717*/ // 4 children in Scope
      62             : /*    21*/          OPC_MoveChild0,
      63             : /*    22*/          OPC_SwitchOpcode /*3 cases */, 95|128,113/*14559*/, TARGET_VAL(ISD::ADD),// ->14586
      64             : /*    27*/            OPC_MoveChild0,
      65             : /*    28*/            OPC_SwitchOpcode /*3 cases */, 30|128,61/*7838*/, TARGET_VAL(ISD::ADD),// ->7871
      66             : /*    33*/              OPC_Scope, 14|128,12/*1550*/, /*->1586*/ // 5 children in Scope
      67             : /*    36*/                OPC_MoveChild0,
      68             : /*    37*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      69             : /*    40*/                OPC_MoveChild0,
      70             : /*    41*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      71             : /*    44*/                OPC_MoveChild0,
      72             : /*    45*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      73             : /*    48*/                OPC_MoveChild0,
      74             : /*    49*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      75             : /*    52*/                OPC_Scope, 41|128,3/*425*/, /*->480*/ // 4 children in Scope
      76             : /*    55*/                  OPC_RecordChild0, // #0 = $src2
      77             : /*    56*/                  OPC_MoveChild1,
      78             : /*    57*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
      79             : /*    60*/                  OPC_MoveChild0,
      80             : /*    61*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
      81             : /*    64*/                  OPC_MoveChild0,
      82             : /*    65*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      83             : /*    68*/                  OPC_RecordChild0, // #1 = $src0
      84             : /*    69*/                  OPC_CheckChild1Integer, 28, 
      85             : /*    71*/                  OPC_CheckChild1Type, MVT::i32,
      86             : /*    73*/                  OPC_MoveParent,
      87             : /*    74*/                  OPC_CheckChild1Integer, 28, 
      88             : /*    76*/                  OPC_CheckChild1Type, MVT::i32,
      89             : /*    78*/                  OPC_MoveParent,
      90             : /*    79*/                  OPC_MoveChild1,
      91             : /*    80*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
      92             : /*    83*/                  OPC_MoveChild0,
      93             : /*    84*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      94             : /*    87*/                  OPC_RecordChild0, // #2 = $src1
      95             : /*    88*/                  OPC_CheckChild1Integer, 28, 
      96             : /*    90*/                  OPC_CheckChild1Type, MVT::i32,
      97             : /*    92*/                  OPC_MoveParent,
      98             : /*    93*/                  OPC_CheckChild1Integer, 28, 
      99             : /*    95*/                  OPC_CheckChild1Type, MVT::i32,
     100             : /*    97*/                  OPC_MoveParent,
     101             : /*    98*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     102             : /*   100*/                  OPC_MoveParent,
     103             : /*   101*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
     104             : /*   103*/                  OPC_MoveParent,
     105             : /*   104*/                  OPC_MoveChild1,
     106             : /*   105*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     107             : /*   108*/                  OPC_MoveChild0,
     108             : /*   109*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     109             : /*   112*/                  OPC_MoveChild0,
     110             : /*   113*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     111             : /*   116*/                  OPC_CheckChild0Same, 1,
     112             : /*   118*/                  OPC_CheckChild1Integer, 24, 
     113             : /*   120*/                  OPC_CheckChild1Type, MVT::i32,
     114             : /*   122*/                  OPC_MoveParent,
     115             : /*   123*/                  OPC_CheckChild1Integer, 28, 
     116             : /*   125*/                  OPC_CheckChild1Type, MVT::i32,
     117             : /*   127*/                  OPC_MoveParent,
     118             : /*   128*/                  OPC_MoveChild1,
     119             : /*   129*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     120             : /*   132*/                  OPC_MoveChild0,
     121             : /*   133*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     122             : /*   136*/                  OPC_CheckChild0Same, 2,
     123             : /*   138*/                  OPC_CheckChild1Integer, 24, 
     124             : /*   140*/                  OPC_CheckChild1Type, MVT::i32,
     125             : /*   142*/                  OPC_MoveParent,
     126             : /*   143*/                  OPC_CheckChild1Integer, 28, 
     127             : /*   145*/                  OPC_CheckChild1Type, MVT::i32,
     128             : /*   147*/                  OPC_MoveParent,
     129             : /*   148*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     130             : /*   150*/                  OPC_MoveParent,
     131             : /*   151*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     132             : /*   153*/                  OPC_MoveParent,
     133             : /*   154*/                  OPC_MoveChild1,
     134             : /*   155*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     135             : /*   158*/                  OPC_MoveChild0,
     136             : /*   159*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     137             : /*   162*/                  OPC_MoveChild0,
     138             : /*   163*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     139             : /*   166*/                  OPC_CheckChild0Same, 1,
     140             : /*   168*/                  OPC_CheckChild1Integer, 20, 
     141             : /*   170*/                  OPC_CheckChild1Type, MVT::i32,
     142             : /*   172*/                  OPC_MoveParent,
     143             : /*   173*/                  OPC_CheckChild1Integer, 28, 
     144             : /*   175*/                  OPC_CheckChild1Type, MVT::i32,
     145             : /*   177*/                  OPC_MoveParent,
     146             : /*   178*/                  OPC_MoveChild1,
     147             : /*   179*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     148             : /*   182*/                  OPC_MoveChild0,
     149             : /*   183*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     150             : /*   186*/                  OPC_CheckChild0Same, 2,
     151             : /*   188*/                  OPC_CheckChild1Integer, 20, 
     152             : /*   190*/                  OPC_CheckChild1Type, MVT::i32,
     153             : /*   192*/                  OPC_MoveParent,
     154             : /*   193*/                  OPC_CheckChild1Integer, 28, 
     155             : /*   195*/                  OPC_CheckChild1Type, MVT::i32,
     156             : /*   197*/                  OPC_MoveParent,
     157             : /*   198*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     158             : /*   200*/                  OPC_MoveParent,
     159             : /*   201*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     160             : /*   203*/                  OPC_MoveParent,
     161             : /*   204*/                  OPC_MoveChild1,
     162             : /*   205*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     163             : /*   208*/                  OPC_MoveChild0,
     164             : /*   209*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     165             : /*   212*/                  OPC_MoveChild0,
     166             : /*   213*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     167             : /*   216*/                  OPC_CheckChild0Same, 1,
     168             : /*   218*/                  OPC_CheckChild1Integer, 16, 
     169             : /*   220*/                  OPC_CheckChild1Type, MVT::i32,
     170             : /*   222*/                  OPC_MoveParent,
     171             : /*   223*/                  OPC_CheckChild1Integer, 28, 
     172             : /*   225*/                  OPC_CheckChild1Type, MVT::i32,
     173             : /*   227*/                  OPC_MoveParent,
     174             : /*   228*/                  OPC_MoveChild1,
     175             : /*   229*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     176             : /*   232*/                  OPC_MoveChild0,
     177             : /*   233*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     178             : /*   236*/                  OPC_CheckChild0Same, 2,
     179             : /*   238*/                  OPC_CheckChild1Integer, 16, 
     180             : /*   240*/                  OPC_CheckChild1Type, MVT::i32,
     181             : /*   242*/                  OPC_MoveParent,
     182             : /*   243*/                  OPC_CheckChild1Integer, 28, 
     183             : /*   245*/                  OPC_CheckChild1Type, MVT::i32,
     184             : /*   247*/                  OPC_MoveParent,
     185             : /*   248*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     186             : /*   250*/                  OPC_MoveParent,
     187             : /*   251*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     188             : /*   253*/                  OPC_MoveParent,
     189             : /*   254*/                  OPC_MoveChild1,
     190             : /*   255*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     191             : /*   258*/                  OPC_MoveChild0,
     192             : /*   259*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     193             : /*   262*/                  OPC_MoveChild0,
     194             : /*   263*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     195             : /*   266*/                  OPC_CheckChild0Same, 1,
     196             : /*   268*/                  OPC_CheckChild1Integer, 12, 
     197             : /*   270*/                  OPC_CheckChild1Type, MVT::i32,
     198             : /*   272*/                  OPC_MoveParent,
     199             : /*   273*/                  OPC_CheckChild1Integer, 28, 
     200             : /*   275*/                  OPC_CheckChild1Type, MVT::i32,
     201             : /*   277*/                  OPC_MoveParent,
     202             : /*   278*/                  OPC_MoveChild1,
     203             : /*   279*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     204             : /*   282*/                  OPC_MoveChild0,
     205             : /*   283*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     206             : /*   286*/                  OPC_CheckChild0Same, 2,
     207             : /*   288*/                  OPC_CheckChild1Integer, 12, 
     208             : /*   290*/                  OPC_CheckChild1Type, MVT::i32,
     209             : /*   292*/                  OPC_MoveParent,
     210             : /*   293*/                  OPC_CheckChild1Integer, 28, 
     211             : /*   295*/                  OPC_CheckChild1Type, MVT::i32,
     212             : /*   297*/                  OPC_MoveParent,
     213             : /*   298*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     214             : /*   300*/                  OPC_MoveParent,
     215             : /*   301*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     216             : /*   303*/                  OPC_MoveParent,
     217             : /*   304*/                  OPC_MoveChild1,
     218             : /*   305*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     219             : /*   308*/                  OPC_MoveChild0,
     220             : /*   309*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     221             : /*   312*/                  OPC_MoveChild0,
     222             : /*   313*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     223             : /*   316*/                  OPC_CheckChild0Same, 1,
     224             : /*   318*/                  OPC_CheckChild1Integer, 8, 
     225             : /*   320*/                  OPC_CheckChild1Type, MVT::i32,
     226             : /*   322*/                  OPC_MoveParent,
     227             : /*   323*/                  OPC_CheckChild1Integer, 28, 
     228             : /*   325*/                  OPC_CheckChild1Type, MVT::i32,
     229             : /*   327*/                  OPC_MoveParent,
     230             : /*   328*/                  OPC_MoveChild1,
     231             : /*   329*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     232             : /*   332*/                  OPC_MoveChild0,
     233             : /*   333*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     234             : /*   336*/                  OPC_CheckChild0Same, 2,
     235             : /*   338*/                  OPC_CheckChild1Integer, 8, 
     236             : /*   340*/                  OPC_CheckChild1Type, MVT::i32,
     237             : /*   342*/                  OPC_MoveParent,
     238             : /*   343*/                  OPC_CheckChild1Integer, 28, 
     239             : /*   345*/                  OPC_CheckChild1Type, MVT::i32,
     240             : /*   347*/                  OPC_MoveParent,
     241             : /*   348*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     242             : /*   350*/                  OPC_MoveParent,
     243             : /*   351*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     244             : /*   353*/                  OPC_MoveParent,
     245             : /*   354*/                  OPC_MoveChild1,
     246             : /*   355*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     247             : /*   358*/                  OPC_MoveChild0,
     248             : /*   359*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     249             : /*   362*/                  OPC_MoveChild0,
     250             : /*   363*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     251             : /*   366*/                  OPC_CheckChild0Same, 1,
     252             : /*   368*/                  OPC_CheckChild1Integer, 4, 
     253             : /*   370*/                  OPC_CheckChild1Type, MVT::i32,
     254             : /*   372*/                  OPC_MoveParent,
     255             : /*   373*/                  OPC_CheckChild1Integer, 28, 
     256             : /*   375*/                  OPC_CheckChild1Type, MVT::i32,
     257             : /*   377*/                  OPC_MoveParent,
     258             : /*   378*/                  OPC_MoveChild1,
     259             : /*   379*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     260             : /*   382*/                  OPC_MoveChild0,
     261             : /*   383*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     262             : /*   386*/                  OPC_CheckChild0Same, 2,
     263             : /*   388*/                  OPC_CheckChild1Integer, 4, 
     264             : /*   390*/                  OPC_CheckChild1Type, MVT::i32,
     265             : /*   392*/                  OPC_MoveParent,
     266             : /*   393*/                  OPC_CheckChild1Integer, 28, 
     267             : /*   395*/                  OPC_CheckChild1Type, MVT::i32,
     268             : /*   397*/                  OPC_MoveParent,
     269             : /*   398*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     270             : /*   400*/                  OPC_MoveParent,
     271             : /*   401*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     272             : /*   403*/                  OPC_MoveParent,
     273             : /*   404*/                  OPC_MoveChild1,
     274             : /*   405*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     275             : /*   408*/                  OPC_MoveChild0,
     276             : /*   409*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     277             : /*   412*/                  OPC_CheckChild0Same, 1,
     278             : /*   414*/                  OPC_CheckChild1Integer, 28, 
     279             : /*   416*/                  OPC_CheckChild1Type, MVT::i32,
     280             : /*   418*/                  OPC_MoveParent,
     281             : /*   419*/                  OPC_MoveChild1,
     282             : /*   420*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     283             : /*   423*/                  OPC_CheckChild0Same, 2,
     284             : /*   425*/                  OPC_CheckChild1Integer, 28, 
     285             : /*   427*/                  OPC_CheckChild1Type, MVT::i32,
     286             : /*   429*/                  OPC_MoveParent,
     287             : /*   430*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     288             : /*   432*/                  OPC_MoveParent,
     289             : /*   433*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     290             : /*   435*/                  OPC_CheckType, MVT::i32,
     291             : /*   437*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
     292             : /*   439*/                  OPC_EmitInteger, MVT::i32, 8, 
     293             : /*   442*/                  OPC_EmitInteger, MVT::i32, 8, 
     294             : /*   445*/                  OPC_EmitInteger, MVT::i32, 8, 
     295             : /*   448*/                  OPC_EmitInteger, MVT::i1, 0, 
     296             : /*   451*/                  OPC_EmitInteger, MVT::i32, 0, 
     297             : /*   454*/                  OPC_EmitInteger, MVT::i32, 0, 
     298             : /*   457*/                  OPC_EmitInteger, MVT::i32, 0, 
     299             : /*   460*/                  OPC_EmitInteger, MVT::i32, 0, 
     300             : /*   463*/                  OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT8_I32_I4), 0,
     301             :                                 MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
     302             :                             // Src: (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 28:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 28:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 20:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 20:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 12:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 12:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 4:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 4:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 28:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>> - Complexity = 304
     303             :                             // Dst: (V_DOT8_I32_I4:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
     304             : /*   480*/                /*Scope*/ 41|128,3/*425*/, /*->907*/
     305             : /*   482*/                  OPC_MoveChild0,
     306             : /*   483*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     307             : /*   486*/                  OPC_MoveChild0,
     308             : /*   487*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     309             : /*   490*/                  OPC_MoveChild0,
     310             : /*   491*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     311             : /*   494*/                  OPC_RecordChild0, // #0 = $src0
     312             : /*   495*/                  OPC_CheckChild1Integer, 28, 
     313             : /*   497*/                  OPC_CheckChild1Type, MVT::i32,
     314             : /*   499*/                  OPC_MoveParent,
     315             : /*   500*/                  OPC_CheckChild1Integer, 28, 
     316             : /*   502*/                  OPC_CheckChild1Type, MVT::i32,
     317             : /*   504*/                  OPC_MoveParent,
     318             : /*   505*/                  OPC_MoveChild1,
     319             : /*   506*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     320             : /*   509*/                  OPC_MoveChild0,
     321             : /*   510*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     322             : /*   513*/                  OPC_RecordChild0, // #1 = $src1
     323             : /*   514*/                  OPC_CheckChild1Integer, 28, 
     324             : /*   516*/                  OPC_CheckChild1Type, MVT::i32,
     325             : /*   518*/                  OPC_MoveParent,
     326             : /*   519*/                  OPC_CheckChild1Integer, 28, 
     327             : /*   521*/                  OPC_CheckChild1Type, MVT::i32,
     328             : /*   523*/                  OPC_MoveParent,
     329             : /*   524*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     330             : /*   526*/                  OPC_MoveParent,
     331             : /*   527*/                  OPC_RecordChild1, // #2 = $src2
     332             : /*   528*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
     333             : /*   530*/                  OPC_MoveParent,
     334             : /*   531*/                  OPC_MoveChild1,
     335             : /*   532*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     336             : /*   535*/                  OPC_MoveChild0,
     337             : /*   536*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     338             : /*   539*/                  OPC_MoveChild0,
     339             : /*   540*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     340             : /*   543*/                  OPC_CheckChild0Same, 0,
     341             : /*   545*/                  OPC_CheckChild1Integer, 24, 
     342             : /*   547*/                  OPC_CheckChild1Type, MVT::i32,
     343             : /*   549*/                  OPC_MoveParent,
     344             : /*   550*/                  OPC_CheckChild1Integer, 28, 
     345             : /*   552*/                  OPC_CheckChild1Type, MVT::i32,
     346             : /*   554*/                  OPC_MoveParent,
     347             : /*   555*/                  OPC_MoveChild1,
     348             : /*   556*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     349             : /*   559*/                  OPC_MoveChild0,
     350             : /*   560*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     351             : /*   563*/                  OPC_CheckChild0Same, 1,
     352             : /*   565*/                  OPC_CheckChild1Integer, 24, 
     353             : /*   567*/                  OPC_CheckChild1Type, MVT::i32,
     354             : /*   569*/                  OPC_MoveParent,
     355             : /*   570*/                  OPC_CheckChild1Integer, 28, 
     356             : /*   572*/                  OPC_CheckChild1Type, MVT::i32,
     357             : /*   574*/                  OPC_MoveParent,
     358             : /*   575*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     359             : /*   577*/                  OPC_MoveParent,
     360             : /*   578*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     361             : /*   580*/                  OPC_MoveParent,
     362             : /*   581*/                  OPC_MoveChild1,
     363             : /*   582*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     364             : /*   585*/                  OPC_MoveChild0,
     365             : /*   586*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     366             : /*   589*/                  OPC_MoveChild0,
     367             : /*   590*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     368             : /*   593*/                  OPC_CheckChild0Same, 0,
     369             : /*   595*/                  OPC_CheckChild1Integer, 20, 
     370             : /*   597*/                  OPC_CheckChild1Type, MVT::i32,
     371             : /*   599*/                  OPC_MoveParent,
     372             : /*   600*/                  OPC_CheckChild1Integer, 28, 
     373             : /*   602*/                  OPC_CheckChild1Type, MVT::i32,
     374             : /*   604*/                  OPC_MoveParent,
     375             : /*   605*/                  OPC_MoveChild1,
     376             : /*   606*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     377             : /*   609*/                  OPC_MoveChild0,
     378             : /*   610*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     379             : /*   613*/                  OPC_CheckChild0Same, 1,
     380             : /*   615*/                  OPC_CheckChild1Integer, 20, 
     381             : /*   617*/                  OPC_CheckChild1Type, MVT::i32,
     382             : /*   619*/                  OPC_MoveParent,
     383             : /*   620*/                  OPC_CheckChild1Integer, 28, 
     384             : /*   622*/                  OPC_CheckChild1Type, MVT::i32,
     385             : /*   624*/                  OPC_MoveParent,
     386             : /*   625*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     387             : /*   627*/                  OPC_MoveParent,
     388             : /*   628*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     389             : /*   630*/                  OPC_MoveParent,
     390             : /*   631*/                  OPC_MoveChild1,
     391             : /*   632*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     392             : /*   635*/                  OPC_MoveChild0,
     393             : /*   636*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     394             : /*   639*/                  OPC_MoveChild0,
     395             : /*   640*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     396             : /*   643*/                  OPC_CheckChild0Same, 0,
     397             : /*   645*/                  OPC_CheckChild1Integer, 16, 
     398             : /*   647*/                  OPC_CheckChild1Type, MVT::i32,
     399             : /*   649*/                  OPC_MoveParent,
     400             : /*   650*/                  OPC_CheckChild1Integer, 28, 
     401             : /*   652*/                  OPC_CheckChild1Type, MVT::i32,
     402             : /*   654*/                  OPC_MoveParent,
     403             : /*   655*/                  OPC_MoveChild1,
     404             : /*   656*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     405             : /*   659*/                  OPC_MoveChild0,
     406             : /*   660*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     407             : /*   663*/                  OPC_CheckChild0Same, 1,
     408             : /*   665*/                  OPC_CheckChild1Integer, 16, 
     409             : /*   667*/                  OPC_CheckChild1Type, MVT::i32,
     410             : /*   669*/                  OPC_MoveParent,
     411             : /*   670*/                  OPC_CheckChild1Integer, 28, 
     412             : /*   672*/                  OPC_CheckChild1Type, MVT::i32,
     413             : /*   674*/                  OPC_MoveParent,
     414             : /*   675*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     415             : /*   677*/                  OPC_MoveParent,
     416             : /*   678*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     417             : /*   680*/                  OPC_MoveParent,
     418             : /*   681*/                  OPC_MoveChild1,
     419             : /*   682*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     420             : /*   685*/                  OPC_MoveChild0,
     421             : /*   686*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     422             : /*   689*/                  OPC_MoveChild0,
     423             : /*   690*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     424             : /*   693*/                  OPC_CheckChild0Same, 0,
     425             : /*   695*/                  OPC_CheckChild1Integer, 12, 
     426             : /*   697*/                  OPC_CheckChild1Type, MVT::i32,
     427             : /*   699*/                  OPC_MoveParent,
     428             : /*   700*/                  OPC_CheckChild1Integer, 28, 
     429             : /*   702*/                  OPC_CheckChild1Type, MVT::i32,
     430             : /*   704*/                  OPC_MoveParent,
     431             : /*   705*/                  OPC_MoveChild1,
     432             : /*   706*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     433             : /*   709*/                  OPC_MoveChild0,
     434             : /*   710*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     435             : /*   713*/                  OPC_CheckChild0Same, 1,
     436             : /*   715*/                  OPC_CheckChild1Integer, 12, 
     437             : /*   717*/                  OPC_CheckChild1Type, MVT::i32,
     438             : /*   719*/                  OPC_MoveParent,
     439             : /*   720*/                  OPC_CheckChild1Integer, 28, 
     440             : /*   722*/                  OPC_CheckChild1Type, MVT::i32,
     441             : /*   724*/                  OPC_MoveParent,
     442             : /*   725*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     443             : /*   727*/                  OPC_MoveParent,
     444             : /*   728*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     445             : /*   730*/                  OPC_MoveParent,
     446             : /*   731*/                  OPC_MoveChild1,
     447             : /*   732*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     448             : /*   735*/                  OPC_MoveChild0,
     449             : /*   736*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     450             : /*   739*/                  OPC_MoveChild0,
     451             : /*   740*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     452             : /*   743*/                  OPC_CheckChild0Same, 0,
     453             : /*   745*/                  OPC_CheckChild1Integer, 8, 
     454             : /*   747*/                  OPC_CheckChild1Type, MVT::i32,
     455             : /*   749*/                  OPC_MoveParent,
     456             : /*   750*/                  OPC_CheckChild1Integer, 28, 
     457             : /*   752*/                  OPC_CheckChild1Type, MVT::i32,
     458             : /*   754*/                  OPC_MoveParent,
     459             : /*   755*/                  OPC_MoveChild1,
     460             : /*   756*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     461             : /*   759*/                  OPC_MoveChild0,
     462             : /*   760*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     463             : /*   763*/                  OPC_CheckChild0Same, 1,
     464             : /*   765*/                  OPC_CheckChild1Integer, 8, 
     465             : /*   767*/                  OPC_CheckChild1Type, MVT::i32,
     466             : /*   769*/                  OPC_MoveParent,
     467             : /*   770*/                  OPC_CheckChild1Integer, 28, 
     468             : /*   772*/                  OPC_CheckChild1Type, MVT::i32,
     469             : /*   774*/                  OPC_MoveParent,
     470             : /*   775*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     471             : /*   777*/                  OPC_MoveParent,
     472             : /*   778*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     473             : /*   780*/                  OPC_MoveParent,
     474             : /*   781*/                  OPC_MoveChild1,
     475             : /*   782*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     476             : /*   785*/                  OPC_MoveChild0,
     477             : /*   786*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     478             : /*   789*/                  OPC_MoveChild0,
     479             : /*   790*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     480             : /*   793*/                  OPC_CheckChild0Same, 0,
     481             : /*   795*/                  OPC_CheckChild1Integer, 4, 
     482             : /*   797*/                  OPC_CheckChild1Type, MVT::i32,
     483             : /*   799*/                  OPC_MoveParent,
     484             : /*   800*/                  OPC_CheckChild1Integer, 28, 
     485             : /*   802*/                  OPC_CheckChild1Type, MVT::i32,
     486             : /*   804*/                  OPC_MoveParent,
     487             : /*   805*/                  OPC_MoveChild1,
     488             : /*   806*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     489             : /*   809*/                  OPC_MoveChild0,
     490             : /*   810*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     491             : /*   813*/                  OPC_CheckChild0Same, 1,
     492             : /*   815*/                  OPC_CheckChild1Integer, 4, 
     493             : /*   817*/                  OPC_CheckChild1Type, MVT::i32,
     494             : /*   819*/                  OPC_MoveParent,
     495             : /*   820*/                  OPC_CheckChild1Integer, 28, 
     496             : /*   822*/                  OPC_CheckChild1Type, MVT::i32,
     497             : /*   824*/                  OPC_MoveParent,
     498             : /*   825*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     499             : /*   827*/                  OPC_MoveParent,
     500             : /*   828*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     501             : /*   830*/                  OPC_MoveParent,
     502             : /*   831*/                  OPC_MoveChild1,
     503             : /*   832*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
     504             : /*   835*/                  OPC_MoveChild0,
     505             : /*   836*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     506             : /*   839*/                  OPC_CheckChild0Same, 0,
     507             : /*   841*/                  OPC_CheckChild1Integer, 28, 
     508             : /*   843*/                  OPC_CheckChild1Type, MVT::i32,
     509             : /*   845*/                  OPC_MoveParent,
     510             : /*   846*/                  OPC_MoveChild1,
     511             : /*   847*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     512             : /*   850*/                  OPC_CheckChild0Same, 1,
     513             : /*   852*/                  OPC_CheckChild1Integer, 28, 
     514             : /*   854*/                  OPC_CheckChild1Type, MVT::i32,
     515             : /*   856*/                  OPC_MoveParent,
     516             : /*   857*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_i24_oneuse
     517             : /*   859*/                  OPC_MoveParent,
     518             : /*   860*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     519             : /*   862*/                  OPC_CheckType, MVT::i32,
     520             : /*   864*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
     521             : /*   866*/                  OPC_EmitInteger, MVT::i32, 8, 
     522             : /*   869*/                  OPC_EmitInteger, MVT::i32, 8, 
     523             : /*   872*/                  OPC_EmitInteger, MVT::i32, 8, 
     524             : /*   875*/                  OPC_EmitInteger, MVT::i1, 0, 
     525             : /*   878*/                  OPC_EmitInteger, MVT::i32, 0, 
     526             : /*   881*/                  OPC_EmitInteger, MVT::i32, 0, 
     527             : /*   884*/                  OPC_EmitInteger, MVT::i32, 0, 
     528             : /*   887*/                  OPC_EmitInteger, MVT::i32, 0, 
     529             : /*   890*/                  OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT8_I32_I4), 0,
     530             :                                 MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
     531             :                             // Src: (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (add:{ *:[i32] } (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 28:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 28:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 20:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 20:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 12:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 12:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src0, 4:{ *:[i32] }), 28:{ *:[i32] }), (sra:{ *:[i32] } (shl:{ *:[i32] } i32:{ *:[i32] }:$src1, 4:{ *:[i32] }), 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 28:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_i24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>> - Complexity = 304
     532             :                             // Dst: (V_DOT8_I32_I4:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
     533             : /*   907*/                /*Scope*/ 81|128,2/*337*/, /*->1246*/
     534             : /*   909*/                  OPC_RecordChild0, // #0 = $src2
     535             : /*   910*/                  OPC_MoveChild1,
     536             : /*   911*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     537             : /*   914*/                  OPC_MoveChild0,
     538             : /*   915*/                  OPC_CheckAndImm, 15, 
     539             : /*   917*/                  OPC_RecordChild0, // #1 = $src0
     540             : /*   918*/                  OPC_MoveParent,
     541             : /*   919*/                  OPC_MoveChild1,
     542             : /*   920*/                  OPC_CheckAndImm, 15, 
     543             : /*   922*/                  OPC_RecordChild0, // #2 = $src1
     544             : /*   923*/                  OPC_MoveParent,
     545             : /*   924*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     546             : /*   926*/                  OPC_MoveParent,
     547             : /*   927*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
     548             : /*   929*/                  OPC_MoveParent,
     549             : /*   930*/                  OPC_MoveChild1,
     550             : /*   931*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     551             : /*   934*/                  OPC_MoveChild0,
     552             : /*   935*/                  OPC_CheckAndImm, 15, 
     553             : /*   937*/                  OPC_MoveChild0,
     554             : /*   938*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     555             : /*   941*/                  OPC_CheckChild0Same, 1,
     556             : /*   943*/                  OPC_CheckChild1Integer, 4, 
     557             : /*   945*/                  OPC_CheckChild1Type, MVT::i32,
     558             : /*   947*/                  OPC_MoveParent,
     559             : /*   948*/                  OPC_MoveParent,
     560             : /*   949*/                  OPC_MoveChild1,
     561             : /*   950*/                  OPC_CheckAndImm, 15, 
     562             : /*   952*/                  OPC_MoveChild0,
     563             : /*   953*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     564             : /*   956*/                  OPC_CheckChild0Same, 2,
     565             : /*   958*/                  OPC_CheckChild1Integer, 4, 
     566             : /*   960*/                  OPC_CheckChild1Type, MVT::i32,
     567             : /*   962*/                  OPC_MoveParent,
     568             : /*   963*/                  OPC_MoveParent,
     569             : /*   964*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     570             : /*   966*/                  OPC_MoveParent,
     571             : /*   967*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     572             : /*   969*/                  OPC_MoveParent,
     573             : /*   970*/                  OPC_MoveChild1,
     574             : /*   971*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     575             : /*   974*/                  OPC_MoveChild0,
     576             : /*   975*/                  OPC_CheckAndImm, 15, 
     577             : /*   977*/                  OPC_MoveChild0,
     578             : /*   978*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     579             : /*   981*/                  OPC_CheckChild0Same, 1,
     580             : /*   983*/                  OPC_CheckChild1Integer, 8, 
     581             : /*   985*/                  OPC_CheckChild1Type, MVT::i32,
     582             : /*   987*/                  OPC_MoveParent,
     583             : /*   988*/                  OPC_MoveParent,
     584             : /*   989*/                  OPC_MoveChild1,
     585             : /*   990*/                  OPC_CheckAndImm, 15, 
     586             : /*   992*/                  OPC_MoveChild0,
     587             : /*   993*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     588             : /*   996*/                  OPC_CheckChild0Same, 2,
     589             : /*   998*/                  OPC_CheckChild1Integer, 8, 
     590             : /*  1000*/                  OPC_CheckChild1Type, MVT::i32,
     591             : /*  1002*/                  OPC_MoveParent,
     592             : /*  1003*/                  OPC_MoveParent,
     593             : /*  1004*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     594             : /*  1006*/                  OPC_MoveParent,
     595             : /*  1007*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     596             : /*  1009*/                  OPC_MoveParent,
     597             : /*  1010*/                  OPC_MoveChild1,
     598             : /*  1011*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     599             : /*  1014*/                  OPC_MoveChild0,
     600             : /*  1015*/                  OPC_CheckAndImm, 15, 
     601             : /*  1017*/                  OPC_MoveChild0,
     602             : /*  1018*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     603             : /*  1021*/                  OPC_CheckChild0Same, 1,
     604             : /*  1023*/                  OPC_CheckChild1Integer, 12, 
     605             : /*  1025*/                  OPC_CheckChild1Type, MVT::i32,
     606             : /*  1027*/                  OPC_MoveParent,
     607             : /*  1028*/                  OPC_MoveParent,
     608             : /*  1029*/                  OPC_MoveChild1,
     609             : /*  1030*/                  OPC_CheckAndImm, 15, 
     610             : /*  1032*/                  OPC_MoveChild0,
     611             : /*  1033*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     612             : /*  1036*/                  OPC_CheckChild0Same, 2,
     613             : /*  1038*/                  OPC_CheckChild1Integer, 12, 
     614             : /*  1040*/                  OPC_CheckChild1Type, MVT::i32,
     615             : /*  1042*/                  OPC_MoveParent,
     616             : /*  1043*/                  OPC_MoveParent,
     617             : /*  1044*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     618             : /*  1046*/                  OPC_MoveParent,
     619             : /*  1047*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     620             : /*  1049*/                  OPC_MoveParent,
     621             : /*  1050*/                  OPC_MoveChild1,
     622             : /*  1051*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     623             : /*  1054*/                  OPC_MoveChild0,
     624             : /*  1055*/                  OPC_CheckAndImm, 15, 
     625             : /*  1057*/                  OPC_MoveChild0,
     626             : /*  1058*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     627             : /*  1061*/                  OPC_CheckChild0Same, 1,
     628             : /*  1063*/                  OPC_CheckChild1Integer, 16, 
     629             : /*  1065*/                  OPC_CheckChild1Type, MVT::i32,
     630             : /*  1067*/                  OPC_MoveParent,
     631             : /*  1068*/                  OPC_MoveParent,
     632             : /*  1069*/                  OPC_MoveChild1,
     633             : /*  1070*/                  OPC_CheckAndImm, 15, 
     634             : /*  1072*/                  OPC_MoveChild0,
     635             : /*  1073*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     636             : /*  1076*/                  OPC_CheckChild0Same, 2,
     637             : /*  1078*/                  OPC_CheckChild1Integer, 16, 
     638             : /*  1080*/                  OPC_CheckChild1Type, MVT::i32,
     639             : /*  1082*/                  OPC_MoveParent,
     640             : /*  1083*/                  OPC_MoveParent,
     641             : /*  1084*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     642             : /*  1086*/                  OPC_MoveParent,
     643             : /*  1087*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     644             : /*  1089*/                  OPC_MoveParent,
     645             : /*  1090*/                  OPC_MoveChild1,
     646             : /*  1091*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     647             : /*  1094*/                  OPC_MoveChild0,
     648             : /*  1095*/                  OPC_CheckAndImm, 15, 
     649             : /*  1097*/                  OPC_MoveChild0,
     650             : /*  1098*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     651             : /*  1101*/                  OPC_CheckChild0Same, 1,
     652             : /*  1103*/                  OPC_CheckChild1Integer, 20, 
     653             : /*  1105*/                  OPC_CheckChild1Type, MVT::i32,
     654             : /*  1107*/                  OPC_MoveParent,
     655             : /*  1108*/                  OPC_MoveParent,
     656             : /*  1109*/                  OPC_MoveChild1,
     657             : /*  1110*/                  OPC_CheckAndImm, 15, 
     658             : /*  1112*/                  OPC_MoveChild0,
     659             : /*  1113*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     660             : /*  1116*/                  OPC_CheckChild0Same, 2,
     661             : /*  1118*/                  OPC_CheckChild1Integer, 20, 
     662             : /*  1120*/                  OPC_CheckChild1Type, MVT::i32,
     663             : /*  1122*/                  OPC_MoveParent,
     664             : /*  1123*/                  OPC_MoveParent,
     665             : /*  1124*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     666             : /*  1126*/                  OPC_MoveParent,
     667             : /*  1127*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     668             : /*  1129*/                  OPC_MoveParent,
     669             : /*  1130*/                  OPC_MoveChild1,
     670             : /*  1131*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     671             : /*  1134*/                  OPC_MoveChild0,
     672             : /*  1135*/                  OPC_CheckAndImm, 15, 
     673             : /*  1137*/                  OPC_MoveChild0,
     674             : /*  1138*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     675             : /*  1141*/                  OPC_CheckChild0Same, 1,
     676             : /*  1143*/                  OPC_CheckChild1Integer, 24, 
     677             : /*  1145*/                  OPC_CheckChild1Type, MVT::i32,
     678             : /*  1147*/                  OPC_MoveParent,
     679             : /*  1148*/                  OPC_MoveParent,
     680             : /*  1149*/                  OPC_MoveChild1,
     681             : /*  1150*/                  OPC_CheckAndImm, 15, 
     682             : /*  1152*/                  OPC_MoveChild0,
     683             : /*  1153*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     684             : /*  1156*/                  OPC_CheckChild0Same, 2,
     685             : /*  1158*/                  OPC_CheckChild1Integer, 24, 
     686             : /*  1160*/                  OPC_CheckChild1Type, MVT::i32,
     687             : /*  1162*/                  OPC_MoveParent,
     688             : /*  1163*/                  OPC_MoveParent,
     689             : /*  1164*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     690             : /*  1166*/                  OPC_MoveParent,
     691             : /*  1167*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     692             : /*  1169*/                  OPC_MoveParent,
     693             : /*  1170*/                  OPC_MoveChild1,
     694             : /*  1171*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     695             : /*  1174*/                  OPC_MoveChild0,
     696             : /*  1175*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     697             : /*  1178*/                  OPC_CheckChild0Same, 1,
     698             : /*  1180*/                  OPC_CheckChild1Integer, 28, 
     699             : /*  1182*/                  OPC_CheckChild1Type, MVT::i32,
     700             : /*  1184*/                  OPC_MoveParent,
     701             : /*  1185*/                  OPC_MoveChild1,
     702             : /*  1186*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     703             : /*  1189*/                  OPC_CheckChild0Same, 2,
     704             : /*  1191*/                  OPC_CheckChild1Integer, 28, 
     705             : /*  1193*/                  OPC_CheckChild1Type, MVT::i32,
     706             : /*  1195*/                  OPC_MoveParent,
     707             : /*  1196*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     708             : /*  1198*/                  OPC_MoveParent,
     709             : /*  1199*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     710             : /*  1201*/                  OPC_CheckType, MVT::i32,
     711             : /*  1203*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
     712             : /*  1205*/                  OPC_EmitInteger, MVT::i32, 8, 
     713             : /*  1208*/                  OPC_EmitInteger, MVT::i32, 8, 
     714             : /*  1211*/                  OPC_EmitInteger, MVT::i32, 8, 
     715             : /*  1214*/                  OPC_EmitInteger, MVT::i1, 0, 
     716             : /*  1217*/                  OPC_EmitInteger, MVT::i32, 0, 
     717             : /*  1220*/                  OPC_EmitInteger, MVT::i32, 0, 
     718             : /*  1223*/                  OPC_EmitInteger, MVT::i32, 0, 
     719             : /*  1226*/                  OPC_EmitInteger, MVT::i32, 0, 
     720             : /*  1229*/                  OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT8_U32_U4), 0,
     721             :                                 MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
     722             :                             // Src: (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 15:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 4:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 4:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 12:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 12:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 20:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 20:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 28:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>> - Complexity = 288
     723             :                             // Dst: (V_DOT8_U32_U4:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
     724             : /*  1246*/                /*Scope*/ 81|128,2/*337*/, /*->1585*/
     725             : /*  1248*/                  OPC_MoveChild0,
     726             : /*  1249*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     727             : /*  1252*/                  OPC_MoveChild0,
     728             : /*  1253*/                  OPC_CheckAndImm, 15, 
     729             : /*  1255*/                  OPC_RecordChild0, // #0 = $src0
     730             : /*  1256*/                  OPC_MoveParent,
     731             : /*  1257*/                  OPC_MoveChild1,
     732             : /*  1258*/                  OPC_CheckAndImm, 15, 
     733             : /*  1260*/                  OPC_RecordChild0, // #1 = $src1
     734             : /*  1261*/                  OPC_MoveParent,
     735             : /*  1262*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     736             : /*  1264*/                  OPC_MoveParent,
     737             : /*  1265*/                  OPC_RecordChild1, // #2 = $src2
     738             : /*  1266*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
     739             : /*  1268*/                  OPC_MoveParent,
     740             : /*  1269*/                  OPC_MoveChild1,
     741             : /*  1270*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     742             : /*  1273*/                  OPC_MoveChild0,
     743             : /*  1274*/                  OPC_CheckAndImm, 15, 
     744             : /*  1276*/                  OPC_MoveChild0,
     745             : /*  1277*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     746             : /*  1280*/                  OPC_CheckChild0Same, 0,
     747             : /*  1282*/                  OPC_CheckChild1Integer, 4, 
     748             : /*  1284*/                  OPC_CheckChild1Type, MVT::i32,
     749             : /*  1286*/                  OPC_MoveParent,
     750             : /*  1287*/                  OPC_MoveParent,
     751             : /*  1288*/                  OPC_MoveChild1,
     752             : /*  1289*/                  OPC_CheckAndImm, 15, 
     753             : /*  1291*/                  OPC_MoveChild0,
     754             : /*  1292*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     755             : /*  1295*/                  OPC_CheckChild0Same, 1,
     756             : /*  1297*/                  OPC_CheckChild1Integer, 4, 
     757             : /*  1299*/                  OPC_CheckChild1Type, MVT::i32,
     758             : /*  1301*/                  OPC_MoveParent,
     759             : /*  1302*/                  OPC_MoveParent,
     760             : /*  1303*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     761             : /*  1305*/                  OPC_MoveParent,
     762             : /*  1306*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     763             : /*  1308*/                  OPC_MoveParent,
     764             : /*  1309*/                  OPC_MoveChild1,
     765             : /*  1310*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     766             : /*  1313*/                  OPC_MoveChild0,
     767             : /*  1314*/                  OPC_CheckAndImm, 15, 
     768             : /*  1316*/                  OPC_MoveChild0,
     769             : /*  1317*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     770             : /*  1320*/                  OPC_CheckChild0Same, 0,
     771             : /*  1322*/                  OPC_CheckChild1Integer, 8, 
     772             : /*  1324*/                  OPC_CheckChild1Type, MVT::i32,
     773             : /*  1326*/                  OPC_MoveParent,
     774             : /*  1327*/                  OPC_MoveParent,
     775             : /*  1328*/                  OPC_MoveChild1,
     776             : /*  1329*/                  OPC_CheckAndImm, 15, 
     777             : /*  1331*/                  OPC_MoveChild0,
     778             : /*  1332*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     779             : /*  1335*/                  OPC_CheckChild0Same, 1,
     780             : /*  1337*/                  OPC_CheckChild1Integer, 8, 
     781             : /*  1339*/                  OPC_CheckChild1Type, MVT::i32,
     782             : /*  1341*/                  OPC_MoveParent,
     783             : /*  1342*/                  OPC_MoveParent,
     784             : /*  1343*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     785             : /*  1345*/                  OPC_MoveParent,
     786             : /*  1346*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     787             : /*  1348*/                  OPC_MoveParent,
     788             : /*  1349*/                  OPC_MoveChild1,
     789             : /*  1350*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     790             : /*  1353*/                  OPC_MoveChild0,
     791             : /*  1354*/                  OPC_CheckAndImm, 15, 
     792             : /*  1356*/                  OPC_MoveChild0,
     793             : /*  1357*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     794             : /*  1360*/                  OPC_CheckChild0Same, 0,
     795             : /*  1362*/                  OPC_CheckChild1Integer, 12, 
     796             : /*  1364*/                  OPC_CheckChild1Type, MVT::i32,
     797             : /*  1366*/                  OPC_MoveParent,
     798             : /*  1367*/                  OPC_MoveParent,
     799             : /*  1368*/                  OPC_MoveChild1,
     800             : /*  1369*/                  OPC_CheckAndImm, 15, 
     801             : /*  1371*/                  OPC_MoveChild0,
     802             : /*  1372*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     803             : /*  1375*/                  OPC_CheckChild0Same, 1,
     804             : /*  1377*/                  OPC_CheckChild1Integer, 12, 
     805             : /*  1379*/                  OPC_CheckChild1Type, MVT::i32,
     806             : /*  1381*/                  OPC_MoveParent,
     807             : /*  1382*/                  OPC_MoveParent,
     808             : /*  1383*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     809             : /*  1385*/                  OPC_MoveParent,
     810             : /*  1386*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     811             : /*  1388*/                  OPC_MoveParent,
     812             : /*  1389*/                  OPC_MoveChild1,
     813             : /*  1390*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     814             : /*  1393*/                  OPC_MoveChild0,
     815             : /*  1394*/                  OPC_CheckAndImm, 15, 
     816             : /*  1396*/                  OPC_MoveChild0,
     817             : /*  1397*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     818             : /*  1400*/                  OPC_CheckChild0Same, 0,
     819             : /*  1402*/                  OPC_CheckChild1Integer, 16, 
     820             : /*  1404*/                  OPC_CheckChild1Type, MVT::i32,
     821             : /*  1406*/                  OPC_MoveParent,
     822             : /*  1407*/                  OPC_MoveParent,
     823             : /*  1408*/                  OPC_MoveChild1,
     824             : /*  1409*/                  OPC_CheckAndImm, 15, 
     825             : /*  1411*/                  OPC_MoveChild0,
     826             : /*  1412*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     827             : /*  1415*/                  OPC_CheckChild0Same, 1,
     828             : /*  1417*/                  OPC_CheckChild1Integer, 16, 
     829             : /*  1419*/                  OPC_CheckChild1Type, MVT::i32,
     830             : /*  1421*/                  OPC_MoveParent,
     831             : /*  1422*/                  OPC_MoveParent,
     832             : /*  1423*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     833             : /*  1425*/                  OPC_MoveParent,
     834             : /*  1426*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     835             : /*  1428*/                  OPC_MoveParent,
     836             : /*  1429*/                  OPC_MoveChild1,
     837             : /*  1430*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     838             : /*  1433*/                  OPC_MoveChild0,
     839             : /*  1434*/                  OPC_CheckAndImm, 15, 
     840             : /*  1436*/                  OPC_MoveChild0,
     841             : /*  1437*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     842             : /*  1440*/                  OPC_CheckChild0Same, 0,
     843             : /*  1442*/                  OPC_CheckChild1Integer, 20, 
     844             : /*  1444*/                  OPC_CheckChild1Type, MVT::i32,
     845             : /*  1446*/                  OPC_MoveParent,
     846             : /*  1447*/                  OPC_MoveParent,
     847             : /*  1448*/                  OPC_MoveChild1,
     848             : /*  1449*/                  OPC_CheckAndImm, 15, 
     849             : /*  1451*/                  OPC_MoveChild0,
     850             : /*  1452*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     851             : /*  1455*/                  OPC_CheckChild0Same, 1,
     852             : /*  1457*/                  OPC_CheckChild1Integer, 20, 
     853             : /*  1459*/                  OPC_CheckChild1Type, MVT::i32,
     854             : /*  1461*/                  OPC_MoveParent,
     855             : /*  1462*/                  OPC_MoveParent,
     856             : /*  1463*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     857             : /*  1465*/                  OPC_MoveParent,
     858             : /*  1466*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     859             : /*  1468*/                  OPC_MoveParent,
     860             : /*  1469*/                  OPC_MoveChild1,
     861             : /*  1470*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     862             : /*  1473*/                  OPC_MoveChild0,
     863             : /*  1474*/                  OPC_CheckAndImm, 15, 
     864             : /*  1476*/                  OPC_MoveChild0,
     865             : /*  1477*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     866             : /*  1480*/                  OPC_CheckChild0Same, 0,
     867             : /*  1482*/                  OPC_CheckChild1Integer, 24, 
     868             : /*  1484*/                  OPC_CheckChild1Type, MVT::i32,
     869             : /*  1486*/                  OPC_MoveParent,
     870             : /*  1487*/                  OPC_MoveParent,
     871             : /*  1488*/                  OPC_MoveChild1,
     872             : /*  1489*/                  OPC_CheckAndImm, 15, 
     873             : /*  1491*/                  OPC_MoveChild0,
     874             : /*  1492*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     875             : /*  1495*/                  OPC_CheckChild0Same, 1,
     876             : /*  1497*/                  OPC_CheckChild1Integer, 24, 
     877             : /*  1499*/                  OPC_CheckChild1Type, MVT::i32,
     878             : /*  1501*/                  OPC_MoveParent,
     879             : /*  1502*/                  OPC_MoveParent,
     880             : /*  1503*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     881             : /*  1505*/                  OPC_MoveParent,
     882             : /*  1506*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     883             : /*  1508*/                  OPC_MoveParent,
     884             : /*  1509*/                  OPC_MoveChild1,
     885             : /*  1510*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     886             : /*  1513*/                  OPC_MoveChild0,
     887             : /*  1514*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     888             : /*  1517*/                  OPC_CheckChild0Same, 0,
     889             : /*  1519*/                  OPC_CheckChild1Integer, 28, 
     890             : /*  1521*/                  OPC_CheckChild1Type, MVT::i32,
     891             : /*  1523*/                  OPC_MoveParent,
     892             : /*  1524*/                  OPC_MoveChild1,
     893             : /*  1525*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     894             : /*  1528*/                  OPC_CheckChild0Same, 1,
     895             : /*  1530*/                  OPC_CheckChild1Integer, 28, 
     896             : /*  1532*/                  OPC_CheckChild1Type, MVT::i32,
     897             : /*  1534*/                  OPC_MoveParent,
     898             : /*  1535*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
     899             : /*  1537*/                  OPC_MoveParent,
     900             : /*  1538*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
     901             : /*  1540*/                  OPC_CheckType, MVT::i32,
     902             : /*  1542*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
     903             : /*  1544*/                  OPC_EmitInteger, MVT::i32, 8, 
     904             : /*  1547*/                  OPC_EmitInteger, MVT::i32, 8, 
     905             : /*  1550*/                  OPC_EmitInteger, MVT::i32, 8, 
     906             : /*  1553*/                  OPC_EmitInteger, MVT::i1, 0, 
     907             : /*  1556*/                  OPC_EmitInteger, MVT::i32, 0, 
     908             : /*  1559*/                  OPC_EmitInteger, MVT::i32, 0, 
     909             : /*  1562*/                  OPC_EmitInteger, MVT::i32, 0, 
     910             : /*  1565*/                  OPC_EmitInteger, MVT::i32, 0, 
     911             : /*  1568*/                  OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT8_U32_U4), 0,
     912             :                                 MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
     913             :                             // Src: (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (NonACAdd:{ *:[i32] } (add:{ *:[i32] } (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 15:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 4:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 4:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 12:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 12:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 20:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 20:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), 15:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), 15:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>>, (NonACAMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 28:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 28:{ *:[i32] }))<<P:Predicate_NonACAMDGPUmul_u24_oneuse>>)<<P:Predicate_NonACAdd_oneuse>> - Complexity = 288
     914             :                             // Dst: (V_DOT8_U32_U4:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
     915             : /*  1585*/                0, /*End of Scope*/
     916             : /*  1586*/              /*Scope*/ 117|128,11/*1525*/, /*->3113*/
     917             : /*  1588*/                OPC_RecordChild0, // #0 = $src2
     918             : /*  1589*/                OPC_MoveChild1,
     919             : /*  1590*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     920             : /*  1593*/                OPC_MoveChild0,
     921             : /*  1594*/                OPC_CheckAndImm, 127|128,1/*255*/, 
     922             : /*  1597*/                OPC_RecordChild0, // #1 = $src0
     923             : /*  1598*/                OPC_MoveParent,
     924             : /*  1599*/                OPC_MoveChild1,
     925             : /*  1600*/                OPC_CheckAndImm, 127|128,1/*255*/, 
     926             : /*  1603*/                OPC_RecordChild0, // #2 = $src1
     927             : /*  1604*/                OPC_MoveParent,
     928             : /*  1605*/                OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
     929             : /*  1607*/                OPC_MoveParent,
     930             : /*  1608*/                OPC_CheckPredicate, 0, // Predicate_add_oneuse
     931             : /*  1610*/                OPC_MoveParent,
     932             : /*  1611*/                OPC_MoveChild1,
     933             : /*  1612*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     934             : /*  1615*/                OPC_MoveChild0,
     935             : /*  1616*/                OPC_CheckAndImm, 127|128,1/*255*/, 
     936             : /*  1619*/                OPC_MoveChild0,
     937             : /*  1620*/                OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     938             : /*  1623*/                OPC_Scope, 20|128,3/*404*/, /*->2030*/ // 3 children in Scope
     939             : /*  1626*/                  OPC_CheckChild0Same, 1,
     940             : /*  1628*/                  OPC_CheckChild1Integer, 8, 
     941             : /*  1630*/                  OPC_CheckChild1Type, MVT::i32,
     942             : /*  1632*/                  OPC_MoveParent,
     943             : /*  1633*/                  OPC_MoveParent,
     944             : /*  1634*/                  OPC_MoveChild1,
     945             : /*  1635*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
     946             : /*  1638*/                  OPC_MoveChild0,
     947             : /*  1639*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     948             : /*  1642*/                  OPC_CheckChild0Same, 2,
     949             : /*  1644*/                  OPC_CheckChild1Integer, 8, 
     950             : /*  1646*/                  OPC_CheckChild1Type, MVT::i32,
     951             : /*  1648*/                  OPC_MoveParent,
     952             : /*  1649*/                  OPC_MoveParent,
     953             : /*  1650*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
     954             : /*  1652*/                  OPC_MoveParent,
     955             : /*  1653*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
     956             : /*  1655*/                  OPC_MoveParent,
     957             : /*  1656*/                  OPC_MoveChild1,
     958             : /*  1657*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     959             : /*  1660*/                  OPC_MoveChild0,
     960             : /*  1661*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
     961             : /*  1664*/                  OPC_MoveChild0,
     962             : /*  1665*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     963             : /*  1668*/                  OPC_Scope, 50|128,1/*178*/, /*->1849*/ // 2 children in Scope
     964             : /*  1671*/                    OPC_CheckChild0Same, 1,
     965             : /*  1673*/                    OPC_CheckChild1Integer, 16, 
     966             : /*  1675*/                    OPC_CheckChild1Type, MVT::i32,
     967             : /*  1677*/                    OPC_MoveParent,
     968             : /*  1678*/                    OPC_MoveParent,
     969             : /*  1679*/                    OPC_MoveChild1,
     970             : /*  1680*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
     971             : /*  1683*/                    OPC_MoveChild0,
     972             : /*  1684*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     973             : /*  1687*/                    OPC_CheckChild0Same, 2,
     974             : /*  1689*/                    OPC_CheckChild1Integer, 16, 
     975             : /*  1691*/                    OPC_CheckChild1Type, MVT::i32,
     976             : /*  1693*/                    OPC_MoveParent,
     977             : /*  1694*/                    OPC_MoveParent,
     978             : /*  1695*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
     979             : /*  1697*/                    OPC_MoveParent,
     980             : /*  1698*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
     981             : /*  1700*/                    OPC_MoveParent,
     982             : /*  1701*/                    OPC_MoveChild1,
     983             : /*  1702*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
     984             : /*  1705*/                    OPC_MoveChild0,
     985             : /*  1706*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     986             : /*  1709*/                    OPC_Scope, 68, /*->1779*/ // 2 children in Scope
     987             : /*  1711*/                      OPC_CheckChild0Same, 1,
     988             : /*  1713*/                      OPC_CheckChild1Integer, 24, 
     989             : /*  1715*/                      OPC_CheckChild1Type, MVT::i32,
     990             : /*  1717*/                      OPC_MoveParent,
     991             : /*  1718*/                      OPC_MoveChild1,
     992             : /*  1719*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     993             : /*  1722*/                      OPC_CheckChild0Same, 2,
     994             : /*  1724*/                      OPC_CheckChild1Integer, 24, 
     995             : /*  1726*/                      OPC_CheckChild1Type, MVT::i32,
     996             : /*  1728*/                      OPC_MoveParent,
     997             : /*  1729*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
     998             : /*  1731*/                      OPC_MoveParent,
     999             : /*  1732*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1000             : /*  1734*/                      OPC_CheckType, MVT::i32,
    1001             : /*  1736*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1002             : /*  1738*/                      OPC_EmitInteger, MVT::i32, 8, 
    1003             : /*  1741*/                      OPC_EmitInteger, MVT::i32, 8, 
    1004             : /*  1744*/                      OPC_EmitInteger, MVT::i32, 8, 
    1005             : /*  1747*/                      OPC_EmitInteger, MVT::i1, 0, 
    1006             : /*  1750*/                      OPC_EmitInteger, MVT::i32, 0, 
    1007             : /*  1753*/                      OPC_EmitInteger, MVT::i32, 0, 
    1008             : /*  1756*/                      OPC_EmitInteger, MVT::i32, 0, 
    1009             : /*  1759*/                      OPC_EmitInteger, MVT::i32, 0, 
    1010             : /*  1762*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1011             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1012             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1013             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1014             : /*  1779*/                    /*Scope*/ 68, /*->1848*/
    1015             : /*  1780*/                      OPC_CheckChild0Same, 2,
    1016             : /*  1782*/                      OPC_CheckChild1Integer, 24, 
    1017             : /*  1784*/                      OPC_CheckChild1Type, MVT::i32,
    1018             : /*  1786*/                      OPC_MoveParent,
    1019             : /*  1787*/                      OPC_MoveChild1,
    1020             : /*  1788*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1021             : /*  1791*/                      OPC_CheckChild0Same, 1,
    1022             : /*  1793*/                      OPC_CheckChild1Integer, 24, 
    1023             : /*  1795*/                      OPC_CheckChild1Type, MVT::i32,
    1024             : /*  1797*/                      OPC_MoveParent,
    1025             : /*  1798*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1026             : /*  1800*/                      OPC_MoveParent,
    1027             : /*  1801*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1028             : /*  1803*/                      OPC_CheckType, MVT::i32,
    1029             : /*  1805*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1030             : /*  1807*/                      OPC_EmitInteger, MVT::i32, 8, 
    1031             : /*  1810*/                      OPC_EmitInteger, MVT::i32, 8, 
    1032             : /*  1813*/                      OPC_EmitInteger, MVT::i32, 8, 
    1033             : /*  1816*/                      OPC_EmitInteger, MVT::i1, 0, 
    1034             : /*  1819*/                      OPC_EmitInteger, MVT::i32, 0, 
    1035             : /*  1822*/                      OPC_EmitInteger, MVT::i32, 0, 
    1036             : /*  1825*/                      OPC_EmitInteger, MVT::i32, 0, 
    1037             : /*  1828*/                      OPC_EmitInteger, MVT::i32, 0, 
    1038             : /*  1831*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1039             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1040             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1041             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1042             : /*  1848*/                    0, /*End of Scope*/
    1043             : /*  1849*/                  /*Scope*/ 50|128,1/*178*/, /*->2029*/
    1044             : /*  1851*/                    OPC_CheckChild0Same, 2,
    1045             : /*  1853*/                    OPC_CheckChild1Integer, 16, 
    1046             : /*  1855*/                    OPC_CheckChild1Type, MVT::i32,
    1047             : /*  1857*/                    OPC_MoveParent,
    1048             : /*  1858*/                    OPC_MoveParent,
    1049             : /*  1859*/                    OPC_MoveChild1,
    1050             : /*  1860*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1051             : /*  1863*/                    OPC_MoveChild0,
    1052             : /*  1864*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1053             : /*  1867*/                    OPC_CheckChild0Same, 1,
    1054             : /*  1869*/                    OPC_CheckChild1Integer, 16, 
    1055             : /*  1871*/                    OPC_CheckChild1Type, MVT::i32,
    1056             : /*  1873*/                    OPC_MoveParent,
    1057             : /*  1874*/                    OPC_MoveParent,
    1058             : /*  1875*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1059             : /*  1877*/                    OPC_MoveParent,
    1060             : /*  1878*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1061             : /*  1880*/                    OPC_MoveParent,
    1062             : /*  1881*/                    OPC_MoveChild1,
    1063             : /*  1882*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1064             : /*  1885*/                    OPC_MoveChild0,
    1065             : /*  1886*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1066             : /*  1889*/                    OPC_Scope, 68, /*->1959*/ // 2 children in Scope
    1067             : /*  1891*/                      OPC_CheckChild0Same, 1,
    1068             : /*  1893*/                      OPC_CheckChild1Integer, 24, 
    1069             : /*  1895*/                      OPC_CheckChild1Type, MVT::i32,
    1070             : /*  1897*/                      OPC_MoveParent,
    1071             : /*  1898*/                      OPC_MoveChild1,
    1072             : /*  1899*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1073             : /*  1902*/                      OPC_CheckChild0Same, 2,
    1074             : /*  1904*/                      OPC_CheckChild1Integer, 24, 
    1075             : /*  1906*/                      OPC_CheckChild1Type, MVT::i32,
    1076             : /*  1908*/                      OPC_MoveParent,
    1077             : /*  1909*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1078             : /*  1911*/                      OPC_MoveParent,
    1079             : /*  1912*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1080             : /*  1914*/                      OPC_CheckType, MVT::i32,
    1081             : /*  1916*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1082             : /*  1918*/                      OPC_EmitInteger, MVT::i32, 8, 
    1083             : /*  1921*/                      OPC_EmitInteger, MVT::i32, 8, 
    1084             : /*  1924*/                      OPC_EmitInteger, MVT::i32, 8, 
    1085             : /*  1927*/                      OPC_EmitInteger, MVT::i1, 0, 
    1086             : /*  1930*/                      OPC_EmitInteger, MVT::i32, 0, 
    1087             : /*  1933*/                      OPC_EmitInteger, MVT::i32, 0, 
    1088             : /*  1936*/                      OPC_EmitInteger, MVT::i32, 0, 
    1089             : /*  1939*/                      OPC_EmitInteger, MVT::i32, 0, 
    1090             : /*  1942*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1091             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1092             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1093             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1094             : /*  1959*/                    /*Scope*/ 68, /*->2028*/
    1095             : /*  1960*/                      OPC_CheckChild0Same, 2,
    1096             : /*  1962*/                      OPC_CheckChild1Integer, 24, 
    1097             : /*  1964*/                      OPC_CheckChild1Type, MVT::i32,
    1098             : /*  1966*/                      OPC_MoveParent,
    1099             : /*  1967*/                      OPC_MoveChild1,
    1100             : /*  1968*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1101             : /*  1971*/                      OPC_CheckChild0Same, 1,
    1102             : /*  1973*/                      OPC_CheckChild1Integer, 24, 
    1103             : /*  1975*/                      OPC_CheckChild1Type, MVT::i32,
    1104             : /*  1977*/                      OPC_MoveParent,
    1105             : /*  1978*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1106             : /*  1980*/                      OPC_MoveParent,
    1107             : /*  1981*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1108             : /*  1983*/                      OPC_CheckType, MVT::i32,
    1109             : /*  1985*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1110             : /*  1987*/                      OPC_EmitInteger, MVT::i32, 8, 
    1111             : /*  1990*/                      OPC_EmitInteger, MVT::i32, 8, 
    1112             : /*  1993*/                      OPC_EmitInteger, MVT::i32, 8, 
    1113             : /*  1996*/                      OPC_EmitInteger, MVT::i1, 0, 
    1114             : /*  1999*/                      OPC_EmitInteger, MVT::i32, 0, 
    1115             : /*  2002*/                      OPC_EmitInteger, MVT::i32, 0, 
    1116             : /*  2005*/                      OPC_EmitInteger, MVT::i32, 0, 
    1117             : /*  2008*/                      OPC_EmitInteger, MVT::i32, 0, 
    1118             : /*  2011*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1119             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1120             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1121             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1122             : /*  2028*/                    0, /*End of Scope*/
    1123             : /*  2029*/                  0, /*End of Scope*/
    1124             : /*  2030*/                /*Scope*/ 34|128,5/*674*/, /*->2706*/
    1125             : /*  2032*/                  OPC_CheckChild0Same, 2,
    1126             : /*  2034*/                  OPC_CheckChild1Integer, 8, 
    1127             : /*  2036*/                  OPC_CheckChild1Type, MVT::i32,
    1128             : /*  2038*/                  OPC_MoveParent,
    1129             : /*  2039*/                  OPC_MoveParent,
    1130             : /*  2040*/                  OPC_MoveChild1,
    1131             : /*  2041*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1132             : /*  2044*/                  OPC_MoveChild0,
    1133             : /*  2045*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1134             : /*  2048*/                  OPC_CheckChild0Same, 1,
    1135             : /*  2050*/                  OPC_CheckChild1Integer, 8, 
    1136             : /*  2052*/                  OPC_CheckChild1Type, MVT::i32,
    1137             : /*  2054*/                  OPC_MoveParent,
    1138             : /*  2055*/                  OPC_MoveParent,
    1139             : /*  2056*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1140             : /*  2058*/                  OPC_MoveParent,
    1141             : /*  2059*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1142             : /*  2061*/                  OPC_MoveParent,
    1143             : /*  2062*/                  OPC_MoveChild1,
    1144             : /*  2063*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1145             : /*  2066*/                  OPC_MoveChild0,
    1146             : /*  2067*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1147             : /*  2070*/                  OPC_MoveChild0,
    1148             : /*  2071*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1149             : /*  2074*/                  OPC_Scope, 50|128,1/*178*/, /*->2255*/ // 3 children in Scope
    1150             : /*  2077*/                    OPC_CheckChild0Same, 1,
    1151             : /*  2079*/                    OPC_CheckChild1Integer, 16, 
    1152             : /*  2081*/                    OPC_CheckChild1Type, MVT::i32,
    1153             : /*  2083*/                    OPC_MoveParent,
    1154             : /*  2084*/                    OPC_MoveParent,
    1155             : /*  2085*/                    OPC_MoveChild1,
    1156             : /*  2086*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1157             : /*  2089*/                    OPC_MoveChild0,
    1158             : /*  2090*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1159             : /*  2093*/                    OPC_CheckChild0Same, 2,
    1160             : /*  2095*/                    OPC_CheckChild1Integer, 16, 
    1161             : /*  2097*/                    OPC_CheckChild1Type, MVT::i32,
    1162             : /*  2099*/                    OPC_MoveParent,
    1163             : /*  2100*/                    OPC_MoveParent,
    1164             : /*  2101*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1165             : /*  2103*/                    OPC_MoveParent,
    1166             : /*  2104*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1167             : /*  2106*/                    OPC_MoveParent,
    1168             : /*  2107*/                    OPC_MoveChild1,
    1169             : /*  2108*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1170             : /*  2111*/                    OPC_MoveChild0,
    1171             : /*  2112*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1172             : /*  2115*/                    OPC_Scope, 68, /*->2185*/ // 2 children in Scope
    1173             : /*  2117*/                      OPC_CheckChild0Same, 1,
    1174             : /*  2119*/                      OPC_CheckChild1Integer, 24, 
    1175             : /*  2121*/                      OPC_CheckChild1Type, MVT::i32,
    1176             : /*  2123*/                      OPC_MoveParent,
    1177             : /*  2124*/                      OPC_MoveChild1,
    1178             : /*  2125*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1179             : /*  2128*/                      OPC_CheckChild0Same, 2,
    1180             : /*  2130*/                      OPC_CheckChild1Integer, 24, 
    1181             : /*  2132*/                      OPC_CheckChild1Type, MVT::i32,
    1182             : /*  2134*/                      OPC_MoveParent,
    1183             : /*  2135*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1184             : /*  2137*/                      OPC_MoveParent,
    1185             : /*  2138*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1186             : /*  2140*/                      OPC_CheckType, MVT::i32,
    1187             : /*  2142*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1188             : /*  2144*/                      OPC_EmitInteger, MVT::i32, 8, 
    1189             : /*  2147*/                      OPC_EmitInteger, MVT::i32, 8, 
    1190             : /*  2150*/                      OPC_EmitInteger, MVT::i32, 8, 
    1191             : /*  2153*/                      OPC_EmitInteger, MVT::i1, 0, 
    1192             : /*  2156*/                      OPC_EmitInteger, MVT::i32, 0, 
    1193             : /*  2159*/                      OPC_EmitInteger, MVT::i32, 0, 
    1194             : /*  2162*/                      OPC_EmitInteger, MVT::i32, 0, 
    1195             : /*  2165*/                      OPC_EmitInteger, MVT::i32, 0, 
    1196             : /*  2168*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1197             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1198             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1199             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1200             : /*  2185*/                    /*Scope*/ 68, /*->2254*/
    1201             : /*  2186*/                      OPC_CheckChild0Same, 2,
    1202             : /*  2188*/                      OPC_CheckChild1Integer, 24, 
    1203             : /*  2190*/                      OPC_CheckChild1Type, MVT::i32,
    1204             : /*  2192*/                      OPC_MoveParent,
    1205             : /*  2193*/                      OPC_MoveChild1,
    1206             : /*  2194*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1207             : /*  2197*/                      OPC_CheckChild0Same, 1,
    1208             : /*  2199*/                      OPC_CheckChild1Integer, 24, 
    1209             : /*  2201*/                      OPC_CheckChild1Type, MVT::i32,
    1210             : /*  2203*/                      OPC_MoveParent,
    1211             : /*  2204*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1212             : /*  2206*/                      OPC_MoveParent,
    1213             : /*  2207*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1214             : /*  2209*/                      OPC_CheckType, MVT::i32,
    1215             : /*  2211*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1216             : /*  2213*/                      OPC_EmitInteger, MVT::i32, 8, 
    1217             : /*  2216*/                      OPC_EmitInteger, MVT::i32, 8, 
    1218             : /*  2219*/                      OPC_EmitInteger, MVT::i32, 8, 
    1219             : /*  2222*/                      OPC_EmitInteger, MVT::i1, 0, 
    1220             : /*  2225*/                      OPC_EmitInteger, MVT::i32, 0, 
    1221             : /*  2228*/                      OPC_EmitInteger, MVT::i32, 0, 
    1222             : /*  2231*/                      OPC_EmitInteger, MVT::i32, 0, 
    1223             : /*  2234*/                      OPC_EmitInteger, MVT::i32, 0, 
    1224             : /*  2237*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1225             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1226             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1227             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1228             : /*  2254*/                    0, /*End of Scope*/
    1229             : /*  2255*/                  /*Scope*/ 12|128,2/*268*/, /*->2525*/
    1230             : /*  2257*/                    OPC_CheckChild0Same, 2,
    1231             : /*  2259*/                    OPC_CheckChild1Integer, 16, 
    1232             : /*  2261*/                    OPC_CheckChild1Type, MVT::i32,
    1233             : /*  2263*/                    OPC_MoveParent,
    1234             : /*  2264*/                    OPC_MoveParent,
    1235             : /*  2265*/                    OPC_MoveChild1,
    1236             : /*  2266*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1237             : /*  2269*/                    OPC_MoveChild0,
    1238             : /*  2270*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1239             : /*  2273*/                    OPC_CheckChild0Same, 1,
    1240             : /*  2275*/                    OPC_CheckChild1Integer, 16, 
    1241             : /*  2277*/                    OPC_CheckChild1Type, MVT::i32,
    1242             : /*  2279*/                    OPC_MoveParent,
    1243             : /*  2280*/                    OPC_MoveParent,
    1244             : /*  2281*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1245             : /*  2283*/                    OPC_MoveParent,
    1246             : /*  2284*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1247             : /*  2286*/                    OPC_MoveParent,
    1248             : /*  2287*/                    OPC_MoveChild1,
    1249             : /*  2288*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1250             : /*  2291*/                    OPC_MoveChild0,
    1251             : /*  2292*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1252             : /*  2295*/                    OPC_Scope, 68, /*->2365*/ // 3 children in Scope
    1253             : /*  2297*/                      OPC_CheckChild0Same, 1,
    1254             : /*  2299*/                      OPC_CheckChild1Integer, 24, 
    1255             : /*  2301*/                      OPC_CheckChild1Type, MVT::i32,
    1256             : /*  2303*/                      OPC_MoveParent,
    1257             : /*  2304*/                      OPC_MoveChild1,
    1258             : /*  2305*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1259             : /*  2308*/                      OPC_CheckChild0Same, 2,
    1260             : /*  2310*/                      OPC_CheckChild1Integer, 24, 
    1261             : /*  2312*/                      OPC_CheckChild1Type, MVT::i32,
    1262             : /*  2314*/                      OPC_MoveParent,
    1263             : /*  2315*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1264             : /*  2317*/                      OPC_MoveParent,
    1265             : /*  2318*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1266             : /*  2320*/                      OPC_CheckType, MVT::i32,
    1267             : /*  2322*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1268             : /*  2324*/                      OPC_EmitInteger, MVT::i32, 8, 
    1269             : /*  2327*/                      OPC_EmitInteger, MVT::i32, 8, 
    1270             : /*  2330*/                      OPC_EmitInteger, MVT::i32, 8, 
    1271             : /*  2333*/                      OPC_EmitInteger, MVT::i1, 0, 
    1272             : /*  2336*/                      OPC_EmitInteger, MVT::i32, 0, 
    1273             : /*  2339*/                      OPC_EmitInteger, MVT::i32, 0, 
    1274             : /*  2342*/                      OPC_EmitInteger, MVT::i32, 0, 
    1275             : /*  2345*/                      OPC_EmitInteger, MVT::i32, 0, 
    1276             : /*  2348*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1277             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1278             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1279             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1280             : /*  2365*/                    /*Scope*/ 89, /*->2455*/
    1281             : /*  2366*/                      OPC_CheckChild0Same, 2,
    1282             : /*  2368*/                      OPC_CheckChild1Integer, 24, 
    1283             : /*  2370*/                      OPC_CheckChild1Type, MVT::i32,
    1284             : /*  2372*/                      OPC_MoveParent,
    1285             : /*  2373*/                      OPC_MoveChild1,
    1286             : /*  2374*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1287             : /*  2377*/                      OPC_CheckChild0Same, 1,
    1288             : /*  2379*/                      OPC_CheckChild1Integer, 24, 
    1289             : /*  2381*/                      OPC_CheckChild1Type, MVT::i32,
    1290             : /*  2383*/                      OPC_MoveParent,
    1291             : /*  2384*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1292             : /*  2386*/                      OPC_MoveParent,
    1293             : /*  2387*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1294             : /*  2389*/                      OPC_CheckType, MVT::i32,
    1295             : /*  2391*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1296             : /*  2393*/                      OPC_EmitInteger, MVT::i32, 8, 
    1297             : /*  2396*/                      OPC_EmitInteger, MVT::i32, 8, 
    1298             : /*  2399*/                      OPC_EmitInteger, MVT::i32, 8, 
    1299             : /*  2402*/                      OPC_EmitInteger, MVT::i1, 0, 
    1300             : /*  2405*/                      OPC_EmitInteger, MVT::i32, 0, 
    1301             : /*  2408*/                      OPC_EmitInteger, MVT::i32, 0, 
    1302             : /*  2411*/                      OPC_EmitInteger, MVT::i32, 0, 
    1303             : /*  2414*/                      OPC_EmitInteger, MVT::i32, 0, 
    1304             : /*  2417*/                      OPC_Scope, 17, /*->2436*/ // 2 children in Scope
    1305             : /*  2419*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1306             :                                       MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    1307             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1308             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1309             : /*  2436*/                      /*Scope*/ 17, /*->2454*/
    1310             : /*  2437*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1311             :                                       MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1312             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1313             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1314             : /*  2454*/                      0, /*End of Scope*/
    1315             : /*  2455*/                    /*Scope*/ 68, /*->2524*/
    1316             : /*  2456*/                      OPC_CheckChild0Same, 1,
    1317             : /*  2458*/                      OPC_CheckChild1Integer, 24, 
    1318             : /*  2460*/                      OPC_CheckChild1Type, MVT::i32,
    1319             : /*  2462*/                      OPC_MoveParent,
    1320             : /*  2463*/                      OPC_MoveChild1,
    1321             : /*  2464*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1322             : /*  2467*/                      OPC_CheckChild0Same, 2,
    1323             : /*  2469*/                      OPC_CheckChild1Integer, 24, 
    1324             : /*  2471*/                      OPC_CheckChild1Type, MVT::i32,
    1325             : /*  2473*/                      OPC_MoveParent,
    1326             : /*  2474*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1327             : /*  2476*/                      OPC_MoveParent,
    1328             : /*  2477*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1329             : /*  2479*/                      OPC_CheckType, MVT::i32,
    1330             : /*  2481*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1331             : /*  2483*/                      OPC_EmitInteger, MVT::i32, 8, 
    1332             : /*  2486*/                      OPC_EmitInteger, MVT::i32, 8, 
    1333             : /*  2489*/                      OPC_EmitInteger, MVT::i32, 8, 
    1334             : /*  2492*/                      OPC_EmitInteger, MVT::i1, 0, 
    1335             : /*  2495*/                      OPC_EmitInteger, MVT::i32, 0, 
    1336             : /*  2498*/                      OPC_EmitInteger, MVT::i32, 0, 
    1337             : /*  2501*/                      OPC_EmitInteger, MVT::i32, 0, 
    1338             : /*  2504*/                      OPC_EmitInteger, MVT::i32, 0, 
    1339             : /*  2507*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1340             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1341             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1342             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1343             : /*  2524*/                    0, /*End of Scope*/
    1344             : /*  2525*/                  /*Scope*/ 50|128,1/*178*/, /*->2705*/
    1345             : /*  2527*/                    OPC_CheckChild0Same, 1,
    1346             : /*  2529*/                    OPC_CheckChild1Integer, 16, 
    1347             : /*  2531*/                    OPC_CheckChild1Type, MVT::i32,
    1348             : /*  2533*/                    OPC_MoveParent,
    1349             : /*  2534*/                    OPC_MoveParent,
    1350             : /*  2535*/                    OPC_MoveChild1,
    1351             : /*  2536*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1352             : /*  2539*/                    OPC_MoveChild0,
    1353             : /*  2540*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1354             : /*  2543*/                    OPC_CheckChild0Same, 2,
    1355             : /*  2545*/                    OPC_CheckChild1Integer, 16, 
    1356             : /*  2547*/                    OPC_CheckChild1Type, MVT::i32,
    1357             : /*  2549*/                    OPC_MoveParent,
    1358             : /*  2550*/                    OPC_MoveParent,
    1359             : /*  2551*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1360             : /*  2553*/                    OPC_MoveParent,
    1361             : /*  2554*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1362             : /*  2556*/                    OPC_MoveParent,
    1363             : /*  2557*/                    OPC_MoveChild1,
    1364             : /*  2558*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1365             : /*  2561*/                    OPC_MoveChild0,
    1366             : /*  2562*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1367             : /*  2565*/                    OPC_Scope, 68, /*->2635*/ // 2 children in Scope
    1368             : /*  2567*/                      OPC_CheckChild0Same, 2,
    1369             : /*  2569*/                      OPC_CheckChild1Integer, 24, 
    1370             : /*  2571*/                      OPC_CheckChild1Type, MVT::i32,
    1371             : /*  2573*/                      OPC_MoveParent,
    1372             : /*  2574*/                      OPC_MoveChild1,
    1373             : /*  2575*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1374             : /*  2578*/                      OPC_CheckChild0Same, 1,
    1375             : /*  2580*/                      OPC_CheckChild1Integer, 24, 
    1376             : /*  2582*/                      OPC_CheckChild1Type, MVT::i32,
    1377             : /*  2584*/                      OPC_MoveParent,
    1378             : /*  2585*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1379             : /*  2587*/                      OPC_MoveParent,
    1380             : /*  2588*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1381             : /*  2590*/                      OPC_CheckType, MVT::i32,
    1382             : /*  2592*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1383             : /*  2594*/                      OPC_EmitInteger, MVT::i32, 8, 
    1384             : /*  2597*/                      OPC_EmitInteger, MVT::i32, 8, 
    1385             : /*  2600*/                      OPC_EmitInteger, MVT::i32, 8, 
    1386             : /*  2603*/                      OPC_EmitInteger, MVT::i1, 0, 
    1387             : /*  2606*/                      OPC_EmitInteger, MVT::i32, 0, 
    1388             : /*  2609*/                      OPC_EmitInteger, MVT::i32, 0, 
    1389             : /*  2612*/                      OPC_EmitInteger, MVT::i32, 0, 
    1390             : /*  2615*/                      OPC_EmitInteger, MVT::i32, 0, 
    1391             : /*  2618*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1392             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1393             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1394             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1395             : /*  2635*/                    /*Scope*/ 68, /*->2704*/
    1396             : /*  2636*/                      OPC_CheckChild0Same, 1,
    1397             : /*  2638*/                      OPC_CheckChild1Integer, 24, 
    1398             : /*  2640*/                      OPC_CheckChild1Type, MVT::i32,
    1399             : /*  2642*/                      OPC_MoveParent,
    1400             : /*  2643*/                      OPC_MoveChild1,
    1401             : /*  2644*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1402             : /*  2647*/                      OPC_CheckChild0Same, 2,
    1403             : /*  2649*/                      OPC_CheckChild1Integer, 24, 
    1404             : /*  2651*/                      OPC_CheckChild1Type, MVT::i32,
    1405             : /*  2653*/                      OPC_MoveParent,
    1406             : /*  2654*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1407             : /*  2656*/                      OPC_MoveParent,
    1408             : /*  2657*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1409             : /*  2659*/                      OPC_CheckType, MVT::i32,
    1410             : /*  2661*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1411             : /*  2663*/                      OPC_EmitInteger, MVT::i32, 8, 
    1412             : /*  2666*/                      OPC_EmitInteger, MVT::i32, 8, 
    1413             : /*  2669*/                      OPC_EmitInteger, MVT::i32, 8, 
    1414             : /*  2672*/                      OPC_EmitInteger, MVT::i1, 0, 
    1415             : /*  2675*/                      OPC_EmitInteger, MVT::i32, 0, 
    1416             : /*  2678*/                      OPC_EmitInteger, MVT::i32, 0, 
    1417             : /*  2681*/                      OPC_EmitInteger, MVT::i32, 0, 
    1418             : /*  2684*/                      OPC_EmitInteger, MVT::i32, 0, 
    1419             : /*  2687*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1420             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1421             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1422             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1423             : /*  2704*/                    0, /*End of Scope*/
    1424             : /*  2705*/                  0, /*End of Scope*/
    1425             : /*  2706*/                /*Scope*/ 20|128,3/*404*/, /*->3112*/
    1426             : /*  2708*/                  OPC_CheckChild0Same, 1,
    1427             : /*  2710*/                  OPC_CheckChild1Integer, 8, 
    1428             : /*  2712*/                  OPC_CheckChild1Type, MVT::i32,
    1429             : /*  2714*/                  OPC_MoveParent,
    1430             : /*  2715*/                  OPC_MoveParent,
    1431             : /*  2716*/                  OPC_MoveChild1,
    1432             : /*  2717*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1433             : /*  2720*/                  OPC_MoveChild0,
    1434             : /*  2721*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1435             : /*  2724*/                  OPC_CheckChild0Same, 2,
    1436             : /*  2726*/                  OPC_CheckChild1Integer, 8, 
    1437             : /*  2728*/                  OPC_CheckChild1Type, MVT::i32,
    1438             : /*  2730*/                  OPC_MoveParent,
    1439             : /*  2731*/                  OPC_MoveParent,
    1440             : /*  2732*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1441             : /*  2734*/                  OPC_MoveParent,
    1442             : /*  2735*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1443             : /*  2737*/                  OPC_MoveParent,
    1444             : /*  2738*/                  OPC_MoveChild1,
    1445             : /*  2739*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1446             : /*  2742*/                  OPC_MoveChild0,
    1447             : /*  2743*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1448             : /*  2746*/                  OPC_MoveChild0,
    1449             : /*  2747*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1450             : /*  2750*/                  OPC_Scope, 50|128,1/*178*/, /*->2931*/ // 2 children in Scope
    1451             : /*  2753*/                    OPC_CheckChild0Same, 2,
    1452             : /*  2755*/                    OPC_CheckChild1Integer, 16, 
    1453             : /*  2757*/                    OPC_CheckChild1Type, MVT::i32,
    1454             : /*  2759*/                    OPC_MoveParent,
    1455             : /*  2760*/                    OPC_MoveParent,
    1456             : /*  2761*/                    OPC_MoveChild1,
    1457             : /*  2762*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1458             : /*  2765*/                    OPC_MoveChild0,
    1459             : /*  2766*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1460             : /*  2769*/                    OPC_CheckChild0Same, 1,
    1461             : /*  2771*/                    OPC_CheckChild1Integer, 16, 
    1462             : /*  2773*/                    OPC_CheckChild1Type, MVT::i32,
    1463             : /*  2775*/                    OPC_MoveParent,
    1464             : /*  2776*/                    OPC_MoveParent,
    1465             : /*  2777*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1466             : /*  2779*/                    OPC_MoveParent,
    1467             : /*  2780*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1468             : /*  2782*/                    OPC_MoveParent,
    1469             : /*  2783*/                    OPC_MoveChild1,
    1470             : /*  2784*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1471             : /*  2787*/                    OPC_MoveChild0,
    1472             : /*  2788*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1473             : /*  2791*/                    OPC_Scope, 68, /*->2861*/ // 2 children in Scope
    1474             : /*  2793*/                      OPC_CheckChild0Same, 2,
    1475             : /*  2795*/                      OPC_CheckChild1Integer, 24, 
    1476             : /*  2797*/                      OPC_CheckChild1Type, MVT::i32,
    1477             : /*  2799*/                      OPC_MoveParent,
    1478             : /*  2800*/                      OPC_MoveChild1,
    1479             : /*  2801*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1480             : /*  2804*/                      OPC_CheckChild0Same, 1,
    1481             : /*  2806*/                      OPC_CheckChild1Integer, 24, 
    1482             : /*  2808*/                      OPC_CheckChild1Type, MVT::i32,
    1483             : /*  2810*/                      OPC_MoveParent,
    1484             : /*  2811*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1485             : /*  2813*/                      OPC_MoveParent,
    1486             : /*  2814*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1487             : /*  2816*/                      OPC_CheckType, MVT::i32,
    1488             : /*  2818*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1489             : /*  2820*/                      OPC_EmitInteger, MVT::i32, 8, 
    1490             : /*  2823*/                      OPC_EmitInteger, MVT::i32, 8, 
    1491             : /*  2826*/                      OPC_EmitInteger, MVT::i32, 8, 
    1492             : /*  2829*/                      OPC_EmitInteger, MVT::i1, 0, 
    1493             : /*  2832*/                      OPC_EmitInteger, MVT::i32, 0, 
    1494             : /*  2835*/                      OPC_EmitInteger, MVT::i32, 0, 
    1495             : /*  2838*/                      OPC_EmitInteger, MVT::i32, 0, 
    1496             : /*  2841*/                      OPC_EmitInteger, MVT::i32, 0, 
    1497             : /*  2844*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1498             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1499             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1500             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1501             : /*  2861*/                    /*Scope*/ 68, /*->2930*/
    1502             : /*  2862*/                      OPC_CheckChild0Same, 1,
    1503             : /*  2864*/                      OPC_CheckChild1Integer, 24, 
    1504             : /*  2866*/                      OPC_CheckChild1Type, MVT::i32,
    1505             : /*  2868*/                      OPC_MoveParent,
    1506             : /*  2869*/                      OPC_MoveChild1,
    1507             : /*  2870*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1508             : /*  2873*/                      OPC_CheckChild0Same, 2,
    1509             : /*  2875*/                      OPC_CheckChild1Integer, 24, 
    1510             : /*  2877*/                      OPC_CheckChild1Type, MVT::i32,
    1511             : /*  2879*/                      OPC_MoveParent,
    1512             : /*  2880*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1513             : /*  2882*/                      OPC_MoveParent,
    1514             : /*  2883*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1515             : /*  2885*/                      OPC_CheckType, MVT::i32,
    1516             : /*  2887*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1517             : /*  2889*/                      OPC_EmitInteger, MVT::i32, 8, 
    1518             : /*  2892*/                      OPC_EmitInteger, MVT::i32, 8, 
    1519             : /*  2895*/                      OPC_EmitInteger, MVT::i32, 8, 
    1520             : /*  2898*/                      OPC_EmitInteger, MVT::i1, 0, 
    1521             : /*  2901*/                      OPC_EmitInteger, MVT::i32, 0, 
    1522             : /*  2904*/                      OPC_EmitInteger, MVT::i32, 0, 
    1523             : /*  2907*/                      OPC_EmitInteger, MVT::i32, 0, 
    1524             : /*  2910*/                      OPC_EmitInteger, MVT::i32, 0, 
    1525             : /*  2913*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1526             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1527             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1528             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1529             : /*  2930*/                    0, /*End of Scope*/
    1530             : /*  2931*/                  /*Scope*/ 50|128,1/*178*/, /*->3111*/
    1531             : /*  2933*/                    OPC_CheckChild0Same, 1,
    1532             : /*  2935*/                    OPC_CheckChild1Integer, 16, 
    1533             : /*  2937*/                    OPC_CheckChild1Type, MVT::i32,
    1534             : /*  2939*/                    OPC_MoveParent,
    1535             : /*  2940*/                    OPC_MoveParent,
    1536             : /*  2941*/                    OPC_MoveChild1,
    1537             : /*  2942*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1538             : /*  2945*/                    OPC_MoveChild0,
    1539             : /*  2946*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1540             : /*  2949*/                    OPC_CheckChild0Same, 2,
    1541             : /*  2951*/                    OPC_CheckChild1Integer, 16, 
    1542             : /*  2953*/                    OPC_CheckChild1Type, MVT::i32,
    1543             : /*  2955*/                    OPC_MoveParent,
    1544             : /*  2956*/                    OPC_MoveParent,
    1545             : /*  2957*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1546             : /*  2959*/                    OPC_MoveParent,
    1547             : /*  2960*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1548             : /*  2962*/                    OPC_MoveParent,
    1549             : /*  2963*/                    OPC_MoveChild1,
    1550             : /*  2964*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1551             : /*  2967*/                    OPC_MoveChild0,
    1552             : /*  2968*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1553             : /*  2971*/                    OPC_Scope, 68, /*->3041*/ // 2 children in Scope
    1554             : /*  2973*/                      OPC_CheckChild0Same, 2,
    1555             : /*  2975*/                      OPC_CheckChild1Integer, 24, 
    1556             : /*  2977*/                      OPC_CheckChild1Type, MVT::i32,
    1557             : /*  2979*/                      OPC_MoveParent,
    1558             : /*  2980*/                      OPC_MoveChild1,
    1559             : /*  2981*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1560             : /*  2984*/                      OPC_CheckChild0Same, 1,
    1561             : /*  2986*/                      OPC_CheckChild1Integer, 24, 
    1562             : /*  2988*/                      OPC_CheckChild1Type, MVT::i32,
    1563             : /*  2990*/                      OPC_MoveParent,
    1564             : /*  2991*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1565             : /*  2993*/                      OPC_MoveParent,
    1566             : /*  2994*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1567             : /*  2996*/                      OPC_CheckType, MVT::i32,
    1568             : /*  2998*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1569             : /*  3000*/                      OPC_EmitInteger, MVT::i32, 8, 
    1570             : /*  3003*/                      OPC_EmitInteger, MVT::i32, 8, 
    1571             : /*  3006*/                      OPC_EmitInteger, MVT::i32, 8, 
    1572             : /*  3009*/                      OPC_EmitInteger, MVT::i1, 0, 
    1573             : /*  3012*/                      OPC_EmitInteger, MVT::i32, 0, 
    1574             : /*  3015*/                      OPC_EmitInteger, MVT::i32, 0, 
    1575             : /*  3018*/                      OPC_EmitInteger, MVT::i32, 0, 
    1576             : /*  3021*/                      OPC_EmitInteger, MVT::i32, 0, 
    1577             : /*  3024*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1578             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1579             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1580             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1581             : /*  3041*/                    /*Scope*/ 68, /*->3110*/
    1582             : /*  3042*/                      OPC_CheckChild0Same, 1,
    1583             : /*  3044*/                      OPC_CheckChild1Integer, 24, 
    1584             : /*  3046*/                      OPC_CheckChild1Type, MVT::i32,
    1585             : /*  3048*/                      OPC_MoveParent,
    1586             : /*  3049*/                      OPC_MoveChild1,
    1587             : /*  3050*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1588             : /*  3053*/                      OPC_CheckChild0Same, 2,
    1589             : /*  3055*/                      OPC_CheckChild1Integer, 24, 
    1590             : /*  3057*/                      OPC_CheckChild1Type, MVT::i32,
    1591             : /*  3059*/                      OPC_MoveParent,
    1592             : /*  3060*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1593             : /*  3062*/                      OPC_MoveParent,
    1594             : /*  3063*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1595             : /*  3065*/                      OPC_CheckType, MVT::i32,
    1596             : /*  3067*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1597             : /*  3069*/                      OPC_EmitInteger, MVT::i32, 8, 
    1598             : /*  3072*/                      OPC_EmitInteger, MVT::i32, 8, 
    1599             : /*  3075*/                      OPC_EmitInteger, MVT::i32, 8, 
    1600             : /*  3078*/                      OPC_EmitInteger, MVT::i1, 0, 
    1601             : /*  3081*/                      OPC_EmitInteger, MVT::i32, 0, 
    1602             : /*  3084*/                      OPC_EmitInteger, MVT::i32, 0, 
    1603             : /*  3087*/                      OPC_EmitInteger, MVT::i32, 0, 
    1604             : /*  3090*/                      OPC_EmitInteger, MVT::i32, 0, 
    1605             : /*  3093*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1606             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    1607             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1608             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1609             : /*  3110*/                    0, /*End of Scope*/
    1610             : /*  3111*/                  0, /*End of Scope*/
    1611             : /*  3112*/                0, /*End of Scope*/
    1612             : /*  3113*/              /*Scope*/ 117|128,11/*1525*/, /*->4640*/
    1613             : /*  3115*/                OPC_MoveChild0,
    1614             : /*  3116*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1615             : /*  3119*/                OPC_MoveChild0,
    1616             : /*  3120*/                OPC_CheckAndImm, 127|128,1/*255*/, 
    1617             : /*  3123*/                OPC_RecordChild0, // #0 = $src0
    1618             : /*  3124*/                OPC_MoveParent,
    1619             : /*  3125*/                OPC_MoveChild1,
    1620             : /*  3126*/                OPC_CheckAndImm, 127|128,1/*255*/, 
    1621             : /*  3129*/                OPC_RecordChild0, // #1 = $src1
    1622             : /*  3130*/                OPC_MoveParent,
    1623             : /*  3131*/                OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1624             : /*  3133*/                OPC_MoveParent,
    1625             : /*  3134*/                OPC_RecordChild1, // #2 = $src2
    1626             : /*  3135*/                OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1627             : /*  3137*/                OPC_MoveParent,
    1628             : /*  3138*/                OPC_MoveChild1,
    1629             : /*  3139*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1630             : /*  3142*/                OPC_MoveChild0,
    1631             : /*  3143*/                OPC_CheckAndImm, 127|128,1/*255*/, 
    1632             : /*  3146*/                OPC_MoveChild0,
    1633             : /*  3147*/                OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1634             : /*  3150*/                OPC_Scope, 20|128,3/*404*/, /*->3557*/ // 3 children in Scope
    1635             : /*  3153*/                  OPC_CheckChild0Same, 0,
    1636             : /*  3155*/                  OPC_CheckChild1Integer, 8, 
    1637             : /*  3157*/                  OPC_CheckChild1Type, MVT::i32,
    1638             : /*  3159*/                  OPC_MoveParent,
    1639             : /*  3160*/                  OPC_MoveParent,
    1640             : /*  3161*/                  OPC_MoveChild1,
    1641             : /*  3162*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1642             : /*  3165*/                  OPC_MoveChild0,
    1643             : /*  3166*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1644             : /*  3169*/                  OPC_CheckChild0Same, 1,
    1645             : /*  3171*/                  OPC_CheckChild1Integer, 8, 
    1646             : /*  3173*/                  OPC_CheckChild1Type, MVT::i32,
    1647             : /*  3175*/                  OPC_MoveParent,
    1648             : /*  3176*/                  OPC_MoveParent,
    1649             : /*  3177*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1650             : /*  3179*/                  OPC_MoveParent,
    1651             : /*  3180*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1652             : /*  3182*/                  OPC_MoveParent,
    1653             : /*  3183*/                  OPC_MoveChild1,
    1654             : /*  3184*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1655             : /*  3187*/                  OPC_MoveChild0,
    1656             : /*  3188*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1657             : /*  3191*/                  OPC_MoveChild0,
    1658             : /*  3192*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1659             : /*  3195*/                  OPC_Scope, 50|128,1/*178*/, /*->3376*/ // 2 children in Scope
    1660             : /*  3198*/                    OPC_CheckChild0Same, 0,
    1661             : /*  3200*/                    OPC_CheckChild1Integer, 16, 
    1662             : /*  3202*/                    OPC_CheckChild1Type, MVT::i32,
    1663             : /*  3204*/                    OPC_MoveParent,
    1664             : /*  3205*/                    OPC_MoveParent,
    1665             : /*  3206*/                    OPC_MoveChild1,
    1666             : /*  3207*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1667             : /*  3210*/                    OPC_MoveChild0,
    1668             : /*  3211*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1669             : /*  3214*/                    OPC_CheckChild0Same, 1,
    1670             : /*  3216*/                    OPC_CheckChild1Integer, 16, 
    1671             : /*  3218*/                    OPC_CheckChild1Type, MVT::i32,
    1672             : /*  3220*/                    OPC_MoveParent,
    1673             : /*  3221*/                    OPC_MoveParent,
    1674             : /*  3222*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1675             : /*  3224*/                    OPC_MoveParent,
    1676             : /*  3225*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1677             : /*  3227*/                    OPC_MoveParent,
    1678             : /*  3228*/                    OPC_MoveChild1,
    1679             : /*  3229*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1680             : /*  3232*/                    OPC_MoveChild0,
    1681             : /*  3233*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1682             : /*  3236*/                    OPC_Scope, 68, /*->3306*/ // 2 children in Scope
    1683             : /*  3238*/                      OPC_CheckChild0Same, 0,
    1684             : /*  3240*/                      OPC_CheckChild1Integer, 24, 
    1685             : /*  3242*/                      OPC_CheckChild1Type, MVT::i32,
    1686             : /*  3244*/                      OPC_MoveParent,
    1687             : /*  3245*/                      OPC_MoveChild1,
    1688             : /*  3246*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1689             : /*  3249*/                      OPC_CheckChild0Same, 1,
    1690             : /*  3251*/                      OPC_CheckChild1Integer, 24, 
    1691             : /*  3253*/                      OPC_CheckChild1Type, MVT::i32,
    1692             : /*  3255*/                      OPC_MoveParent,
    1693             : /*  3256*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1694             : /*  3258*/                      OPC_MoveParent,
    1695             : /*  3259*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1696             : /*  3261*/                      OPC_CheckType, MVT::i32,
    1697             : /*  3263*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1698             : /*  3265*/                      OPC_EmitInteger, MVT::i32, 8, 
    1699             : /*  3268*/                      OPC_EmitInteger, MVT::i32, 8, 
    1700             : /*  3271*/                      OPC_EmitInteger, MVT::i32, 8, 
    1701             : /*  3274*/                      OPC_EmitInteger, MVT::i1, 0, 
    1702             : /*  3277*/                      OPC_EmitInteger, MVT::i32, 0, 
    1703             : /*  3280*/                      OPC_EmitInteger, MVT::i32, 0, 
    1704             : /*  3283*/                      OPC_EmitInteger, MVT::i32, 0, 
    1705             : /*  3286*/                      OPC_EmitInteger, MVT::i32, 0, 
    1706             : /*  3289*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1707             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    1708             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1709             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1710             : /*  3306*/                    /*Scope*/ 68, /*->3375*/
    1711             : /*  3307*/                      OPC_CheckChild0Same, 1,
    1712             : /*  3309*/                      OPC_CheckChild1Integer, 24, 
    1713             : /*  3311*/                      OPC_CheckChild1Type, MVT::i32,
    1714             : /*  3313*/                      OPC_MoveParent,
    1715             : /*  3314*/                      OPC_MoveChild1,
    1716             : /*  3315*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1717             : /*  3318*/                      OPC_CheckChild0Same, 0,
    1718             : /*  3320*/                      OPC_CheckChild1Integer, 24, 
    1719             : /*  3322*/                      OPC_CheckChild1Type, MVT::i32,
    1720             : /*  3324*/                      OPC_MoveParent,
    1721             : /*  3325*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1722             : /*  3327*/                      OPC_MoveParent,
    1723             : /*  3328*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1724             : /*  3330*/                      OPC_CheckType, MVT::i32,
    1725             : /*  3332*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1726             : /*  3334*/                      OPC_EmitInteger, MVT::i32, 8, 
    1727             : /*  3337*/                      OPC_EmitInteger, MVT::i32, 8, 
    1728             : /*  3340*/                      OPC_EmitInteger, MVT::i32, 8, 
    1729             : /*  3343*/                      OPC_EmitInteger, MVT::i1, 0, 
    1730             : /*  3346*/                      OPC_EmitInteger, MVT::i32, 0, 
    1731             : /*  3349*/                      OPC_EmitInteger, MVT::i32, 0, 
    1732             : /*  3352*/                      OPC_EmitInteger, MVT::i32, 0, 
    1733             : /*  3355*/                      OPC_EmitInteger, MVT::i32, 0, 
    1734             : /*  3358*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1735             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    1736             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1737             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1738             : /*  3375*/                    0, /*End of Scope*/
    1739             : /*  3376*/                  /*Scope*/ 50|128,1/*178*/, /*->3556*/
    1740             : /*  3378*/                    OPC_CheckChild0Same, 1,
    1741             : /*  3380*/                    OPC_CheckChild1Integer, 16, 
    1742             : /*  3382*/                    OPC_CheckChild1Type, MVT::i32,
    1743             : /*  3384*/                    OPC_MoveParent,
    1744             : /*  3385*/                    OPC_MoveParent,
    1745             : /*  3386*/                    OPC_MoveChild1,
    1746             : /*  3387*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1747             : /*  3390*/                    OPC_MoveChild0,
    1748             : /*  3391*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1749             : /*  3394*/                    OPC_CheckChild0Same, 0,
    1750             : /*  3396*/                    OPC_CheckChild1Integer, 16, 
    1751             : /*  3398*/                    OPC_CheckChild1Type, MVT::i32,
    1752             : /*  3400*/                    OPC_MoveParent,
    1753             : /*  3401*/                    OPC_MoveParent,
    1754             : /*  3402*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1755             : /*  3404*/                    OPC_MoveParent,
    1756             : /*  3405*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1757             : /*  3407*/                    OPC_MoveParent,
    1758             : /*  3408*/                    OPC_MoveChild1,
    1759             : /*  3409*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1760             : /*  3412*/                    OPC_MoveChild0,
    1761             : /*  3413*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1762             : /*  3416*/                    OPC_Scope, 68, /*->3486*/ // 2 children in Scope
    1763             : /*  3418*/                      OPC_CheckChild0Same, 0,
    1764             : /*  3420*/                      OPC_CheckChild1Integer, 24, 
    1765             : /*  3422*/                      OPC_CheckChild1Type, MVT::i32,
    1766             : /*  3424*/                      OPC_MoveParent,
    1767             : /*  3425*/                      OPC_MoveChild1,
    1768             : /*  3426*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1769             : /*  3429*/                      OPC_CheckChild0Same, 1,
    1770             : /*  3431*/                      OPC_CheckChild1Integer, 24, 
    1771             : /*  3433*/                      OPC_CheckChild1Type, MVT::i32,
    1772             : /*  3435*/                      OPC_MoveParent,
    1773             : /*  3436*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1774             : /*  3438*/                      OPC_MoveParent,
    1775             : /*  3439*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1776             : /*  3441*/                      OPC_CheckType, MVT::i32,
    1777             : /*  3443*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1778             : /*  3445*/                      OPC_EmitInteger, MVT::i32, 8, 
    1779             : /*  3448*/                      OPC_EmitInteger, MVT::i32, 8, 
    1780             : /*  3451*/                      OPC_EmitInteger, MVT::i32, 8, 
    1781             : /*  3454*/                      OPC_EmitInteger, MVT::i1, 0, 
    1782             : /*  3457*/                      OPC_EmitInteger, MVT::i32, 0, 
    1783             : /*  3460*/                      OPC_EmitInteger, MVT::i32, 0, 
    1784             : /*  3463*/                      OPC_EmitInteger, MVT::i32, 0, 
    1785             : /*  3466*/                      OPC_EmitInteger, MVT::i32, 0, 
    1786             : /*  3469*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1787             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    1788             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1789             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1790             : /*  3486*/                    /*Scope*/ 68, /*->3555*/
    1791             : /*  3487*/                      OPC_CheckChild0Same, 1,
    1792             : /*  3489*/                      OPC_CheckChild1Integer, 24, 
    1793             : /*  3491*/                      OPC_CheckChild1Type, MVT::i32,
    1794             : /*  3493*/                      OPC_MoveParent,
    1795             : /*  3494*/                      OPC_MoveChild1,
    1796             : /*  3495*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1797             : /*  3498*/                      OPC_CheckChild0Same, 0,
    1798             : /*  3500*/                      OPC_CheckChild1Integer, 24, 
    1799             : /*  3502*/                      OPC_CheckChild1Type, MVT::i32,
    1800             : /*  3504*/                      OPC_MoveParent,
    1801             : /*  3505*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1802             : /*  3507*/                      OPC_MoveParent,
    1803             : /*  3508*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1804             : /*  3510*/                      OPC_CheckType, MVT::i32,
    1805             : /*  3512*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1806             : /*  3514*/                      OPC_EmitInteger, MVT::i32, 8, 
    1807             : /*  3517*/                      OPC_EmitInteger, MVT::i32, 8, 
    1808             : /*  3520*/                      OPC_EmitInteger, MVT::i32, 8, 
    1809             : /*  3523*/                      OPC_EmitInteger, MVT::i1, 0, 
    1810             : /*  3526*/                      OPC_EmitInteger, MVT::i32, 0, 
    1811             : /*  3529*/                      OPC_EmitInteger, MVT::i32, 0, 
    1812             : /*  3532*/                      OPC_EmitInteger, MVT::i32, 0, 
    1813             : /*  3535*/                      OPC_EmitInteger, MVT::i32, 0, 
    1814             : /*  3538*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1815             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    1816             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1817             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1818             : /*  3555*/                    0, /*End of Scope*/
    1819             : /*  3556*/                  0, /*End of Scope*/
    1820             : /*  3557*/                /*Scope*/ 34|128,5/*674*/, /*->4233*/
    1821             : /*  3559*/                  OPC_CheckChild0Same, 1,
    1822             : /*  3561*/                  OPC_CheckChild1Integer, 8, 
    1823             : /*  3563*/                  OPC_CheckChild1Type, MVT::i32,
    1824             : /*  3565*/                  OPC_MoveParent,
    1825             : /*  3566*/                  OPC_MoveParent,
    1826             : /*  3567*/                  OPC_MoveChild1,
    1827             : /*  3568*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1828             : /*  3571*/                  OPC_MoveChild0,
    1829             : /*  3572*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1830             : /*  3575*/                  OPC_CheckChild0Same, 0,
    1831             : /*  3577*/                  OPC_CheckChild1Integer, 8, 
    1832             : /*  3579*/                  OPC_CheckChild1Type, MVT::i32,
    1833             : /*  3581*/                  OPC_MoveParent,
    1834             : /*  3582*/                  OPC_MoveParent,
    1835             : /*  3583*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1836             : /*  3585*/                  OPC_MoveParent,
    1837             : /*  3586*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1838             : /*  3588*/                  OPC_MoveParent,
    1839             : /*  3589*/                  OPC_MoveChild1,
    1840             : /*  3590*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1841             : /*  3593*/                  OPC_MoveChild0,
    1842             : /*  3594*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    1843             : /*  3597*/                  OPC_MoveChild0,
    1844             : /*  3598*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1845             : /*  3601*/                  OPC_Scope, 50|128,1/*178*/, /*->3782*/ // 3 children in Scope
    1846             : /*  3604*/                    OPC_CheckChild0Same, 0,
    1847             : /*  3606*/                    OPC_CheckChild1Integer, 16, 
    1848             : /*  3608*/                    OPC_CheckChild1Type, MVT::i32,
    1849             : /*  3610*/                    OPC_MoveParent,
    1850             : /*  3611*/                    OPC_MoveParent,
    1851             : /*  3612*/                    OPC_MoveChild1,
    1852             : /*  3613*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1853             : /*  3616*/                    OPC_MoveChild0,
    1854             : /*  3617*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1855             : /*  3620*/                    OPC_CheckChild0Same, 1,
    1856             : /*  3622*/                    OPC_CheckChild1Integer, 16, 
    1857             : /*  3624*/                    OPC_CheckChild1Type, MVT::i32,
    1858             : /*  3626*/                    OPC_MoveParent,
    1859             : /*  3627*/                    OPC_MoveParent,
    1860             : /*  3628*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1861             : /*  3630*/                    OPC_MoveParent,
    1862             : /*  3631*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1863             : /*  3633*/                    OPC_MoveParent,
    1864             : /*  3634*/                    OPC_MoveChild1,
    1865             : /*  3635*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1866             : /*  3638*/                    OPC_MoveChild0,
    1867             : /*  3639*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1868             : /*  3642*/                    OPC_Scope, 68, /*->3712*/ // 2 children in Scope
    1869             : /*  3644*/                      OPC_CheckChild0Same, 0,
    1870             : /*  3646*/                      OPC_CheckChild1Integer, 24, 
    1871             : /*  3648*/                      OPC_CheckChild1Type, MVT::i32,
    1872             : /*  3650*/                      OPC_MoveParent,
    1873             : /*  3651*/                      OPC_MoveChild1,
    1874             : /*  3652*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1875             : /*  3655*/                      OPC_CheckChild0Same, 1,
    1876             : /*  3657*/                      OPC_CheckChild1Integer, 24, 
    1877             : /*  3659*/                      OPC_CheckChild1Type, MVT::i32,
    1878             : /*  3661*/                      OPC_MoveParent,
    1879             : /*  3662*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1880             : /*  3664*/                      OPC_MoveParent,
    1881             : /*  3665*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1882             : /*  3667*/                      OPC_CheckType, MVT::i32,
    1883             : /*  3669*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1884             : /*  3671*/                      OPC_EmitInteger, MVT::i32, 8, 
    1885             : /*  3674*/                      OPC_EmitInteger, MVT::i32, 8, 
    1886             : /*  3677*/                      OPC_EmitInteger, MVT::i32, 8, 
    1887             : /*  3680*/                      OPC_EmitInteger, MVT::i1, 0, 
    1888             : /*  3683*/                      OPC_EmitInteger, MVT::i32, 0, 
    1889             : /*  3686*/                      OPC_EmitInteger, MVT::i32, 0, 
    1890             : /*  3689*/                      OPC_EmitInteger, MVT::i32, 0, 
    1891             : /*  3692*/                      OPC_EmitInteger, MVT::i32, 0, 
    1892             : /*  3695*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1893             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    1894             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1895             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1896             : /*  3712*/                    /*Scope*/ 68, /*->3781*/
    1897             : /*  3713*/                      OPC_CheckChild0Same, 1,
    1898             : /*  3715*/                      OPC_CheckChild1Integer, 24, 
    1899             : /*  3717*/                      OPC_CheckChild1Type, MVT::i32,
    1900             : /*  3719*/                      OPC_MoveParent,
    1901             : /*  3720*/                      OPC_MoveChild1,
    1902             : /*  3721*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1903             : /*  3724*/                      OPC_CheckChild0Same, 0,
    1904             : /*  3726*/                      OPC_CheckChild1Integer, 24, 
    1905             : /*  3728*/                      OPC_CheckChild1Type, MVT::i32,
    1906             : /*  3730*/                      OPC_MoveParent,
    1907             : /*  3731*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1908             : /*  3733*/                      OPC_MoveParent,
    1909             : /*  3734*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1910             : /*  3736*/                      OPC_CheckType, MVT::i32,
    1911             : /*  3738*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1912             : /*  3740*/                      OPC_EmitInteger, MVT::i32, 8, 
    1913             : /*  3743*/                      OPC_EmitInteger, MVT::i32, 8, 
    1914             : /*  3746*/                      OPC_EmitInteger, MVT::i32, 8, 
    1915             : /*  3749*/                      OPC_EmitInteger, MVT::i1, 0, 
    1916             : /*  3752*/                      OPC_EmitInteger, MVT::i32, 0, 
    1917             : /*  3755*/                      OPC_EmitInteger, MVT::i32, 0, 
    1918             : /*  3758*/                      OPC_EmitInteger, MVT::i32, 0, 
    1919             : /*  3761*/                      OPC_EmitInteger, MVT::i32, 0, 
    1920             : /*  3764*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1921             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    1922             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1923             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1924             : /*  3781*/                    0, /*End of Scope*/
    1925             : /*  3782*/                  /*Scope*/ 12|128,2/*268*/, /*->4052*/
    1926             : /*  3784*/                    OPC_CheckChild0Same, 1,
    1927             : /*  3786*/                    OPC_CheckChild1Integer, 16, 
    1928             : /*  3788*/                    OPC_CheckChild1Type, MVT::i32,
    1929             : /*  3790*/                    OPC_MoveParent,
    1930             : /*  3791*/                    OPC_MoveParent,
    1931             : /*  3792*/                    OPC_MoveChild1,
    1932             : /*  3793*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    1933             : /*  3796*/                    OPC_MoveChild0,
    1934             : /*  3797*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1935             : /*  3800*/                    OPC_CheckChild0Same, 0,
    1936             : /*  3802*/                    OPC_CheckChild1Integer, 16, 
    1937             : /*  3804*/                    OPC_CheckChild1Type, MVT::i32,
    1938             : /*  3806*/                    OPC_MoveParent,
    1939             : /*  3807*/                    OPC_MoveParent,
    1940             : /*  3808*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1941             : /*  3810*/                    OPC_MoveParent,
    1942             : /*  3811*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1943             : /*  3813*/                    OPC_MoveParent,
    1944             : /*  3814*/                    OPC_MoveChild1,
    1945             : /*  3815*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    1946             : /*  3818*/                    OPC_MoveChild0,
    1947             : /*  3819*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1948             : /*  3822*/                    OPC_Scope, 68, /*->3892*/ // 3 children in Scope
    1949             : /*  3824*/                      OPC_CheckChild0Same, 0,
    1950             : /*  3826*/                      OPC_CheckChild1Integer, 24, 
    1951             : /*  3828*/                      OPC_CheckChild1Type, MVT::i32,
    1952             : /*  3830*/                      OPC_MoveParent,
    1953             : /*  3831*/                      OPC_MoveChild1,
    1954             : /*  3832*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1955             : /*  3835*/                      OPC_CheckChild0Same, 1,
    1956             : /*  3837*/                      OPC_CheckChild1Integer, 24, 
    1957             : /*  3839*/                      OPC_CheckChild1Type, MVT::i32,
    1958             : /*  3841*/                      OPC_MoveParent,
    1959             : /*  3842*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1960             : /*  3844*/                      OPC_MoveParent,
    1961             : /*  3845*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1962             : /*  3847*/                      OPC_CheckType, MVT::i32,
    1963             : /*  3849*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1964             : /*  3851*/                      OPC_EmitInteger, MVT::i32, 8, 
    1965             : /*  3854*/                      OPC_EmitInteger, MVT::i32, 8, 
    1966             : /*  3857*/                      OPC_EmitInteger, MVT::i32, 8, 
    1967             : /*  3860*/                      OPC_EmitInteger, MVT::i1, 0, 
    1968             : /*  3863*/                      OPC_EmitInteger, MVT::i32, 0, 
    1969             : /*  3866*/                      OPC_EmitInteger, MVT::i32, 0, 
    1970             : /*  3869*/                      OPC_EmitInteger, MVT::i32, 0, 
    1971             : /*  3872*/                      OPC_EmitInteger, MVT::i32, 0, 
    1972             : /*  3875*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    1973             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    1974             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    1975             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    1976             : /*  3892*/                    /*Scope*/ 89, /*->3982*/
    1977             : /*  3893*/                      OPC_CheckChild0Same, 1,
    1978             : /*  3895*/                      OPC_CheckChild1Integer, 24, 
    1979             : /*  3897*/                      OPC_CheckChild1Type, MVT::i32,
    1980             : /*  3899*/                      OPC_MoveParent,
    1981             : /*  3900*/                      OPC_MoveChild1,
    1982             : /*  3901*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    1983             : /*  3904*/                      OPC_CheckChild0Same, 0,
    1984             : /*  3906*/                      OPC_CheckChild1Integer, 24, 
    1985             : /*  3908*/                      OPC_CheckChild1Type, MVT::i32,
    1986             : /*  3910*/                      OPC_MoveParent,
    1987             : /*  3911*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    1988             : /*  3913*/                      OPC_MoveParent,
    1989             : /*  3914*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    1990             : /*  3916*/                      OPC_CheckType, MVT::i32,
    1991             : /*  3918*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    1992             : /*  3920*/                      OPC_EmitInteger, MVT::i32, 8, 
    1993             : /*  3923*/                      OPC_EmitInteger, MVT::i32, 8, 
    1994             : /*  3926*/                      OPC_EmitInteger, MVT::i32, 8, 
    1995             : /*  3929*/                      OPC_EmitInteger, MVT::i1, 0, 
    1996             : /*  3932*/                      OPC_EmitInteger, MVT::i32, 0, 
    1997             : /*  3935*/                      OPC_EmitInteger, MVT::i32, 0, 
    1998             : /*  3938*/                      OPC_EmitInteger, MVT::i32, 0, 
    1999             : /*  3941*/                      OPC_EmitInteger, MVT::i32, 0, 
    2000             : /*  3944*/                      OPC_Scope, 17, /*->3963*/ // 2 children in Scope
    2001             : /*  3946*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2002             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    2003             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2004             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2005             : /*  3963*/                      /*Scope*/ 17, /*->3981*/
    2006             : /*  3964*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2007             :                                       MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2008             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2009             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2010             : /*  3981*/                      0, /*End of Scope*/
    2011             : /*  3982*/                    /*Scope*/ 68, /*->4051*/
    2012             : /*  3983*/                      OPC_CheckChild0Same, 0,
    2013             : /*  3985*/                      OPC_CheckChild1Integer, 24, 
    2014             : /*  3987*/                      OPC_CheckChild1Type, MVT::i32,
    2015             : /*  3989*/                      OPC_MoveParent,
    2016             : /*  3990*/                      OPC_MoveChild1,
    2017             : /*  3991*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2018             : /*  3994*/                      OPC_CheckChild0Same, 1,
    2019             : /*  3996*/                      OPC_CheckChild1Integer, 24, 
    2020             : /*  3998*/                      OPC_CheckChild1Type, MVT::i32,
    2021             : /*  4000*/                      OPC_MoveParent,
    2022             : /*  4001*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2023             : /*  4003*/                      OPC_MoveParent,
    2024             : /*  4004*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2025             : /*  4006*/                      OPC_CheckType, MVT::i32,
    2026             : /*  4008*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2027             : /*  4010*/                      OPC_EmitInteger, MVT::i32, 8, 
    2028             : /*  4013*/                      OPC_EmitInteger, MVT::i32, 8, 
    2029             : /*  4016*/                      OPC_EmitInteger, MVT::i32, 8, 
    2030             : /*  4019*/                      OPC_EmitInteger, MVT::i1, 0, 
    2031             : /*  4022*/                      OPC_EmitInteger, MVT::i32, 0, 
    2032             : /*  4025*/                      OPC_EmitInteger, MVT::i32, 0, 
    2033             : /*  4028*/                      OPC_EmitInteger, MVT::i32, 0, 
    2034             : /*  4031*/                      OPC_EmitInteger, MVT::i32, 0, 
    2035             : /*  4034*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2036             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2037             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2038             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2039             : /*  4051*/                    0, /*End of Scope*/
    2040             : /*  4052*/                  /*Scope*/ 50|128,1/*178*/, /*->4232*/
    2041             : /*  4054*/                    OPC_CheckChild0Same, 0,
    2042             : /*  4056*/                    OPC_CheckChild1Integer, 16, 
    2043             : /*  4058*/                    OPC_CheckChild1Type, MVT::i32,
    2044             : /*  4060*/                    OPC_MoveParent,
    2045             : /*  4061*/                    OPC_MoveParent,
    2046             : /*  4062*/                    OPC_MoveChild1,
    2047             : /*  4063*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    2048             : /*  4066*/                    OPC_MoveChild0,
    2049             : /*  4067*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2050             : /*  4070*/                    OPC_CheckChild0Same, 1,
    2051             : /*  4072*/                    OPC_CheckChild1Integer, 16, 
    2052             : /*  4074*/                    OPC_CheckChild1Type, MVT::i32,
    2053             : /*  4076*/                    OPC_MoveParent,
    2054             : /*  4077*/                    OPC_MoveParent,
    2055             : /*  4078*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2056             : /*  4080*/                    OPC_MoveParent,
    2057             : /*  4081*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2058             : /*  4083*/                    OPC_MoveParent,
    2059             : /*  4084*/                    OPC_MoveChild1,
    2060             : /*  4085*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    2061             : /*  4088*/                    OPC_MoveChild0,
    2062             : /*  4089*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2063             : /*  4092*/                    OPC_Scope, 68, /*->4162*/ // 2 children in Scope
    2064             : /*  4094*/                      OPC_CheckChild0Same, 1,
    2065             : /*  4096*/                      OPC_CheckChild1Integer, 24, 
    2066             : /*  4098*/                      OPC_CheckChild1Type, MVT::i32,
    2067             : /*  4100*/                      OPC_MoveParent,
    2068             : /*  4101*/                      OPC_MoveChild1,
    2069             : /*  4102*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2070             : /*  4105*/                      OPC_CheckChild0Same, 0,
    2071             : /*  4107*/                      OPC_CheckChild1Integer, 24, 
    2072             : /*  4109*/                      OPC_CheckChild1Type, MVT::i32,
    2073             : /*  4111*/                      OPC_MoveParent,
    2074             : /*  4112*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2075             : /*  4114*/                      OPC_MoveParent,
    2076             : /*  4115*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2077             : /*  4117*/                      OPC_CheckType, MVT::i32,
    2078             : /*  4119*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2079             : /*  4121*/                      OPC_EmitInteger, MVT::i32, 8, 
    2080             : /*  4124*/                      OPC_EmitInteger, MVT::i32, 8, 
    2081             : /*  4127*/                      OPC_EmitInteger, MVT::i32, 8, 
    2082             : /*  4130*/                      OPC_EmitInteger, MVT::i1, 0, 
    2083             : /*  4133*/                      OPC_EmitInteger, MVT::i32, 0, 
    2084             : /*  4136*/                      OPC_EmitInteger, MVT::i32, 0, 
    2085             : /*  4139*/                      OPC_EmitInteger, MVT::i32, 0, 
    2086             : /*  4142*/                      OPC_EmitInteger, MVT::i32, 0, 
    2087             : /*  4145*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2088             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2089             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2090             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2091             : /*  4162*/                    /*Scope*/ 68, /*->4231*/
    2092             : /*  4163*/                      OPC_CheckChild0Same, 0,
    2093             : /*  4165*/                      OPC_CheckChild1Integer, 24, 
    2094             : /*  4167*/                      OPC_CheckChild1Type, MVT::i32,
    2095             : /*  4169*/                      OPC_MoveParent,
    2096             : /*  4170*/                      OPC_MoveChild1,
    2097             : /*  4171*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2098             : /*  4174*/                      OPC_CheckChild0Same, 1,
    2099             : /*  4176*/                      OPC_CheckChild1Integer, 24, 
    2100             : /*  4178*/                      OPC_CheckChild1Type, MVT::i32,
    2101             : /*  4180*/                      OPC_MoveParent,
    2102             : /*  4181*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2103             : /*  4183*/                      OPC_MoveParent,
    2104             : /*  4184*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2105             : /*  4186*/                      OPC_CheckType, MVT::i32,
    2106             : /*  4188*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2107             : /*  4190*/                      OPC_EmitInteger, MVT::i32, 8, 
    2108             : /*  4193*/                      OPC_EmitInteger, MVT::i32, 8, 
    2109             : /*  4196*/                      OPC_EmitInteger, MVT::i32, 8, 
    2110             : /*  4199*/                      OPC_EmitInteger, MVT::i1, 0, 
    2111             : /*  4202*/                      OPC_EmitInteger, MVT::i32, 0, 
    2112             : /*  4205*/                      OPC_EmitInteger, MVT::i32, 0, 
    2113             : /*  4208*/                      OPC_EmitInteger, MVT::i32, 0, 
    2114             : /*  4211*/                      OPC_EmitInteger, MVT::i32, 0, 
    2115             : /*  4214*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2116             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2117             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2118             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2119             : /*  4231*/                    0, /*End of Scope*/
    2120             : /*  4232*/                  0, /*End of Scope*/
    2121             : /*  4233*/                /*Scope*/ 20|128,3/*404*/, /*->4639*/
    2122             : /*  4235*/                  OPC_CheckChild0Same, 0,
    2123             : /*  4237*/                  OPC_CheckChild1Integer, 8, 
    2124             : /*  4239*/                  OPC_CheckChild1Type, MVT::i32,
    2125             : /*  4241*/                  OPC_MoveParent,
    2126             : /*  4242*/                  OPC_MoveParent,
    2127             : /*  4243*/                  OPC_MoveChild1,
    2128             : /*  4244*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    2129             : /*  4247*/                  OPC_MoveChild0,
    2130             : /*  4248*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2131             : /*  4251*/                  OPC_CheckChild0Same, 1,
    2132             : /*  4253*/                  OPC_CheckChild1Integer, 8, 
    2133             : /*  4255*/                  OPC_CheckChild1Type, MVT::i32,
    2134             : /*  4257*/                  OPC_MoveParent,
    2135             : /*  4258*/                  OPC_MoveParent,
    2136             : /*  4259*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2137             : /*  4261*/                  OPC_MoveParent,
    2138             : /*  4262*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2139             : /*  4264*/                  OPC_MoveParent,
    2140             : /*  4265*/                  OPC_MoveChild1,
    2141             : /*  4266*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    2142             : /*  4269*/                  OPC_MoveChild0,
    2143             : /*  4270*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    2144             : /*  4273*/                  OPC_MoveChild0,
    2145             : /*  4274*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2146             : /*  4277*/                  OPC_Scope, 50|128,1/*178*/, /*->4458*/ // 2 children in Scope
    2147             : /*  4280*/                    OPC_CheckChild0Same, 1,
    2148             : /*  4282*/                    OPC_CheckChild1Integer, 16, 
    2149             : /*  4284*/                    OPC_CheckChild1Type, MVT::i32,
    2150             : /*  4286*/                    OPC_MoveParent,
    2151             : /*  4287*/                    OPC_MoveParent,
    2152             : /*  4288*/                    OPC_MoveChild1,
    2153             : /*  4289*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    2154             : /*  4292*/                    OPC_MoveChild0,
    2155             : /*  4293*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2156             : /*  4296*/                    OPC_CheckChild0Same, 0,
    2157             : /*  4298*/                    OPC_CheckChild1Integer, 16, 
    2158             : /*  4300*/                    OPC_CheckChild1Type, MVT::i32,
    2159             : /*  4302*/                    OPC_MoveParent,
    2160             : /*  4303*/                    OPC_MoveParent,
    2161             : /*  4304*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2162             : /*  4306*/                    OPC_MoveParent,
    2163             : /*  4307*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2164             : /*  4309*/                    OPC_MoveParent,
    2165             : /*  4310*/                    OPC_MoveChild1,
    2166             : /*  4311*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    2167             : /*  4314*/                    OPC_MoveChild0,
    2168             : /*  4315*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2169             : /*  4318*/                    OPC_Scope, 68, /*->4388*/ // 2 children in Scope
    2170             : /*  4320*/                      OPC_CheckChild0Same, 1,
    2171             : /*  4322*/                      OPC_CheckChild1Integer, 24, 
    2172             : /*  4324*/                      OPC_CheckChild1Type, MVT::i32,
    2173             : /*  4326*/                      OPC_MoveParent,
    2174             : /*  4327*/                      OPC_MoveChild1,
    2175             : /*  4328*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2176             : /*  4331*/                      OPC_CheckChild0Same, 0,
    2177             : /*  4333*/                      OPC_CheckChild1Integer, 24, 
    2178             : /*  4335*/                      OPC_CheckChild1Type, MVT::i32,
    2179             : /*  4337*/                      OPC_MoveParent,
    2180             : /*  4338*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2181             : /*  4340*/                      OPC_MoveParent,
    2182             : /*  4341*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2183             : /*  4343*/                      OPC_CheckType, MVT::i32,
    2184             : /*  4345*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2185             : /*  4347*/                      OPC_EmitInteger, MVT::i32, 8, 
    2186             : /*  4350*/                      OPC_EmitInteger, MVT::i32, 8, 
    2187             : /*  4353*/                      OPC_EmitInteger, MVT::i32, 8, 
    2188             : /*  4356*/                      OPC_EmitInteger, MVT::i1, 0, 
    2189             : /*  4359*/                      OPC_EmitInteger, MVT::i32, 0, 
    2190             : /*  4362*/                      OPC_EmitInteger, MVT::i32, 0, 
    2191             : /*  4365*/                      OPC_EmitInteger, MVT::i32, 0, 
    2192             : /*  4368*/                      OPC_EmitInteger, MVT::i32, 0, 
    2193             : /*  4371*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2194             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2195             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2196             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2197             : /*  4388*/                    /*Scope*/ 68, /*->4457*/
    2198             : /*  4389*/                      OPC_CheckChild0Same, 0,
    2199             : /*  4391*/                      OPC_CheckChild1Integer, 24, 
    2200             : /*  4393*/                      OPC_CheckChild1Type, MVT::i32,
    2201             : /*  4395*/                      OPC_MoveParent,
    2202             : /*  4396*/                      OPC_MoveChild1,
    2203             : /*  4397*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2204             : /*  4400*/                      OPC_CheckChild0Same, 1,
    2205             : /*  4402*/                      OPC_CheckChild1Integer, 24, 
    2206             : /*  4404*/                      OPC_CheckChild1Type, MVT::i32,
    2207             : /*  4406*/                      OPC_MoveParent,
    2208             : /*  4407*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2209             : /*  4409*/                      OPC_MoveParent,
    2210             : /*  4410*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2211             : /*  4412*/                      OPC_CheckType, MVT::i32,
    2212             : /*  4414*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2213             : /*  4416*/                      OPC_EmitInteger, MVT::i32, 8, 
    2214             : /*  4419*/                      OPC_EmitInteger, MVT::i32, 8, 
    2215             : /*  4422*/                      OPC_EmitInteger, MVT::i32, 8, 
    2216             : /*  4425*/                      OPC_EmitInteger, MVT::i1, 0, 
    2217             : /*  4428*/                      OPC_EmitInteger, MVT::i32, 0, 
    2218             : /*  4431*/                      OPC_EmitInteger, MVT::i32, 0, 
    2219             : /*  4434*/                      OPC_EmitInteger, MVT::i32, 0, 
    2220             : /*  4437*/                      OPC_EmitInteger, MVT::i32, 0, 
    2221             : /*  4440*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2222             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2223             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2224             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2225             : /*  4457*/                    0, /*End of Scope*/
    2226             : /*  4458*/                  /*Scope*/ 50|128,1/*178*/, /*->4638*/
    2227             : /*  4460*/                    OPC_CheckChild0Same, 0,
    2228             : /*  4462*/                    OPC_CheckChild1Integer, 16, 
    2229             : /*  4464*/                    OPC_CheckChild1Type, MVT::i32,
    2230             : /*  4466*/                    OPC_MoveParent,
    2231             : /*  4467*/                    OPC_MoveParent,
    2232             : /*  4468*/                    OPC_MoveChild1,
    2233             : /*  4469*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    2234             : /*  4472*/                    OPC_MoveChild0,
    2235             : /*  4473*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2236             : /*  4476*/                    OPC_CheckChild0Same, 1,
    2237             : /*  4478*/                    OPC_CheckChild1Integer, 16, 
    2238             : /*  4480*/                    OPC_CheckChild1Type, MVT::i32,
    2239             : /*  4482*/                    OPC_MoveParent,
    2240             : /*  4483*/                    OPC_MoveParent,
    2241             : /*  4484*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2242             : /*  4486*/                    OPC_MoveParent,
    2243             : /*  4487*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2244             : /*  4489*/                    OPC_MoveParent,
    2245             : /*  4490*/                    OPC_MoveChild1,
    2246             : /*  4491*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    2247             : /*  4494*/                    OPC_MoveChild0,
    2248             : /*  4495*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2249             : /*  4498*/                    OPC_Scope, 68, /*->4568*/ // 2 children in Scope
    2250             : /*  4500*/                      OPC_CheckChild0Same, 1,
    2251             : /*  4502*/                      OPC_CheckChild1Integer, 24, 
    2252             : /*  4504*/                      OPC_CheckChild1Type, MVT::i32,
    2253             : /*  4506*/                      OPC_MoveParent,
    2254             : /*  4507*/                      OPC_MoveChild1,
    2255             : /*  4508*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2256             : /*  4511*/                      OPC_CheckChild0Same, 0,
    2257             : /*  4513*/                      OPC_CheckChild1Integer, 24, 
    2258             : /*  4515*/                      OPC_CheckChild1Type, MVT::i32,
    2259             : /*  4517*/                      OPC_MoveParent,
    2260             : /*  4518*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2261             : /*  4520*/                      OPC_MoveParent,
    2262             : /*  4521*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2263             : /*  4523*/                      OPC_CheckType, MVT::i32,
    2264             : /*  4525*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2265             : /*  4527*/                      OPC_EmitInteger, MVT::i32, 8, 
    2266             : /*  4530*/                      OPC_EmitInteger, MVT::i32, 8, 
    2267             : /*  4533*/                      OPC_EmitInteger, MVT::i32, 8, 
    2268             : /*  4536*/                      OPC_EmitInteger, MVT::i1, 0, 
    2269             : /*  4539*/                      OPC_EmitInteger, MVT::i32, 0, 
    2270             : /*  4542*/                      OPC_EmitInteger, MVT::i32, 0, 
    2271             : /*  4545*/                      OPC_EmitInteger, MVT::i32, 0, 
    2272             : /*  4548*/                      OPC_EmitInteger, MVT::i32, 0, 
    2273             : /*  4551*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2274             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2275             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2276             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2277             : /*  4568*/                    /*Scope*/ 68, /*->4637*/
    2278             : /*  4569*/                      OPC_CheckChild0Same, 0,
    2279             : /*  4571*/                      OPC_CheckChild1Integer, 24, 
    2280             : /*  4573*/                      OPC_CheckChild1Type, MVT::i32,
    2281             : /*  4575*/                      OPC_MoveParent,
    2282             : /*  4576*/                      OPC_MoveChild1,
    2283             : /*  4577*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2284             : /*  4580*/                      OPC_CheckChild0Same, 1,
    2285             : /*  4582*/                      OPC_CheckChild1Integer, 24, 
    2286             : /*  4584*/                      OPC_CheckChild1Type, MVT::i32,
    2287             : /*  4586*/                      OPC_MoveParent,
    2288             : /*  4587*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    2289             : /*  4589*/                      OPC_MoveParent,
    2290             : /*  4590*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2291             : /*  4592*/                      OPC_CheckType, MVT::i32,
    2292             : /*  4594*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2293             : /*  4596*/                      OPC_EmitInteger, MVT::i32, 8, 
    2294             : /*  4599*/                      OPC_EmitInteger, MVT::i32, 8, 
    2295             : /*  4602*/                      OPC_EmitInteger, MVT::i32, 8, 
    2296             : /*  4605*/                      OPC_EmitInteger, MVT::i1, 0, 
    2297             : /*  4608*/                      OPC_EmitInteger, MVT::i32, 0, 
    2298             : /*  4611*/                      OPC_EmitInteger, MVT::i32, 0, 
    2299             : /*  4614*/                      OPC_EmitInteger, MVT::i32, 0, 
    2300             : /*  4617*/                      OPC_EmitInteger, MVT::i32, 0, 
    2301             : /*  4620*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    2302             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    2303             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    2304             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2305             : /*  4637*/                    0, /*End of Scope*/
    2306             : /*  4638*/                  0, /*End of Scope*/
    2307             : /*  4639*/                0, /*End of Scope*/
    2308             : /*  4640*/              /*Scope*/ 77|128,12/*1613*/, /*->6255*/
    2309             : /*  4642*/                OPC_RecordChild0, // #0 = $src2
    2310             : /*  4643*/                OPC_MoveChild1,
    2311             : /*  4644*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2312             : /*  4647*/                OPC_MoveChild0,
    2313             : /*  4648*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2314             : /*  4651*/                OPC_RecordChild0, // #1 = $src0
    2315             : /*  4652*/                OPC_MoveChild1,
    2316             : /*  4653*/                OPC_CheckValueType, MVT::i8,
    2317             : /*  4655*/                OPC_MoveParent,
    2318             : /*  4656*/                OPC_MoveParent,
    2319             : /*  4657*/                OPC_MoveChild1,
    2320             : /*  4658*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2321             : /*  4661*/                OPC_RecordChild0, // #2 = $src1
    2322             : /*  4662*/                OPC_MoveChild1,
    2323             : /*  4663*/                OPC_CheckValueType, MVT::i8,
    2324             : /*  4665*/                OPC_MoveParent,
    2325             : /*  4666*/                OPC_MoveParent,
    2326             : /*  4667*/                OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2327             : /*  4669*/                OPC_MoveParent,
    2328             : /*  4670*/                OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2329             : /*  4672*/                OPC_MoveParent,
    2330             : /*  4673*/                OPC_MoveChild1,
    2331             : /*  4674*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2332             : /*  4677*/                OPC_MoveChild0,
    2333             : /*  4678*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2334             : /*  4681*/                OPC_MoveChild0,
    2335             : /*  4682*/                OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2336             : /*  4685*/                OPC_Scope, 44|128,3/*428*/, /*->5116*/ // 3 children in Scope
    2337             : /*  4688*/                  OPC_CheckChild0Same, 1,
    2338             : /*  4690*/                  OPC_CheckChild1Integer, 8, 
    2339             : /*  4692*/                  OPC_CheckChild1Type, MVT::i32,
    2340             : /*  4694*/                  OPC_MoveParent,
    2341             : /*  4695*/                  OPC_MoveChild1,
    2342             : /*  4696*/                  OPC_CheckValueType, MVT::i8,
    2343             : /*  4698*/                  OPC_MoveParent,
    2344             : /*  4699*/                  OPC_MoveParent,
    2345             : /*  4700*/                  OPC_MoveChild1,
    2346             : /*  4701*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2347             : /*  4704*/                  OPC_MoveChild0,
    2348             : /*  4705*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2349             : /*  4708*/                  OPC_CheckChild0Same, 2,
    2350             : /*  4710*/                  OPC_CheckChild1Integer, 8, 
    2351             : /*  4712*/                  OPC_CheckChild1Type, MVT::i32,
    2352             : /*  4714*/                  OPC_MoveParent,
    2353             : /*  4715*/                  OPC_MoveChild1,
    2354             : /*  4716*/                  OPC_CheckValueType, MVT::i8,
    2355             : /*  4718*/                  OPC_MoveParent,
    2356             : /*  4719*/                  OPC_MoveParent,
    2357             : /*  4720*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2358             : /*  4722*/                  OPC_MoveParent,
    2359             : /*  4723*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2360             : /*  4725*/                  OPC_MoveParent,
    2361             : /*  4726*/                  OPC_MoveChild1,
    2362             : /*  4727*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2363             : /*  4730*/                  OPC_MoveChild0,
    2364             : /*  4731*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2365             : /*  4734*/                  OPC_MoveChild0,
    2366             : /*  4735*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2367             : /*  4738*/                  OPC_Scope, 58|128,1/*186*/, /*->4927*/ // 2 children in Scope
    2368             : /*  4741*/                    OPC_CheckChild0Same, 1,
    2369             : /*  4743*/                    OPC_CheckChild1Integer, 16, 
    2370             : /*  4745*/                    OPC_CheckChild1Type, MVT::i32,
    2371             : /*  4747*/                    OPC_MoveParent,
    2372             : /*  4748*/                    OPC_MoveChild1,
    2373             : /*  4749*/                    OPC_CheckValueType, MVT::i8,
    2374             : /*  4751*/                    OPC_MoveParent,
    2375             : /*  4752*/                    OPC_MoveParent,
    2376             : /*  4753*/                    OPC_MoveChild1,
    2377             : /*  4754*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2378             : /*  4757*/                    OPC_MoveChild0,
    2379             : /*  4758*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2380             : /*  4761*/                    OPC_CheckChild0Same, 2,
    2381             : /*  4763*/                    OPC_CheckChild1Integer, 16, 
    2382             : /*  4765*/                    OPC_CheckChild1Type, MVT::i32,
    2383             : /*  4767*/                    OPC_MoveParent,
    2384             : /*  4768*/                    OPC_MoveChild1,
    2385             : /*  4769*/                    OPC_CheckValueType, MVT::i8,
    2386             : /*  4771*/                    OPC_MoveParent,
    2387             : /*  4772*/                    OPC_MoveParent,
    2388             : /*  4773*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2389             : /*  4775*/                    OPC_MoveParent,
    2390             : /*  4776*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2391             : /*  4778*/                    OPC_MoveParent,
    2392             : /*  4779*/                    OPC_MoveChild1,
    2393             : /*  4780*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2394             : /*  4783*/                    OPC_MoveChild0,
    2395             : /*  4784*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2396             : /*  4787*/                    OPC_Scope, 68, /*->4857*/ // 2 children in Scope
    2397             : /*  4789*/                      OPC_CheckChild0Same, 1,
    2398             : /*  4791*/                      OPC_CheckChild1Integer, 24, 
    2399             : /*  4793*/                      OPC_CheckChild1Type, MVT::i32,
    2400             : /*  4795*/                      OPC_MoveParent,
    2401             : /*  4796*/                      OPC_MoveChild1,
    2402             : /*  4797*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2403             : /*  4800*/                      OPC_CheckChild0Same, 2,
    2404             : /*  4802*/                      OPC_CheckChild1Integer, 24, 
    2405             : /*  4804*/                      OPC_CheckChild1Type, MVT::i32,
    2406             : /*  4806*/                      OPC_MoveParent,
    2407             : /*  4807*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2408             : /*  4809*/                      OPC_MoveParent,
    2409             : /*  4810*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2410             : /*  4812*/                      OPC_CheckType, MVT::i32,
    2411             : /*  4814*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2412             : /*  4816*/                      OPC_EmitInteger, MVT::i32, 8, 
    2413             : /*  4819*/                      OPC_EmitInteger, MVT::i32, 8, 
    2414             : /*  4822*/                      OPC_EmitInteger, MVT::i32, 8, 
    2415             : /*  4825*/                      OPC_EmitInteger, MVT::i1, 0, 
    2416             : /*  4828*/                      OPC_EmitInteger, MVT::i32, 0, 
    2417             : /*  4831*/                      OPC_EmitInteger, MVT::i32, 0, 
    2418             : /*  4834*/                      OPC_EmitInteger, MVT::i32, 0, 
    2419             : /*  4837*/                      OPC_EmitInteger, MVT::i32, 0, 
    2420             : /*  4840*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2421             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2422             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2423             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2424             : /*  4857*/                    /*Scope*/ 68, /*->4926*/
    2425             : /*  4858*/                      OPC_CheckChild0Same, 2,
    2426             : /*  4860*/                      OPC_CheckChild1Integer, 24, 
    2427             : /*  4862*/                      OPC_CheckChild1Type, MVT::i32,
    2428             : /*  4864*/                      OPC_MoveParent,
    2429             : /*  4865*/                      OPC_MoveChild1,
    2430             : /*  4866*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2431             : /*  4869*/                      OPC_CheckChild0Same, 1,
    2432             : /*  4871*/                      OPC_CheckChild1Integer, 24, 
    2433             : /*  4873*/                      OPC_CheckChild1Type, MVT::i32,
    2434             : /*  4875*/                      OPC_MoveParent,
    2435             : /*  4876*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2436             : /*  4878*/                      OPC_MoveParent,
    2437             : /*  4879*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2438             : /*  4881*/                      OPC_CheckType, MVT::i32,
    2439             : /*  4883*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2440             : /*  4885*/                      OPC_EmitInteger, MVT::i32, 8, 
    2441             : /*  4888*/                      OPC_EmitInteger, MVT::i32, 8, 
    2442             : /*  4891*/                      OPC_EmitInteger, MVT::i32, 8, 
    2443             : /*  4894*/                      OPC_EmitInteger, MVT::i1, 0, 
    2444             : /*  4897*/                      OPC_EmitInteger, MVT::i32, 0, 
    2445             : /*  4900*/                      OPC_EmitInteger, MVT::i32, 0, 
    2446             : /*  4903*/                      OPC_EmitInteger, MVT::i32, 0, 
    2447             : /*  4906*/                      OPC_EmitInteger, MVT::i32, 0, 
    2448             : /*  4909*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2449             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2450             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2451             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2452             : /*  4926*/                    0, /*End of Scope*/
    2453             : /*  4927*/                  /*Scope*/ 58|128,1/*186*/, /*->5115*/
    2454             : /*  4929*/                    OPC_CheckChild0Same, 2,
    2455             : /*  4931*/                    OPC_CheckChild1Integer, 16, 
    2456             : /*  4933*/                    OPC_CheckChild1Type, MVT::i32,
    2457             : /*  4935*/                    OPC_MoveParent,
    2458             : /*  4936*/                    OPC_MoveChild1,
    2459             : /*  4937*/                    OPC_CheckValueType, MVT::i8,
    2460             : /*  4939*/                    OPC_MoveParent,
    2461             : /*  4940*/                    OPC_MoveParent,
    2462             : /*  4941*/                    OPC_MoveChild1,
    2463             : /*  4942*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2464             : /*  4945*/                    OPC_MoveChild0,
    2465             : /*  4946*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2466             : /*  4949*/                    OPC_CheckChild0Same, 1,
    2467             : /*  4951*/                    OPC_CheckChild1Integer, 16, 
    2468             : /*  4953*/                    OPC_CheckChild1Type, MVT::i32,
    2469             : /*  4955*/                    OPC_MoveParent,
    2470             : /*  4956*/                    OPC_MoveChild1,
    2471             : /*  4957*/                    OPC_CheckValueType, MVT::i8,
    2472             : /*  4959*/                    OPC_MoveParent,
    2473             : /*  4960*/                    OPC_MoveParent,
    2474             : /*  4961*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2475             : /*  4963*/                    OPC_MoveParent,
    2476             : /*  4964*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2477             : /*  4966*/                    OPC_MoveParent,
    2478             : /*  4967*/                    OPC_MoveChild1,
    2479             : /*  4968*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2480             : /*  4971*/                    OPC_MoveChild0,
    2481             : /*  4972*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2482             : /*  4975*/                    OPC_Scope, 68, /*->5045*/ // 2 children in Scope
    2483             : /*  4977*/                      OPC_CheckChild0Same, 1,
    2484             : /*  4979*/                      OPC_CheckChild1Integer, 24, 
    2485             : /*  4981*/                      OPC_CheckChild1Type, MVT::i32,
    2486             : /*  4983*/                      OPC_MoveParent,
    2487             : /*  4984*/                      OPC_MoveChild1,
    2488             : /*  4985*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2489             : /*  4988*/                      OPC_CheckChild0Same, 2,
    2490             : /*  4990*/                      OPC_CheckChild1Integer, 24, 
    2491             : /*  4992*/                      OPC_CheckChild1Type, MVT::i32,
    2492             : /*  4994*/                      OPC_MoveParent,
    2493             : /*  4995*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2494             : /*  4997*/                      OPC_MoveParent,
    2495             : /*  4998*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2496             : /*  5000*/                      OPC_CheckType, MVT::i32,
    2497             : /*  5002*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2498             : /*  5004*/                      OPC_EmitInteger, MVT::i32, 8, 
    2499             : /*  5007*/                      OPC_EmitInteger, MVT::i32, 8, 
    2500             : /*  5010*/                      OPC_EmitInteger, MVT::i32, 8, 
    2501             : /*  5013*/                      OPC_EmitInteger, MVT::i1, 0, 
    2502             : /*  5016*/                      OPC_EmitInteger, MVT::i32, 0, 
    2503             : /*  5019*/                      OPC_EmitInteger, MVT::i32, 0, 
    2504             : /*  5022*/                      OPC_EmitInteger, MVT::i32, 0, 
    2505             : /*  5025*/                      OPC_EmitInteger, MVT::i32, 0, 
    2506             : /*  5028*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2507             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2508             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2509             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2510             : /*  5045*/                    /*Scope*/ 68, /*->5114*/
    2511             : /*  5046*/                      OPC_CheckChild0Same, 2,
    2512             : /*  5048*/                      OPC_CheckChild1Integer, 24, 
    2513             : /*  5050*/                      OPC_CheckChild1Type, MVT::i32,
    2514             : /*  5052*/                      OPC_MoveParent,
    2515             : /*  5053*/                      OPC_MoveChild1,
    2516             : /*  5054*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2517             : /*  5057*/                      OPC_CheckChild0Same, 1,
    2518             : /*  5059*/                      OPC_CheckChild1Integer, 24, 
    2519             : /*  5061*/                      OPC_CheckChild1Type, MVT::i32,
    2520             : /*  5063*/                      OPC_MoveParent,
    2521             : /*  5064*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2522             : /*  5066*/                      OPC_MoveParent,
    2523             : /*  5067*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2524             : /*  5069*/                      OPC_CheckType, MVT::i32,
    2525             : /*  5071*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2526             : /*  5073*/                      OPC_EmitInteger, MVT::i32, 8, 
    2527             : /*  5076*/                      OPC_EmitInteger, MVT::i32, 8, 
    2528             : /*  5079*/                      OPC_EmitInteger, MVT::i32, 8, 
    2529             : /*  5082*/                      OPC_EmitInteger, MVT::i1, 0, 
    2530             : /*  5085*/                      OPC_EmitInteger, MVT::i32, 0, 
    2531             : /*  5088*/                      OPC_EmitInteger, MVT::i32, 0, 
    2532             : /*  5091*/                      OPC_EmitInteger, MVT::i32, 0, 
    2533             : /*  5094*/                      OPC_EmitInteger, MVT::i32, 0, 
    2534             : /*  5097*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2535             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2536             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2537             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2538             : /*  5114*/                    0, /*End of Scope*/
    2539             : /*  5115*/                  0, /*End of Scope*/
    2540             : /*  5116*/                /*Scope*/ 66|128,5/*706*/, /*->5824*/
    2541             : /*  5118*/                  OPC_CheckChild0Same, 2,
    2542             : /*  5120*/                  OPC_CheckChild1Integer, 8, 
    2543             : /*  5122*/                  OPC_CheckChild1Type, MVT::i32,
    2544             : /*  5124*/                  OPC_MoveParent,
    2545             : /*  5125*/                  OPC_MoveChild1,
    2546             : /*  5126*/                  OPC_CheckValueType, MVT::i8,
    2547             : /*  5128*/                  OPC_MoveParent,
    2548             : /*  5129*/                  OPC_MoveParent,
    2549             : /*  5130*/                  OPC_MoveChild1,
    2550             : /*  5131*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2551             : /*  5134*/                  OPC_MoveChild0,
    2552             : /*  5135*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2553             : /*  5138*/                  OPC_CheckChild0Same, 1,
    2554             : /*  5140*/                  OPC_CheckChild1Integer, 8, 
    2555             : /*  5142*/                  OPC_CheckChild1Type, MVT::i32,
    2556             : /*  5144*/                  OPC_MoveParent,
    2557             : /*  5145*/                  OPC_MoveChild1,
    2558             : /*  5146*/                  OPC_CheckValueType, MVT::i8,
    2559             : /*  5148*/                  OPC_MoveParent,
    2560             : /*  5149*/                  OPC_MoveParent,
    2561             : /*  5150*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2562             : /*  5152*/                  OPC_MoveParent,
    2563             : /*  5153*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2564             : /*  5155*/                  OPC_MoveParent,
    2565             : /*  5156*/                  OPC_MoveChild1,
    2566             : /*  5157*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2567             : /*  5160*/                  OPC_MoveChild0,
    2568             : /*  5161*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2569             : /*  5164*/                  OPC_MoveChild0,
    2570             : /*  5165*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2571             : /*  5168*/                  OPC_Scope, 58|128,1/*186*/, /*->5357*/ // 3 children in Scope
    2572             : /*  5171*/                    OPC_CheckChild0Same, 1,
    2573             : /*  5173*/                    OPC_CheckChild1Integer, 16, 
    2574             : /*  5175*/                    OPC_CheckChild1Type, MVT::i32,
    2575             : /*  5177*/                    OPC_MoveParent,
    2576             : /*  5178*/                    OPC_MoveChild1,
    2577             : /*  5179*/                    OPC_CheckValueType, MVT::i8,
    2578             : /*  5181*/                    OPC_MoveParent,
    2579             : /*  5182*/                    OPC_MoveParent,
    2580             : /*  5183*/                    OPC_MoveChild1,
    2581             : /*  5184*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2582             : /*  5187*/                    OPC_MoveChild0,
    2583             : /*  5188*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2584             : /*  5191*/                    OPC_CheckChild0Same, 2,
    2585             : /*  5193*/                    OPC_CheckChild1Integer, 16, 
    2586             : /*  5195*/                    OPC_CheckChild1Type, MVT::i32,
    2587             : /*  5197*/                    OPC_MoveParent,
    2588             : /*  5198*/                    OPC_MoveChild1,
    2589             : /*  5199*/                    OPC_CheckValueType, MVT::i8,
    2590             : /*  5201*/                    OPC_MoveParent,
    2591             : /*  5202*/                    OPC_MoveParent,
    2592             : /*  5203*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2593             : /*  5205*/                    OPC_MoveParent,
    2594             : /*  5206*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2595             : /*  5208*/                    OPC_MoveParent,
    2596             : /*  5209*/                    OPC_MoveChild1,
    2597             : /*  5210*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2598             : /*  5213*/                    OPC_MoveChild0,
    2599             : /*  5214*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2600             : /*  5217*/                    OPC_Scope, 68, /*->5287*/ // 2 children in Scope
    2601             : /*  5219*/                      OPC_CheckChild0Same, 1,
    2602             : /*  5221*/                      OPC_CheckChild1Integer, 24, 
    2603             : /*  5223*/                      OPC_CheckChild1Type, MVT::i32,
    2604             : /*  5225*/                      OPC_MoveParent,
    2605             : /*  5226*/                      OPC_MoveChild1,
    2606             : /*  5227*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2607             : /*  5230*/                      OPC_CheckChild0Same, 2,
    2608             : /*  5232*/                      OPC_CheckChild1Integer, 24, 
    2609             : /*  5234*/                      OPC_CheckChild1Type, MVT::i32,
    2610             : /*  5236*/                      OPC_MoveParent,
    2611             : /*  5237*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2612             : /*  5239*/                      OPC_MoveParent,
    2613             : /*  5240*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2614             : /*  5242*/                      OPC_CheckType, MVT::i32,
    2615             : /*  5244*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2616             : /*  5246*/                      OPC_EmitInteger, MVT::i32, 8, 
    2617             : /*  5249*/                      OPC_EmitInteger, MVT::i32, 8, 
    2618             : /*  5252*/                      OPC_EmitInteger, MVT::i32, 8, 
    2619             : /*  5255*/                      OPC_EmitInteger, MVT::i1, 0, 
    2620             : /*  5258*/                      OPC_EmitInteger, MVT::i32, 0, 
    2621             : /*  5261*/                      OPC_EmitInteger, MVT::i32, 0, 
    2622             : /*  5264*/                      OPC_EmitInteger, MVT::i32, 0, 
    2623             : /*  5267*/                      OPC_EmitInteger, MVT::i32, 0, 
    2624             : /*  5270*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2625             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2626             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2627             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2628             : /*  5287*/                    /*Scope*/ 68, /*->5356*/
    2629             : /*  5288*/                      OPC_CheckChild0Same, 2,
    2630             : /*  5290*/                      OPC_CheckChild1Integer, 24, 
    2631             : /*  5292*/                      OPC_CheckChild1Type, MVT::i32,
    2632             : /*  5294*/                      OPC_MoveParent,
    2633             : /*  5295*/                      OPC_MoveChild1,
    2634             : /*  5296*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2635             : /*  5299*/                      OPC_CheckChild0Same, 1,
    2636             : /*  5301*/                      OPC_CheckChild1Integer, 24, 
    2637             : /*  5303*/                      OPC_CheckChild1Type, MVT::i32,
    2638             : /*  5305*/                      OPC_MoveParent,
    2639             : /*  5306*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2640             : /*  5308*/                      OPC_MoveParent,
    2641             : /*  5309*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2642             : /*  5311*/                      OPC_CheckType, MVT::i32,
    2643             : /*  5313*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2644             : /*  5315*/                      OPC_EmitInteger, MVT::i32, 8, 
    2645             : /*  5318*/                      OPC_EmitInteger, MVT::i32, 8, 
    2646             : /*  5321*/                      OPC_EmitInteger, MVT::i32, 8, 
    2647             : /*  5324*/                      OPC_EmitInteger, MVT::i1, 0, 
    2648             : /*  5327*/                      OPC_EmitInteger, MVT::i32, 0, 
    2649             : /*  5330*/                      OPC_EmitInteger, MVT::i32, 0, 
    2650             : /*  5333*/                      OPC_EmitInteger, MVT::i32, 0, 
    2651             : /*  5336*/                      OPC_EmitInteger, MVT::i32, 0, 
    2652             : /*  5339*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2653             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2654             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2655             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2656             : /*  5356*/                    0, /*End of Scope*/
    2657             : /*  5357*/                  /*Scope*/ 20|128,2/*276*/, /*->5635*/
    2658             : /*  5359*/                    OPC_CheckChild0Same, 2,
    2659             : /*  5361*/                    OPC_CheckChild1Integer, 16, 
    2660             : /*  5363*/                    OPC_CheckChild1Type, MVT::i32,
    2661             : /*  5365*/                    OPC_MoveParent,
    2662             : /*  5366*/                    OPC_MoveChild1,
    2663             : /*  5367*/                    OPC_CheckValueType, MVT::i8,
    2664             : /*  5369*/                    OPC_MoveParent,
    2665             : /*  5370*/                    OPC_MoveParent,
    2666             : /*  5371*/                    OPC_MoveChild1,
    2667             : /*  5372*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2668             : /*  5375*/                    OPC_MoveChild0,
    2669             : /*  5376*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2670             : /*  5379*/                    OPC_CheckChild0Same, 1,
    2671             : /*  5381*/                    OPC_CheckChild1Integer, 16, 
    2672             : /*  5383*/                    OPC_CheckChild1Type, MVT::i32,
    2673             : /*  5385*/                    OPC_MoveParent,
    2674             : /*  5386*/                    OPC_MoveChild1,
    2675             : /*  5387*/                    OPC_CheckValueType, MVT::i8,
    2676             : /*  5389*/                    OPC_MoveParent,
    2677             : /*  5390*/                    OPC_MoveParent,
    2678             : /*  5391*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2679             : /*  5393*/                    OPC_MoveParent,
    2680             : /*  5394*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2681             : /*  5396*/                    OPC_MoveParent,
    2682             : /*  5397*/                    OPC_MoveChild1,
    2683             : /*  5398*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2684             : /*  5401*/                    OPC_MoveChild0,
    2685             : /*  5402*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2686             : /*  5405*/                    OPC_Scope, 68, /*->5475*/ // 3 children in Scope
    2687             : /*  5407*/                      OPC_CheckChild0Same, 1,
    2688             : /*  5409*/                      OPC_CheckChild1Integer, 24, 
    2689             : /*  5411*/                      OPC_CheckChild1Type, MVT::i32,
    2690             : /*  5413*/                      OPC_MoveParent,
    2691             : /*  5414*/                      OPC_MoveChild1,
    2692             : /*  5415*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2693             : /*  5418*/                      OPC_CheckChild0Same, 2,
    2694             : /*  5420*/                      OPC_CheckChild1Integer, 24, 
    2695             : /*  5422*/                      OPC_CheckChild1Type, MVT::i32,
    2696             : /*  5424*/                      OPC_MoveParent,
    2697             : /*  5425*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2698             : /*  5427*/                      OPC_MoveParent,
    2699             : /*  5428*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2700             : /*  5430*/                      OPC_CheckType, MVT::i32,
    2701             : /*  5432*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2702             : /*  5434*/                      OPC_EmitInteger, MVT::i32, 8, 
    2703             : /*  5437*/                      OPC_EmitInteger, MVT::i32, 8, 
    2704             : /*  5440*/                      OPC_EmitInteger, MVT::i32, 8, 
    2705             : /*  5443*/                      OPC_EmitInteger, MVT::i1, 0, 
    2706             : /*  5446*/                      OPC_EmitInteger, MVT::i32, 0, 
    2707             : /*  5449*/                      OPC_EmitInteger, MVT::i32, 0, 
    2708             : /*  5452*/                      OPC_EmitInteger, MVT::i32, 0, 
    2709             : /*  5455*/                      OPC_EmitInteger, MVT::i32, 0, 
    2710             : /*  5458*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2711             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2712             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2713             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2714             : /*  5475*/                    /*Scope*/ 89, /*->5565*/
    2715             : /*  5476*/                      OPC_CheckChild0Same, 2,
    2716             : /*  5478*/                      OPC_CheckChild1Integer, 24, 
    2717             : /*  5480*/                      OPC_CheckChild1Type, MVT::i32,
    2718             : /*  5482*/                      OPC_MoveParent,
    2719             : /*  5483*/                      OPC_MoveChild1,
    2720             : /*  5484*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2721             : /*  5487*/                      OPC_CheckChild0Same, 1,
    2722             : /*  5489*/                      OPC_CheckChild1Integer, 24, 
    2723             : /*  5491*/                      OPC_CheckChild1Type, MVT::i32,
    2724             : /*  5493*/                      OPC_MoveParent,
    2725             : /*  5494*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2726             : /*  5496*/                      OPC_MoveParent,
    2727             : /*  5497*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2728             : /*  5499*/                      OPC_CheckType, MVT::i32,
    2729             : /*  5501*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2730             : /*  5503*/                      OPC_EmitInteger, MVT::i32, 8, 
    2731             : /*  5506*/                      OPC_EmitInteger, MVT::i32, 8, 
    2732             : /*  5509*/                      OPC_EmitInteger, MVT::i32, 8, 
    2733             : /*  5512*/                      OPC_EmitInteger, MVT::i1, 0, 
    2734             : /*  5515*/                      OPC_EmitInteger, MVT::i32, 0, 
    2735             : /*  5518*/                      OPC_EmitInteger, MVT::i32, 0, 
    2736             : /*  5521*/                      OPC_EmitInteger, MVT::i32, 0, 
    2737             : /*  5524*/                      OPC_EmitInteger, MVT::i32, 0, 
    2738             : /*  5527*/                      OPC_Scope, 17, /*->5546*/ // 2 children in Scope
    2739             : /*  5529*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2740             :                                       MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
    2741             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2742             :                                   // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2743             : /*  5546*/                      /*Scope*/ 17, /*->5564*/
    2744             : /*  5547*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2745             :                                       MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    2746             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2747             :                                   // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2748             : /*  5564*/                      0, /*End of Scope*/
    2749             : /*  5565*/                    /*Scope*/ 68, /*->5634*/
    2750             : /*  5566*/                      OPC_CheckChild0Same, 1,
    2751             : /*  5568*/                      OPC_CheckChild1Integer, 24, 
    2752             : /*  5570*/                      OPC_CheckChild1Type, MVT::i32,
    2753             : /*  5572*/                      OPC_MoveParent,
    2754             : /*  5573*/                      OPC_MoveChild1,
    2755             : /*  5574*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2756             : /*  5577*/                      OPC_CheckChild0Same, 2,
    2757             : /*  5579*/                      OPC_CheckChild1Integer, 24, 
    2758             : /*  5581*/                      OPC_CheckChild1Type, MVT::i32,
    2759             : /*  5583*/                      OPC_MoveParent,
    2760             : /*  5584*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2761             : /*  5586*/                      OPC_MoveParent,
    2762             : /*  5587*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2763             : /*  5589*/                      OPC_CheckType, MVT::i32,
    2764             : /*  5591*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2765             : /*  5593*/                      OPC_EmitInteger, MVT::i32, 8, 
    2766             : /*  5596*/                      OPC_EmitInteger, MVT::i32, 8, 
    2767             : /*  5599*/                      OPC_EmitInteger, MVT::i32, 8, 
    2768             : /*  5602*/                      OPC_EmitInteger, MVT::i1, 0, 
    2769             : /*  5605*/                      OPC_EmitInteger, MVT::i32, 0, 
    2770             : /*  5608*/                      OPC_EmitInteger, MVT::i32, 0, 
    2771             : /*  5611*/                      OPC_EmitInteger, MVT::i32, 0, 
    2772             : /*  5614*/                      OPC_EmitInteger, MVT::i32, 0, 
    2773             : /*  5617*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2774             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    2775             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2776             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2777             : /*  5634*/                    0, /*End of Scope*/
    2778             : /*  5635*/                  /*Scope*/ 58|128,1/*186*/, /*->5823*/
    2779             : /*  5637*/                    OPC_CheckChild0Same, 1,
    2780             : /*  5639*/                    OPC_CheckChild1Integer, 16, 
    2781             : /*  5641*/                    OPC_CheckChild1Type, MVT::i32,
    2782             : /*  5643*/                    OPC_MoveParent,
    2783             : /*  5644*/                    OPC_MoveChild1,
    2784             : /*  5645*/                    OPC_CheckValueType, MVT::i8,
    2785             : /*  5647*/                    OPC_MoveParent,
    2786             : /*  5648*/                    OPC_MoveParent,
    2787             : /*  5649*/                    OPC_MoveChild1,
    2788             : /*  5650*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2789             : /*  5653*/                    OPC_MoveChild0,
    2790             : /*  5654*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2791             : /*  5657*/                    OPC_CheckChild0Same, 2,
    2792             : /*  5659*/                    OPC_CheckChild1Integer, 16, 
    2793             : /*  5661*/                    OPC_CheckChild1Type, MVT::i32,
    2794             : /*  5663*/                    OPC_MoveParent,
    2795             : /*  5664*/                    OPC_MoveChild1,
    2796             : /*  5665*/                    OPC_CheckValueType, MVT::i8,
    2797             : /*  5667*/                    OPC_MoveParent,
    2798             : /*  5668*/                    OPC_MoveParent,
    2799             : /*  5669*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2800             : /*  5671*/                    OPC_MoveParent,
    2801             : /*  5672*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2802             : /*  5674*/                    OPC_MoveParent,
    2803             : /*  5675*/                    OPC_MoveChild1,
    2804             : /*  5676*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2805             : /*  5679*/                    OPC_MoveChild0,
    2806             : /*  5680*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2807             : /*  5683*/                    OPC_Scope, 68, /*->5753*/ // 2 children in Scope
    2808             : /*  5685*/                      OPC_CheckChild0Same, 2,
    2809             : /*  5687*/                      OPC_CheckChild1Integer, 24, 
    2810             : /*  5689*/                      OPC_CheckChild1Type, MVT::i32,
    2811             : /*  5691*/                      OPC_MoveParent,
    2812             : /*  5692*/                      OPC_MoveChild1,
    2813             : /*  5693*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2814             : /*  5696*/                      OPC_CheckChild0Same, 1,
    2815             : /*  5698*/                      OPC_CheckChild1Integer, 24, 
    2816             : /*  5700*/                      OPC_CheckChild1Type, MVT::i32,
    2817             : /*  5702*/                      OPC_MoveParent,
    2818             : /*  5703*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2819             : /*  5705*/                      OPC_MoveParent,
    2820             : /*  5706*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2821             : /*  5708*/                      OPC_CheckType, MVT::i32,
    2822             : /*  5710*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2823             : /*  5712*/                      OPC_EmitInteger, MVT::i32, 8, 
    2824             : /*  5715*/                      OPC_EmitInteger, MVT::i32, 8, 
    2825             : /*  5718*/                      OPC_EmitInteger, MVT::i32, 8, 
    2826             : /*  5721*/                      OPC_EmitInteger, MVT::i1, 0, 
    2827             : /*  5724*/                      OPC_EmitInteger, MVT::i32, 0, 
    2828             : /*  5727*/                      OPC_EmitInteger, MVT::i32, 0, 
    2829             : /*  5730*/                      OPC_EmitInteger, MVT::i32, 0, 
    2830             : /*  5733*/                      OPC_EmitInteger, MVT::i32, 0, 
    2831             : /*  5736*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2832             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    2833             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2834             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2835             : /*  5753*/                    /*Scope*/ 68, /*->5822*/
    2836             : /*  5754*/                      OPC_CheckChild0Same, 1,
    2837             : /*  5756*/                      OPC_CheckChild1Integer, 24, 
    2838             : /*  5758*/                      OPC_CheckChild1Type, MVT::i32,
    2839             : /*  5760*/                      OPC_MoveParent,
    2840             : /*  5761*/                      OPC_MoveChild1,
    2841             : /*  5762*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2842             : /*  5765*/                      OPC_CheckChild0Same, 2,
    2843             : /*  5767*/                      OPC_CheckChild1Integer, 24, 
    2844             : /*  5769*/                      OPC_CheckChild1Type, MVT::i32,
    2845             : /*  5771*/                      OPC_MoveParent,
    2846             : /*  5772*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2847             : /*  5774*/                      OPC_MoveParent,
    2848             : /*  5775*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2849             : /*  5777*/                      OPC_CheckType, MVT::i32,
    2850             : /*  5779*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2851             : /*  5781*/                      OPC_EmitInteger, MVT::i32, 8, 
    2852             : /*  5784*/                      OPC_EmitInteger, MVT::i32, 8, 
    2853             : /*  5787*/                      OPC_EmitInteger, MVT::i32, 8, 
    2854             : /*  5790*/                      OPC_EmitInteger, MVT::i1, 0, 
    2855             : /*  5793*/                      OPC_EmitInteger, MVT::i32, 0, 
    2856             : /*  5796*/                      OPC_EmitInteger, MVT::i32, 0, 
    2857             : /*  5799*/                      OPC_EmitInteger, MVT::i32, 0, 
    2858             : /*  5802*/                      OPC_EmitInteger, MVT::i32, 0, 
    2859             : /*  5805*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2860             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    2861             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2862             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2863             : /*  5822*/                    0, /*End of Scope*/
    2864             : /*  5823*/                  0, /*End of Scope*/
    2865             : /*  5824*/                /*Scope*/ 44|128,3/*428*/, /*->6254*/
    2866             : /*  5826*/                  OPC_CheckChild0Same, 1,
    2867             : /*  5828*/                  OPC_CheckChild1Integer, 8, 
    2868             : /*  5830*/                  OPC_CheckChild1Type, MVT::i32,
    2869             : /*  5832*/                  OPC_MoveParent,
    2870             : /*  5833*/                  OPC_MoveChild1,
    2871             : /*  5834*/                  OPC_CheckValueType, MVT::i8,
    2872             : /*  5836*/                  OPC_MoveParent,
    2873             : /*  5837*/                  OPC_MoveParent,
    2874             : /*  5838*/                  OPC_MoveChild1,
    2875             : /*  5839*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2876             : /*  5842*/                  OPC_MoveChild0,
    2877             : /*  5843*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2878             : /*  5846*/                  OPC_CheckChild0Same, 2,
    2879             : /*  5848*/                  OPC_CheckChild1Integer, 8, 
    2880             : /*  5850*/                  OPC_CheckChild1Type, MVT::i32,
    2881             : /*  5852*/                  OPC_MoveParent,
    2882             : /*  5853*/                  OPC_MoveChild1,
    2883             : /*  5854*/                  OPC_CheckValueType, MVT::i8,
    2884             : /*  5856*/                  OPC_MoveParent,
    2885             : /*  5857*/                  OPC_MoveParent,
    2886             : /*  5858*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2887             : /*  5860*/                  OPC_MoveParent,
    2888             : /*  5861*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2889             : /*  5863*/                  OPC_MoveParent,
    2890             : /*  5864*/                  OPC_MoveChild1,
    2891             : /*  5865*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2892             : /*  5868*/                  OPC_MoveChild0,
    2893             : /*  5869*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2894             : /*  5872*/                  OPC_MoveChild0,
    2895             : /*  5873*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2896             : /*  5876*/                  OPC_Scope, 58|128,1/*186*/, /*->6065*/ // 2 children in Scope
    2897             : /*  5879*/                    OPC_CheckChild0Same, 2,
    2898             : /*  5881*/                    OPC_CheckChild1Integer, 16, 
    2899             : /*  5883*/                    OPC_CheckChild1Type, MVT::i32,
    2900             : /*  5885*/                    OPC_MoveParent,
    2901             : /*  5886*/                    OPC_MoveChild1,
    2902             : /*  5887*/                    OPC_CheckValueType, MVT::i8,
    2903             : /*  5889*/                    OPC_MoveParent,
    2904             : /*  5890*/                    OPC_MoveParent,
    2905             : /*  5891*/                    OPC_MoveChild1,
    2906             : /*  5892*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2907             : /*  5895*/                    OPC_MoveChild0,
    2908             : /*  5896*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2909             : /*  5899*/                    OPC_CheckChild0Same, 1,
    2910             : /*  5901*/                    OPC_CheckChild1Integer, 16, 
    2911             : /*  5903*/                    OPC_CheckChild1Type, MVT::i32,
    2912             : /*  5905*/                    OPC_MoveParent,
    2913             : /*  5906*/                    OPC_MoveChild1,
    2914             : /*  5907*/                    OPC_CheckValueType, MVT::i8,
    2915             : /*  5909*/                    OPC_MoveParent,
    2916             : /*  5910*/                    OPC_MoveParent,
    2917             : /*  5911*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2918             : /*  5913*/                    OPC_MoveParent,
    2919             : /*  5914*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2920             : /*  5916*/                    OPC_MoveParent,
    2921             : /*  5917*/                    OPC_MoveChild1,
    2922             : /*  5918*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    2923             : /*  5921*/                    OPC_MoveChild0,
    2924             : /*  5922*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2925             : /*  5925*/                    OPC_Scope, 68, /*->5995*/ // 2 children in Scope
    2926             : /*  5927*/                      OPC_CheckChild0Same, 2,
    2927             : /*  5929*/                      OPC_CheckChild1Integer, 24, 
    2928             : /*  5931*/                      OPC_CheckChild1Type, MVT::i32,
    2929             : /*  5933*/                      OPC_MoveParent,
    2930             : /*  5934*/                      OPC_MoveChild1,
    2931             : /*  5935*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2932             : /*  5938*/                      OPC_CheckChild0Same, 1,
    2933             : /*  5940*/                      OPC_CheckChild1Integer, 24, 
    2934             : /*  5942*/                      OPC_CheckChild1Type, MVT::i32,
    2935             : /*  5944*/                      OPC_MoveParent,
    2936             : /*  5945*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2937             : /*  5947*/                      OPC_MoveParent,
    2938             : /*  5948*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2939             : /*  5950*/                      OPC_CheckType, MVT::i32,
    2940             : /*  5952*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2941             : /*  5954*/                      OPC_EmitInteger, MVT::i32, 8, 
    2942             : /*  5957*/                      OPC_EmitInteger, MVT::i32, 8, 
    2943             : /*  5960*/                      OPC_EmitInteger, MVT::i32, 8, 
    2944             : /*  5963*/                      OPC_EmitInteger, MVT::i1, 0, 
    2945             : /*  5966*/                      OPC_EmitInteger, MVT::i32, 0, 
    2946             : /*  5969*/                      OPC_EmitInteger, MVT::i32, 0, 
    2947             : /*  5972*/                      OPC_EmitInteger, MVT::i32, 0, 
    2948             : /*  5975*/                      OPC_EmitInteger, MVT::i32, 0, 
    2949             : /*  5978*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2950             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    2951             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2952             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2953             : /*  5995*/                    /*Scope*/ 68, /*->6064*/
    2954             : /*  5996*/                      OPC_CheckChild0Same, 1,
    2955             : /*  5998*/                      OPC_CheckChild1Integer, 24, 
    2956             : /*  6000*/                      OPC_CheckChild1Type, MVT::i32,
    2957             : /*  6002*/                      OPC_MoveParent,
    2958             : /*  6003*/                      OPC_MoveChild1,
    2959             : /*  6004*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    2960             : /*  6007*/                      OPC_CheckChild0Same, 2,
    2961             : /*  6009*/                      OPC_CheckChild1Integer, 24, 
    2962             : /*  6011*/                      OPC_CheckChild1Type, MVT::i32,
    2963             : /*  6013*/                      OPC_MoveParent,
    2964             : /*  6014*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    2965             : /*  6016*/                      OPC_MoveParent,
    2966             : /*  6017*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    2967             : /*  6019*/                      OPC_CheckType, MVT::i32,
    2968             : /*  6021*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    2969             : /*  6023*/                      OPC_EmitInteger, MVT::i32, 8, 
    2970             : /*  6026*/                      OPC_EmitInteger, MVT::i32, 8, 
    2971             : /*  6029*/                      OPC_EmitInteger, MVT::i32, 8, 
    2972             : /*  6032*/                      OPC_EmitInteger, MVT::i1, 0, 
    2973             : /*  6035*/                      OPC_EmitInteger, MVT::i32, 0, 
    2974             : /*  6038*/                      OPC_EmitInteger, MVT::i32, 0, 
    2975             : /*  6041*/                      OPC_EmitInteger, MVT::i32, 0, 
    2976             : /*  6044*/                      OPC_EmitInteger, MVT::i32, 0, 
    2977             : /*  6047*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    2978             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    2979             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    2980             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    2981             : /*  6064*/                    0, /*End of Scope*/
    2982             : /*  6065*/                  /*Scope*/ 58|128,1/*186*/, /*->6253*/
    2983             : /*  6067*/                    OPC_CheckChild0Same, 1,
    2984             : /*  6069*/                    OPC_CheckChild1Integer, 16, 
    2985             : /*  6071*/                    OPC_CheckChild1Type, MVT::i32,
    2986             : /*  6073*/                    OPC_MoveParent,
    2987             : /*  6074*/                    OPC_MoveChild1,
    2988             : /*  6075*/                    OPC_CheckValueType, MVT::i8,
    2989             : /*  6077*/                    OPC_MoveParent,
    2990             : /*  6078*/                    OPC_MoveParent,
    2991             : /*  6079*/                    OPC_MoveChild1,
    2992             : /*  6080*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    2993             : /*  6083*/                    OPC_MoveChild0,
    2994             : /*  6084*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    2995             : /*  6087*/                    OPC_CheckChild0Same, 2,
    2996             : /*  6089*/                    OPC_CheckChild1Integer, 16, 
    2997             : /*  6091*/                    OPC_CheckChild1Type, MVT::i32,
    2998             : /*  6093*/                    OPC_MoveParent,
    2999             : /*  6094*/                    OPC_MoveChild1,
    3000             : /*  6095*/                    OPC_CheckValueType, MVT::i8,
    3001             : /*  6097*/                    OPC_MoveParent,
    3002             : /*  6098*/                    OPC_MoveParent,
    3003             : /*  6099*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3004             : /*  6101*/                    OPC_MoveParent,
    3005             : /*  6102*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3006             : /*  6104*/                    OPC_MoveParent,
    3007             : /*  6105*/                    OPC_MoveChild1,
    3008             : /*  6106*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3009             : /*  6109*/                    OPC_MoveChild0,
    3010             : /*  6110*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3011             : /*  6113*/                    OPC_Scope, 68, /*->6183*/ // 2 children in Scope
    3012             : /*  6115*/                      OPC_CheckChild0Same, 2,
    3013             : /*  6117*/                      OPC_CheckChild1Integer, 24, 
    3014             : /*  6119*/                      OPC_CheckChild1Type, MVT::i32,
    3015             : /*  6121*/                      OPC_MoveParent,
    3016             : /*  6122*/                      OPC_MoveChild1,
    3017             : /*  6123*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3018             : /*  6126*/                      OPC_CheckChild0Same, 1,
    3019             : /*  6128*/                      OPC_CheckChild1Integer, 24, 
    3020             : /*  6130*/                      OPC_CheckChild1Type, MVT::i32,
    3021             : /*  6132*/                      OPC_MoveParent,
    3022             : /*  6133*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3023             : /*  6135*/                      OPC_MoveParent,
    3024             : /*  6136*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3025             : /*  6138*/                      OPC_CheckType, MVT::i32,
    3026             : /*  6140*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3027             : /*  6142*/                      OPC_EmitInteger, MVT::i32, 8, 
    3028             : /*  6145*/                      OPC_EmitInteger, MVT::i32, 8, 
    3029             : /*  6148*/                      OPC_EmitInteger, MVT::i32, 8, 
    3030             : /*  6151*/                      OPC_EmitInteger, MVT::i1, 0, 
    3031             : /*  6154*/                      OPC_EmitInteger, MVT::i32, 0, 
    3032             : /*  6157*/                      OPC_EmitInteger, MVT::i32, 0, 
    3033             : /*  6160*/                      OPC_EmitInteger, MVT::i32, 0, 
    3034             : /*  6163*/                      OPC_EmitInteger, MVT::i32, 0, 
    3035             : /*  6166*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3036             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    3037             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3038             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3039             : /*  6183*/                    /*Scope*/ 68, /*->6252*/
    3040             : /*  6184*/                      OPC_CheckChild0Same, 1,
    3041             : /*  6186*/                      OPC_CheckChild1Integer, 24, 
    3042             : /*  6188*/                      OPC_CheckChild1Type, MVT::i32,
    3043             : /*  6190*/                      OPC_MoveParent,
    3044             : /*  6191*/                      OPC_MoveChild1,
    3045             : /*  6192*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3046             : /*  6195*/                      OPC_CheckChild0Same, 2,
    3047             : /*  6197*/                      OPC_CheckChild1Integer, 24, 
    3048             : /*  6199*/                      OPC_CheckChild1Type, MVT::i32,
    3049             : /*  6201*/                      OPC_MoveParent,
    3050             : /*  6202*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3051             : /*  6204*/                      OPC_MoveParent,
    3052             : /*  6205*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3053             : /*  6207*/                      OPC_CheckType, MVT::i32,
    3054             : /*  6209*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3055             : /*  6211*/                      OPC_EmitInteger, MVT::i32, 8, 
    3056             : /*  6214*/                      OPC_EmitInteger, MVT::i32, 8, 
    3057             : /*  6217*/                      OPC_EmitInteger, MVT::i32, 8, 
    3058             : /*  6220*/                      OPC_EmitInteger, MVT::i1, 0, 
    3059             : /*  6223*/                      OPC_EmitInteger, MVT::i32, 0, 
    3060             : /*  6226*/                      OPC_EmitInteger, MVT::i32, 0, 
    3061             : /*  6229*/                      OPC_EmitInteger, MVT::i32, 0, 
    3062             : /*  6232*/                      OPC_EmitInteger, MVT::i32, 0, 
    3063             : /*  6235*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3064             :                                     MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
    3065             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3066             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3067             : /*  6252*/                    0, /*End of Scope*/
    3068             : /*  6253*/                  0, /*End of Scope*/
    3069             : /*  6254*/                0, /*End of Scope*/
    3070             : /*  6255*/              /*Scope*/ 77|128,12/*1613*/, /*->7870*/
    3071             : /*  6257*/                OPC_MoveChild0,
    3072             : /*  6258*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3073             : /*  6261*/                OPC_MoveChild0,
    3074             : /*  6262*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3075             : /*  6265*/                OPC_RecordChild0, // #0 = $src0
    3076             : /*  6266*/                OPC_MoveChild1,
    3077             : /*  6267*/                OPC_CheckValueType, MVT::i8,
    3078             : /*  6269*/                OPC_MoveParent,
    3079             : /*  6270*/                OPC_MoveParent,
    3080             : /*  6271*/                OPC_MoveChild1,
    3081             : /*  6272*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3082             : /*  6275*/                OPC_RecordChild0, // #1 = $src1
    3083             : /*  6276*/                OPC_MoveChild1,
    3084             : /*  6277*/                OPC_CheckValueType, MVT::i8,
    3085             : /*  6279*/                OPC_MoveParent,
    3086             : /*  6280*/                OPC_MoveParent,
    3087             : /*  6281*/                OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3088             : /*  6283*/                OPC_MoveParent,
    3089             : /*  6284*/                OPC_RecordChild1, // #2 = $src2
    3090             : /*  6285*/                OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3091             : /*  6287*/                OPC_MoveParent,
    3092             : /*  6288*/                OPC_MoveChild1,
    3093             : /*  6289*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3094             : /*  6292*/                OPC_MoveChild0,
    3095             : /*  6293*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3096             : /*  6296*/                OPC_MoveChild0,
    3097             : /*  6297*/                OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3098             : /*  6300*/                OPC_Scope, 44|128,3/*428*/, /*->6731*/ // 3 children in Scope
    3099             : /*  6303*/                  OPC_CheckChild0Same, 0,
    3100             : /*  6305*/                  OPC_CheckChild1Integer, 8, 
    3101             : /*  6307*/                  OPC_CheckChild1Type, MVT::i32,
    3102             : /*  6309*/                  OPC_MoveParent,
    3103             : /*  6310*/                  OPC_MoveChild1,
    3104             : /*  6311*/                  OPC_CheckValueType, MVT::i8,
    3105             : /*  6313*/                  OPC_MoveParent,
    3106             : /*  6314*/                  OPC_MoveParent,
    3107             : /*  6315*/                  OPC_MoveChild1,
    3108             : /*  6316*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3109             : /*  6319*/                  OPC_MoveChild0,
    3110             : /*  6320*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3111             : /*  6323*/                  OPC_CheckChild0Same, 1,
    3112             : /*  6325*/                  OPC_CheckChild1Integer, 8, 
    3113             : /*  6327*/                  OPC_CheckChild1Type, MVT::i32,
    3114             : /*  6329*/                  OPC_MoveParent,
    3115             : /*  6330*/                  OPC_MoveChild1,
    3116             : /*  6331*/                  OPC_CheckValueType, MVT::i8,
    3117             : /*  6333*/                  OPC_MoveParent,
    3118             : /*  6334*/                  OPC_MoveParent,
    3119             : /*  6335*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3120             : /*  6337*/                  OPC_MoveParent,
    3121             : /*  6338*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3122             : /*  6340*/                  OPC_MoveParent,
    3123             : /*  6341*/                  OPC_MoveChild1,
    3124             : /*  6342*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3125             : /*  6345*/                  OPC_MoveChild0,
    3126             : /*  6346*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3127             : /*  6349*/                  OPC_MoveChild0,
    3128             : /*  6350*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3129             : /*  6353*/                  OPC_Scope, 58|128,1/*186*/, /*->6542*/ // 2 children in Scope
    3130             : /*  6356*/                    OPC_CheckChild0Same, 0,
    3131             : /*  6358*/                    OPC_CheckChild1Integer, 16, 
    3132             : /*  6360*/                    OPC_CheckChild1Type, MVT::i32,
    3133             : /*  6362*/                    OPC_MoveParent,
    3134             : /*  6363*/                    OPC_MoveChild1,
    3135             : /*  6364*/                    OPC_CheckValueType, MVT::i8,
    3136             : /*  6366*/                    OPC_MoveParent,
    3137             : /*  6367*/                    OPC_MoveParent,
    3138             : /*  6368*/                    OPC_MoveChild1,
    3139             : /*  6369*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3140             : /*  6372*/                    OPC_MoveChild0,
    3141             : /*  6373*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3142             : /*  6376*/                    OPC_CheckChild0Same, 1,
    3143             : /*  6378*/                    OPC_CheckChild1Integer, 16, 
    3144             : /*  6380*/                    OPC_CheckChild1Type, MVT::i32,
    3145             : /*  6382*/                    OPC_MoveParent,
    3146             : /*  6383*/                    OPC_MoveChild1,
    3147             : /*  6384*/                    OPC_CheckValueType, MVT::i8,
    3148             : /*  6386*/                    OPC_MoveParent,
    3149             : /*  6387*/                    OPC_MoveParent,
    3150             : /*  6388*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3151             : /*  6390*/                    OPC_MoveParent,
    3152             : /*  6391*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3153             : /*  6393*/                    OPC_MoveParent,
    3154             : /*  6394*/                    OPC_MoveChild1,
    3155             : /*  6395*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3156             : /*  6398*/                    OPC_MoveChild0,
    3157             : /*  6399*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3158             : /*  6402*/                    OPC_Scope, 68, /*->6472*/ // 2 children in Scope
    3159             : /*  6404*/                      OPC_CheckChild0Same, 0,
    3160             : /*  6406*/                      OPC_CheckChild1Integer, 24, 
    3161             : /*  6408*/                      OPC_CheckChild1Type, MVT::i32,
    3162             : /*  6410*/                      OPC_MoveParent,
    3163             : /*  6411*/                      OPC_MoveChild1,
    3164             : /*  6412*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3165             : /*  6415*/                      OPC_CheckChild0Same, 1,
    3166             : /*  6417*/                      OPC_CheckChild1Integer, 24, 
    3167             : /*  6419*/                      OPC_CheckChild1Type, MVT::i32,
    3168             : /*  6421*/                      OPC_MoveParent,
    3169             : /*  6422*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3170             : /*  6424*/                      OPC_MoveParent,
    3171             : /*  6425*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3172             : /*  6427*/                      OPC_CheckType, MVT::i32,
    3173             : /*  6429*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3174             : /*  6431*/                      OPC_EmitInteger, MVT::i32, 8, 
    3175             : /*  6434*/                      OPC_EmitInteger, MVT::i32, 8, 
    3176             : /*  6437*/                      OPC_EmitInteger, MVT::i32, 8, 
    3177             : /*  6440*/                      OPC_EmitInteger, MVT::i1, 0, 
    3178             : /*  6443*/                      OPC_EmitInteger, MVT::i32, 0, 
    3179             : /*  6446*/                      OPC_EmitInteger, MVT::i32, 0, 
    3180             : /*  6449*/                      OPC_EmitInteger, MVT::i32, 0, 
    3181             : /*  6452*/                      OPC_EmitInteger, MVT::i32, 0, 
    3182             : /*  6455*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3183             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3184             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3185             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3186             : /*  6472*/                    /*Scope*/ 68, /*->6541*/
    3187             : /*  6473*/                      OPC_CheckChild0Same, 1,
    3188             : /*  6475*/                      OPC_CheckChild1Integer, 24, 
    3189             : /*  6477*/                      OPC_CheckChild1Type, MVT::i32,
    3190             : /*  6479*/                      OPC_MoveParent,
    3191             : /*  6480*/                      OPC_MoveChild1,
    3192             : /*  6481*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3193             : /*  6484*/                      OPC_CheckChild0Same, 0,
    3194             : /*  6486*/                      OPC_CheckChild1Integer, 24, 
    3195             : /*  6488*/                      OPC_CheckChild1Type, MVT::i32,
    3196             : /*  6490*/                      OPC_MoveParent,
    3197             : /*  6491*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3198             : /*  6493*/                      OPC_MoveParent,
    3199             : /*  6494*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3200             : /*  6496*/                      OPC_CheckType, MVT::i32,
    3201             : /*  6498*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3202             : /*  6500*/                      OPC_EmitInteger, MVT::i32, 8, 
    3203             : /*  6503*/                      OPC_EmitInteger, MVT::i32, 8, 
    3204             : /*  6506*/                      OPC_EmitInteger, MVT::i32, 8, 
    3205             : /*  6509*/                      OPC_EmitInteger, MVT::i1, 0, 
    3206             : /*  6512*/                      OPC_EmitInteger, MVT::i32, 0, 
    3207             : /*  6515*/                      OPC_EmitInteger, MVT::i32, 0, 
    3208             : /*  6518*/                      OPC_EmitInteger, MVT::i32, 0, 
    3209             : /*  6521*/                      OPC_EmitInteger, MVT::i32, 0, 
    3210             : /*  6524*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3211             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3212             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3213             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3214             : /*  6541*/                    0, /*End of Scope*/
    3215             : /*  6542*/                  /*Scope*/ 58|128,1/*186*/, /*->6730*/
    3216             : /*  6544*/                    OPC_CheckChild0Same, 1,
    3217             : /*  6546*/                    OPC_CheckChild1Integer, 16, 
    3218             : /*  6548*/                    OPC_CheckChild1Type, MVT::i32,
    3219             : /*  6550*/                    OPC_MoveParent,
    3220             : /*  6551*/                    OPC_MoveChild1,
    3221             : /*  6552*/                    OPC_CheckValueType, MVT::i8,
    3222             : /*  6554*/                    OPC_MoveParent,
    3223             : /*  6555*/                    OPC_MoveParent,
    3224             : /*  6556*/                    OPC_MoveChild1,
    3225             : /*  6557*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3226             : /*  6560*/                    OPC_MoveChild0,
    3227             : /*  6561*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3228             : /*  6564*/                    OPC_CheckChild0Same, 0,
    3229             : /*  6566*/                    OPC_CheckChild1Integer, 16, 
    3230             : /*  6568*/                    OPC_CheckChild1Type, MVT::i32,
    3231             : /*  6570*/                    OPC_MoveParent,
    3232             : /*  6571*/                    OPC_MoveChild1,
    3233             : /*  6572*/                    OPC_CheckValueType, MVT::i8,
    3234             : /*  6574*/                    OPC_MoveParent,
    3235             : /*  6575*/                    OPC_MoveParent,
    3236             : /*  6576*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3237             : /*  6578*/                    OPC_MoveParent,
    3238             : /*  6579*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3239             : /*  6581*/                    OPC_MoveParent,
    3240             : /*  6582*/                    OPC_MoveChild1,
    3241             : /*  6583*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3242             : /*  6586*/                    OPC_MoveChild0,
    3243             : /*  6587*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3244             : /*  6590*/                    OPC_Scope, 68, /*->6660*/ // 2 children in Scope
    3245             : /*  6592*/                      OPC_CheckChild0Same, 0,
    3246             : /*  6594*/                      OPC_CheckChild1Integer, 24, 
    3247             : /*  6596*/                      OPC_CheckChild1Type, MVT::i32,
    3248             : /*  6598*/                      OPC_MoveParent,
    3249             : /*  6599*/                      OPC_MoveChild1,
    3250             : /*  6600*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3251             : /*  6603*/                      OPC_CheckChild0Same, 1,
    3252             : /*  6605*/                      OPC_CheckChild1Integer, 24, 
    3253             : /*  6607*/                      OPC_CheckChild1Type, MVT::i32,
    3254             : /*  6609*/                      OPC_MoveParent,
    3255             : /*  6610*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3256             : /*  6612*/                      OPC_MoveParent,
    3257             : /*  6613*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3258             : /*  6615*/                      OPC_CheckType, MVT::i32,
    3259             : /*  6617*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3260             : /*  6619*/                      OPC_EmitInteger, MVT::i32, 8, 
    3261             : /*  6622*/                      OPC_EmitInteger, MVT::i32, 8, 
    3262             : /*  6625*/                      OPC_EmitInteger, MVT::i32, 8, 
    3263             : /*  6628*/                      OPC_EmitInteger, MVT::i1, 0, 
    3264             : /*  6631*/                      OPC_EmitInteger, MVT::i32, 0, 
    3265             : /*  6634*/                      OPC_EmitInteger, MVT::i32, 0, 
    3266             : /*  6637*/                      OPC_EmitInteger, MVT::i32, 0, 
    3267             : /*  6640*/                      OPC_EmitInteger, MVT::i32, 0, 
    3268             : /*  6643*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3269             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3270             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3271             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3272             : /*  6660*/                    /*Scope*/ 68, /*->6729*/
    3273             : /*  6661*/                      OPC_CheckChild0Same, 1,
    3274             : /*  6663*/                      OPC_CheckChild1Integer, 24, 
    3275             : /*  6665*/                      OPC_CheckChild1Type, MVT::i32,
    3276             : /*  6667*/                      OPC_MoveParent,
    3277             : /*  6668*/                      OPC_MoveChild1,
    3278             : /*  6669*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3279             : /*  6672*/                      OPC_CheckChild0Same, 0,
    3280             : /*  6674*/                      OPC_CheckChild1Integer, 24, 
    3281             : /*  6676*/                      OPC_CheckChild1Type, MVT::i32,
    3282             : /*  6678*/                      OPC_MoveParent,
    3283             : /*  6679*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3284             : /*  6681*/                      OPC_MoveParent,
    3285             : /*  6682*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3286             : /*  6684*/                      OPC_CheckType, MVT::i32,
    3287             : /*  6686*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3288             : /*  6688*/                      OPC_EmitInteger, MVT::i32, 8, 
    3289             : /*  6691*/                      OPC_EmitInteger, MVT::i32, 8, 
    3290             : /*  6694*/                      OPC_EmitInteger, MVT::i32, 8, 
    3291             : /*  6697*/                      OPC_EmitInteger, MVT::i1, 0, 
    3292             : /*  6700*/                      OPC_EmitInteger, MVT::i32, 0, 
    3293             : /*  6703*/                      OPC_EmitInteger, MVT::i32, 0, 
    3294             : /*  6706*/                      OPC_EmitInteger, MVT::i32, 0, 
    3295             : /*  6709*/                      OPC_EmitInteger, MVT::i32, 0, 
    3296             : /*  6712*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3297             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3298             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3299             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3300             : /*  6729*/                    0, /*End of Scope*/
    3301             : /*  6730*/                  0, /*End of Scope*/
    3302             : /*  6731*/                /*Scope*/ 66|128,5/*706*/, /*->7439*/
    3303             : /*  6733*/                  OPC_CheckChild0Same, 1,
    3304             : /*  6735*/                  OPC_CheckChild1Integer, 8, 
    3305             : /*  6737*/                  OPC_CheckChild1Type, MVT::i32,
    3306             : /*  6739*/                  OPC_MoveParent,
    3307             : /*  6740*/                  OPC_MoveChild1,
    3308             : /*  6741*/                  OPC_CheckValueType, MVT::i8,
    3309             : /*  6743*/                  OPC_MoveParent,
    3310             : /*  6744*/                  OPC_MoveParent,
    3311             : /*  6745*/                  OPC_MoveChild1,
    3312             : /*  6746*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3313             : /*  6749*/                  OPC_MoveChild0,
    3314             : /*  6750*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3315             : /*  6753*/                  OPC_CheckChild0Same, 0,
    3316             : /*  6755*/                  OPC_CheckChild1Integer, 8, 
    3317             : /*  6757*/                  OPC_CheckChild1Type, MVT::i32,
    3318             : /*  6759*/                  OPC_MoveParent,
    3319             : /*  6760*/                  OPC_MoveChild1,
    3320             : /*  6761*/                  OPC_CheckValueType, MVT::i8,
    3321             : /*  6763*/                  OPC_MoveParent,
    3322             : /*  6764*/                  OPC_MoveParent,
    3323             : /*  6765*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3324             : /*  6767*/                  OPC_MoveParent,
    3325             : /*  6768*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3326             : /*  6770*/                  OPC_MoveParent,
    3327             : /*  6771*/                  OPC_MoveChild1,
    3328             : /*  6772*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3329             : /*  6775*/                  OPC_MoveChild0,
    3330             : /*  6776*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3331             : /*  6779*/                  OPC_MoveChild0,
    3332             : /*  6780*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3333             : /*  6783*/                  OPC_Scope, 58|128,1/*186*/, /*->6972*/ // 3 children in Scope
    3334             : /*  6786*/                    OPC_CheckChild0Same, 0,
    3335             : /*  6788*/                    OPC_CheckChild1Integer, 16, 
    3336             : /*  6790*/                    OPC_CheckChild1Type, MVT::i32,
    3337             : /*  6792*/                    OPC_MoveParent,
    3338             : /*  6793*/                    OPC_MoveChild1,
    3339             : /*  6794*/                    OPC_CheckValueType, MVT::i8,
    3340             : /*  6796*/                    OPC_MoveParent,
    3341             : /*  6797*/                    OPC_MoveParent,
    3342             : /*  6798*/                    OPC_MoveChild1,
    3343             : /*  6799*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3344             : /*  6802*/                    OPC_MoveChild0,
    3345             : /*  6803*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3346             : /*  6806*/                    OPC_CheckChild0Same, 1,
    3347             : /*  6808*/                    OPC_CheckChild1Integer, 16, 
    3348             : /*  6810*/                    OPC_CheckChild1Type, MVT::i32,
    3349             : /*  6812*/                    OPC_MoveParent,
    3350             : /*  6813*/                    OPC_MoveChild1,
    3351             : /*  6814*/                    OPC_CheckValueType, MVT::i8,
    3352             : /*  6816*/                    OPC_MoveParent,
    3353             : /*  6817*/                    OPC_MoveParent,
    3354             : /*  6818*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3355             : /*  6820*/                    OPC_MoveParent,
    3356             : /*  6821*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3357             : /*  6823*/                    OPC_MoveParent,
    3358             : /*  6824*/                    OPC_MoveChild1,
    3359             : /*  6825*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3360             : /*  6828*/                    OPC_MoveChild0,
    3361             : /*  6829*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3362             : /*  6832*/                    OPC_Scope, 68, /*->6902*/ // 2 children in Scope
    3363             : /*  6834*/                      OPC_CheckChild0Same, 0,
    3364             : /*  6836*/                      OPC_CheckChild1Integer, 24, 
    3365             : /*  6838*/                      OPC_CheckChild1Type, MVT::i32,
    3366             : /*  6840*/                      OPC_MoveParent,
    3367             : /*  6841*/                      OPC_MoveChild1,
    3368             : /*  6842*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3369             : /*  6845*/                      OPC_CheckChild0Same, 1,
    3370             : /*  6847*/                      OPC_CheckChild1Integer, 24, 
    3371             : /*  6849*/                      OPC_CheckChild1Type, MVT::i32,
    3372             : /*  6851*/                      OPC_MoveParent,
    3373             : /*  6852*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3374             : /*  6854*/                      OPC_MoveParent,
    3375             : /*  6855*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3376             : /*  6857*/                      OPC_CheckType, MVT::i32,
    3377             : /*  6859*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3378             : /*  6861*/                      OPC_EmitInteger, MVT::i32, 8, 
    3379             : /*  6864*/                      OPC_EmitInteger, MVT::i32, 8, 
    3380             : /*  6867*/                      OPC_EmitInteger, MVT::i32, 8, 
    3381             : /*  6870*/                      OPC_EmitInteger, MVT::i1, 0, 
    3382             : /*  6873*/                      OPC_EmitInteger, MVT::i32, 0, 
    3383             : /*  6876*/                      OPC_EmitInteger, MVT::i32, 0, 
    3384             : /*  6879*/                      OPC_EmitInteger, MVT::i32, 0, 
    3385             : /*  6882*/                      OPC_EmitInteger, MVT::i32, 0, 
    3386             : /*  6885*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3387             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3388             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3389             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3390             : /*  6902*/                    /*Scope*/ 68, /*->6971*/
    3391             : /*  6903*/                      OPC_CheckChild0Same, 1,
    3392             : /*  6905*/                      OPC_CheckChild1Integer, 24, 
    3393             : /*  6907*/                      OPC_CheckChild1Type, MVT::i32,
    3394             : /*  6909*/                      OPC_MoveParent,
    3395             : /*  6910*/                      OPC_MoveChild1,
    3396             : /*  6911*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3397             : /*  6914*/                      OPC_CheckChild0Same, 0,
    3398             : /*  6916*/                      OPC_CheckChild1Integer, 24, 
    3399             : /*  6918*/                      OPC_CheckChild1Type, MVT::i32,
    3400             : /*  6920*/                      OPC_MoveParent,
    3401             : /*  6921*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3402             : /*  6923*/                      OPC_MoveParent,
    3403             : /*  6924*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3404             : /*  6926*/                      OPC_CheckType, MVT::i32,
    3405             : /*  6928*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3406             : /*  6930*/                      OPC_EmitInteger, MVT::i32, 8, 
    3407             : /*  6933*/                      OPC_EmitInteger, MVT::i32, 8, 
    3408             : /*  6936*/                      OPC_EmitInteger, MVT::i32, 8, 
    3409             : /*  6939*/                      OPC_EmitInteger, MVT::i1, 0, 
    3410             : /*  6942*/                      OPC_EmitInteger, MVT::i32, 0, 
    3411             : /*  6945*/                      OPC_EmitInteger, MVT::i32, 0, 
    3412             : /*  6948*/                      OPC_EmitInteger, MVT::i32, 0, 
    3413             : /*  6951*/                      OPC_EmitInteger, MVT::i32, 0, 
    3414             : /*  6954*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3415             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3416             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3417             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3418             : /*  6971*/                    0, /*End of Scope*/
    3419             : /*  6972*/                  /*Scope*/ 20|128,2/*276*/, /*->7250*/
    3420             : /*  6974*/                    OPC_CheckChild0Same, 1,
    3421             : /*  6976*/                    OPC_CheckChild1Integer, 16, 
    3422             : /*  6978*/                    OPC_CheckChild1Type, MVT::i32,
    3423             : /*  6980*/                    OPC_MoveParent,
    3424             : /*  6981*/                    OPC_MoveChild1,
    3425             : /*  6982*/                    OPC_CheckValueType, MVT::i8,
    3426             : /*  6984*/                    OPC_MoveParent,
    3427             : /*  6985*/                    OPC_MoveParent,
    3428             : /*  6986*/                    OPC_MoveChild1,
    3429             : /*  6987*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3430             : /*  6990*/                    OPC_MoveChild0,
    3431             : /*  6991*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3432             : /*  6994*/                    OPC_CheckChild0Same, 0,
    3433             : /*  6996*/                    OPC_CheckChild1Integer, 16, 
    3434             : /*  6998*/                    OPC_CheckChild1Type, MVT::i32,
    3435             : /*  7000*/                    OPC_MoveParent,
    3436             : /*  7001*/                    OPC_MoveChild1,
    3437             : /*  7002*/                    OPC_CheckValueType, MVT::i8,
    3438             : /*  7004*/                    OPC_MoveParent,
    3439             : /*  7005*/                    OPC_MoveParent,
    3440             : /*  7006*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3441             : /*  7008*/                    OPC_MoveParent,
    3442             : /*  7009*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3443             : /*  7011*/                    OPC_MoveParent,
    3444             : /*  7012*/                    OPC_MoveChild1,
    3445             : /*  7013*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3446             : /*  7016*/                    OPC_MoveChild0,
    3447             : /*  7017*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3448             : /*  7020*/                    OPC_Scope, 68, /*->7090*/ // 3 children in Scope
    3449             : /*  7022*/                      OPC_CheckChild0Same, 0,
    3450             : /*  7024*/                      OPC_CheckChild1Integer, 24, 
    3451             : /*  7026*/                      OPC_CheckChild1Type, MVT::i32,
    3452             : /*  7028*/                      OPC_MoveParent,
    3453             : /*  7029*/                      OPC_MoveChild1,
    3454             : /*  7030*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3455             : /*  7033*/                      OPC_CheckChild0Same, 1,
    3456             : /*  7035*/                      OPC_CheckChild1Integer, 24, 
    3457             : /*  7037*/                      OPC_CheckChild1Type, MVT::i32,
    3458             : /*  7039*/                      OPC_MoveParent,
    3459             : /*  7040*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3460             : /*  7042*/                      OPC_MoveParent,
    3461             : /*  7043*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3462             : /*  7045*/                      OPC_CheckType, MVT::i32,
    3463             : /*  7047*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3464             : /*  7049*/                      OPC_EmitInteger, MVT::i32, 8, 
    3465             : /*  7052*/                      OPC_EmitInteger, MVT::i32, 8, 
    3466             : /*  7055*/                      OPC_EmitInteger, MVT::i32, 8, 
    3467             : /*  7058*/                      OPC_EmitInteger, MVT::i1, 0, 
    3468             : /*  7061*/                      OPC_EmitInteger, MVT::i32, 0, 
    3469             : /*  7064*/                      OPC_EmitInteger, MVT::i32, 0, 
    3470             : /*  7067*/                      OPC_EmitInteger, MVT::i32, 0, 
    3471             : /*  7070*/                      OPC_EmitInteger, MVT::i32, 0, 
    3472             : /*  7073*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3473             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3474             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3475             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3476             : /*  7090*/                    /*Scope*/ 89, /*->7180*/
    3477             : /*  7091*/                      OPC_CheckChild0Same, 1,
    3478             : /*  7093*/                      OPC_CheckChild1Integer, 24, 
    3479             : /*  7095*/                      OPC_CheckChild1Type, MVT::i32,
    3480             : /*  7097*/                      OPC_MoveParent,
    3481             : /*  7098*/                      OPC_MoveChild1,
    3482             : /*  7099*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3483             : /*  7102*/                      OPC_CheckChild0Same, 0,
    3484             : /*  7104*/                      OPC_CheckChild1Integer, 24, 
    3485             : /*  7106*/                      OPC_CheckChild1Type, MVT::i32,
    3486             : /*  7108*/                      OPC_MoveParent,
    3487             : /*  7109*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3488             : /*  7111*/                      OPC_MoveParent,
    3489             : /*  7112*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3490             : /*  7114*/                      OPC_CheckType, MVT::i32,
    3491             : /*  7116*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3492             : /*  7118*/                      OPC_EmitInteger, MVT::i32, 8, 
    3493             : /*  7121*/                      OPC_EmitInteger, MVT::i32, 8, 
    3494             : /*  7124*/                      OPC_EmitInteger, MVT::i32, 8, 
    3495             : /*  7127*/                      OPC_EmitInteger, MVT::i1, 0, 
    3496             : /*  7130*/                      OPC_EmitInteger, MVT::i32, 0, 
    3497             : /*  7133*/                      OPC_EmitInteger, MVT::i32, 0, 
    3498             : /*  7136*/                      OPC_EmitInteger, MVT::i32, 0, 
    3499             : /*  7139*/                      OPC_EmitInteger, MVT::i32, 0, 
    3500             : /*  7142*/                      OPC_Scope, 17, /*->7161*/ // 2 children in Scope
    3501             : /*  7144*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3502             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3503             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3504             :                                   // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3505             : /*  7161*/                      /*Scope*/ 17, /*->7179*/
    3506             : /*  7162*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3507             :                                       MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3508             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3509             :                                   // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3510             : /*  7179*/                      0, /*End of Scope*/
    3511             : /*  7180*/                    /*Scope*/ 68, /*->7249*/
    3512             : /*  7181*/                      OPC_CheckChild0Same, 0,
    3513             : /*  7183*/                      OPC_CheckChild1Integer, 24, 
    3514             : /*  7185*/                      OPC_CheckChild1Type, MVT::i32,
    3515             : /*  7187*/                      OPC_MoveParent,
    3516             : /*  7188*/                      OPC_MoveChild1,
    3517             : /*  7189*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3518             : /*  7192*/                      OPC_CheckChild0Same, 1,
    3519             : /*  7194*/                      OPC_CheckChild1Integer, 24, 
    3520             : /*  7196*/                      OPC_CheckChild1Type, MVT::i32,
    3521             : /*  7198*/                      OPC_MoveParent,
    3522             : /*  7199*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3523             : /*  7201*/                      OPC_MoveParent,
    3524             : /*  7202*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3525             : /*  7204*/                      OPC_CheckType, MVT::i32,
    3526             : /*  7206*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3527             : /*  7208*/                      OPC_EmitInteger, MVT::i32, 8, 
    3528             : /*  7211*/                      OPC_EmitInteger, MVT::i32, 8, 
    3529             : /*  7214*/                      OPC_EmitInteger, MVT::i32, 8, 
    3530             : /*  7217*/                      OPC_EmitInteger, MVT::i1, 0, 
    3531             : /*  7220*/                      OPC_EmitInteger, MVT::i32, 0, 
    3532             : /*  7223*/                      OPC_EmitInteger, MVT::i32, 0, 
    3533             : /*  7226*/                      OPC_EmitInteger, MVT::i32, 0, 
    3534             : /*  7229*/                      OPC_EmitInteger, MVT::i32, 0, 
    3535             : /*  7232*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3536             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3537             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3538             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3539             : /*  7249*/                    0, /*End of Scope*/
    3540             : /*  7250*/                  /*Scope*/ 58|128,1/*186*/, /*->7438*/
    3541             : /*  7252*/                    OPC_CheckChild0Same, 0,
    3542             : /*  7254*/                    OPC_CheckChild1Integer, 16, 
    3543             : /*  7256*/                    OPC_CheckChild1Type, MVT::i32,
    3544             : /*  7258*/                    OPC_MoveParent,
    3545             : /*  7259*/                    OPC_MoveChild1,
    3546             : /*  7260*/                    OPC_CheckValueType, MVT::i8,
    3547             : /*  7262*/                    OPC_MoveParent,
    3548             : /*  7263*/                    OPC_MoveParent,
    3549             : /*  7264*/                    OPC_MoveChild1,
    3550             : /*  7265*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3551             : /*  7268*/                    OPC_MoveChild0,
    3552             : /*  7269*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3553             : /*  7272*/                    OPC_CheckChild0Same, 1,
    3554             : /*  7274*/                    OPC_CheckChild1Integer, 16, 
    3555             : /*  7276*/                    OPC_CheckChild1Type, MVT::i32,
    3556             : /*  7278*/                    OPC_MoveParent,
    3557             : /*  7279*/                    OPC_MoveChild1,
    3558             : /*  7280*/                    OPC_CheckValueType, MVT::i8,
    3559             : /*  7282*/                    OPC_MoveParent,
    3560             : /*  7283*/                    OPC_MoveParent,
    3561             : /*  7284*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3562             : /*  7286*/                    OPC_MoveParent,
    3563             : /*  7287*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3564             : /*  7289*/                    OPC_MoveParent,
    3565             : /*  7290*/                    OPC_MoveChild1,
    3566             : /*  7291*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3567             : /*  7294*/                    OPC_MoveChild0,
    3568             : /*  7295*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3569             : /*  7298*/                    OPC_Scope, 68, /*->7368*/ // 2 children in Scope
    3570             : /*  7300*/                      OPC_CheckChild0Same, 1,
    3571             : /*  7302*/                      OPC_CheckChild1Integer, 24, 
    3572             : /*  7304*/                      OPC_CheckChild1Type, MVT::i32,
    3573             : /*  7306*/                      OPC_MoveParent,
    3574             : /*  7307*/                      OPC_MoveChild1,
    3575             : /*  7308*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3576             : /*  7311*/                      OPC_CheckChild0Same, 0,
    3577             : /*  7313*/                      OPC_CheckChild1Integer, 24, 
    3578             : /*  7315*/                      OPC_CheckChild1Type, MVT::i32,
    3579             : /*  7317*/                      OPC_MoveParent,
    3580             : /*  7318*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3581             : /*  7320*/                      OPC_MoveParent,
    3582             : /*  7321*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3583             : /*  7323*/                      OPC_CheckType, MVT::i32,
    3584             : /*  7325*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3585             : /*  7327*/                      OPC_EmitInteger, MVT::i32, 8, 
    3586             : /*  7330*/                      OPC_EmitInteger, MVT::i32, 8, 
    3587             : /*  7333*/                      OPC_EmitInteger, MVT::i32, 8, 
    3588             : /*  7336*/                      OPC_EmitInteger, MVT::i1, 0, 
    3589             : /*  7339*/                      OPC_EmitInteger, MVT::i32, 0, 
    3590             : /*  7342*/                      OPC_EmitInteger, MVT::i32, 0, 
    3591             : /*  7345*/                      OPC_EmitInteger, MVT::i32, 0, 
    3592             : /*  7348*/                      OPC_EmitInteger, MVT::i32, 0, 
    3593             : /*  7351*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3594             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3595             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3596             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3597             : /*  7368*/                    /*Scope*/ 68, /*->7437*/
    3598             : /*  7369*/                      OPC_CheckChild0Same, 0,
    3599             : /*  7371*/                      OPC_CheckChild1Integer, 24, 
    3600             : /*  7373*/                      OPC_CheckChild1Type, MVT::i32,
    3601             : /*  7375*/                      OPC_MoveParent,
    3602             : /*  7376*/                      OPC_MoveChild1,
    3603             : /*  7377*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3604             : /*  7380*/                      OPC_CheckChild0Same, 1,
    3605             : /*  7382*/                      OPC_CheckChild1Integer, 24, 
    3606             : /*  7384*/                      OPC_CheckChild1Type, MVT::i32,
    3607             : /*  7386*/                      OPC_MoveParent,
    3608             : /*  7387*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3609             : /*  7389*/                      OPC_MoveParent,
    3610             : /*  7390*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3611             : /*  7392*/                      OPC_CheckType, MVT::i32,
    3612             : /*  7394*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3613             : /*  7396*/                      OPC_EmitInteger, MVT::i32, 8, 
    3614             : /*  7399*/                      OPC_EmitInteger, MVT::i32, 8, 
    3615             : /*  7402*/                      OPC_EmitInteger, MVT::i32, 8, 
    3616             : /*  7405*/                      OPC_EmitInteger, MVT::i1, 0, 
    3617             : /*  7408*/                      OPC_EmitInteger, MVT::i32, 0, 
    3618             : /*  7411*/                      OPC_EmitInteger, MVT::i32, 0, 
    3619             : /*  7414*/                      OPC_EmitInteger, MVT::i32, 0, 
    3620             : /*  7417*/                      OPC_EmitInteger, MVT::i32, 0, 
    3621             : /*  7420*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3622             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3623             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3624             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3625             : /*  7437*/                    0, /*End of Scope*/
    3626             : /*  7438*/                  0, /*End of Scope*/
    3627             : /*  7439*/                /*Scope*/ 44|128,3/*428*/, /*->7869*/
    3628             : /*  7441*/                  OPC_CheckChild0Same, 0,
    3629             : /*  7443*/                  OPC_CheckChild1Integer, 8, 
    3630             : /*  7445*/                  OPC_CheckChild1Type, MVT::i32,
    3631             : /*  7447*/                  OPC_MoveParent,
    3632             : /*  7448*/                  OPC_MoveChild1,
    3633             : /*  7449*/                  OPC_CheckValueType, MVT::i8,
    3634             : /*  7451*/                  OPC_MoveParent,
    3635             : /*  7452*/                  OPC_MoveParent,
    3636             : /*  7453*/                  OPC_MoveChild1,
    3637             : /*  7454*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3638             : /*  7457*/                  OPC_MoveChild0,
    3639             : /*  7458*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3640             : /*  7461*/                  OPC_CheckChild0Same, 1,
    3641             : /*  7463*/                  OPC_CheckChild1Integer, 8, 
    3642             : /*  7465*/                  OPC_CheckChild1Type, MVT::i32,
    3643             : /*  7467*/                  OPC_MoveParent,
    3644             : /*  7468*/                  OPC_MoveChild1,
    3645             : /*  7469*/                  OPC_CheckValueType, MVT::i8,
    3646             : /*  7471*/                  OPC_MoveParent,
    3647             : /*  7472*/                  OPC_MoveParent,
    3648             : /*  7473*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3649             : /*  7475*/                  OPC_MoveParent,
    3650             : /*  7476*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3651             : /*  7478*/                  OPC_MoveParent,
    3652             : /*  7479*/                  OPC_MoveChild1,
    3653             : /*  7480*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3654             : /*  7483*/                  OPC_MoveChild0,
    3655             : /*  7484*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3656             : /*  7487*/                  OPC_MoveChild0,
    3657             : /*  7488*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3658             : /*  7491*/                  OPC_Scope, 58|128,1/*186*/, /*->7680*/ // 2 children in Scope
    3659             : /*  7494*/                    OPC_CheckChild0Same, 1,
    3660             : /*  7496*/                    OPC_CheckChild1Integer, 16, 
    3661             : /*  7498*/                    OPC_CheckChild1Type, MVT::i32,
    3662             : /*  7500*/                    OPC_MoveParent,
    3663             : /*  7501*/                    OPC_MoveChild1,
    3664             : /*  7502*/                    OPC_CheckValueType, MVT::i8,
    3665             : /*  7504*/                    OPC_MoveParent,
    3666             : /*  7505*/                    OPC_MoveParent,
    3667             : /*  7506*/                    OPC_MoveChild1,
    3668             : /*  7507*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3669             : /*  7510*/                    OPC_MoveChild0,
    3670             : /*  7511*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3671             : /*  7514*/                    OPC_CheckChild0Same, 0,
    3672             : /*  7516*/                    OPC_CheckChild1Integer, 16, 
    3673             : /*  7518*/                    OPC_CheckChild1Type, MVT::i32,
    3674             : /*  7520*/                    OPC_MoveParent,
    3675             : /*  7521*/                    OPC_MoveChild1,
    3676             : /*  7522*/                    OPC_CheckValueType, MVT::i8,
    3677             : /*  7524*/                    OPC_MoveParent,
    3678             : /*  7525*/                    OPC_MoveParent,
    3679             : /*  7526*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3680             : /*  7528*/                    OPC_MoveParent,
    3681             : /*  7529*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3682             : /*  7531*/                    OPC_MoveParent,
    3683             : /*  7532*/                    OPC_MoveChild1,
    3684             : /*  7533*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3685             : /*  7536*/                    OPC_MoveChild0,
    3686             : /*  7537*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3687             : /*  7540*/                    OPC_Scope, 68, /*->7610*/ // 2 children in Scope
    3688             : /*  7542*/                      OPC_CheckChild0Same, 1,
    3689             : /*  7544*/                      OPC_CheckChild1Integer, 24, 
    3690             : /*  7546*/                      OPC_CheckChild1Type, MVT::i32,
    3691             : /*  7548*/                      OPC_MoveParent,
    3692             : /*  7549*/                      OPC_MoveChild1,
    3693             : /*  7550*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3694             : /*  7553*/                      OPC_CheckChild0Same, 0,
    3695             : /*  7555*/                      OPC_CheckChild1Integer, 24, 
    3696             : /*  7557*/                      OPC_CheckChild1Type, MVT::i32,
    3697             : /*  7559*/                      OPC_MoveParent,
    3698             : /*  7560*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3699             : /*  7562*/                      OPC_MoveParent,
    3700             : /*  7563*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3701             : /*  7565*/                      OPC_CheckType, MVT::i32,
    3702             : /*  7567*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3703             : /*  7569*/                      OPC_EmitInteger, MVT::i32, 8, 
    3704             : /*  7572*/                      OPC_EmitInteger, MVT::i32, 8, 
    3705             : /*  7575*/                      OPC_EmitInteger, MVT::i32, 8, 
    3706             : /*  7578*/                      OPC_EmitInteger, MVT::i1, 0, 
    3707             : /*  7581*/                      OPC_EmitInteger, MVT::i32, 0, 
    3708             : /*  7584*/                      OPC_EmitInteger, MVT::i32, 0, 
    3709             : /*  7587*/                      OPC_EmitInteger, MVT::i32, 0, 
    3710             : /*  7590*/                      OPC_EmitInteger, MVT::i32, 0, 
    3711             : /*  7593*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3712             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3713             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3714             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3715             : /*  7610*/                    /*Scope*/ 68, /*->7679*/
    3716             : /*  7611*/                      OPC_CheckChild0Same, 0,
    3717             : /*  7613*/                      OPC_CheckChild1Integer, 24, 
    3718             : /*  7615*/                      OPC_CheckChild1Type, MVT::i32,
    3719             : /*  7617*/                      OPC_MoveParent,
    3720             : /*  7618*/                      OPC_MoveChild1,
    3721             : /*  7619*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3722             : /*  7622*/                      OPC_CheckChild0Same, 1,
    3723             : /*  7624*/                      OPC_CheckChild1Integer, 24, 
    3724             : /*  7626*/                      OPC_CheckChild1Type, MVT::i32,
    3725             : /*  7628*/                      OPC_MoveParent,
    3726             : /*  7629*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3727             : /*  7631*/                      OPC_MoveParent,
    3728             : /*  7632*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3729             : /*  7634*/                      OPC_CheckType, MVT::i32,
    3730             : /*  7636*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3731             : /*  7638*/                      OPC_EmitInteger, MVT::i32, 8, 
    3732             : /*  7641*/                      OPC_EmitInteger, MVT::i32, 8, 
    3733             : /*  7644*/                      OPC_EmitInteger, MVT::i32, 8, 
    3734             : /*  7647*/                      OPC_EmitInteger, MVT::i1, 0, 
    3735             : /*  7650*/                      OPC_EmitInteger, MVT::i32, 0, 
    3736             : /*  7653*/                      OPC_EmitInteger, MVT::i32, 0, 
    3737             : /*  7656*/                      OPC_EmitInteger, MVT::i32, 0, 
    3738             : /*  7659*/                      OPC_EmitInteger, MVT::i32, 0, 
    3739             : /*  7662*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3740             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3741             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3742             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3743             : /*  7679*/                    0, /*End of Scope*/
    3744             : /*  7680*/                  /*Scope*/ 58|128,1/*186*/, /*->7868*/
    3745             : /*  7682*/                    OPC_CheckChild0Same, 0,
    3746             : /*  7684*/                    OPC_CheckChild1Integer, 16, 
    3747             : /*  7686*/                    OPC_CheckChild1Type, MVT::i32,
    3748             : /*  7688*/                    OPC_MoveParent,
    3749             : /*  7689*/                    OPC_MoveChild1,
    3750             : /*  7690*/                    OPC_CheckValueType, MVT::i8,
    3751             : /*  7692*/                    OPC_MoveParent,
    3752             : /*  7693*/                    OPC_MoveParent,
    3753             : /*  7694*/                    OPC_MoveChild1,
    3754             : /*  7695*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    3755             : /*  7698*/                    OPC_MoveChild0,
    3756             : /*  7699*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3757             : /*  7702*/                    OPC_CheckChild0Same, 1,
    3758             : /*  7704*/                    OPC_CheckChild1Integer, 16, 
    3759             : /*  7706*/                    OPC_CheckChild1Type, MVT::i32,
    3760             : /*  7708*/                    OPC_MoveParent,
    3761             : /*  7709*/                    OPC_MoveChild1,
    3762             : /*  7710*/                    OPC_CheckValueType, MVT::i8,
    3763             : /*  7712*/                    OPC_MoveParent,
    3764             : /*  7713*/                    OPC_MoveParent,
    3765             : /*  7714*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3766             : /*  7716*/                    OPC_MoveParent,
    3767             : /*  7717*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3768             : /*  7719*/                    OPC_MoveParent,
    3769             : /*  7720*/                    OPC_MoveChild1,
    3770             : /*  7721*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    3771             : /*  7724*/                    OPC_MoveChild0,
    3772             : /*  7725*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3773             : /*  7728*/                    OPC_Scope, 68, /*->7798*/ // 2 children in Scope
    3774             : /*  7730*/                      OPC_CheckChild0Same, 1,
    3775             : /*  7732*/                      OPC_CheckChild1Integer, 24, 
    3776             : /*  7734*/                      OPC_CheckChild1Type, MVT::i32,
    3777             : /*  7736*/                      OPC_MoveParent,
    3778             : /*  7737*/                      OPC_MoveChild1,
    3779             : /*  7738*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3780             : /*  7741*/                      OPC_CheckChild0Same, 0,
    3781             : /*  7743*/                      OPC_CheckChild1Integer, 24, 
    3782             : /*  7745*/                      OPC_CheckChild1Type, MVT::i32,
    3783             : /*  7747*/                      OPC_MoveParent,
    3784             : /*  7748*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3785             : /*  7750*/                      OPC_MoveParent,
    3786             : /*  7751*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3787             : /*  7753*/                      OPC_CheckType, MVT::i32,
    3788             : /*  7755*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3789             : /*  7757*/                      OPC_EmitInteger, MVT::i32, 8, 
    3790             : /*  7760*/                      OPC_EmitInteger, MVT::i32, 8, 
    3791             : /*  7763*/                      OPC_EmitInteger, MVT::i32, 8, 
    3792             : /*  7766*/                      OPC_EmitInteger, MVT::i1, 0, 
    3793             : /*  7769*/                      OPC_EmitInteger, MVT::i32, 0, 
    3794             : /*  7772*/                      OPC_EmitInteger, MVT::i32, 0, 
    3795             : /*  7775*/                      OPC_EmitInteger, MVT::i32, 0, 
    3796             : /*  7778*/                      OPC_EmitInteger, MVT::i32, 0, 
    3797             : /*  7781*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3798             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3799             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3800             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3801             : /*  7798*/                    /*Scope*/ 68, /*->7867*/
    3802             : /*  7799*/                      OPC_CheckChild0Same, 0,
    3803             : /*  7801*/                      OPC_CheckChild1Integer, 24, 
    3804             : /*  7803*/                      OPC_CheckChild1Type, MVT::i32,
    3805             : /*  7805*/                      OPC_MoveParent,
    3806             : /*  7806*/                      OPC_MoveChild1,
    3807             : /*  7807*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    3808             : /*  7810*/                      OPC_CheckChild0Same, 1,
    3809             : /*  7812*/                      OPC_CheckChild1Integer, 24, 
    3810             : /*  7814*/                      OPC_CheckChild1Type, MVT::i32,
    3811             : /*  7816*/                      OPC_MoveParent,
    3812             : /*  7817*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    3813             : /*  7819*/                      OPC_MoveParent,
    3814             : /*  7820*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3815             : /*  7822*/                      OPC_CheckType, MVT::i32,
    3816             : /*  7824*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3817             : /*  7826*/                      OPC_EmitInteger, MVT::i32, 8, 
    3818             : /*  7829*/                      OPC_EmitInteger, MVT::i32, 8, 
    3819             : /*  7832*/                      OPC_EmitInteger, MVT::i32, 8, 
    3820             : /*  7835*/                      OPC_EmitInteger, MVT::i1, 0, 
    3821             : /*  7838*/                      OPC_EmitInteger, MVT::i32, 0, 
    3822             : /*  7841*/                      OPC_EmitInteger, MVT::i32, 0, 
    3823             : /*  7844*/                      OPC_EmitInteger, MVT::i32, 0, 
    3824             : /*  7847*/                      OPC_EmitInteger, MVT::i32, 0, 
    3825             : /*  7850*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    3826             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    3827             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    3828             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3829             : /*  7867*/                    0, /*End of Scope*/
    3830             : /*  7868*/                  0, /*End of Scope*/
    3831             : /*  7869*/                0, /*End of Scope*/
    3832             : /*  7870*/              0, /*End of Scope*/
    3833             : /*  7871*/            /*SwitchOpcode*/ 53|128,25/*3253*/, TARGET_VAL(AMDGPUISD::MUL_U24),// ->11128
    3834             : /*  7875*/              OPC_MoveChild0,
    3835             : /*  7876*/              OPC_CheckAndImm, 127|128,1/*255*/, 
    3836             : /*  7879*/              OPC_MoveChild0,
    3837             : /*  7880*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3838             : /*  7883*/              OPC_RecordChild0, // #0 = $src0
    3839             : /*  7884*/              OPC_CheckChild1Integer, 8, 
    3840             : /*  7886*/              OPC_CheckChild1Type, MVT::i32,
    3841             : /*  7888*/              OPC_MoveParent,
    3842             : /*  7889*/              OPC_MoveParent,
    3843             : /*  7890*/              OPC_MoveChild1,
    3844             : /*  7891*/              OPC_CheckAndImm, 127|128,1/*255*/, 
    3845             : /*  7894*/              OPC_MoveChild0,
    3846             : /*  7895*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3847             : /*  7898*/              OPC_RecordChild0, // #1 = $src1
    3848             : /*  7899*/              OPC_CheckChild1Integer, 8, 
    3849             : /*  7901*/              OPC_CheckChild1Type, MVT::i32,
    3850             : /*  7903*/              OPC_MoveParent,
    3851             : /*  7904*/              OPC_MoveParent,
    3852             : /*  7905*/              OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    3853             : /*  7907*/              OPC_MoveParent,
    3854             : /*  7908*/              OPC_MoveChild1,
    3855             : /*  7909*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3856             : /*  7912*/              OPC_Scope, 33|128,6/*801*/, /*->8716*/ // 4 children in Scope
    3857             : /*  7915*/                OPC_RecordChild0, // #2 = $src2
    3858             : /*  7916*/                OPC_MoveChild1,
    3859             : /*  7917*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    3860             : /*  7920*/                OPC_MoveChild0,
    3861             : /*  7921*/                OPC_CheckAndImm, 127|128,1/*255*/, 
    3862             : /*  7924*/                OPC_Scope, 9|128,3/*393*/, /*->8320*/ // 2 children in Scope
    3863             : /*  7927*/                  OPC_CheckChild0Same, 0,
    3864             : /*  7929*/                  OPC_MoveParent,
    3865             : /*  7930*/                  OPC_MoveChild1,
    3866             : /*  7931*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    3867             : /*  7934*/                  OPC_CheckChild0Same, 1,
    3868             : /*  7936*/                  OPC_MoveParent,
    3869             : /*  7937*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    3870             : /*  7939*/                  OPC_MoveParent,
    3871             : /*  7940*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3872             : /*  7942*/                  OPC_MoveParent,
    3873             : /*  7943*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3874             : /*  7945*/                  OPC_MoveParent,
    3875             : /*  7946*/                  OPC_MoveChild1,
    3876             : /*  7947*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    3877             : /*  7950*/                  OPC_MoveChild0,
    3878             : /*  7951*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    3879             : /*  7954*/                  OPC_MoveChild0,
    3880             : /*  7955*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3881             : /*  7958*/                  OPC_Scope, 50|128,1/*178*/, /*->8139*/ // 2 children in Scope
    3882             : /*  7961*/                    OPC_CheckChild0Same, 0,
    3883             : /*  7963*/                    OPC_CheckChild1Integer, 16, 
    3884             : /*  7965*/                    OPC_CheckChild1Type, MVT::i32,
    3885             : /*  7967*/                    OPC_MoveParent,
    3886             : /*  7968*/                    OPC_MoveParent,
    3887             : /*  7969*/                    OPC_MoveChild1,
    3888             : /*  7970*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    3889             : /*  7973*/                    OPC_MoveChild0,
    3890             : /*  7974*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3891             : /*  7977*/                    OPC_CheckChild0Same, 1,
    3892             : /*  7979*/                    OPC_CheckChild1Integer, 16, 
    3893             : /*  7981*/                    OPC_CheckChild1Type, MVT::i32,
    3894             : /*  7983*/                    OPC_MoveParent,
    3895             : /*  7984*/                    OPC_MoveParent,
    3896             : /*  7985*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    3897             : /*  7987*/                    OPC_MoveParent,
    3898             : /*  7988*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3899             : /*  7990*/                    OPC_MoveParent,
    3900             : /*  7991*/                    OPC_MoveChild1,
    3901             : /*  7992*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    3902             : /*  7995*/                    OPC_MoveChild0,
    3903             : /*  7996*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3904             : /*  7999*/                    OPC_Scope, 68, /*->8069*/ // 2 children in Scope
    3905             : /*  8001*/                      OPC_CheckChild0Same, 0,
    3906             : /*  8003*/                      OPC_CheckChild1Integer, 24, 
    3907             : /*  8005*/                      OPC_CheckChild1Type, MVT::i32,
    3908             : /*  8007*/                      OPC_MoveParent,
    3909             : /*  8008*/                      OPC_MoveChild1,
    3910             : /*  8009*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3911             : /*  8012*/                      OPC_CheckChild0Same, 1,
    3912             : /*  8014*/                      OPC_CheckChild1Integer, 24, 
    3913             : /*  8016*/                      OPC_CheckChild1Type, MVT::i32,
    3914             : /*  8018*/                      OPC_MoveParent,
    3915             : /*  8019*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    3916             : /*  8021*/                      OPC_MoveParent,
    3917             : /*  8022*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3918             : /*  8024*/                      OPC_CheckType, MVT::i32,
    3919             : /*  8026*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3920             : /*  8028*/                      OPC_EmitInteger, MVT::i32, 8, 
    3921             : /*  8031*/                      OPC_EmitInteger, MVT::i32, 8, 
    3922             : /*  8034*/                      OPC_EmitInteger, MVT::i32, 8, 
    3923             : /*  8037*/                      OPC_EmitInteger, MVT::i1, 0, 
    3924             : /*  8040*/                      OPC_EmitInteger, MVT::i32, 0, 
    3925             : /*  8043*/                      OPC_EmitInteger, MVT::i32, 0, 
    3926             : /*  8046*/                      OPC_EmitInteger, MVT::i32, 0, 
    3927             : /*  8049*/                      OPC_EmitInteger, MVT::i32, 0, 
    3928             : /*  8052*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    3929             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3930             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    3931             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3932             : /*  8069*/                    /*Scope*/ 68, /*->8138*/
    3933             : /*  8070*/                      OPC_CheckChild0Same, 1,
    3934             : /*  8072*/                      OPC_CheckChild1Integer, 24, 
    3935             : /*  8074*/                      OPC_CheckChild1Type, MVT::i32,
    3936             : /*  8076*/                      OPC_MoveParent,
    3937             : /*  8077*/                      OPC_MoveChild1,
    3938             : /*  8078*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3939             : /*  8081*/                      OPC_CheckChild0Same, 0,
    3940             : /*  8083*/                      OPC_CheckChild1Integer, 24, 
    3941             : /*  8085*/                      OPC_CheckChild1Type, MVT::i32,
    3942             : /*  8087*/                      OPC_MoveParent,
    3943             : /*  8088*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    3944             : /*  8090*/                      OPC_MoveParent,
    3945             : /*  8091*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3946             : /*  8093*/                      OPC_CheckType, MVT::i32,
    3947             : /*  8095*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    3948             : /*  8097*/                      OPC_EmitInteger, MVT::i32, 8, 
    3949             : /*  8100*/                      OPC_EmitInteger, MVT::i32, 8, 
    3950             : /*  8103*/                      OPC_EmitInteger, MVT::i32, 8, 
    3951             : /*  8106*/                      OPC_EmitInteger, MVT::i1, 0, 
    3952             : /*  8109*/                      OPC_EmitInteger, MVT::i32, 0, 
    3953             : /*  8112*/                      OPC_EmitInteger, MVT::i32, 0, 
    3954             : /*  8115*/                      OPC_EmitInteger, MVT::i32, 0, 
    3955             : /*  8118*/                      OPC_EmitInteger, MVT::i32, 0, 
    3956             : /*  8121*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    3957             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    3958             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    3959             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    3960             : /*  8138*/                    0, /*End of Scope*/
    3961             : /*  8139*/                  /*Scope*/ 50|128,1/*178*/, /*->8319*/
    3962             : /*  8141*/                    OPC_CheckChild0Same, 1,
    3963             : /*  8143*/                    OPC_CheckChild1Integer, 16, 
    3964             : /*  8145*/                    OPC_CheckChild1Type, MVT::i32,
    3965             : /*  8147*/                    OPC_MoveParent,
    3966             : /*  8148*/                    OPC_MoveParent,
    3967             : /*  8149*/                    OPC_MoveChild1,
    3968             : /*  8150*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    3969             : /*  8153*/                    OPC_MoveChild0,
    3970             : /*  8154*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3971             : /*  8157*/                    OPC_CheckChild0Same, 0,
    3972             : /*  8159*/                    OPC_CheckChild1Integer, 16, 
    3973             : /*  8161*/                    OPC_CheckChild1Type, MVT::i32,
    3974             : /*  8163*/                    OPC_MoveParent,
    3975             : /*  8164*/                    OPC_MoveParent,
    3976             : /*  8165*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    3977             : /*  8167*/                    OPC_MoveParent,
    3978             : /*  8168*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3979             : /*  8170*/                    OPC_MoveParent,
    3980             : /*  8171*/                    OPC_MoveChild1,
    3981             : /*  8172*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    3982             : /*  8175*/                    OPC_MoveChild0,
    3983             : /*  8176*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3984             : /*  8179*/                    OPC_Scope, 68, /*->8249*/ // 2 children in Scope
    3985             : /*  8181*/                      OPC_CheckChild0Same, 0,
    3986             : /*  8183*/                      OPC_CheckChild1Integer, 24, 
    3987             : /*  8185*/                      OPC_CheckChild1Type, MVT::i32,
    3988             : /*  8187*/                      OPC_MoveParent,
    3989             : /*  8188*/                      OPC_MoveChild1,
    3990             : /*  8189*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    3991             : /*  8192*/                      OPC_CheckChild0Same, 1,
    3992             : /*  8194*/                      OPC_CheckChild1Integer, 24, 
    3993             : /*  8196*/                      OPC_CheckChild1Type, MVT::i32,
    3994             : /*  8198*/                      OPC_MoveParent,
    3995             : /*  8199*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    3996             : /*  8201*/                      OPC_MoveParent,
    3997             : /*  8202*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    3998             : /*  8204*/                      OPC_CheckType, MVT::i32,
    3999             : /*  8206*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4000             : /*  8208*/                      OPC_EmitInteger, MVT::i32, 8, 
    4001             : /*  8211*/                      OPC_EmitInteger, MVT::i32, 8, 
    4002             : /*  8214*/                      OPC_EmitInteger, MVT::i32, 8, 
    4003             : /*  8217*/                      OPC_EmitInteger, MVT::i1, 0, 
    4004             : /*  8220*/                      OPC_EmitInteger, MVT::i32, 0, 
    4005             : /*  8223*/                      OPC_EmitInteger, MVT::i32, 0, 
    4006             : /*  8226*/                      OPC_EmitInteger, MVT::i32, 0, 
    4007             : /*  8229*/                      OPC_EmitInteger, MVT::i32, 0, 
    4008             : /*  8232*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4009             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4010             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4011             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4012             : /*  8249*/                    /*Scope*/ 68, /*->8318*/
    4013             : /*  8250*/                      OPC_CheckChild0Same, 1,
    4014             : /*  8252*/                      OPC_CheckChild1Integer, 24, 
    4015             : /*  8254*/                      OPC_CheckChild1Type, MVT::i32,
    4016             : /*  8256*/                      OPC_MoveParent,
    4017             : /*  8257*/                      OPC_MoveChild1,
    4018             : /*  8258*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4019             : /*  8261*/                      OPC_CheckChild0Same, 0,
    4020             : /*  8263*/                      OPC_CheckChild1Integer, 24, 
    4021             : /*  8265*/                      OPC_CheckChild1Type, MVT::i32,
    4022             : /*  8267*/                      OPC_MoveParent,
    4023             : /*  8268*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4024             : /*  8270*/                      OPC_MoveParent,
    4025             : /*  8271*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4026             : /*  8273*/                      OPC_CheckType, MVT::i32,
    4027             : /*  8275*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4028             : /*  8277*/                      OPC_EmitInteger, MVT::i32, 8, 
    4029             : /*  8280*/                      OPC_EmitInteger, MVT::i32, 8, 
    4030             : /*  8283*/                      OPC_EmitInteger, MVT::i32, 8, 
    4031             : /*  8286*/                      OPC_EmitInteger, MVT::i1, 0, 
    4032             : /*  8289*/                      OPC_EmitInteger, MVT::i32, 0, 
    4033             : /*  8292*/                      OPC_EmitInteger, MVT::i32, 0, 
    4034             : /*  8295*/                      OPC_EmitInteger, MVT::i32, 0, 
    4035             : /*  8298*/                      OPC_EmitInteger, MVT::i32, 0, 
    4036             : /*  8301*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4037             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4038             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4039             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4040             : /*  8318*/                    0, /*End of Scope*/
    4041             : /*  8319*/                  0, /*End of Scope*/
    4042             : /*  8320*/                /*Scope*/ 9|128,3/*393*/, /*->8715*/
    4043             : /*  8322*/                  OPC_CheckChild0Same, 1,
    4044             : /*  8324*/                  OPC_MoveParent,
    4045             : /*  8325*/                  OPC_MoveChild1,
    4046             : /*  8326*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4047             : /*  8329*/                  OPC_CheckChild0Same, 0,
    4048             : /*  8331*/                  OPC_MoveParent,
    4049             : /*  8332*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4050             : /*  8334*/                  OPC_MoveParent,
    4051             : /*  8335*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4052             : /*  8337*/                  OPC_MoveParent,
    4053             : /*  8338*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4054             : /*  8340*/                  OPC_MoveParent,
    4055             : /*  8341*/                  OPC_MoveChild1,
    4056             : /*  8342*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4057             : /*  8345*/                  OPC_MoveChild0,
    4058             : /*  8346*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4059             : /*  8349*/                  OPC_MoveChild0,
    4060             : /*  8350*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4061             : /*  8353*/                  OPC_Scope, 50|128,1/*178*/, /*->8534*/ // 2 children in Scope
    4062             : /*  8356*/                    OPC_CheckChild0Same, 0,
    4063             : /*  8358*/                    OPC_CheckChild1Integer, 16, 
    4064             : /*  8360*/                    OPC_CheckChild1Type, MVT::i32,
    4065             : /*  8362*/                    OPC_MoveParent,
    4066             : /*  8363*/                    OPC_MoveParent,
    4067             : /*  8364*/                    OPC_MoveChild1,
    4068             : /*  8365*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4069             : /*  8368*/                    OPC_MoveChild0,
    4070             : /*  8369*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4071             : /*  8372*/                    OPC_CheckChild0Same, 1,
    4072             : /*  8374*/                    OPC_CheckChild1Integer, 16, 
    4073             : /*  8376*/                    OPC_CheckChild1Type, MVT::i32,
    4074             : /*  8378*/                    OPC_MoveParent,
    4075             : /*  8379*/                    OPC_MoveParent,
    4076             : /*  8380*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4077             : /*  8382*/                    OPC_MoveParent,
    4078             : /*  8383*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4079             : /*  8385*/                    OPC_MoveParent,
    4080             : /*  8386*/                    OPC_MoveChild1,
    4081             : /*  8387*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4082             : /*  8390*/                    OPC_MoveChild0,
    4083             : /*  8391*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4084             : /*  8394*/                    OPC_Scope, 68, /*->8464*/ // 2 children in Scope
    4085             : /*  8396*/                      OPC_CheckChild0Same, 0,
    4086             : /*  8398*/                      OPC_CheckChild1Integer, 24, 
    4087             : /*  8400*/                      OPC_CheckChild1Type, MVT::i32,
    4088             : /*  8402*/                      OPC_MoveParent,
    4089             : /*  8403*/                      OPC_MoveChild1,
    4090             : /*  8404*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4091             : /*  8407*/                      OPC_CheckChild0Same, 1,
    4092             : /*  8409*/                      OPC_CheckChild1Integer, 24, 
    4093             : /*  8411*/                      OPC_CheckChild1Type, MVT::i32,
    4094             : /*  8413*/                      OPC_MoveParent,
    4095             : /*  8414*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4096             : /*  8416*/                      OPC_MoveParent,
    4097             : /*  8417*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4098             : /*  8419*/                      OPC_CheckType, MVT::i32,
    4099             : /*  8421*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4100             : /*  8423*/                      OPC_EmitInteger, MVT::i32, 8, 
    4101             : /*  8426*/                      OPC_EmitInteger, MVT::i32, 8, 
    4102             : /*  8429*/                      OPC_EmitInteger, MVT::i32, 8, 
    4103             : /*  8432*/                      OPC_EmitInteger, MVT::i1, 0, 
    4104             : /*  8435*/                      OPC_EmitInteger, MVT::i32, 0, 
    4105             : /*  8438*/                      OPC_EmitInteger, MVT::i32, 0, 
    4106             : /*  8441*/                      OPC_EmitInteger, MVT::i32, 0, 
    4107             : /*  8444*/                      OPC_EmitInteger, MVT::i32, 0, 
    4108             : /*  8447*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4109             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4110             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4111             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4112             : /*  8464*/                    /*Scope*/ 68, /*->8533*/
    4113             : /*  8465*/                      OPC_CheckChild0Same, 1,
    4114             : /*  8467*/                      OPC_CheckChild1Integer, 24, 
    4115             : /*  8469*/                      OPC_CheckChild1Type, MVT::i32,
    4116             : /*  8471*/                      OPC_MoveParent,
    4117             : /*  8472*/                      OPC_MoveChild1,
    4118             : /*  8473*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4119             : /*  8476*/                      OPC_CheckChild0Same, 0,
    4120             : /*  8478*/                      OPC_CheckChild1Integer, 24, 
    4121             : /*  8480*/                      OPC_CheckChild1Type, MVT::i32,
    4122             : /*  8482*/                      OPC_MoveParent,
    4123             : /*  8483*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4124             : /*  8485*/                      OPC_MoveParent,
    4125             : /*  8486*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4126             : /*  8488*/                      OPC_CheckType, MVT::i32,
    4127             : /*  8490*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4128             : /*  8492*/                      OPC_EmitInteger, MVT::i32, 8, 
    4129             : /*  8495*/                      OPC_EmitInteger, MVT::i32, 8, 
    4130             : /*  8498*/                      OPC_EmitInteger, MVT::i32, 8, 
    4131             : /*  8501*/                      OPC_EmitInteger, MVT::i1, 0, 
    4132             : /*  8504*/                      OPC_EmitInteger, MVT::i32, 0, 
    4133             : /*  8507*/                      OPC_EmitInteger, MVT::i32, 0, 
    4134             : /*  8510*/                      OPC_EmitInteger, MVT::i32, 0, 
    4135             : /*  8513*/                      OPC_EmitInteger, MVT::i32, 0, 
    4136             : /*  8516*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4137             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4138             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4139             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4140             : /*  8533*/                    0, /*End of Scope*/
    4141             : /*  8534*/                  /*Scope*/ 50|128,1/*178*/, /*->8714*/
    4142             : /*  8536*/                    OPC_CheckChild0Same, 1,
    4143             : /*  8538*/                    OPC_CheckChild1Integer, 16, 
    4144             : /*  8540*/                    OPC_CheckChild1Type, MVT::i32,
    4145             : /*  8542*/                    OPC_MoveParent,
    4146             : /*  8543*/                    OPC_MoveParent,
    4147             : /*  8544*/                    OPC_MoveChild1,
    4148             : /*  8545*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4149             : /*  8548*/                    OPC_MoveChild0,
    4150             : /*  8549*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4151             : /*  8552*/                    OPC_CheckChild0Same, 0,
    4152             : /*  8554*/                    OPC_CheckChild1Integer, 16, 
    4153             : /*  8556*/                    OPC_CheckChild1Type, MVT::i32,
    4154             : /*  8558*/                    OPC_MoveParent,
    4155             : /*  8559*/                    OPC_MoveParent,
    4156             : /*  8560*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4157             : /*  8562*/                    OPC_MoveParent,
    4158             : /*  8563*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4159             : /*  8565*/                    OPC_MoveParent,
    4160             : /*  8566*/                    OPC_MoveChild1,
    4161             : /*  8567*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4162             : /*  8570*/                    OPC_MoveChild0,
    4163             : /*  8571*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4164             : /*  8574*/                    OPC_Scope, 68, /*->8644*/ // 2 children in Scope
    4165             : /*  8576*/                      OPC_CheckChild0Same, 0,
    4166             : /*  8578*/                      OPC_CheckChild1Integer, 24, 
    4167             : /*  8580*/                      OPC_CheckChild1Type, MVT::i32,
    4168             : /*  8582*/                      OPC_MoveParent,
    4169             : /*  8583*/                      OPC_MoveChild1,
    4170             : /*  8584*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4171             : /*  8587*/                      OPC_CheckChild0Same, 1,
    4172             : /*  8589*/                      OPC_CheckChild1Integer, 24, 
    4173             : /*  8591*/                      OPC_CheckChild1Type, MVT::i32,
    4174             : /*  8593*/                      OPC_MoveParent,
    4175             : /*  8594*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4176             : /*  8596*/                      OPC_MoveParent,
    4177             : /*  8597*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4178             : /*  8599*/                      OPC_CheckType, MVT::i32,
    4179             : /*  8601*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4180             : /*  8603*/                      OPC_EmitInteger, MVT::i32, 8, 
    4181             : /*  8606*/                      OPC_EmitInteger, MVT::i32, 8, 
    4182             : /*  8609*/                      OPC_EmitInteger, MVT::i32, 8, 
    4183             : /*  8612*/                      OPC_EmitInteger, MVT::i1, 0, 
    4184             : /*  8615*/                      OPC_EmitInteger, MVT::i32, 0, 
    4185             : /*  8618*/                      OPC_EmitInteger, MVT::i32, 0, 
    4186             : /*  8621*/                      OPC_EmitInteger, MVT::i32, 0, 
    4187             : /*  8624*/                      OPC_EmitInteger, MVT::i32, 0, 
    4188             : /*  8627*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4189             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4190             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4191             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4192             : /*  8644*/                    /*Scope*/ 68, /*->8713*/
    4193             : /*  8645*/                      OPC_CheckChild0Same, 1,
    4194             : /*  8647*/                      OPC_CheckChild1Integer, 24, 
    4195             : /*  8649*/                      OPC_CheckChild1Type, MVT::i32,
    4196             : /*  8651*/                      OPC_MoveParent,
    4197             : /*  8652*/                      OPC_MoveChild1,
    4198             : /*  8653*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4199             : /*  8656*/                      OPC_CheckChild0Same, 0,
    4200             : /*  8658*/                      OPC_CheckChild1Integer, 24, 
    4201             : /*  8660*/                      OPC_CheckChild1Type, MVT::i32,
    4202             : /*  8662*/                      OPC_MoveParent,
    4203             : /*  8663*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4204             : /*  8665*/                      OPC_MoveParent,
    4205             : /*  8666*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4206             : /*  8668*/                      OPC_CheckType, MVT::i32,
    4207             : /*  8670*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4208             : /*  8672*/                      OPC_EmitInteger, MVT::i32, 8, 
    4209             : /*  8675*/                      OPC_EmitInteger, MVT::i32, 8, 
    4210             : /*  8678*/                      OPC_EmitInteger, MVT::i32, 8, 
    4211             : /*  8681*/                      OPC_EmitInteger, MVT::i1, 0, 
    4212             : /*  8684*/                      OPC_EmitInteger, MVT::i32, 0, 
    4213             : /*  8687*/                      OPC_EmitInteger, MVT::i32, 0, 
    4214             : /*  8690*/                      OPC_EmitInteger, MVT::i32, 0, 
    4215             : /*  8693*/                      OPC_EmitInteger, MVT::i32, 0, 
    4216             : /*  8696*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4217             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4218             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4219             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4220             : /*  8713*/                    0, /*End of Scope*/
    4221             : /*  8714*/                  0, /*End of Scope*/
    4222             : /*  8715*/                0, /*End of Scope*/
    4223             : /*  8716*/              /*Scope*/ 34|128,6/*802*/, /*->9520*/
    4224             : /*  8718*/                OPC_MoveChild0,
    4225             : /*  8719*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4226             : /*  8722*/                OPC_MoveChild0,
    4227             : /*  8723*/                OPC_CheckAndImm, 127|128,1/*255*/, 
    4228             : /*  8726*/                OPC_Scope, 10|128,3/*394*/, /*->9123*/ // 2 children in Scope
    4229             : /*  8729*/                  OPC_CheckChild0Same, 0,
    4230             : /*  8731*/                  OPC_MoveParent,
    4231             : /*  8732*/                  OPC_MoveChild1,
    4232             : /*  8733*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4233             : /*  8736*/                  OPC_CheckChild0Same, 1,
    4234             : /*  8738*/                  OPC_MoveParent,
    4235             : /*  8739*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4236             : /*  8741*/                  OPC_MoveParent,
    4237             : /*  8742*/                  OPC_RecordChild1, // #2 = $src2
    4238             : /*  8743*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4239             : /*  8745*/                  OPC_MoveParent,
    4240             : /*  8746*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4241             : /*  8748*/                  OPC_MoveParent,
    4242             : /*  8749*/                  OPC_MoveChild1,
    4243             : /*  8750*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4244             : /*  8753*/                  OPC_MoveChild0,
    4245             : /*  8754*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4246             : /*  8757*/                  OPC_MoveChild0,
    4247             : /*  8758*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4248             : /*  8761*/                  OPC_Scope, 50|128,1/*178*/, /*->8942*/ // 2 children in Scope
    4249             : /*  8764*/                    OPC_CheckChild0Same, 0,
    4250             : /*  8766*/                    OPC_CheckChild1Integer, 16, 
    4251             : /*  8768*/                    OPC_CheckChild1Type, MVT::i32,
    4252             : /*  8770*/                    OPC_MoveParent,
    4253             : /*  8771*/                    OPC_MoveParent,
    4254             : /*  8772*/                    OPC_MoveChild1,
    4255             : /*  8773*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4256             : /*  8776*/                    OPC_MoveChild0,
    4257             : /*  8777*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4258             : /*  8780*/                    OPC_CheckChild0Same, 1,
    4259             : /*  8782*/                    OPC_CheckChild1Integer, 16, 
    4260             : /*  8784*/                    OPC_CheckChild1Type, MVT::i32,
    4261             : /*  8786*/                    OPC_MoveParent,
    4262             : /*  8787*/                    OPC_MoveParent,
    4263             : /*  8788*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4264             : /*  8790*/                    OPC_MoveParent,
    4265             : /*  8791*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4266             : /*  8793*/                    OPC_MoveParent,
    4267             : /*  8794*/                    OPC_MoveChild1,
    4268             : /*  8795*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4269             : /*  8798*/                    OPC_MoveChild0,
    4270             : /*  8799*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4271             : /*  8802*/                    OPC_Scope, 68, /*->8872*/ // 2 children in Scope
    4272             : /*  8804*/                      OPC_CheckChild0Same, 0,
    4273             : /*  8806*/                      OPC_CheckChild1Integer, 24, 
    4274             : /*  8808*/                      OPC_CheckChild1Type, MVT::i32,
    4275             : /*  8810*/                      OPC_MoveParent,
    4276             : /*  8811*/                      OPC_MoveChild1,
    4277             : /*  8812*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4278             : /*  8815*/                      OPC_CheckChild0Same, 1,
    4279             : /*  8817*/                      OPC_CheckChild1Integer, 24, 
    4280             : /*  8819*/                      OPC_CheckChild1Type, MVT::i32,
    4281             : /*  8821*/                      OPC_MoveParent,
    4282             : /*  8822*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4283             : /*  8824*/                      OPC_MoveParent,
    4284             : /*  8825*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4285             : /*  8827*/                      OPC_CheckType, MVT::i32,
    4286             : /*  8829*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4287             : /*  8831*/                      OPC_EmitInteger, MVT::i32, 8, 
    4288             : /*  8834*/                      OPC_EmitInteger, MVT::i32, 8, 
    4289             : /*  8837*/                      OPC_EmitInteger, MVT::i32, 8, 
    4290             : /*  8840*/                      OPC_EmitInteger, MVT::i1, 0, 
    4291             : /*  8843*/                      OPC_EmitInteger, MVT::i32, 0, 
    4292             : /*  8846*/                      OPC_EmitInteger, MVT::i32, 0, 
    4293             : /*  8849*/                      OPC_EmitInteger, MVT::i32, 0, 
    4294             : /*  8852*/                      OPC_EmitInteger, MVT::i32, 0, 
    4295             : /*  8855*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4296             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4297             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4298             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4299             : /*  8872*/                    /*Scope*/ 68, /*->8941*/
    4300             : /*  8873*/                      OPC_CheckChild0Same, 1,
    4301             : /*  8875*/                      OPC_CheckChild1Integer, 24, 
    4302             : /*  8877*/                      OPC_CheckChild1Type, MVT::i32,
    4303             : /*  8879*/                      OPC_MoveParent,
    4304             : /*  8880*/                      OPC_MoveChild1,
    4305             : /*  8881*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4306             : /*  8884*/                      OPC_CheckChild0Same, 0,
    4307             : /*  8886*/                      OPC_CheckChild1Integer, 24, 
    4308             : /*  8888*/                      OPC_CheckChild1Type, MVT::i32,
    4309             : /*  8890*/                      OPC_MoveParent,
    4310             : /*  8891*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4311             : /*  8893*/                      OPC_MoveParent,
    4312             : /*  8894*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4313             : /*  8896*/                      OPC_CheckType, MVT::i32,
    4314             : /*  8898*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4315             : /*  8900*/                      OPC_EmitInteger, MVT::i32, 8, 
    4316             : /*  8903*/                      OPC_EmitInteger, MVT::i32, 8, 
    4317             : /*  8906*/                      OPC_EmitInteger, MVT::i32, 8, 
    4318             : /*  8909*/                      OPC_EmitInteger, MVT::i1, 0, 
    4319             : /*  8912*/                      OPC_EmitInteger, MVT::i32, 0, 
    4320             : /*  8915*/                      OPC_EmitInteger, MVT::i32, 0, 
    4321             : /*  8918*/                      OPC_EmitInteger, MVT::i32, 0, 
    4322             : /*  8921*/                      OPC_EmitInteger, MVT::i32, 0, 
    4323             : /*  8924*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4324             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4325             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4326             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4327             : /*  8941*/                    0, /*End of Scope*/
    4328             : /*  8942*/                  /*Scope*/ 50|128,1/*178*/, /*->9122*/
    4329             : /*  8944*/                    OPC_CheckChild0Same, 1,
    4330             : /*  8946*/                    OPC_CheckChild1Integer, 16, 
    4331             : /*  8948*/                    OPC_CheckChild1Type, MVT::i32,
    4332             : /*  8950*/                    OPC_MoveParent,
    4333             : /*  8951*/                    OPC_MoveParent,
    4334             : /*  8952*/                    OPC_MoveChild1,
    4335             : /*  8953*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4336             : /*  8956*/                    OPC_MoveChild0,
    4337             : /*  8957*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4338             : /*  8960*/                    OPC_CheckChild0Same, 0,
    4339             : /*  8962*/                    OPC_CheckChild1Integer, 16, 
    4340             : /*  8964*/                    OPC_CheckChild1Type, MVT::i32,
    4341             : /*  8966*/                    OPC_MoveParent,
    4342             : /*  8967*/                    OPC_MoveParent,
    4343             : /*  8968*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4344             : /*  8970*/                    OPC_MoveParent,
    4345             : /*  8971*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4346             : /*  8973*/                    OPC_MoveParent,
    4347             : /*  8974*/                    OPC_MoveChild1,
    4348             : /*  8975*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4349             : /*  8978*/                    OPC_MoveChild0,
    4350             : /*  8979*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4351             : /*  8982*/                    OPC_Scope, 68, /*->9052*/ // 2 children in Scope
    4352             : /*  8984*/                      OPC_CheckChild0Same, 0,
    4353             : /*  8986*/                      OPC_CheckChild1Integer, 24, 
    4354             : /*  8988*/                      OPC_CheckChild1Type, MVT::i32,
    4355             : /*  8990*/                      OPC_MoveParent,
    4356             : /*  8991*/                      OPC_MoveChild1,
    4357             : /*  8992*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4358             : /*  8995*/                      OPC_CheckChild0Same, 1,
    4359             : /*  8997*/                      OPC_CheckChild1Integer, 24, 
    4360             : /*  8999*/                      OPC_CheckChild1Type, MVT::i32,
    4361             : /*  9001*/                      OPC_MoveParent,
    4362             : /*  9002*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4363             : /*  9004*/                      OPC_MoveParent,
    4364             : /*  9005*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4365             : /*  9007*/                      OPC_CheckType, MVT::i32,
    4366             : /*  9009*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4367             : /*  9011*/                      OPC_EmitInteger, MVT::i32, 8, 
    4368             : /*  9014*/                      OPC_EmitInteger, MVT::i32, 8, 
    4369             : /*  9017*/                      OPC_EmitInteger, MVT::i32, 8, 
    4370             : /*  9020*/                      OPC_EmitInteger, MVT::i1, 0, 
    4371             : /*  9023*/                      OPC_EmitInteger, MVT::i32, 0, 
    4372             : /*  9026*/                      OPC_EmitInteger, MVT::i32, 0, 
    4373             : /*  9029*/                      OPC_EmitInteger, MVT::i32, 0, 
    4374             : /*  9032*/                      OPC_EmitInteger, MVT::i32, 0, 
    4375             : /*  9035*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4376             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4377             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4378             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4379             : /*  9052*/                    /*Scope*/ 68, /*->9121*/
    4380             : /*  9053*/                      OPC_CheckChild0Same, 1,
    4381             : /*  9055*/                      OPC_CheckChild1Integer, 24, 
    4382             : /*  9057*/                      OPC_CheckChild1Type, MVT::i32,
    4383             : /*  9059*/                      OPC_MoveParent,
    4384             : /*  9060*/                      OPC_MoveChild1,
    4385             : /*  9061*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4386             : /*  9064*/                      OPC_CheckChild0Same, 0,
    4387             : /*  9066*/                      OPC_CheckChild1Integer, 24, 
    4388             : /*  9068*/                      OPC_CheckChild1Type, MVT::i32,
    4389             : /*  9070*/                      OPC_MoveParent,
    4390             : /*  9071*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4391             : /*  9073*/                      OPC_MoveParent,
    4392             : /*  9074*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4393             : /*  9076*/                      OPC_CheckType, MVT::i32,
    4394             : /*  9078*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4395             : /*  9080*/                      OPC_EmitInteger, MVT::i32, 8, 
    4396             : /*  9083*/                      OPC_EmitInteger, MVT::i32, 8, 
    4397             : /*  9086*/                      OPC_EmitInteger, MVT::i32, 8, 
    4398             : /*  9089*/                      OPC_EmitInteger, MVT::i1, 0, 
    4399             : /*  9092*/                      OPC_EmitInteger, MVT::i32, 0, 
    4400             : /*  9095*/                      OPC_EmitInteger, MVT::i32, 0, 
    4401             : /*  9098*/                      OPC_EmitInteger, MVT::i32, 0, 
    4402             : /*  9101*/                      OPC_EmitInteger, MVT::i32, 0, 
    4403             : /*  9104*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4404             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4405             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4406             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4407             : /*  9121*/                    0, /*End of Scope*/
    4408             : /*  9122*/                  0, /*End of Scope*/
    4409             : /*  9123*/                /*Scope*/ 10|128,3/*394*/, /*->9519*/
    4410             : /*  9125*/                  OPC_CheckChild0Same, 1,
    4411             : /*  9127*/                  OPC_MoveParent,
    4412             : /*  9128*/                  OPC_MoveChild1,
    4413             : /*  9129*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4414             : /*  9132*/                  OPC_CheckChild0Same, 0,
    4415             : /*  9134*/                  OPC_MoveParent,
    4416             : /*  9135*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4417             : /*  9137*/                  OPC_MoveParent,
    4418             : /*  9138*/                  OPC_RecordChild1, // #2 = $src2
    4419             : /*  9139*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4420             : /*  9141*/                  OPC_MoveParent,
    4421             : /*  9142*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4422             : /*  9144*/                  OPC_MoveParent,
    4423             : /*  9145*/                  OPC_MoveChild1,
    4424             : /*  9146*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4425             : /*  9149*/                  OPC_MoveChild0,
    4426             : /*  9150*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4427             : /*  9153*/                  OPC_MoveChild0,
    4428             : /*  9154*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4429             : /*  9157*/                  OPC_Scope, 50|128,1/*178*/, /*->9338*/ // 2 children in Scope
    4430             : /*  9160*/                    OPC_CheckChild0Same, 0,
    4431             : /*  9162*/                    OPC_CheckChild1Integer, 16, 
    4432             : /*  9164*/                    OPC_CheckChild1Type, MVT::i32,
    4433             : /*  9166*/                    OPC_MoveParent,
    4434             : /*  9167*/                    OPC_MoveParent,
    4435             : /*  9168*/                    OPC_MoveChild1,
    4436             : /*  9169*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4437             : /*  9172*/                    OPC_MoveChild0,
    4438             : /*  9173*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4439             : /*  9176*/                    OPC_CheckChild0Same, 1,
    4440             : /*  9178*/                    OPC_CheckChild1Integer, 16, 
    4441             : /*  9180*/                    OPC_CheckChild1Type, MVT::i32,
    4442             : /*  9182*/                    OPC_MoveParent,
    4443             : /*  9183*/                    OPC_MoveParent,
    4444             : /*  9184*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4445             : /*  9186*/                    OPC_MoveParent,
    4446             : /*  9187*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4447             : /*  9189*/                    OPC_MoveParent,
    4448             : /*  9190*/                    OPC_MoveChild1,
    4449             : /*  9191*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4450             : /*  9194*/                    OPC_MoveChild0,
    4451             : /*  9195*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4452             : /*  9198*/                    OPC_Scope, 68, /*->9268*/ // 2 children in Scope
    4453             : /*  9200*/                      OPC_CheckChild0Same, 0,
    4454             : /*  9202*/                      OPC_CheckChild1Integer, 24, 
    4455             : /*  9204*/                      OPC_CheckChild1Type, MVT::i32,
    4456             : /*  9206*/                      OPC_MoveParent,
    4457             : /*  9207*/                      OPC_MoveChild1,
    4458             : /*  9208*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4459             : /*  9211*/                      OPC_CheckChild0Same, 1,
    4460             : /*  9213*/                      OPC_CheckChild1Integer, 24, 
    4461             : /*  9215*/                      OPC_CheckChild1Type, MVT::i32,
    4462             : /*  9217*/                      OPC_MoveParent,
    4463             : /*  9218*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4464             : /*  9220*/                      OPC_MoveParent,
    4465             : /*  9221*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4466             : /*  9223*/                      OPC_CheckType, MVT::i32,
    4467             : /*  9225*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4468             : /*  9227*/                      OPC_EmitInteger, MVT::i32, 8, 
    4469             : /*  9230*/                      OPC_EmitInteger, MVT::i32, 8, 
    4470             : /*  9233*/                      OPC_EmitInteger, MVT::i32, 8, 
    4471             : /*  9236*/                      OPC_EmitInteger, MVT::i1, 0, 
    4472             : /*  9239*/                      OPC_EmitInteger, MVT::i32, 0, 
    4473             : /*  9242*/                      OPC_EmitInteger, MVT::i32, 0, 
    4474             : /*  9245*/                      OPC_EmitInteger, MVT::i32, 0, 
    4475             : /*  9248*/                      OPC_EmitInteger, MVT::i32, 0, 
    4476             : /*  9251*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4477             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4478             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4479             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4480             : /*  9268*/                    /*Scope*/ 68, /*->9337*/
    4481             : /*  9269*/                      OPC_CheckChild0Same, 1,
    4482             : /*  9271*/                      OPC_CheckChild1Integer, 24, 
    4483             : /*  9273*/                      OPC_CheckChild1Type, MVT::i32,
    4484             : /*  9275*/                      OPC_MoveParent,
    4485             : /*  9276*/                      OPC_MoveChild1,
    4486             : /*  9277*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4487             : /*  9280*/                      OPC_CheckChild0Same, 0,
    4488             : /*  9282*/                      OPC_CheckChild1Integer, 24, 
    4489             : /*  9284*/                      OPC_CheckChild1Type, MVT::i32,
    4490             : /*  9286*/                      OPC_MoveParent,
    4491             : /*  9287*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4492             : /*  9289*/                      OPC_MoveParent,
    4493             : /*  9290*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4494             : /*  9292*/                      OPC_CheckType, MVT::i32,
    4495             : /*  9294*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4496             : /*  9296*/                      OPC_EmitInteger, MVT::i32, 8, 
    4497             : /*  9299*/                      OPC_EmitInteger, MVT::i32, 8, 
    4498             : /*  9302*/                      OPC_EmitInteger, MVT::i32, 8, 
    4499             : /*  9305*/                      OPC_EmitInteger, MVT::i1, 0, 
    4500             : /*  9308*/                      OPC_EmitInteger, MVT::i32, 0, 
    4501             : /*  9311*/                      OPC_EmitInteger, MVT::i32, 0, 
    4502             : /*  9314*/                      OPC_EmitInteger, MVT::i32, 0, 
    4503             : /*  9317*/                      OPC_EmitInteger, MVT::i32, 0, 
    4504             : /*  9320*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4505             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4506             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4507             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4508             : /*  9337*/                    0, /*End of Scope*/
    4509             : /*  9338*/                  /*Scope*/ 50|128,1/*178*/, /*->9518*/
    4510             : /*  9340*/                    OPC_CheckChild0Same, 1,
    4511             : /*  9342*/                    OPC_CheckChild1Integer, 16, 
    4512             : /*  9344*/                    OPC_CheckChild1Type, MVT::i32,
    4513             : /*  9346*/                    OPC_MoveParent,
    4514             : /*  9347*/                    OPC_MoveParent,
    4515             : /*  9348*/                    OPC_MoveChild1,
    4516             : /*  9349*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4517             : /*  9352*/                    OPC_MoveChild0,
    4518             : /*  9353*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4519             : /*  9356*/                    OPC_CheckChild0Same, 0,
    4520             : /*  9358*/                    OPC_CheckChild1Integer, 16, 
    4521             : /*  9360*/                    OPC_CheckChild1Type, MVT::i32,
    4522             : /*  9362*/                    OPC_MoveParent,
    4523             : /*  9363*/                    OPC_MoveParent,
    4524             : /*  9364*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4525             : /*  9366*/                    OPC_MoveParent,
    4526             : /*  9367*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4527             : /*  9369*/                    OPC_MoveParent,
    4528             : /*  9370*/                    OPC_MoveChild1,
    4529             : /*  9371*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4530             : /*  9374*/                    OPC_MoveChild0,
    4531             : /*  9375*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4532             : /*  9378*/                    OPC_Scope, 68, /*->9448*/ // 2 children in Scope
    4533             : /*  9380*/                      OPC_CheckChild0Same, 0,
    4534             : /*  9382*/                      OPC_CheckChild1Integer, 24, 
    4535             : /*  9384*/                      OPC_CheckChild1Type, MVT::i32,
    4536             : /*  9386*/                      OPC_MoveParent,
    4537             : /*  9387*/                      OPC_MoveChild1,
    4538             : /*  9388*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4539             : /*  9391*/                      OPC_CheckChild0Same, 1,
    4540             : /*  9393*/                      OPC_CheckChild1Integer, 24, 
    4541             : /*  9395*/                      OPC_CheckChild1Type, MVT::i32,
    4542             : /*  9397*/                      OPC_MoveParent,
    4543             : /*  9398*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4544             : /*  9400*/                      OPC_MoveParent,
    4545             : /*  9401*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4546             : /*  9403*/                      OPC_CheckType, MVT::i32,
    4547             : /*  9405*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4548             : /*  9407*/                      OPC_EmitInteger, MVT::i32, 8, 
    4549             : /*  9410*/                      OPC_EmitInteger, MVT::i32, 8, 
    4550             : /*  9413*/                      OPC_EmitInteger, MVT::i32, 8, 
    4551             : /*  9416*/                      OPC_EmitInteger, MVT::i1, 0, 
    4552             : /*  9419*/                      OPC_EmitInteger, MVT::i32, 0, 
    4553             : /*  9422*/                      OPC_EmitInteger, MVT::i32, 0, 
    4554             : /*  9425*/                      OPC_EmitInteger, MVT::i32, 0, 
    4555             : /*  9428*/                      OPC_EmitInteger, MVT::i32, 0, 
    4556             : /*  9431*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4557             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4558             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4559             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4560             : /*  9448*/                    /*Scope*/ 68, /*->9517*/
    4561             : /*  9449*/                      OPC_CheckChild0Same, 1,
    4562             : /*  9451*/                      OPC_CheckChild1Integer, 24, 
    4563             : /*  9453*/                      OPC_CheckChild1Type, MVT::i32,
    4564             : /*  9455*/                      OPC_MoveParent,
    4565             : /*  9456*/                      OPC_MoveChild1,
    4566             : /*  9457*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4567             : /*  9460*/                      OPC_CheckChild0Same, 0,
    4568             : /*  9462*/                      OPC_CheckChild1Integer, 24, 
    4569             : /*  9464*/                      OPC_CheckChild1Type, MVT::i32,
    4570             : /*  9466*/                      OPC_MoveParent,
    4571             : /*  9467*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4572             : /*  9469*/                      OPC_MoveParent,
    4573             : /*  9470*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4574             : /*  9472*/                      OPC_CheckType, MVT::i32,
    4575             : /*  9474*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4576             : /*  9476*/                      OPC_EmitInteger, MVT::i32, 8, 
    4577             : /*  9479*/                      OPC_EmitInteger, MVT::i32, 8, 
    4578             : /*  9482*/                      OPC_EmitInteger, MVT::i32, 8, 
    4579             : /*  9485*/                      OPC_EmitInteger, MVT::i1, 0, 
    4580             : /*  9488*/                      OPC_EmitInteger, MVT::i32, 0, 
    4581             : /*  9491*/                      OPC_EmitInteger, MVT::i32, 0, 
    4582             : /*  9494*/                      OPC_EmitInteger, MVT::i32, 0, 
    4583             : /*  9497*/                      OPC_EmitInteger, MVT::i32, 0, 
    4584             : /*  9500*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4585             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    4586             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4587             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4588             : /*  9517*/                    0, /*End of Scope*/
    4589             : /*  9518*/                  0, /*End of Scope*/
    4590             : /*  9519*/                0, /*End of Scope*/
    4591             : /*  9520*/              /*Scope*/ 33|128,6/*801*/, /*->10323*/
    4592             : /*  9522*/                OPC_RecordChild0, // #2 = $src2
    4593             : /*  9523*/                OPC_MoveChild1,
    4594             : /*  9524*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4595             : /*  9527*/                OPC_MoveChild0,
    4596             : /*  9528*/                OPC_CheckAndImm, 127|128,1/*255*/, 
    4597             : /*  9531*/                OPC_Scope, 9|128,3/*393*/, /*->9927*/ // 2 children in Scope
    4598             : /*  9534*/                  OPC_CheckChild0Same, 1,
    4599             : /*  9536*/                  OPC_MoveParent,
    4600             : /*  9537*/                  OPC_MoveChild1,
    4601             : /*  9538*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4602             : /*  9541*/                  OPC_CheckChild0Same, 0,
    4603             : /*  9543*/                  OPC_MoveParent,
    4604             : /*  9544*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4605             : /*  9546*/                  OPC_MoveParent,
    4606             : /*  9547*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4607             : /*  9549*/                  OPC_MoveParent,
    4608             : /*  9550*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4609             : /*  9552*/                  OPC_MoveParent,
    4610             : /*  9553*/                  OPC_MoveChild1,
    4611             : /*  9554*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4612             : /*  9557*/                  OPC_MoveChild0,
    4613             : /*  9558*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4614             : /*  9561*/                  OPC_MoveChild0,
    4615             : /*  9562*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4616             : /*  9565*/                  OPC_Scope, 50|128,1/*178*/, /*->9746*/ // 2 children in Scope
    4617             : /*  9568*/                    OPC_CheckChild0Same, 1,
    4618             : /*  9570*/                    OPC_CheckChild1Integer, 16, 
    4619             : /*  9572*/                    OPC_CheckChild1Type, MVT::i32,
    4620             : /*  9574*/                    OPC_MoveParent,
    4621             : /*  9575*/                    OPC_MoveParent,
    4622             : /*  9576*/                    OPC_MoveChild1,
    4623             : /*  9577*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4624             : /*  9580*/                    OPC_MoveChild0,
    4625             : /*  9581*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4626             : /*  9584*/                    OPC_CheckChild0Same, 0,
    4627             : /*  9586*/                    OPC_CheckChild1Integer, 16, 
    4628             : /*  9588*/                    OPC_CheckChild1Type, MVT::i32,
    4629             : /*  9590*/                    OPC_MoveParent,
    4630             : /*  9591*/                    OPC_MoveParent,
    4631             : /*  9592*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4632             : /*  9594*/                    OPC_MoveParent,
    4633             : /*  9595*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4634             : /*  9597*/                    OPC_MoveParent,
    4635             : /*  9598*/                    OPC_MoveChild1,
    4636             : /*  9599*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4637             : /*  9602*/                    OPC_MoveChild0,
    4638             : /*  9603*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4639             : /*  9606*/                    OPC_Scope, 68, /*->9676*/ // 2 children in Scope
    4640             : /*  9608*/                      OPC_CheckChild0Same, 1,
    4641             : /*  9610*/                      OPC_CheckChild1Integer, 24, 
    4642             : /*  9612*/                      OPC_CheckChild1Type, MVT::i32,
    4643             : /*  9614*/                      OPC_MoveParent,
    4644             : /*  9615*/                      OPC_MoveChild1,
    4645             : /*  9616*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4646             : /*  9619*/                      OPC_CheckChild0Same, 0,
    4647             : /*  9621*/                      OPC_CheckChild1Integer, 24, 
    4648             : /*  9623*/                      OPC_CheckChild1Type, MVT::i32,
    4649             : /*  9625*/                      OPC_MoveParent,
    4650             : /*  9626*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4651             : /*  9628*/                      OPC_MoveParent,
    4652             : /*  9629*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4653             : /*  9631*/                      OPC_CheckType, MVT::i32,
    4654             : /*  9633*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4655             : /*  9635*/                      OPC_EmitInteger, MVT::i32, 8, 
    4656             : /*  9638*/                      OPC_EmitInteger, MVT::i32, 8, 
    4657             : /*  9641*/                      OPC_EmitInteger, MVT::i32, 8, 
    4658             : /*  9644*/                      OPC_EmitInteger, MVT::i1, 0, 
    4659             : /*  9647*/                      OPC_EmitInteger, MVT::i32, 0, 
    4660             : /*  9650*/                      OPC_EmitInteger, MVT::i32, 0, 
    4661             : /*  9653*/                      OPC_EmitInteger, MVT::i32, 0, 
    4662             : /*  9656*/                      OPC_EmitInteger, MVT::i32, 0, 
    4663             : /*  9659*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4664             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4665             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4666             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4667             : /*  9676*/                    /*Scope*/ 68, /*->9745*/
    4668             : /*  9677*/                      OPC_CheckChild0Same, 0,
    4669             : /*  9679*/                      OPC_CheckChild1Integer, 24, 
    4670             : /*  9681*/                      OPC_CheckChild1Type, MVT::i32,
    4671             : /*  9683*/                      OPC_MoveParent,
    4672             : /*  9684*/                      OPC_MoveChild1,
    4673             : /*  9685*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4674             : /*  9688*/                      OPC_CheckChild0Same, 1,
    4675             : /*  9690*/                      OPC_CheckChild1Integer, 24, 
    4676             : /*  9692*/                      OPC_CheckChild1Type, MVT::i32,
    4677             : /*  9694*/                      OPC_MoveParent,
    4678             : /*  9695*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4679             : /*  9697*/                      OPC_MoveParent,
    4680             : /*  9698*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4681             : /*  9700*/                      OPC_CheckType, MVT::i32,
    4682             : /*  9702*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4683             : /*  9704*/                      OPC_EmitInteger, MVT::i32, 8, 
    4684             : /*  9707*/                      OPC_EmitInteger, MVT::i32, 8, 
    4685             : /*  9710*/                      OPC_EmitInteger, MVT::i32, 8, 
    4686             : /*  9713*/                      OPC_EmitInteger, MVT::i1, 0, 
    4687             : /*  9716*/                      OPC_EmitInteger, MVT::i32, 0, 
    4688             : /*  9719*/                      OPC_EmitInteger, MVT::i32, 0, 
    4689             : /*  9722*/                      OPC_EmitInteger, MVT::i32, 0, 
    4690             : /*  9725*/                      OPC_EmitInteger, MVT::i32, 0, 
    4691             : /*  9728*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4692             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4693             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4694             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4695             : /*  9745*/                    0, /*End of Scope*/
    4696             : /*  9746*/                  /*Scope*/ 50|128,1/*178*/, /*->9926*/
    4697             : /*  9748*/                    OPC_CheckChild0Same, 0,
    4698             : /*  9750*/                    OPC_CheckChild1Integer, 16, 
    4699             : /*  9752*/                    OPC_CheckChild1Type, MVT::i32,
    4700             : /*  9754*/                    OPC_MoveParent,
    4701             : /*  9755*/                    OPC_MoveParent,
    4702             : /*  9756*/                    OPC_MoveChild1,
    4703             : /*  9757*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4704             : /*  9760*/                    OPC_MoveChild0,
    4705             : /*  9761*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4706             : /*  9764*/                    OPC_CheckChild0Same, 1,
    4707             : /*  9766*/                    OPC_CheckChild1Integer, 16, 
    4708             : /*  9768*/                    OPC_CheckChild1Type, MVT::i32,
    4709             : /*  9770*/                    OPC_MoveParent,
    4710             : /*  9771*/                    OPC_MoveParent,
    4711             : /*  9772*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4712             : /*  9774*/                    OPC_MoveParent,
    4713             : /*  9775*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4714             : /*  9777*/                    OPC_MoveParent,
    4715             : /*  9778*/                    OPC_MoveChild1,
    4716             : /*  9779*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4717             : /*  9782*/                    OPC_MoveChild0,
    4718             : /*  9783*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4719             : /*  9786*/                    OPC_Scope, 68, /*->9856*/ // 2 children in Scope
    4720             : /*  9788*/                      OPC_CheckChild0Same, 1,
    4721             : /*  9790*/                      OPC_CheckChild1Integer, 24, 
    4722             : /*  9792*/                      OPC_CheckChild1Type, MVT::i32,
    4723             : /*  9794*/                      OPC_MoveParent,
    4724             : /*  9795*/                      OPC_MoveChild1,
    4725             : /*  9796*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4726             : /*  9799*/                      OPC_CheckChild0Same, 0,
    4727             : /*  9801*/                      OPC_CheckChild1Integer, 24, 
    4728             : /*  9803*/                      OPC_CheckChild1Type, MVT::i32,
    4729             : /*  9805*/                      OPC_MoveParent,
    4730             : /*  9806*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4731             : /*  9808*/                      OPC_MoveParent,
    4732             : /*  9809*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4733             : /*  9811*/                      OPC_CheckType, MVT::i32,
    4734             : /*  9813*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4735             : /*  9815*/                      OPC_EmitInteger, MVT::i32, 8, 
    4736             : /*  9818*/                      OPC_EmitInteger, MVT::i32, 8, 
    4737             : /*  9821*/                      OPC_EmitInteger, MVT::i32, 8, 
    4738             : /*  9824*/                      OPC_EmitInteger, MVT::i1, 0, 
    4739             : /*  9827*/                      OPC_EmitInteger, MVT::i32, 0, 
    4740             : /*  9830*/                      OPC_EmitInteger, MVT::i32, 0, 
    4741             : /*  9833*/                      OPC_EmitInteger, MVT::i32, 0, 
    4742             : /*  9836*/                      OPC_EmitInteger, MVT::i32, 0, 
    4743             : /*  9839*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4744             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4745             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4746             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4747             : /*  9856*/                    /*Scope*/ 68, /*->9925*/
    4748             : /*  9857*/                      OPC_CheckChild0Same, 0,
    4749             : /*  9859*/                      OPC_CheckChild1Integer, 24, 
    4750             : /*  9861*/                      OPC_CheckChild1Type, MVT::i32,
    4751             : /*  9863*/                      OPC_MoveParent,
    4752             : /*  9864*/                      OPC_MoveChild1,
    4753             : /*  9865*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4754             : /*  9868*/                      OPC_CheckChild0Same, 1,
    4755             : /*  9870*/                      OPC_CheckChild1Integer, 24, 
    4756             : /*  9872*/                      OPC_CheckChild1Type, MVT::i32,
    4757             : /*  9874*/                      OPC_MoveParent,
    4758             : /*  9875*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4759             : /*  9877*/                      OPC_MoveParent,
    4760             : /*  9878*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4761             : /*  9880*/                      OPC_CheckType, MVT::i32,
    4762             : /*  9882*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4763             : /*  9884*/                      OPC_EmitInteger, MVT::i32, 8, 
    4764             : /*  9887*/                      OPC_EmitInteger, MVT::i32, 8, 
    4765             : /*  9890*/                      OPC_EmitInteger, MVT::i32, 8, 
    4766             : /*  9893*/                      OPC_EmitInteger, MVT::i1, 0, 
    4767             : /*  9896*/                      OPC_EmitInteger, MVT::i32, 0, 
    4768             : /*  9899*/                      OPC_EmitInteger, MVT::i32, 0, 
    4769             : /*  9902*/                      OPC_EmitInteger, MVT::i32, 0, 
    4770             : /*  9905*/                      OPC_EmitInteger, MVT::i32, 0, 
    4771             : /*  9908*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4772             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4773             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4774             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4775             : /*  9925*/                    0, /*End of Scope*/
    4776             : /*  9926*/                  0, /*End of Scope*/
    4777             : /*  9927*/                /*Scope*/ 9|128,3/*393*/, /*->10322*/
    4778             : /*  9929*/                  OPC_CheckChild0Same, 0,
    4779             : /*  9931*/                  OPC_MoveParent,
    4780             : /*  9932*/                  OPC_MoveChild1,
    4781             : /*  9933*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4782             : /*  9936*/                  OPC_CheckChild0Same, 1,
    4783             : /*  9938*/                  OPC_MoveParent,
    4784             : /*  9939*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4785             : /*  9941*/                  OPC_MoveParent,
    4786             : /*  9942*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4787             : /*  9944*/                  OPC_MoveParent,
    4788             : /*  9945*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4789             : /*  9947*/                  OPC_MoveParent,
    4790             : /*  9948*/                  OPC_MoveChild1,
    4791             : /*  9949*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4792             : /*  9952*/                  OPC_MoveChild0,
    4793             : /*  9953*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4794             : /*  9956*/                  OPC_MoveChild0,
    4795             : /*  9957*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4796             : /*  9960*/                  OPC_Scope, 50|128,1/*178*/, /*->10141*/ // 2 children in Scope
    4797             : /*  9963*/                    OPC_CheckChild0Same, 1,
    4798             : /*  9965*/                    OPC_CheckChild1Integer, 16, 
    4799             : /*  9967*/                    OPC_CheckChild1Type, MVT::i32,
    4800             : /*  9969*/                    OPC_MoveParent,
    4801             : /*  9970*/                    OPC_MoveParent,
    4802             : /*  9971*/                    OPC_MoveChild1,
    4803             : /*  9972*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4804             : /*  9975*/                    OPC_MoveChild0,
    4805             : /*  9976*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4806             : /*  9979*/                    OPC_CheckChild0Same, 0,
    4807             : /*  9981*/                    OPC_CheckChild1Integer, 16, 
    4808             : /*  9983*/                    OPC_CheckChild1Type, MVT::i32,
    4809             : /*  9985*/                    OPC_MoveParent,
    4810             : /*  9986*/                    OPC_MoveParent,
    4811             : /*  9987*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4812             : /*  9989*/                    OPC_MoveParent,
    4813             : /*  9990*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4814             : /*  9992*/                    OPC_MoveParent,
    4815             : /*  9993*/                    OPC_MoveChild1,
    4816             : /*  9994*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4817             : /*  9997*/                    OPC_MoveChild0,
    4818             : /*  9998*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4819             : /* 10001*/                    OPC_Scope, 68, /*->10071*/ // 2 children in Scope
    4820             : /* 10003*/                      OPC_CheckChild0Same, 1,
    4821             : /* 10005*/                      OPC_CheckChild1Integer, 24, 
    4822             : /* 10007*/                      OPC_CheckChild1Type, MVT::i32,
    4823             : /* 10009*/                      OPC_MoveParent,
    4824             : /* 10010*/                      OPC_MoveChild1,
    4825             : /* 10011*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4826             : /* 10014*/                      OPC_CheckChild0Same, 0,
    4827             : /* 10016*/                      OPC_CheckChild1Integer, 24, 
    4828             : /* 10018*/                      OPC_CheckChild1Type, MVT::i32,
    4829             : /* 10020*/                      OPC_MoveParent,
    4830             : /* 10021*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4831             : /* 10023*/                      OPC_MoveParent,
    4832             : /* 10024*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4833             : /* 10026*/                      OPC_CheckType, MVT::i32,
    4834             : /* 10028*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4835             : /* 10030*/                      OPC_EmitInteger, MVT::i32, 8, 
    4836             : /* 10033*/                      OPC_EmitInteger, MVT::i32, 8, 
    4837             : /* 10036*/                      OPC_EmitInteger, MVT::i32, 8, 
    4838             : /* 10039*/                      OPC_EmitInteger, MVT::i1, 0, 
    4839             : /* 10042*/                      OPC_EmitInteger, MVT::i32, 0, 
    4840             : /* 10045*/                      OPC_EmitInteger, MVT::i32, 0, 
    4841             : /* 10048*/                      OPC_EmitInteger, MVT::i32, 0, 
    4842             : /* 10051*/                      OPC_EmitInteger, MVT::i32, 0, 
    4843             : /* 10054*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4844             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4845             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4846             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4847             : /* 10071*/                    /*Scope*/ 68, /*->10140*/
    4848             : /* 10072*/                      OPC_CheckChild0Same, 0,
    4849             : /* 10074*/                      OPC_CheckChild1Integer, 24, 
    4850             : /* 10076*/                      OPC_CheckChild1Type, MVT::i32,
    4851             : /* 10078*/                      OPC_MoveParent,
    4852             : /* 10079*/                      OPC_MoveChild1,
    4853             : /* 10080*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4854             : /* 10083*/                      OPC_CheckChild0Same, 1,
    4855             : /* 10085*/                      OPC_CheckChild1Integer, 24, 
    4856             : /* 10087*/                      OPC_CheckChild1Type, MVT::i32,
    4857             : /* 10089*/                      OPC_MoveParent,
    4858             : /* 10090*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4859             : /* 10092*/                      OPC_MoveParent,
    4860             : /* 10093*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4861             : /* 10095*/                      OPC_CheckType, MVT::i32,
    4862             : /* 10097*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4863             : /* 10099*/                      OPC_EmitInteger, MVT::i32, 8, 
    4864             : /* 10102*/                      OPC_EmitInteger, MVT::i32, 8, 
    4865             : /* 10105*/                      OPC_EmitInteger, MVT::i32, 8, 
    4866             : /* 10108*/                      OPC_EmitInteger, MVT::i1, 0, 
    4867             : /* 10111*/                      OPC_EmitInteger, MVT::i32, 0, 
    4868             : /* 10114*/                      OPC_EmitInteger, MVT::i32, 0, 
    4869             : /* 10117*/                      OPC_EmitInteger, MVT::i32, 0, 
    4870             : /* 10120*/                      OPC_EmitInteger, MVT::i32, 0, 
    4871             : /* 10123*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4872             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4873             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4874             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4875             : /* 10140*/                    0, /*End of Scope*/
    4876             : /* 10141*/                  /*Scope*/ 50|128,1/*178*/, /*->10321*/
    4877             : /* 10143*/                    OPC_CheckChild0Same, 0,
    4878             : /* 10145*/                    OPC_CheckChild1Integer, 16, 
    4879             : /* 10147*/                    OPC_CheckChild1Type, MVT::i32,
    4880             : /* 10149*/                    OPC_MoveParent,
    4881             : /* 10150*/                    OPC_MoveParent,
    4882             : /* 10151*/                    OPC_MoveChild1,
    4883             : /* 10152*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4884             : /* 10155*/                    OPC_MoveChild0,
    4885             : /* 10156*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4886             : /* 10159*/                    OPC_CheckChild0Same, 1,
    4887             : /* 10161*/                    OPC_CheckChild1Integer, 16, 
    4888             : /* 10163*/                    OPC_CheckChild1Type, MVT::i32,
    4889             : /* 10165*/                    OPC_MoveParent,
    4890             : /* 10166*/                    OPC_MoveParent,
    4891             : /* 10167*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4892             : /* 10169*/                    OPC_MoveParent,
    4893             : /* 10170*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4894             : /* 10172*/                    OPC_MoveParent,
    4895             : /* 10173*/                    OPC_MoveChild1,
    4896             : /* 10174*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4897             : /* 10177*/                    OPC_MoveChild0,
    4898             : /* 10178*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4899             : /* 10181*/                    OPC_Scope, 68, /*->10251*/ // 2 children in Scope
    4900             : /* 10183*/                      OPC_CheckChild0Same, 1,
    4901             : /* 10185*/                      OPC_CheckChild1Integer, 24, 
    4902             : /* 10187*/                      OPC_CheckChild1Type, MVT::i32,
    4903             : /* 10189*/                      OPC_MoveParent,
    4904             : /* 10190*/                      OPC_MoveChild1,
    4905             : /* 10191*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4906             : /* 10194*/                      OPC_CheckChild0Same, 0,
    4907             : /* 10196*/                      OPC_CheckChild1Integer, 24, 
    4908             : /* 10198*/                      OPC_CheckChild1Type, MVT::i32,
    4909             : /* 10200*/                      OPC_MoveParent,
    4910             : /* 10201*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4911             : /* 10203*/                      OPC_MoveParent,
    4912             : /* 10204*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4913             : /* 10206*/                      OPC_CheckType, MVT::i32,
    4914             : /* 10208*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4915             : /* 10210*/                      OPC_EmitInteger, MVT::i32, 8, 
    4916             : /* 10213*/                      OPC_EmitInteger, MVT::i32, 8, 
    4917             : /* 10216*/                      OPC_EmitInteger, MVT::i32, 8, 
    4918             : /* 10219*/                      OPC_EmitInteger, MVT::i1, 0, 
    4919             : /* 10222*/                      OPC_EmitInteger, MVT::i32, 0, 
    4920             : /* 10225*/                      OPC_EmitInteger, MVT::i32, 0, 
    4921             : /* 10228*/                      OPC_EmitInteger, MVT::i32, 0, 
    4922             : /* 10231*/                      OPC_EmitInteger, MVT::i32, 0, 
    4923             : /* 10234*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4924             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4925             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4926             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4927             : /* 10251*/                    /*Scope*/ 68, /*->10320*/
    4928             : /* 10252*/                      OPC_CheckChild0Same, 0,
    4929             : /* 10254*/                      OPC_CheckChild1Integer, 24, 
    4930             : /* 10256*/                      OPC_CheckChild1Type, MVT::i32,
    4931             : /* 10258*/                      OPC_MoveParent,
    4932             : /* 10259*/                      OPC_MoveChild1,
    4933             : /* 10260*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4934             : /* 10263*/                      OPC_CheckChild0Same, 1,
    4935             : /* 10265*/                      OPC_CheckChild1Integer, 24, 
    4936             : /* 10267*/                      OPC_CheckChild1Type, MVT::i32,
    4937             : /* 10269*/                      OPC_MoveParent,
    4938             : /* 10270*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4939             : /* 10272*/                      OPC_MoveParent,
    4940             : /* 10273*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4941             : /* 10275*/                      OPC_CheckType, MVT::i32,
    4942             : /* 10277*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    4943             : /* 10279*/                      OPC_EmitInteger, MVT::i32, 8, 
    4944             : /* 10282*/                      OPC_EmitInteger, MVT::i32, 8, 
    4945             : /* 10285*/                      OPC_EmitInteger, MVT::i32, 8, 
    4946             : /* 10288*/                      OPC_EmitInteger, MVT::i1, 0, 
    4947             : /* 10291*/                      OPC_EmitInteger, MVT::i32, 0, 
    4948             : /* 10294*/                      OPC_EmitInteger, MVT::i32, 0, 
    4949             : /* 10297*/                      OPC_EmitInteger, MVT::i32, 0, 
    4950             : /* 10300*/                      OPC_EmitInteger, MVT::i32, 0, 
    4951             : /* 10303*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    4952             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    4953             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    4954             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    4955             : /* 10320*/                    0, /*End of Scope*/
    4956             : /* 10321*/                  0, /*End of Scope*/
    4957             : /* 10322*/                0, /*End of Scope*/
    4958             : /* 10323*/              /*Scope*/ 34|128,6/*802*/, /*->11127*/
    4959             : /* 10325*/                OPC_MoveChild0,
    4960             : /* 10326*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4961             : /* 10329*/                OPC_MoveChild0,
    4962             : /* 10330*/                OPC_CheckAndImm, 127|128,1/*255*/, 
    4963             : /* 10333*/                OPC_Scope, 10|128,3/*394*/, /*->10730*/ // 2 children in Scope
    4964             : /* 10336*/                  OPC_CheckChild0Same, 1,
    4965             : /* 10338*/                  OPC_MoveParent,
    4966             : /* 10339*/                  OPC_MoveChild1,
    4967             : /* 10340*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4968             : /* 10343*/                  OPC_CheckChild0Same, 0,
    4969             : /* 10345*/                  OPC_MoveParent,
    4970             : /* 10346*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4971             : /* 10348*/                  OPC_MoveParent,
    4972             : /* 10349*/                  OPC_RecordChild1, // #2 = $src2
    4973             : /* 10350*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4974             : /* 10352*/                  OPC_MoveParent,
    4975             : /* 10353*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    4976             : /* 10355*/                  OPC_MoveParent,
    4977             : /* 10356*/                  OPC_MoveChild1,
    4978             : /* 10357*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    4979             : /* 10360*/                  OPC_MoveChild0,
    4980             : /* 10361*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    4981             : /* 10364*/                  OPC_MoveChild0,
    4982             : /* 10365*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4983             : /* 10368*/                  OPC_Scope, 50|128,1/*178*/, /*->10549*/ // 2 children in Scope
    4984             : /* 10371*/                    OPC_CheckChild0Same, 1,
    4985             : /* 10373*/                    OPC_CheckChild1Integer, 16, 
    4986             : /* 10375*/                    OPC_CheckChild1Type, MVT::i32,
    4987             : /* 10377*/                    OPC_MoveParent,
    4988             : /* 10378*/                    OPC_MoveParent,
    4989             : /* 10379*/                    OPC_MoveChild1,
    4990             : /* 10380*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    4991             : /* 10383*/                    OPC_MoveChild0,
    4992             : /* 10384*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    4993             : /* 10387*/                    OPC_CheckChild0Same, 0,
    4994             : /* 10389*/                    OPC_CheckChild1Integer, 16, 
    4995             : /* 10391*/                    OPC_CheckChild1Type, MVT::i32,
    4996             : /* 10393*/                    OPC_MoveParent,
    4997             : /* 10394*/                    OPC_MoveParent,
    4998             : /* 10395*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    4999             : /* 10397*/                    OPC_MoveParent,
    5000             : /* 10398*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5001             : /* 10400*/                    OPC_MoveParent,
    5002             : /* 10401*/                    OPC_MoveChild1,
    5003             : /* 10402*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    5004             : /* 10405*/                    OPC_MoveChild0,
    5005             : /* 10406*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5006             : /* 10409*/                    OPC_Scope, 68, /*->10479*/ // 2 children in Scope
    5007             : /* 10411*/                      OPC_CheckChild0Same, 1,
    5008             : /* 10413*/                      OPC_CheckChild1Integer, 24, 
    5009             : /* 10415*/                      OPC_CheckChild1Type, MVT::i32,
    5010             : /* 10417*/                      OPC_MoveParent,
    5011             : /* 10418*/                      OPC_MoveChild1,
    5012             : /* 10419*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5013             : /* 10422*/                      OPC_CheckChild0Same, 0,
    5014             : /* 10424*/                      OPC_CheckChild1Integer, 24, 
    5015             : /* 10426*/                      OPC_CheckChild1Type, MVT::i32,
    5016             : /* 10428*/                      OPC_MoveParent,
    5017             : /* 10429*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5018             : /* 10431*/                      OPC_MoveParent,
    5019             : /* 10432*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5020             : /* 10434*/                      OPC_CheckType, MVT::i32,
    5021             : /* 10436*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5022             : /* 10438*/                      OPC_EmitInteger, MVT::i32, 8, 
    5023             : /* 10441*/                      OPC_EmitInteger, MVT::i32, 8, 
    5024             : /* 10444*/                      OPC_EmitInteger, MVT::i32, 8, 
    5025             : /* 10447*/                      OPC_EmitInteger, MVT::i1, 0, 
    5026             : /* 10450*/                      OPC_EmitInteger, MVT::i32, 0, 
    5027             : /* 10453*/                      OPC_EmitInteger, MVT::i32, 0, 
    5028             : /* 10456*/                      OPC_EmitInteger, MVT::i32, 0, 
    5029             : /* 10459*/                      OPC_EmitInteger, MVT::i32, 0, 
    5030             : /* 10462*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5031             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5032             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5033             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5034             : /* 10479*/                    /*Scope*/ 68, /*->10548*/
    5035             : /* 10480*/                      OPC_CheckChild0Same, 0,
    5036             : /* 10482*/                      OPC_CheckChild1Integer, 24, 
    5037             : /* 10484*/                      OPC_CheckChild1Type, MVT::i32,
    5038             : /* 10486*/                      OPC_MoveParent,
    5039             : /* 10487*/                      OPC_MoveChild1,
    5040             : /* 10488*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5041             : /* 10491*/                      OPC_CheckChild0Same, 1,
    5042             : /* 10493*/                      OPC_CheckChild1Integer, 24, 
    5043             : /* 10495*/                      OPC_CheckChild1Type, MVT::i32,
    5044             : /* 10497*/                      OPC_MoveParent,
    5045             : /* 10498*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5046             : /* 10500*/                      OPC_MoveParent,
    5047             : /* 10501*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5048             : /* 10503*/                      OPC_CheckType, MVT::i32,
    5049             : /* 10505*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5050             : /* 10507*/                      OPC_EmitInteger, MVT::i32, 8, 
    5051             : /* 10510*/                      OPC_EmitInteger, MVT::i32, 8, 
    5052             : /* 10513*/                      OPC_EmitInteger, MVT::i32, 8, 
    5053             : /* 10516*/                      OPC_EmitInteger, MVT::i1, 0, 
    5054             : /* 10519*/                      OPC_EmitInteger, MVT::i32, 0, 
    5055             : /* 10522*/                      OPC_EmitInteger, MVT::i32, 0, 
    5056             : /* 10525*/                      OPC_EmitInteger, MVT::i32, 0, 
    5057             : /* 10528*/                      OPC_EmitInteger, MVT::i32, 0, 
    5058             : /* 10531*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5059             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5060             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5061             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5062             : /* 10548*/                    0, /*End of Scope*/
    5063             : /* 10549*/                  /*Scope*/ 50|128,1/*178*/, /*->10729*/
    5064             : /* 10551*/                    OPC_CheckChild0Same, 0,
    5065             : /* 10553*/                    OPC_CheckChild1Integer, 16, 
    5066             : /* 10555*/                    OPC_CheckChild1Type, MVT::i32,
    5067             : /* 10557*/                    OPC_MoveParent,
    5068             : /* 10558*/                    OPC_MoveParent,
    5069             : /* 10559*/                    OPC_MoveChild1,
    5070             : /* 10560*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    5071             : /* 10563*/                    OPC_MoveChild0,
    5072             : /* 10564*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5073             : /* 10567*/                    OPC_CheckChild0Same, 1,
    5074             : /* 10569*/                    OPC_CheckChild1Integer, 16, 
    5075             : /* 10571*/                    OPC_CheckChild1Type, MVT::i32,
    5076             : /* 10573*/                    OPC_MoveParent,
    5077             : /* 10574*/                    OPC_MoveParent,
    5078             : /* 10575*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5079             : /* 10577*/                    OPC_MoveParent,
    5080             : /* 10578*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5081             : /* 10580*/                    OPC_MoveParent,
    5082             : /* 10581*/                    OPC_MoveChild1,
    5083             : /* 10582*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    5084             : /* 10585*/                    OPC_MoveChild0,
    5085             : /* 10586*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5086             : /* 10589*/                    OPC_Scope, 68, /*->10659*/ // 2 children in Scope
    5087             : /* 10591*/                      OPC_CheckChild0Same, 1,
    5088             : /* 10593*/                      OPC_CheckChild1Integer, 24, 
    5089             : /* 10595*/                      OPC_CheckChild1Type, MVT::i32,
    5090             : /* 10597*/                      OPC_MoveParent,
    5091             : /* 10598*/                      OPC_MoveChild1,
    5092             : /* 10599*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5093             : /* 10602*/                      OPC_CheckChild0Same, 0,
    5094             : /* 10604*/                      OPC_CheckChild1Integer, 24, 
    5095             : /* 10606*/                      OPC_CheckChild1Type, MVT::i32,
    5096             : /* 10608*/                      OPC_MoveParent,
    5097             : /* 10609*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5098             : /* 10611*/                      OPC_MoveParent,
    5099             : /* 10612*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5100             : /* 10614*/                      OPC_CheckType, MVT::i32,
    5101             : /* 10616*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5102             : /* 10618*/                      OPC_EmitInteger, MVT::i32, 8, 
    5103             : /* 10621*/                      OPC_EmitInteger, MVT::i32, 8, 
    5104             : /* 10624*/                      OPC_EmitInteger, MVT::i32, 8, 
    5105             : /* 10627*/                      OPC_EmitInteger, MVT::i1, 0, 
    5106             : /* 10630*/                      OPC_EmitInteger, MVT::i32, 0, 
    5107             : /* 10633*/                      OPC_EmitInteger, MVT::i32, 0, 
    5108             : /* 10636*/                      OPC_EmitInteger, MVT::i32, 0, 
    5109             : /* 10639*/                      OPC_EmitInteger, MVT::i32, 0, 
    5110             : /* 10642*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5111             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5112             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5113             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5114             : /* 10659*/                    /*Scope*/ 68, /*->10728*/
    5115             : /* 10660*/                      OPC_CheckChild0Same, 0,
    5116             : /* 10662*/                      OPC_CheckChild1Integer, 24, 
    5117             : /* 10664*/                      OPC_CheckChild1Type, MVT::i32,
    5118             : /* 10666*/                      OPC_MoveParent,
    5119             : /* 10667*/                      OPC_MoveChild1,
    5120             : /* 10668*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5121             : /* 10671*/                      OPC_CheckChild0Same, 1,
    5122             : /* 10673*/                      OPC_CheckChild1Integer, 24, 
    5123             : /* 10675*/                      OPC_CheckChild1Type, MVT::i32,
    5124             : /* 10677*/                      OPC_MoveParent,
    5125             : /* 10678*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5126             : /* 10680*/                      OPC_MoveParent,
    5127             : /* 10681*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5128             : /* 10683*/                      OPC_CheckType, MVT::i32,
    5129             : /* 10685*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5130             : /* 10687*/                      OPC_EmitInteger, MVT::i32, 8, 
    5131             : /* 10690*/                      OPC_EmitInteger, MVT::i32, 8, 
    5132             : /* 10693*/                      OPC_EmitInteger, MVT::i32, 8, 
    5133             : /* 10696*/                      OPC_EmitInteger, MVT::i1, 0, 
    5134             : /* 10699*/                      OPC_EmitInteger, MVT::i32, 0, 
    5135             : /* 10702*/                      OPC_EmitInteger, MVT::i32, 0, 
    5136             : /* 10705*/                      OPC_EmitInteger, MVT::i32, 0, 
    5137             : /* 10708*/                      OPC_EmitInteger, MVT::i32, 0, 
    5138             : /* 10711*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5139             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5140             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5141             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5142             : /* 10728*/                    0, /*End of Scope*/
    5143             : /* 10729*/                  0, /*End of Scope*/
    5144             : /* 10730*/                /*Scope*/ 10|128,3/*394*/, /*->11126*/
    5145             : /* 10732*/                  OPC_CheckChild0Same, 0,
    5146             : /* 10734*/                  OPC_MoveParent,
    5147             : /* 10735*/                  OPC_MoveChild1,
    5148             : /* 10736*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    5149             : /* 10739*/                  OPC_CheckChild0Same, 1,
    5150             : /* 10741*/                  OPC_MoveParent,
    5151             : /* 10742*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5152             : /* 10744*/                  OPC_MoveParent,
    5153             : /* 10745*/                  OPC_RecordChild1, // #2 = $src2
    5154             : /* 10746*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5155             : /* 10748*/                  OPC_MoveParent,
    5156             : /* 10749*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5157             : /* 10751*/                  OPC_MoveParent,
    5158             : /* 10752*/                  OPC_MoveChild1,
    5159             : /* 10753*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    5160             : /* 10756*/                  OPC_MoveChild0,
    5161             : /* 10757*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    5162             : /* 10760*/                  OPC_MoveChild0,
    5163             : /* 10761*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5164             : /* 10764*/                  OPC_Scope, 50|128,1/*178*/, /*->10945*/ // 2 children in Scope
    5165             : /* 10767*/                    OPC_CheckChild0Same, 1,
    5166             : /* 10769*/                    OPC_CheckChild1Integer, 16, 
    5167             : /* 10771*/                    OPC_CheckChild1Type, MVT::i32,
    5168             : /* 10773*/                    OPC_MoveParent,
    5169             : /* 10774*/                    OPC_MoveParent,
    5170             : /* 10775*/                    OPC_MoveChild1,
    5171             : /* 10776*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    5172             : /* 10779*/                    OPC_MoveChild0,
    5173             : /* 10780*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5174             : /* 10783*/                    OPC_CheckChild0Same, 0,
    5175             : /* 10785*/                    OPC_CheckChild1Integer, 16, 
    5176             : /* 10787*/                    OPC_CheckChild1Type, MVT::i32,
    5177             : /* 10789*/                    OPC_MoveParent,
    5178             : /* 10790*/                    OPC_MoveParent,
    5179             : /* 10791*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5180             : /* 10793*/                    OPC_MoveParent,
    5181             : /* 10794*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5182             : /* 10796*/                    OPC_MoveParent,
    5183             : /* 10797*/                    OPC_MoveChild1,
    5184             : /* 10798*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    5185             : /* 10801*/                    OPC_MoveChild0,
    5186             : /* 10802*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5187             : /* 10805*/                    OPC_Scope, 68, /*->10875*/ // 2 children in Scope
    5188             : /* 10807*/                      OPC_CheckChild0Same, 1,
    5189             : /* 10809*/                      OPC_CheckChild1Integer, 24, 
    5190             : /* 10811*/                      OPC_CheckChild1Type, MVT::i32,
    5191             : /* 10813*/                      OPC_MoveParent,
    5192             : /* 10814*/                      OPC_MoveChild1,
    5193             : /* 10815*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5194             : /* 10818*/                      OPC_CheckChild0Same, 0,
    5195             : /* 10820*/                      OPC_CheckChild1Integer, 24, 
    5196             : /* 10822*/                      OPC_CheckChild1Type, MVT::i32,
    5197             : /* 10824*/                      OPC_MoveParent,
    5198             : /* 10825*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5199             : /* 10827*/                      OPC_MoveParent,
    5200             : /* 10828*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5201             : /* 10830*/                      OPC_CheckType, MVT::i32,
    5202             : /* 10832*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5203             : /* 10834*/                      OPC_EmitInteger, MVT::i32, 8, 
    5204             : /* 10837*/                      OPC_EmitInteger, MVT::i32, 8, 
    5205             : /* 10840*/                      OPC_EmitInteger, MVT::i32, 8, 
    5206             : /* 10843*/                      OPC_EmitInteger, MVT::i1, 0, 
    5207             : /* 10846*/                      OPC_EmitInteger, MVT::i32, 0, 
    5208             : /* 10849*/                      OPC_EmitInteger, MVT::i32, 0, 
    5209             : /* 10852*/                      OPC_EmitInteger, MVT::i32, 0, 
    5210             : /* 10855*/                      OPC_EmitInteger, MVT::i32, 0, 
    5211             : /* 10858*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5212             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5213             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5214             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5215             : /* 10875*/                    /*Scope*/ 68, /*->10944*/
    5216             : /* 10876*/                      OPC_CheckChild0Same, 0,
    5217             : /* 10878*/                      OPC_CheckChild1Integer, 24, 
    5218             : /* 10880*/                      OPC_CheckChild1Type, MVT::i32,
    5219             : /* 10882*/                      OPC_MoveParent,
    5220             : /* 10883*/                      OPC_MoveChild1,
    5221             : /* 10884*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5222             : /* 10887*/                      OPC_CheckChild0Same, 1,
    5223             : /* 10889*/                      OPC_CheckChild1Integer, 24, 
    5224             : /* 10891*/                      OPC_CheckChild1Type, MVT::i32,
    5225             : /* 10893*/                      OPC_MoveParent,
    5226             : /* 10894*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5227             : /* 10896*/                      OPC_MoveParent,
    5228             : /* 10897*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5229             : /* 10899*/                      OPC_CheckType, MVT::i32,
    5230             : /* 10901*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5231             : /* 10903*/                      OPC_EmitInteger, MVT::i32, 8, 
    5232             : /* 10906*/                      OPC_EmitInteger, MVT::i32, 8, 
    5233             : /* 10909*/                      OPC_EmitInteger, MVT::i32, 8, 
    5234             : /* 10912*/                      OPC_EmitInteger, MVT::i1, 0, 
    5235             : /* 10915*/                      OPC_EmitInteger, MVT::i32, 0, 
    5236             : /* 10918*/                      OPC_EmitInteger, MVT::i32, 0, 
    5237             : /* 10921*/                      OPC_EmitInteger, MVT::i32, 0, 
    5238             : /* 10924*/                      OPC_EmitInteger, MVT::i32, 0, 
    5239             : /* 10927*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5240             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5241             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5242             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5243             : /* 10944*/                    0, /*End of Scope*/
    5244             : /* 10945*/                  /*Scope*/ 50|128,1/*178*/, /*->11125*/
    5245             : /* 10947*/                    OPC_CheckChild0Same, 0,
    5246             : /* 10949*/                    OPC_CheckChild1Integer, 16, 
    5247             : /* 10951*/                    OPC_CheckChild1Type, MVT::i32,
    5248             : /* 10953*/                    OPC_MoveParent,
    5249             : /* 10954*/                    OPC_MoveParent,
    5250             : /* 10955*/                    OPC_MoveChild1,
    5251             : /* 10956*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    5252             : /* 10959*/                    OPC_MoveChild0,
    5253             : /* 10960*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5254             : /* 10963*/                    OPC_CheckChild0Same, 1,
    5255             : /* 10965*/                    OPC_CheckChild1Integer, 16, 
    5256             : /* 10967*/                    OPC_CheckChild1Type, MVT::i32,
    5257             : /* 10969*/                    OPC_MoveParent,
    5258             : /* 10970*/                    OPC_MoveParent,
    5259             : /* 10971*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5260             : /* 10973*/                    OPC_MoveParent,
    5261             : /* 10974*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5262             : /* 10976*/                    OPC_MoveParent,
    5263             : /* 10977*/                    OPC_MoveChild1,
    5264             : /* 10978*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    5265             : /* 10981*/                    OPC_MoveChild0,
    5266             : /* 10982*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5267             : /* 10985*/                    OPC_Scope, 68, /*->11055*/ // 2 children in Scope
    5268             : /* 10987*/                      OPC_CheckChild0Same, 1,
    5269             : /* 10989*/                      OPC_CheckChild1Integer, 24, 
    5270             : /* 10991*/                      OPC_CheckChild1Type, MVT::i32,
    5271             : /* 10993*/                      OPC_MoveParent,
    5272             : /* 10994*/                      OPC_MoveChild1,
    5273             : /* 10995*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5274             : /* 10998*/                      OPC_CheckChild0Same, 0,
    5275             : /* 11000*/                      OPC_CheckChild1Integer, 24, 
    5276             : /* 11002*/                      OPC_CheckChild1Type, MVT::i32,
    5277             : /* 11004*/                      OPC_MoveParent,
    5278             : /* 11005*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5279             : /* 11007*/                      OPC_MoveParent,
    5280             : /* 11008*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5281             : /* 11010*/                      OPC_CheckType, MVT::i32,
    5282             : /* 11012*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5283             : /* 11014*/                      OPC_EmitInteger, MVT::i32, 8, 
    5284             : /* 11017*/                      OPC_EmitInteger, MVT::i32, 8, 
    5285             : /* 11020*/                      OPC_EmitInteger, MVT::i32, 8, 
    5286             : /* 11023*/                      OPC_EmitInteger, MVT::i1, 0, 
    5287             : /* 11026*/                      OPC_EmitInteger, MVT::i32, 0, 
    5288             : /* 11029*/                      OPC_EmitInteger, MVT::i32, 0, 
    5289             : /* 11032*/                      OPC_EmitInteger, MVT::i32, 0, 
    5290             : /* 11035*/                      OPC_EmitInteger, MVT::i32, 0, 
    5291             : /* 11038*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5292             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5293             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5294             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5295             : /* 11055*/                    /*Scope*/ 68, /*->11124*/
    5296             : /* 11056*/                      OPC_CheckChild0Same, 0,
    5297             : /* 11058*/                      OPC_CheckChild1Integer, 24, 
    5298             : /* 11060*/                      OPC_CheckChild1Type, MVT::i32,
    5299             : /* 11062*/                      OPC_MoveParent,
    5300             : /* 11063*/                      OPC_MoveChild1,
    5301             : /* 11064*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5302             : /* 11067*/                      OPC_CheckChild0Same, 1,
    5303             : /* 11069*/                      OPC_CheckChild1Integer, 24, 
    5304             : /* 11071*/                      OPC_CheckChild1Type, MVT::i32,
    5305             : /* 11073*/                      OPC_MoveParent,
    5306             : /* 11074*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    5307             : /* 11076*/                      OPC_MoveParent,
    5308             : /* 11077*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5309             : /* 11079*/                      OPC_CheckType, MVT::i32,
    5310             : /* 11081*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5311             : /* 11083*/                      OPC_EmitInteger, MVT::i32, 8, 
    5312             : /* 11086*/                      OPC_EmitInteger, MVT::i32, 8, 
    5313             : /* 11089*/                      OPC_EmitInteger, MVT::i32, 8, 
    5314             : /* 11092*/                      OPC_EmitInteger, MVT::i1, 0, 
    5315             : /* 11095*/                      OPC_EmitInteger, MVT::i32, 0, 
    5316             : /* 11098*/                      OPC_EmitInteger, MVT::i32, 0, 
    5317             : /* 11101*/                      OPC_EmitInteger, MVT::i32, 0, 
    5318             : /* 11104*/                      OPC_EmitInteger, MVT::i32, 0, 
    5319             : /* 11107*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    5320             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    5321             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    5322             :                                 // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5323             : /* 11124*/                    0, /*End of Scope*/
    5324             : /* 11125*/                  0, /*End of Scope*/
    5325             : /* 11126*/                0, /*End of Scope*/
    5326             : /* 11127*/              0, /*End of Scope*/
    5327             : /* 11128*/            /*SwitchOpcode*/ 125|128,26/*3453*/, TARGET_VAL(AMDGPUISD::MUL_I24),// ->14585
    5328             : /* 11132*/              OPC_MoveChild0,
    5329             : /* 11133*/              OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5330             : /* 11136*/              OPC_MoveChild0,
    5331             : /* 11137*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5332             : /* 11140*/              OPC_RecordChild0, // #0 = $src0
    5333             : /* 11141*/              OPC_CheckChild1Integer, 8, 
    5334             : /* 11143*/              OPC_CheckChild1Type, MVT::i32,
    5335             : /* 11145*/              OPC_MoveParent,
    5336             : /* 11146*/              OPC_MoveChild1,
    5337             : /* 11147*/              OPC_CheckValueType, MVT::i8,
    5338             : /* 11149*/              OPC_MoveParent,
    5339             : /* 11150*/              OPC_MoveParent,
    5340             : /* 11151*/              OPC_MoveChild1,
    5341             : /* 11152*/              OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5342             : /* 11155*/              OPC_MoveChild0,
    5343             : /* 11156*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5344             : /* 11159*/              OPC_RecordChild0, // #1 = $src1
    5345             : /* 11160*/              OPC_CheckChild1Integer, 8, 
    5346             : /* 11162*/              OPC_CheckChild1Type, MVT::i32,
    5347             : /* 11164*/              OPC_MoveParent,
    5348             : /* 11165*/              OPC_MoveChild1,
    5349             : /* 11166*/              OPC_CheckValueType, MVT::i8,
    5350             : /* 11168*/              OPC_MoveParent,
    5351             : /* 11169*/              OPC_MoveParent,
    5352             : /* 11170*/              OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5353             : /* 11172*/              OPC_MoveParent,
    5354             : /* 11173*/              OPC_MoveChild1,
    5355             : /* 11174*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5356             : /* 11177*/              OPC_Scope, 81|128,6/*849*/, /*->12029*/ // 4 children in Scope
    5357             : /* 11180*/                OPC_RecordChild0, // #2 = $src2
    5358             : /* 11181*/                OPC_MoveChild1,
    5359             : /* 11182*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5360             : /* 11185*/                OPC_MoveChild0,
    5361             : /* 11186*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5362             : /* 11189*/                OPC_Scope, 33|128,3/*417*/, /*->11609*/ // 2 children in Scope
    5363             : /* 11192*/                  OPC_CheckChild0Same, 0,
    5364             : /* 11194*/                  OPC_MoveChild1,
    5365             : /* 11195*/                  OPC_CheckValueType, MVT::i8,
    5366             : /* 11197*/                  OPC_MoveParent,
    5367             : /* 11198*/                  OPC_MoveParent,
    5368             : /* 11199*/                  OPC_MoveChild1,
    5369             : /* 11200*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5370             : /* 11203*/                  OPC_CheckChild0Same, 1,
    5371             : /* 11205*/                  OPC_MoveChild1,
    5372             : /* 11206*/                  OPC_CheckValueType, MVT::i8,
    5373             : /* 11208*/                  OPC_MoveParent,
    5374             : /* 11209*/                  OPC_MoveParent,
    5375             : /* 11210*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5376             : /* 11212*/                  OPC_MoveParent,
    5377             : /* 11213*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5378             : /* 11215*/                  OPC_MoveParent,
    5379             : /* 11216*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5380             : /* 11218*/                  OPC_MoveParent,
    5381             : /* 11219*/                  OPC_MoveChild1,
    5382             : /* 11220*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5383             : /* 11223*/                  OPC_MoveChild0,
    5384             : /* 11224*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5385             : /* 11227*/                  OPC_MoveChild0,
    5386             : /* 11228*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5387             : /* 11231*/                  OPC_Scope, 58|128,1/*186*/, /*->11420*/ // 2 children in Scope
    5388             : /* 11234*/                    OPC_CheckChild0Same, 0,
    5389             : /* 11236*/                    OPC_CheckChild1Integer, 16, 
    5390             : /* 11238*/                    OPC_CheckChild1Type, MVT::i32,
    5391             : /* 11240*/                    OPC_MoveParent,
    5392             : /* 11241*/                    OPC_MoveChild1,
    5393             : /* 11242*/                    OPC_CheckValueType, MVT::i8,
    5394             : /* 11244*/                    OPC_MoveParent,
    5395             : /* 11245*/                    OPC_MoveParent,
    5396             : /* 11246*/                    OPC_MoveChild1,
    5397             : /* 11247*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5398             : /* 11250*/                    OPC_MoveChild0,
    5399             : /* 11251*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5400             : /* 11254*/                    OPC_CheckChild0Same, 1,
    5401             : /* 11256*/                    OPC_CheckChild1Integer, 16, 
    5402             : /* 11258*/                    OPC_CheckChild1Type, MVT::i32,
    5403             : /* 11260*/                    OPC_MoveParent,
    5404             : /* 11261*/                    OPC_MoveChild1,
    5405             : /* 11262*/                    OPC_CheckValueType, MVT::i8,
    5406             : /* 11264*/                    OPC_MoveParent,
    5407             : /* 11265*/                    OPC_MoveParent,
    5408             : /* 11266*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5409             : /* 11268*/                    OPC_MoveParent,
    5410             : /* 11269*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5411             : /* 11271*/                    OPC_MoveParent,
    5412             : /* 11272*/                    OPC_MoveChild1,
    5413             : /* 11273*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5414             : /* 11276*/                    OPC_MoveChild0,
    5415             : /* 11277*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5416             : /* 11280*/                    OPC_Scope, 68, /*->11350*/ // 2 children in Scope
    5417             : /* 11282*/                      OPC_CheckChild0Same, 0,
    5418             : /* 11284*/                      OPC_CheckChild1Integer, 24, 
    5419             : /* 11286*/                      OPC_CheckChild1Type, MVT::i32,
    5420             : /* 11288*/                      OPC_MoveParent,
    5421             : /* 11289*/                      OPC_MoveChild1,
    5422             : /* 11290*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5423             : /* 11293*/                      OPC_CheckChild0Same, 1,
    5424             : /* 11295*/                      OPC_CheckChild1Integer, 24, 
    5425             : /* 11297*/                      OPC_CheckChild1Type, MVT::i32,
    5426             : /* 11299*/                      OPC_MoveParent,
    5427             : /* 11300*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5428             : /* 11302*/                      OPC_MoveParent,
    5429             : /* 11303*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5430             : /* 11305*/                      OPC_CheckType, MVT::i32,
    5431             : /* 11307*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5432             : /* 11309*/                      OPC_EmitInteger, MVT::i32, 8, 
    5433             : /* 11312*/                      OPC_EmitInteger, MVT::i32, 8, 
    5434             : /* 11315*/                      OPC_EmitInteger, MVT::i32, 8, 
    5435             : /* 11318*/                      OPC_EmitInteger, MVT::i1, 0, 
    5436             : /* 11321*/                      OPC_EmitInteger, MVT::i32, 0, 
    5437             : /* 11324*/                      OPC_EmitInteger, MVT::i32, 0, 
    5438             : /* 11327*/                      OPC_EmitInteger, MVT::i32, 0, 
    5439             : /* 11330*/                      OPC_EmitInteger, MVT::i32, 0, 
    5440             : /* 11333*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5441             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5442             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5443             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5444             : /* 11350*/                    /*Scope*/ 68, /*->11419*/
    5445             : /* 11351*/                      OPC_CheckChild0Same, 1,
    5446             : /* 11353*/                      OPC_CheckChild1Integer, 24, 
    5447             : /* 11355*/                      OPC_CheckChild1Type, MVT::i32,
    5448             : /* 11357*/                      OPC_MoveParent,
    5449             : /* 11358*/                      OPC_MoveChild1,
    5450             : /* 11359*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5451             : /* 11362*/                      OPC_CheckChild0Same, 0,
    5452             : /* 11364*/                      OPC_CheckChild1Integer, 24, 
    5453             : /* 11366*/                      OPC_CheckChild1Type, MVT::i32,
    5454             : /* 11368*/                      OPC_MoveParent,
    5455             : /* 11369*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5456             : /* 11371*/                      OPC_MoveParent,
    5457             : /* 11372*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5458             : /* 11374*/                      OPC_CheckType, MVT::i32,
    5459             : /* 11376*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5460             : /* 11378*/                      OPC_EmitInteger, MVT::i32, 8, 
    5461             : /* 11381*/                      OPC_EmitInteger, MVT::i32, 8, 
    5462             : /* 11384*/                      OPC_EmitInteger, MVT::i32, 8, 
    5463             : /* 11387*/                      OPC_EmitInteger, MVT::i1, 0, 
    5464             : /* 11390*/                      OPC_EmitInteger, MVT::i32, 0, 
    5465             : /* 11393*/                      OPC_EmitInteger, MVT::i32, 0, 
    5466             : /* 11396*/                      OPC_EmitInteger, MVT::i32, 0, 
    5467             : /* 11399*/                      OPC_EmitInteger, MVT::i32, 0, 
    5468             : /* 11402*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5469             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5470             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5471             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5472             : /* 11419*/                    0, /*End of Scope*/
    5473             : /* 11420*/                  /*Scope*/ 58|128,1/*186*/, /*->11608*/
    5474             : /* 11422*/                    OPC_CheckChild0Same, 1,
    5475             : /* 11424*/                    OPC_CheckChild1Integer, 16, 
    5476             : /* 11426*/                    OPC_CheckChild1Type, MVT::i32,
    5477             : /* 11428*/                    OPC_MoveParent,
    5478             : /* 11429*/                    OPC_MoveChild1,
    5479             : /* 11430*/                    OPC_CheckValueType, MVT::i8,
    5480             : /* 11432*/                    OPC_MoveParent,
    5481             : /* 11433*/                    OPC_MoveParent,
    5482             : /* 11434*/                    OPC_MoveChild1,
    5483             : /* 11435*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5484             : /* 11438*/                    OPC_MoveChild0,
    5485             : /* 11439*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5486             : /* 11442*/                    OPC_CheckChild0Same, 0,
    5487             : /* 11444*/                    OPC_CheckChild1Integer, 16, 
    5488             : /* 11446*/                    OPC_CheckChild1Type, MVT::i32,
    5489             : /* 11448*/                    OPC_MoveParent,
    5490             : /* 11449*/                    OPC_MoveChild1,
    5491             : /* 11450*/                    OPC_CheckValueType, MVT::i8,
    5492             : /* 11452*/                    OPC_MoveParent,
    5493             : /* 11453*/                    OPC_MoveParent,
    5494             : /* 11454*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5495             : /* 11456*/                    OPC_MoveParent,
    5496             : /* 11457*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5497             : /* 11459*/                    OPC_MoveParent,
    5498             : /* 11460*/                    OPC_MoveChild1,
    5499             : /* 11461*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5500             : /* 11464*/                    OPC_MoveChild0,
    5501             : /* 11465*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5502             : /* 11468*/                    OPC_Scope, 68, /*->11538*/ // 2 children in Scope
    5503             : /* 11470*/                      OPC_CheckChild0Same, 0,
    5504             : /* 11472*/                      OPC_CheckChild1Integer, 24, 
    5505             : /* 11474*/                      OPC_CheckChild1Type, MVT::i32,
    5506             : /* 11476*/                      OPC_MoveParent,
    5507             : /* 11477*/                      OPC_MoveChild1,
    5508             : /* 11478*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5509             : /* 11481*/                      OPC_CheckChild0Same, 1,
    5510             : /* 11483*/                      OPC_CheckChild1Integer, 24, 
    5511             : /* 11485*/                      OPC_CheckChild1Type, MVT::i32,
    5512             : /* 11487*/                      OPC_MoveParent,
    5513             : /* 11488*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5514             : /* 11490*/                      OPC_MoveParent,
    5515             : /* 11491*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5516             : /* 11493*/                      OPC_CheckType, MVT::i32,
    5517             : /* 11495*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5518             : /* 11497*/                      OPC_EmitInteger, MVT::i32, 8, 
    5519             : /* 11500*/                      OPC_EmitInteger, MVT::i32, 8, 
    5520             : /* 11503*/                      OPC_EmitInteger, MVT::i32, 8, 
    5521             : /* 11506*/                      OPC_EmitInteger, MVT::i1, 0, 
    5522             : /* 11509*/                      OPC_EmitInteger, MVT::i32, 0, 
    5523             : /* 11512*/                      OPC_EmitInteger, MVT::i32, 0, 
    5524             : /* 11515*/                      OPC_EmitInteger, MVT::i32, 0, 
    5525             : /* 11518*/                      OPC_EmitInteger, MVT::i32, 0, 
    5526             : /* 11521*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5527             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5528             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5529             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5530             : /* 11538*/                    /*Scope*/ 68, /*->11607*/
    5531             : /* 11539*/                      OPC_CheckChild0Same, 1,
    5532             : /* 11541*/                      OPC_CheckChild1Integer, 24, 
    5533             : /* 11543*/                      OPC_CheckChild1Type, MVT::i32,
    5534             : /* 11545*/                      OPC_MoveParent,
    5535             : /* 11546*/                      OPC_MoveChild1,
    5536             : /* 11547*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5537             : /* 11550*/                      OPC_CheckChild0Same, 0,
    5538             : /* 11552*/                      OPC_CheckChild1Integer, 24, 
    5539             : /* 11554*/                      OPC_CheckChild1Type, MVT::i32,
    5540             : /* 11556*/                      OPC_MoveParent,
    5541             : /* 11557*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5542             : /* 11559*/                      OPC_MoveParent,
    5543             : /* 11560*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5544             : /* 11562*/                      OPC_CheckType, MVT::i32,
    5545             : /* 11564*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5546             : /* 11566*/                      OPC_EmitInteger, MVT::i32, 8, 
    5547             : /* 11569*/                      OPC_EmitInteger, MVT::i32, 8, 
    5548             : /* 11572*/                      OPC_EmitInteger, MVT::i32, 8, 
    5549             : /* 11575*/                      OPC_EmitInteger, MVT::i1, 0, 
    5550             : /* 11578*/                      OPC_EmitInteger, MVT::i32, 0, 
    5551             : /* 11581*/                      OPC_EmitInteger, MVT::i32, 0, 
    5552             : /* 11584*/                      OPC_EmitInteger, MVT::i32, 0, 
    5553             : /* 11587*/                      OPC_EmitInteger, MVT::i32, 0, 
    5554             : /* 11590*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5555             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5556             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5557             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5558             : /* 11607*/                    0, /*End of Scope*/
    5559             : /* 11608*/                  0, /*End of Scope*/
    5560             : /* 11609*/                /*Scope*/ 33|128,3/*417*/, /*->12028*/
    5561             : /* 11611*/                  OPC_CheckChild0Same, 1,
    5562             : /* 11613*/                  OPC_MoveChild1,
    5563             : /* 11614*/                  OPC_CheckValueType, MVT::i8,
    5564             : /* 11616*/                  OPC_MoveParent,
    5565             : /* 11617*/                  OPC_MoveParent,
    5566             : /* 11618*/                  OPC_MoveChild1,
    5567             : /* 11619*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5568             : /* 11622*/                  OPC_CheckChild0Same, 0,
    5569             : /* 11624*/                  OPC_MoveChild1,
    5570             : /* 11625*/                  OPC_CheckValueType, MVT::i8,
    5571             : /* 11627*/                  OPC_MoveParent,
    5572             : /* 11628*/                  OPC_MoveParent,
    5573             : /* 11629*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5574             : /* 11631*/                  OPC_MoveParent,
    5575             : /* 11632*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5576             : /* 11634*/                  OPC_MoveParent,
    5577             : /* 11635*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5578             : /* 11637*/                  OPC_MoveParent,
    5579             : /* 11638*/                  OPC_MoveChild1,
    5580             : /* 11639*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5581             : /* 11642*/                  OPC_MoveChild0,
    5582             : /* 11643*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5583             : /* 11646*/                  OPC_MoveChild0,
    5584             : /* 11647*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5585             : /* 11650*/                  OPC_Scope, 58|128,1/*186*/, /*->11839*/ // 2 children in Scope
    5586             : /* 11653*/                    OPC_CheckChild0Same, 0,
    5587             : /* 11655*/                    OPC_CheckChild1Integer, 16, 
    5588             : /* 11657*/                    OPC_CheckChild1Type, MVT::i32,
    5589             : /* 11659*/                    OPC_MoveParent,
    5590             : /* 11660*/                    OPC_MoveChild1,
    5591             : /* 11661*/                    OPC_CheckValueType, MVT::i8,
    5592             : /* 11663*/                    OPC_MoveParent,
    5593             : /* 11664*/                    OPC_MoveParent,
    5594             : /* 11665*/                    OPC_MoveChild1,
    5595             : /* 11666*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5596             : /* 11669*/                    OPC_MoveChild0,
    5597             : /* 11670*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5598             : /* 11673*/                    OPC_CheckChild0Same, 1,
    5599             : /* 11675*/                    OPC_CheckChild1Integer, 16, 
    5600             : /* 11677*/                    OPC_CheckChild1Type, MVT::i32,
    5601             : /* 11679*/                    OPC_MoveParent,
    5602             : /* 11680*/                    OPC_MoveChild1,
    5603             : /* 11681*/                    OPC_CheckValueType, MVT::i8,
    5604             : /* 11683*/                    OPC_MoveParent,
    5605             : /* 11684*/                    OPC_MoveParent,
    5606             : /* 11685*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5607             : /* 11687*/                    OPC_MoveParent,
    5608             : /* 11688*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5609             : /* 11690*/                    OPC_MoveParent,
    5610             : /* 11691*/                    OPC_MoveChild1,
    5611             : /* 11692*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5612             : /* 11695*/                    OPC_MoveChild0,
    5613             : /* 11696*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5614             : /* 11699*/                    OPC_Scope, 68, /*->11769*/ // 2 children in Scope
    5615             : /* 11701*/                      OPC_CheckChild0Same, 0,
    5616             : /* 11703*/                      OPC_CheckChild1Integer, 24, 
    5617             : /* 11705*/                      OPC_CheckChild1Type, MVT::i32,
    5618             : /* 11707*/                      OPC_MoveParent,
    5619             : /* 11708*/                      OPC_MoveChild1,
    5620             : /* 11709*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5621             : /* 11712*/                      OPC_CheckChild0Same, 1,
    5622             : /* 11714*/                      OPC_CheckChild1Integer, 24, 
    5623             : /* 11716*/                      OPC_CheckChild1Type, MVT::i32,
    5624             : /* 11718*/                      OPC_MoveParent,
    5625             : /* 11719*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5626             : /* 11721*/                      OPC_MoveParent,
    5627             : /* 11722*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5628             : /* 11724*/                      OPC_CheckType, MVT::i32,
    5629             : /* 11726*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5630             : /* 11728*/                      OPC_EmitInteger, MVT::i32, 8, 
    5631             : /* 11731*/                      OPC_EmitInteger, MVT::i32, 8, 
    5632             : /* 11734*/                      OPC_EmitInteger, MVT::i32, 8, 
    5633             : /* 11737*/                      OPC_EmitInteger, MVT::i1, 0, 
    5634             : /* 11740*/                      OPC_EmitInteger, MVT::i32, 0, 
    5635             : /* 11743*/                      OPC_EmitInteger, MVT::i32, 0, 
    5636             : /* 11746*/                      OPC_EmitInteger, MVT::i32, 0, 
    5637             : /* 11749*/                      OPC_EmitInteger, MVT::i32, 0, 
    5638             : /* 11752*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5639             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5640             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5641             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5642             : /* 11769*/                    /*Scope*/ 68, /*->11838*/
    5643             : /* 11770*/                      OPC_CheckChild0Same, 1,
    5644             : /* 11772*/                      OPC_CheckChild1Integer, 24, 
    5645             : /* 11774*/                      OPC_CheckChild1Type, MVT::i32,
    5646             : /* 11776*/                      OPC_MoveParent,
    5647             : /* 11777*/                      OPC_MoveChild1,
    5648             : /* 11778*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5649             : /* 11781*/                      OPC_CheckChild0Same, 0,
    5650             : /* 11783*/                      OPC_CheckChild1Integer, 24, 
    5651             : /* 11785*/                      OPC_CheckChild1Type, MVT::i32,
    5652             : /* 11787*/                      OPC_MoveParent,
    5653             : /* 11788*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5654             : /* 11790*/                      OPC_MoveParent,
    5655             : /* 11791*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5656             : /* 11793*/                      OPC_CheckType, MVT::i32,
    5657             : /* 11795*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5658             : /* 11797*/                      OPC_EmitInteger, MVT::i32, 8, 
    5659             : /* 11800*/                      OPC_EmitInteger, MVT::i32, 8, 
    5660             : /* 11803*/                      OPC_EmitInteger, MVT::i32, 8, 
    5661             : /* 11806*/                      OPC_EmitInteger, MVT::i1, 0, 
    5662             : /* 11809*/                      OPC_EmitInteger, MVT::i32, 0, 
    5663             : /* 11812*/                      OPC_EmitInteger, MVT::i32, 0, 
    5664             : /* 11815*/                      OPC_EmitInteger, MVT::i32, 0, 
    5665             : /* 11818*/                      OPC_EmitInteger, MVT::i32, 0, 
    5666             : /* 11821*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5667             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5668             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5669             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5670             : /* 11838*/                    0, /*End of Scope*/
    5671             : /* 11839*/                  /*Scope*/ 58|128,1/*186*/, /*->12027*/
    5672             : /* 11841*/                    OPC_CheckChild0Same, 1,
    5673             : /* 11843*/                    OPC_CheckChild1Integer, 16, 
    5674             : /* 11845*/                    OPC_CheckChild1Type, MVT::i32,
    5675             : /* 11847*/                    OPC_MoveParent,
    5676             : /* 11848*/                    OPC_MoveChild1,
    5677             : /* 11849*/                    OPC_CheckValueType, MVT::i8,
    5678             : /* 11851*/                    OPC_MoveParent,
    5679             : /* 11852*/                    OPC_MoveParent,
    5680             : /* 11853*/                    OPC_MoveChild1,
    5681             : /* 11854*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5682             : /* 11857*/                    OPC_MoveChild0,
    5683             : /* 11858*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5684             : /* 11861*/                    OPC_CheckChild0Same, 0,
    5685             : /* 11863*/                    OPC_CheckChild1Integer, 16, 
    5686             : /* 11865*/                    OPC_CheckChild1Type, MVT::i32,
    5687             : /* 11867*/                    OPC_MoveParent,
    5688             : /* 11868*/                    OPC_MoveChild1,
    5689             : /* 11869*/                    OPC_CheckValueType, MVT::i8,
    5690             : /* 11871*/                    OPC_MoveParent,
    5691             : /* 11872*/                    OPC_MoveParent,
    5692             : /* 11873*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5693             : /* 11875*/                    OPC_MoveParent,
    5694             : /* 11876*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5695             : /* 11878*/                    OPC_MoveParent,
    5696             : /* 11879*/                    OPC_MoveChild1,
    5697             : /* 11880*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5698             : /* 11883*/                    OPC_MoveChild0,
    5699             : /* 11884*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5700             : /* 11887*/                    OPC_Scope, 68, /*->11957*/ // 2 children in Scope
    5701             : /* 11889*/                      OPC_CheckChild0Same, 0,
    5702             : /* 11891*/                      OPC_CheckChild1Integer, 24, 
    5703             : /* 11893*/                      OPC_CheckChild1Type, MVT::i32,
    5704             : /* 11895*/                      OPC_MoveParent,
    5705             : /* 11896*/                      OPC_MoveChild1,
    5706             : /* 11897*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5707             : /* 11900*/                      OPC_CheckChild0Same, 1,
    5708             : /* 11902*/                      OPC_CheckChild1Integer, 24, 
    5709             : /* 11904*/                      OPC_CheckChild1Type, MVT::i32,
    5710             : /* 11906*/                      OPC_MoveParent,
    5711             : /* 11907*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5712             : /* 11909*/                      OPC_MoveParent,
    5713             : /* 11910*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5714             : /* 11912*/                      OPC_CheckType, MVT::i32,
    5715             : /* 11914*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5716             : /* 11916*/                      OPC_EmitInteger, MVT::i32, 8, 
    5717             : /* 11919*/                      OPC_EmitInteger, MVT::i32, 8, 
    5718             : /* 11922*/                      OPC_EmitInteger, MVT::i32, 8, 
    5719             : /* 11925*/                      OPC_EmitInteger, MVT::i1, 0, 
    5720             : /* 11928*/                      OPC_EmitInteger, MVT::i32, 0, 
    5721             : /* 11931*/                      OPC_EmitInteger, MVT::i32, 0, 
    5722             : /* 11934*/                      OPC_EmitInteger, MVT::i32, 0, 
    5723             : /* 11937*/                      OPC_EmitInteger, MVT::i32, 0, 
    5724             : /* 11940*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5725             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5726             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5727             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5728             : /* 11957*/                    /*Scope*/ 68, /*->12026*/
    5729             : /* 11958*/                      OPC_CheckChild0Same, 1,
    5730             : /* 11960*/                      OPC_CheckChild1Integer, 24, 
    5731             : /* 11962*/                      OPC_CheckChild1Type, MVT::i32,
    5732             : /* 11964*/                      OPC_MoveParent,
    5733             : /* 11965*/                      OPC_MoveChild1,
    5734             : /* 11966*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5735             : /* 11969*/                      OPC_CheckChild0Same, 0,
    5736             : /* 11971*/                      OPC_CheckChild1Integer, 24, 
    5737             : /* 11973*/                      OPC_CheckChild1Type, MVT::i32,
    5738             : /* 11975*/                      OPC_MoveParent,
    5739             : /* 11976*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5740             : /* 11978*/                      OPC_MoveParent,
    5741             : /* 11979*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5742             : /* 11981*/                      OPC_CheckType, MVT::i32,
    5743             : /* 11983*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5744             : /* 11985*/                      OPC_EmitInteger, MVT::i32, 8, 
    5745             : /* 11988*/                      OPC_EmitInteger, MVT::i32, 8, 
    5746             : /* 11991*/                      OPC_EmitInteger, MVT::i32, 8, 
    5747             : /* 11994*/                      OPC_EmitInteger, MVT::i1, 0, 
    5748             : /* 11997*/                      OPC_EmitInteger, MVT::i32, 0, 
    5749             : /* 12000*/                      OPC_EmitInteger, MVT::i32, 0, 
    5750             : /* 12003*/                      OPC_EmitInteger, MVT::i32, 0, 
    5751             : /* 12006*/                      OPC_EmitInteger, MVT::i32, 0, 
    5752             : /* 12009*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5753             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5754             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5755             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5756             : /* 12026*/                    0, /*End of Scope*/
    5757             : /* 12027*/                  0, /*End of Scope*/
    5758             : /* 12028*/                0, /*End of Scope*/
    5759             : /* 12029*/              /*Scope*/ 82|128,6/*850*/, /*->12881*/
    5760             : /* 12031*/                OPC_MoveChild0,
    5761             : /* 12032*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5762             : /* 12035*/                OPC_MoveChild0,
    5763             : /* 12036*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5764             : /* 12039*/                OPC_Scope, 34|128,3/*418*/, /*->12460*/ // 2 children in Scope
    5765             : /* 12042*/                  OPC_CheckChild0Same, 0,
    5766             : /* 12044*/                  OPC_MoveChild1,
    5767             : /* 12045*/                  OPC_CheckValueType, MVT::i8,
    5768             : /* 12047*/                  OPC_MoveParent,
    5769             : /* 12048*/                  OPC_MoveParent,
    5770             : /* 12049*/                  OPC_MoveChild1,
    5771             : /* 12050*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5772             : /* 12053*/                  OPC_CheckChild0Same, 1,
    5773             : /* 12055*/                  OPC_MoveChild1,
    5774             : /* 12056*/                  OPC_CheckValueType, MVT::i8,
    5775             : /* 12058*/                  OPC_MoveParent,
    5776             : /* 12059*/                  OPC_MoveParent,
    5777             : /* 12060*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5778             : /* 12062*/                  OPC_MoveParent,
    5779             : /* 12063*/                  OPC_RecordChild1, // #2 = $src2
    5780             : /* 12064*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5781             : /* 12066*/                  OPC_MoveParent,
    5782             : /* 12067*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5783             : /* 12069*/                  OPC_MoveParent,
    5784             : /* 12070*/                  OPC_MoveChild1,
    5785             : /* 12071*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5786             : /* 12074*/                  OPC_MoveChild0,
    5787             : /* 12075*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5788             : /* 12078*/                  OPC_MoveChild0,
    5789             : /* 12079*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5790             : /* 12082*/                  OPC_Scope, 58|128,1/*186*/, /*->12271*/ // 2 children in Scope
    5791             : /* 12085*/                    OPC_CheckChild0Same, 0,
    5792             : /* 12087*/                    OPC_CheckChild1Integer, 16, 
    5793             : /* 12089*/                    OPC_CheckChild1Type, MVT::i32,
    5794             : /* 12091*/                    OPC_MoveParent,
    5795             : /* 12092*/                    OPC_MoveChild1,
    5796             : /* 12093*/                    OPC_CheckValueType, MVT::i8,
    5797             : /* 12095*/                    OPC_MoveParent,
    5798             : /* 12096*/                    OPC_MoveParent,
    5799             : /* 12097*/                    OPC_MoveChild1,
    5800             : /* 12098*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5801             : /* 12101*/                    OPC_MoveChild0,
    5802             : /* 12102*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5803             : /* 12105*/                    OPC_CheckChild0Same, 1,
    5804             : /* 12107*/                    OPC_CheckChild1Integer, 16, 
    5805             : /* 12109*/                    OPC_CheckChild1Type, MVT::i32,
    5806             : /* 12111*/                    OPC_MoveParent,
    5807             : /* 12112*/                    OPC_MoveChild1,
    5808             : /* 12113*/                    OPC_CheckValueType, MVT::i8,
    5809             : /* 12115*/                    OPC_MoveParent,
    5810             : /* 12116*/                    OPC_MoveParent,
    5811             : /* 12117*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5812             : /* 12119*/                    OPC_MoveParent,
    5813             : /* 12120*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5814             : /* 12122*/                    OPC_MoveParent,
    5815             : /* 12123*/                    OPC_MoveChild1,
    5816             : /* 12124*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5817             : /* 12127*/                    OPC_MoveChild0,
    5818             : /* 12128*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5819             : /* 12131*/                    OPC_Scope, 68, /*->12201*/ // 2 children in Scope
    5820             : /* 12133*/                      OPC_CheckChild0Same, 0,
    5821             : /* 12135*/                      OPC_CheckChild1Integer, 24, 
    5822             : /* 12137*/                      OPC_CheckChild1Type, MVT::i32,
    5823             : /* 12139*/                      OPC_MoveParent,
    5824             : /* 12140*/                      OPC_MoveChild1,
    5825             : /* 12141*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5826             : /* 12144*/                      OPC_CheckChild0Same, 1,
    5827             : /* 12146*/                      OPC_CheckChild1Integer, 24, 
    5828             : /* 12148*/                      OPC_CheckChild1Type, MVT::i32,
    5829             : /* 12150*/                      OPC_MoveParent,
    5830             : /* 12151*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5831             : /* 12153*/                      OPC_MoveParent,
    5832             : /* 12154*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5833             : /* 12156*/                      OPC_CheckType, MVT::i32,
    5834             : /* 12158*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5835             : /* 12160*/                      OPC_EmitInteger, MVT::i32, 8, 
    5836             : /* 12163*/                      OPC_EmitInteger, MVT::i32, 8, 
    5837             : /* 12166*/                      OPC_EmitInteger, MVT::i32, 8, 
    5838             : /* 12169*/                      OPC_EmitInteger, MVT::i1, 0, 
    5839             : /* 12172*/                      OPC_EmitInteger, MVT::i32, 0, 
    5840             : /* 12175*/                      OPC_EmitInteger, MVT::i32, 0, 
    5841             : /* 12178*/                      OPC_EmitInteger, MVT::i32, 0, 
    5842             : /* 12181*/                      OPC_EmitInteger, MVT::i32, 0, 
    5843             : /* 12184*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5844             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5845             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5846             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5847             : /* 12201*/                    /*Scope*/ 68, /*->12270*/
    5848             : /* 12202*/                      OPC_CheckChild0Same, 1,
    5849             : /* 12204*/                      OPC_CheckChild1Integer, 24, 
    5850             : /* 12206*/                      OPC_CheckChild1Type, MVT::i32,
    5851             : /* 12208*/                      OPC_MoveParent,
    5852             : /* 12209*/                      OPC_MoveChild1,
    5853             : /* 12210*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5854             : /* 12213*/                      OPC_CheckChild0Same, 0,
    5855             : /* 12215*/                      OPC_CheckChild1Integer, 24, 
    5856             : /* 12217*/                      OPC_CheckChild1Type, MVT::i32,
    5857             : /* 12219*/                      OPC_MoveParent,
    5858             : /* 12220*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5859             : /* 12222*/                      OPC_MoveParent,
    5860             : /* 12223*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5861             : /* 12225*/                      OPC_CheckType, MVT::i32,
    5862             : /* 12227*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5863             : /* 12229*/                      OPC_EmitInteger, MVT::i32, 8, 
    5864             : /* 12232*/                      OPC_EmitInteger, MVT::i32, 8, 
    5865             : /* 12235*/                      OPC_EmitInteger, MVT::i32, 8, 
    5866             : /* 12238*/                      OPC_EmitInteger, MVT::i1, 0, 
    5867             : /* 12241*/                      OPC_EmitInteger, MVT::i32, 0, 
    5868             : /* 12244*/                      OPC_EmitInteger, MVT::i32, 0, 
    5869             : /* 12247*/                      OPC_EmitInteger, MVT::i32, 0, 
    5870             : /* 12250*/                      OPC_EmitInteger, MVT::i32, 0, 
    5871             : /* 12253*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5872             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5873             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5874             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5875             : /* 12270*/                    0, /*End of Scope*/
    5876             : /* 12271*/                  /*Scope*/ 58|128,1/*186*/, /*->12459*/
    5877             : /* 12273*/                    OPC_CheckChild0Same, 1,
    5878             : /* 12275*/                    OPC_CheckChild1Integer, 16, 
    5879             : /* 12277*/                    OPC_CheckChild1Type, MVT::i32,
    5880             : /* 12279*/                    OPC_MoveParent,
    5881             : /* 12280*/                    OPC_MoveChild1,
    5882             : /* 12281*/                    OPC_CheckValueType, MVT::i8,
    5883             : /* 12283*/                    OPC_MoveParent,
    5884             : /* 12284*/                    OPC_MoveParent,
    5885             : /* 12285*/                    OPC_MoveChild1,
    5886             : /* 12286*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5887             : /* 12289*/                    OPC_MoveChild0,
    5888             : /* 12290*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5889             : /* 12293*/                    OPC_CheckChild0Same, 0,
    5890             : /* 12295*/                    OPC_CheckChild1Integer, 16, 
    5891             : /* 12297*/                    OPC_CheckChild1Type, MVT::i32,
    5892             : /* 12299*/                    OPC_MoveParent,
    5893             : /* 12300*/                    OPC_MoveChild1,
    5894             : /* 12301*/                    OPC_CheckValueType, MVT::i8,
    5895             : /* 12303*/                    OPC_MoveParent,
    5896             : /* 12304*/                    OPC_MoveParent,
    5897             : /* 12305*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5898             : /* 12307*/                    OPC_MoveParent,
    5899             : /* 12308*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5900             : /* 12310*/                    OPC_MoveParent,
    5901             : /* 12311*/                    OPC_MoveChild1,
    5902             : /* 12312*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5903             : /* 12315*/                    OPC_MoveChild0,
    5904             : /* 12316*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5905             : /* 12319*/                    OPC_Scope, 68, /*->12389*/ // 2 children in Scope
    5906             : /* 12321*/                      OPC_CheckChild0Same, 0,
    5907             : /* 12323*/                      OPC_CheckChild1Integer, 24, 
    5908             : /* 12325*/                      OPC_CheckChild1Type, MVT::i32,
    5909             : /* 12327*/                      OPC_MoveParent,
    5910             : /* 12328*/                      OPC_MoveChild1,
    5911             : /* 12329*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5912             : /* 12332*/                      OPC_CheckChild0Same, 1,
    5913             : /* 12334*/                      OPC_CheckChild1Integer, 24, 
    5914             : /* 12336*/                      OPC_CheckChild1Type, MVT::i32,
    5915             : /* 12338*/                      OPC_MoveParent,
    5916             : /* 12339*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5917             : /* 12341*/                      OPC_MoveParent,
    5918             : /* 12342*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5919             : /* 12344*/                      OPC_CheckType, MVT::i32,
    5920             : /* 12346*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5921             : /* 12348*/                      OPC_EmitInteger, MVT::i32, 8, 
    5922             : /* 12351*/                      OPC_EmitInteger, MVT::i32, 8, 
    5923             : /* 12354*/                      OPC_EmitInteger, MVT::i32, 8, 
    5924             : /* 12357*/                      OPC_EmitInteger, MVT::i1, 0, 
    5925             : /* 12360*/                      OPC_EmitInteger, MVT::i32, 0, 
    5926             : /* 12363*/                      OPC_EmitInteger, MVT::i32, 0, 
    5927             : /* 12366*/                      OPC_EmitInteger, MVT::i32, 0, 
    5928             : /* 12369*/                      OPC_EmitInteger, MVT::i32, 0, 
    5929             : /* 12372*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5930             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5931             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5932             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5933             : /* 12389*/                    /*Scope*/ 68, /*->12458*/
    5934             : /* 12390*/                      OPC_CheckChild0Same, 1,
    5935             : /* 12392*/                      OPC_CheckChild1Integer, 24, 
    5936             : /* 12394*/                      OPC_CheckChild1Type, MVT::i32,
    5937             : /* 12396*/                      OPC_MoveParent,
    5938             : /* 12397*/                      OPC_MoveChild1,
    5939             : /* 12398*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    5940             : /* 12401*/                      OPC_CheckChild0Same, 0,
    5941             : /* 12403*/                      OPC_CheckChild1Integer, 24, 
    5942             : /* 12405*/                      OPC_CheckChild1Type, MVT::i32,
    5943             : /* 12407*/                      OPC_MoveParent,
    5944             : /* 12408*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5945             : /* 12410*/                      OPC_MoveParent,
    5946             : /* 12411*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5947             : /* 12413*/                      OPC_CheckType, MVT::i32,
    5948             : /* 12415*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    5949             : /* 12417*/                      OPC_EmitInteger, MVT::i32, 8, 
    5950             : /* 12420*/                      OPC_EmitInteger, MVT::i32, 8, 
    5951             : /* 12423*/                      OPC_EmitInteger, MVT::i32, 8, 
    5952             : /* 12426*/                      OPC_EmitInteger, MVT::i1, 0, 
    5953             : /* 12429*/                      OPC_EmitInteger, MVT::i32, 0, 
    5954             : /* 12432*/                      OPC_EmitInteger, MVT::i32, 0, 
    5955             : /* 12435*/                      OPC_EmitInteger, MVT::i32, 0, 
    5956             : /* 12438*/                      OPC_EmitInteger, MVT::i32, 0, 
    5957             : /* 12441*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    5958             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    5959             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    5960             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    5961             : /* 12458*/                    0, /*End of Scope*/
    5962             : /* 12459*/                  0, /*End of Scope*/
    5963             : /* 12460*/                /*Scope*/ 34|128,3/*418*/, /*->12880*/
    5964             : /* 12462*/                  OPC_CheckChild0Same, 1,
    5965             : /* 12464*/                  OPC_MoveChild1,
    5966             : /* 12465*/                  OPC_CheckValueType, MVT::i8,
    5967             : /* 12467*/                  OPC_MoveParent,
    5968             : /* 12468*/                  OPC_MoveParent,
    5969             : /* 12469*/                  OPC_MoveChild1,
    5970             : /* 12470*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5971             : /* 12473*/                  OPC_CheckChild0Same, 0,
    5972             : /* 12475*/                  OPC_MoveChild1,
    5973             : /* 12476*/                  OPC_CheckValueType, MVT::i8,
    5974             : /* 12478*/                  OPC_MoveParent,
    5975             : /* 12479*/                  OPC_MoveParent,
    5976             : /* 12480*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    5977             : /* 12482*/                  OPC_MoveParent,
    5978             : /* 12483*/                  OPC_RecordChild1, // #2 = $src2
    5979             : /* 12484*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5980             : /* 12486*/                  OPC_MoveParent,
    5981             : /* 12487*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    5982             : /* 12489*/                  OPC_MoveParent,
    5983             : /* 12490*/                  OPC_MoveChild1,
    5984             : /* 12491*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    5985             : /* 12494*/                  OPC_MoveChild0,
    5986             : /* 12495*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    5987             : /* 12498*/                  OPC_MoveChild0,
    5988             : /* 12499*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    5989             : /* 12502*/                  OPC_Scope, 58|128,1/*186*/, /*->12691*/ // 2 children in Scope
    5990             : /* 12505*/                    OPC_CheckChild0Same, 0,
    5991             : /* 12507*/                    OPC_CheckChild1Integer, 16, 
    5992             : /* 12509*/                    OPC_CheckChild1Type, MVT::i32,
    5993             : /* 12511*/                    OPC_MoveParent,
    5994             : /* 12512*/                    OPC_MoveChild1,
    5995             : /* 12513*/                    OPC_CheckValueType, MVT::i8,
    5996             : /* 12515*/                    OPC_MoveParent,
    5997             : /* 12516*/                    OPC_MoveParent,
    5998             : /* 12517*/                    OPC_MoveChild1,
    5999             : /* 12518*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6000             : /* 12521*/                    OPC_MoveChild0,
    6001             : /* 12522*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6002             : /* 12525*/                    OPC_CheckChild0Same, 1,
    6003             : /* 12527*/                    OPC_CheckChild1Integer, 16, 
    6004             : /* 12529*/                    OPC_CheckChild1Type, MVT::i32,
    6005             : /* 12531*/                    OPC_MoveParent,
    6006             : /* 12532*/                    OPC_MoveChild1,
    6007             : /* 12533*/                    OPC_CheckValueType, MVT::i8,
    6008             : /* 12535*/                    OPC_MoveParent,
    6009             : /* 12536*/                    OPC_MoveParent,
    6010             : /* 12537*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6011             : /* 12539*/                    OPC_MoveParent,
    6012             : /* 12540*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6013             : /* 12542*/                    OPC_MoveParent,
    6014             : /* 12543*/                    OPC_MoveChild1,
    6015             : /* 12544*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6016             : /* 12547*/                    OPC_MoveChild0,
    6017             : /* 12548*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6018             : /* 12551*/                    OPC_Scope, 68, /*->12621*/ // 2 children in Scope
    6019             : /* 12553*/                      OPC_CheckChild0Same, 0,
    6020             : /* 12555*/                      OPC_CheckChild1Integer, 24, 
    6021             : /* 12557*/                      OPC_CheckChild1Type, MVT::i32,
    6022             : /* 12559*/                      OPC_MoveParent,
    6023             : /* 12560*/                      OPC_MoveChild1,
    6024             : /* 12561*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6025             : /* 12564*/                      OPC_CheckChild0Same, 1,
    6026             : /* 12566*/                      OPC_CheckChild1Integer, 24, 
    6027             : /* 12568*/                      OPC_CheckChild1Type, MVT::i32,
    6028             : /* 12570*/                      OPC_MoveParent,
    6029             : /* 12571*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6030             : /* 12573*/                      OPC_MoveParent,
    6031             : /* 12574*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6032             : /* 12576*/                      OPC_CheckType, MVT::i32,
    6033             : /* 12578*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6034             : /* 12580*/                      OPC_EmitInteger, MVT::i32, 8, 
    6035             : /* 12583*/                      OPC_EmitInteger, MVT::i32, 8, 
    6036             : /* 12586*/                      OPC_EmitInteger, MVT::i32, 8, 
    6037             : /* 12589*/                      OPC_EmitInteger, MVT::i1, 0, 
    6038             : /* 12592*/                      OPC_EmitInteger, MVT::i32, 0, 
    6039             : /* 12595*/                      OPC_EmitInteger, MVT::i32, 0, 
    6040             : /* 12598*/                      OPC_EmitInteger, MVT::i32, 0, 
    6041             : /* 12601*/                      OPC_EmitInteger, MVT::i32, 0, 
    6042             : /* 12604*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6043             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    6044             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6045             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6046             : /* 12621*/                    /*Scope*/ 68, /*->12690*/
    6047             : /* 12622*/                      OPC_CheckChild0Same, 1,
    6048             : /* 12624*/                      OPC_CheckChild1Integer, 24, 
    6049             : /* 12626*/                      OPC_CheckChild1Type, MVT::i32,
    6050             : /* 12628*/                      OPC_MoveParent,
    6051             : /* 12629*/                      OPC_MoveChild1,
    6052             : /* 12630*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6053             : /* 12633*/                      OPC_CheckChild0Same, 0,
    6054             : /* 12635*/                      OPC_CheckChild1Integer, 24, 
    6055             : /* 12637*/                      OPC_CheckChild1Type, MVT::i32,
    6056             : /* 12639*/                      OPC_MoveParent,
    6057             : /* 12640*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6058             : /* 12642*/                      OPC_MoveParent,
    6059             : /* 12643*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6060             : /* 12645*/                      OPC_CheckType, MVT::i32,
    6061             : /* 12647*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6062             : /* 12649*/                      OPC_EmitInteger, MVT::i32, 8, 
    6063             : /* 12652*/                      OPC_EmitInteger, MVT::i32, 8, 
    6064             : /* 12655*/                      OPC_EmitInteger, MVT::i32, 8, 
    6065             : /* 12658*/                      OPC_EmitInteger, MVT::i1, 0, 
    6066             : /* 12661*/                      OPC_EmitInteger, MVT::i32, 0, 
    6067             : /* 12664*/                      OPC_EmitInteger, MVT::i32, 0, 
    6068             : /* 12667*/                      OPC_EmitInteger, MVT::i32, 0, 
    6069             : /* 12670*/                      OPC_EmitInteger, MVT::i32, 0, 
    6070             : /* 12673*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6071             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    6072             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6073             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6074             : /* 12690*/                    0, /*End of Scope*/
    6075             : /* 12691*/                  /*Scope*/ 58|128,1/*186*/, /*->12879*/
    6076             : /* 12693*/                    OPC_CheckChild0Same, 1,
    6077             : /* 12695*/                    OPC_CheckChild1Integer, 16, 
    6078             : /* 12697*/                    OPC_CheckChild1Type, MVT::i32,
    6079             : /* 12699*/                    OPC_MoveParent,
    6080             : /* 12700*/                    OPC_MoveChild1,
    6081             : /* 12701*/                    OPC_CheckValueType, MVT::i8,
    6082             : /* 12703*/                    OPC_MoveParent,
    6083             : /* 12704*/                    OPC_MoveParent,
    6084             : /* 12705*/                    OPC_MoveChild1,
    6085             : /* 12706*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6086             : /* 12709*/                    OPC_MoveChild0,
    6087             : /* 12710*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6088             : /* 12713*/                    OPC_CheckChild0Same, 0,
    6089             : /* 12715*/                    OPC_CheckChild1Integer, 16, 
    6090             : /* 12717*/                    OPC_CheckChild1Type, MVT::i32,
    6091             : /* 12719*/                    OPC_MoveParent,
    6092             : /* 12720*/                    OPC_MoveChild1,
    6093             : /* 12721*/                    OPC_CheckValueType, MVT::i8,
    6094             : /* 12723*/                    OPC_MoveParent,
    6095             : /* 12724*/                    OPC_MoveParent,
    6096             : /* 12725*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6097             : /* 12727*/                    OPC_MoveParent,
    6098             : /* 12728*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6099             : /* 12730*/                    OPC_MoveParent,
    6100             : /* 12731*/                    OPC_MoveChild1,
    6101             : /* 12732*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6102             : /* 12735*/                    OPC_MoveChild0,
    6103             : /* 12736*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6104             : /* 12739*/                    OPC_Scope, 68, /*->12809*/ // 2 children in Scope
    6105             : /* 12741*/                      OPC_CheckChild0Same, 0,
    6106             : /* 12743*/                      OPC_CheckChild1Integer, 24, 
    6107             : /* 12745*/                      OPC_CheckChild1Type, MVT::i32,
    6108             : /* 12747*/                      OPC_MoveParent,
    6109             : /* 12748*/                      OPC_MoveChild1,
    6110             : /* 12749*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6111             : /* 12752*/                      OPC_CheckChild0Same, 1,
    6112             : /* 12754*/                      OPC_CheckChild1Integer, 24, 
    6113             : /* 12756*/                      OPC_CheckChild1Type, MVT::i32,
    6114             : /* 12758*/                      OPC_MoveParent,
    6115             : /* 12759*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6116             : /* 12761*/                      OPC_MoveParent,
    6117             : /* 12762*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6118             : /* 12764*/                      OPC_CheckType, MVT::i32,
    6119             : /* 12766*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6120             : /* 12768*/                      OPC_EmitInteger, MVT::i32, 8, 
    6121             : /* 12771*/                      OPC_EmitInteger, MVT::i32, 8, 
    6122             : /* 12774*/                      OPC_EmitInteger, MVT::i32, 8, 
    6123             : /* 12777*/                      OPC_EmitInteger, MVT::i1, 0, 
    6124             : /* 12780*/                      OPC_EmitInteger, MVT::i32, 0, 
    6125             : /* 12783*/                      OPC_EmitInteger, MVT::i32, 0, 
    6126             : /* 12786*/                      OPC_EmitInteger, MVT::i32, 0, 
    6127             : /* 12789*/                      OPC_EmitInteger, MVT::i32, 0, 
    6128             : /* 12792*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6129             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    6130             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6131             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6132             : /* 12809*/                    /*Scope*/ 68, /*->12878*/
    6133             : /* 12810*/                      OPC_CheckChild0Same, 1,
    6134             : /* 12812*/                      OPC_CheckChild1Integer, 24, 
    6135             : /* 12814*/                      OPC_CheckChild1Type, MVT::i32,
    6136             : /* 12816*/                      OPC_MoveParent,
    6137             : /* 12817*/                      OPC_MoveChild1,
    6138             : /* 12818*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6139             : /* 12821*/                      OPC_CheckChild0Same, 0,
    6140             : /* 12823*/                      OPC_CheckChild1Integer, 24, 
    6141             : /* 12825*/                      OPC_CheckChild1Type, MVT::i32,
    6142             : /* 12827*/                      OPC_MoveParent,
    6143             : /* 12828*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6144             : /* 12830*/                      OPC_MoveParent,
    6145             : /* 12831*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6146             : /* 12833*/                      OPC_CheckType, MVT::i32,
    6147             : /* 12835*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6148             : /* 12837*/                      OPC_EmitInteger, MVT::i32, 8, 
    6149             : /* 12840*/                      OPC_EmitInteger, MVT::i32, 8, 
    6150             : /* 12843*/                      OPC_EmitInteger, MVT::i32, 8, 
    6151             : /* 12846*/                      OPC_EmitInteger, MVT::i1, 0, 
    6152             : /* 12849*/                      OPC_EmitInteger, MVT::i32, 0, 
    6153             : /* 12852*/                      OPC_EmitInteger, MVT::i32, 0, 
    6154             : /* 12855*/                      OPC_EmitInteger, MVT::i32, 0, 
    6155             : /* 12858*/                      OPC_EmitInteger, MVT::i32, 0, 
    6156             : /* 12861*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6157             :                                     MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    6158             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6159             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6160             : /* 12878*/                    0, /*End of Scope*/
    6161             : /* 12879*/                  0, /*End of Scope*/
    6162             : /* 12880*/                0, /*End of Scope*/
    6163             : /* 12881*/              /*Scope*/ 81|128,6/*849*/, /*->13732*/
    6164             : /* 12883*/                OPC_RecordChild0, // #2 = $src2
    6165             : /* 12884*/                OPC_MoveChild1,
    6166             : /* 12885*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6167             : /* 12888*/                OPC_MoveChild0,
    6168             : /* 12889*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6169             : /* 12892*/                OPC_Scope, 33|128,3/*417*/, /*->13312*/ // 2 children in Scope
    6170             : /* 12895*/                  OPC_CheckChild0Same, 1,
    6171             : /* 12897*/                  OPC_MoveChild1,
    6172             : /* 12898*/                  OPC_CheckValueType, MVT::i8,
    6173             : /* 12900*/                  OPC_MoveParent,
    6174             : /* 12901*/                  OPC_MoveParent,
    6175             : /* 12902*/                  OPC_MoveChild1,
    6176             : /* 12903*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6177             : /* 12906*/                  OPC_CheckChild0Same, 0,
    6178             : /* 12908*/                  OPC_MoveChild1,
    6179             : /* 12909*/                  OPC_CheckValueType, MVT::i8,
    6180             : /* 12911*/                  OPC_MoveParent,
    6181             : /* 12912*/                  OPC_MoveParent,
    6182             : /* 12913*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6183             : /* 12915*/                  OPC_MoveParent,
    6184             : /* 12916*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6185             : /* 12918*/                  OPC_MoveParent,
    6186             : /* 12919*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6187             : /* 12921*/                  OPC_MoveParent,
    6188             : /* 12922*/                  OPC_MoveChild1,
    6189             : /* 12923*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6190             : /* 12926*/                  OPC_MoveChild0,
    6191             : /* 12927*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6192             : /* 12930*/                  OPC_MoveChild0,
    6193             : /* 12931*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6194             : /* 12934*/                  OPC_Scope, 58|128,1/*186*/, /*->13123*/ // 2 children in Scope
    6195             : /* 12937*/                    OPC_CheckChild0Same, 1,
    6196             : /* 12939*/                    OPC_CheckChild1Integer, 16, 
    6197             : /* 12941*/                    OPC_CheckChild1Type, MVT::i32,
    6198             : /* 12943*/                    OPC_MoveParent,
    6199             : /* 12944*/                    OPC_MoveChild1,
    6200             : /* 12945*/                    OPC_CheckValueType, MVT::i8,
    6201             : /* 12947*/                    OPC_MoveParent,
    6202             : /* 12948*/                    OPC_MoveParent,
    6203             : /* 12949*/                    OPC_MoveChild1,
    6204             : /* 12950*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6205             : /* 12953*/                    OPC_MoveChild0,
    6206             : /* 12954*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6207             : /* 12957*/                    OPC_CheckChild0Same, 0,
    6208             : /* 12959*/                    OPC_CheckChild1Integer, 16, 
    6209             : /* 12961*/                    OPC_CheckChild1Type, MVT::i32,
    6210             : /* 12963*/                    OPC_MoveParent,
    6211             : /* 12964*/                    OPC_MoveChild1,
    6212             : /* 12965*/                    OPC_CheckValueType, MVT::i8,
    6213             : /* 12967*/                    OPC_MoveParent,
    6214             : /* 12968*/                    OPC_MoveParent,
    6215             : /* 12969*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6216             : /* 12971*/                    OPC_MoveParent,
    6217             : /* 12972*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6218             : /* 12974*/                    OPC_MoveParent,
    6219             : /* 12975*/                    OPC_MoveChild1,
    6220             : /* 12976*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6221             : /* 12979*/                    OPC_MoveChild0,
    6222             : /* 12980*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6223             : /* 12983*/                    OPC_Scope, 68, /*->13053*/ // 2 children in Scope
    6224             : /* 12985*/                      OPC_CheckChild0Same, 1,
    6225             : /* 12987*/                      OPC_CheckChild1Integer, 24, 
    6226             : /* 12989*/                      OPC_CheckChild1Type, MVT::i32,
    6227             : /* 12991*/                      OPC_MoveParent,
    6228             : /* 12992*/                      OPC_MoveChild1,
    6229             : /* 12993*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6230             : /* 12996*/                      OPC_CheckChild0Same, 0,
    6231             : /* 12998*/                      OPC_CheckChild1Integer, 24, 
    6232             : /* 13000*/                      OPC_CheckChild1Type, MVT::i32,
    6233             : /* 13002*/                      OPC_MoveParent,
    6234             : /* 13003*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6235             : /* 13005*/                      OPC_MoveParent,
    6236             : /* 13006*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6237             : /* 13008*/                      OPC_CheckType, MVT::i32,
    6238             : /* 13010*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6239             : /* 13012*/                      OPC_EmitInteger, MVT::i32, 8, 
    6240             : /* 13015*/                      OPC_EmitInteger, MVT::i32, 8, 
    6241             : /* 13018*/                      OPC_EmitInteger, MVT::i32, 8, 
    6242             : /* 13021*/                      OPC_EmitInteger, MVT::i1, 0, 
    6243             : /* 13024*/                      OPC_EmitInteger, MVT::i32, 0, 
    6244             : /* 13027*/                      OPC_EmitInteger, MVT::i32, 0, 
    6245             : /* 13030*/                      OPC_EmitInteger, MVT::i32, 0, 
    6246             : /* 13033*/                      OPC_EmitInteger, MVT::i32, 0, 
    6247             : /* 13036*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6248             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6249             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6250             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6251             : /* 13053*/                    /*Scope*/ 68, /*->13122*/
    6252             : /* 13054*/                      OPC_CheckChild0Same, 0,
    6253             : /* 13056*/                      OPC_CheckChild1Integer, 24, 
    6254             : /* 13058*/                      OPC_CheckChild1Type, MVT::i32,
    6255             : /* 13060*/                      OPC_MoveParent,
    6256             : /* 13061*/                      OPC_MoveChild1,
    6257             : /* 13062*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6258             : /* 13065*/                      OPC_CheckChild0Same, 1,
    6259             : /* 13067*/                      OPC_CheckChild1Integer, 24, 
    6260             : /* 13069*/                      OPC_CheckChild1Type, MVT::i32,
    6261             : /* 13071*/                      OPC_MoveParent,
    6262             : /* 13072*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6263             : /* 13074*/                      OPC_MoveParent,
    6264             : /* 13075*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6265             : /* 13077*/                      OPC_CheckType, MVT::i32,
    6266             : /* 13079*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6267             : /* 13081*/                      OPC_EmitInteger, MVT::i32, 8, 
    6268             : /* 13084*/                      OPC_EmitInteger, MVT::i32, 8, 
    6269             : /* 13087*/                      OPC_EmitInteger, MVT::i32, 8, 
    6270             : /* 13090*/                      OPC_EmitInteger, MVT::i1, 0, 
    6271             : /* 13093*/                      OPC_EmitInteger, MVT::i32, 0, 
    6272             : /* 13096*/                      OPC_EmitInteger, MVT::i32, 0, 
    6273             : /* 13099*/                      OPC_EmitInteger, MVT::i32, 0, 
    6274             : /* 13102*/                      OPC_EmitInteger, MVT::i32, 0, 
    6275             : /* 13105*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6276             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6277             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6278             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6279             : /* 13122*/                    0, /*End of Scope*/
    6280             : /* 13123*/                  /*Scope*/ 58|128,1/*186*/, /*->13311*/
    6281             : /* 13125*/                    OPC_CheckChild0Same, 0,
    6282             : /* 13127*/                    OPC_CheckChild1Integer, 16, 
    6283             : /* 13129*/                    OPC_CheckChild1Type, MVT::i32,
    6284             : /* 13131*/                    OPC_MoveParent,
    6285             : /* 13132*/                    OPC_MoveChild1,
    6286             : /* 13133*/                    OPC_CheckValueType, MVT::i8,
    6287             : /* 13135*/                    OPC_MoveParent,
    6288             : /* 13136*/                    OPC_MoveParent,
    6289             : /* 13137*/                    OPC_MoveChild1,
    6290             : /* 13138*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6291             : /* 13141*/                    OPC_MoveChild0,
    6292             : /* 13142*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6293             : /* 13145*/                    OPC_CheckChild0Same, 1,
    6294             : /* 13147*/                    OPC_CheckChild1Integer, 16, 
    6295             : /* 13149*/                    OPC_CheckChild1Type, MVT::i32,
    6296             : /* 13151*/                    OPC_MoveParent,
    6297             : /* 13152*/                    OPC_MoveChild1,
    6298             : /* 13153*/                    OPC_CheckValueType, MVT::i8,
    6299             : /* 13155*/                    OPC_MoveParent,
    6300             : /* 13156*/                    OPC_MoveParent,
    6301             : /* 13157*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6302             : /* 13159*/                    OPC_MoveParent,
    6303             : /* 13160*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6304             : /* 13162*/                    OPC_MoveParent,
    6305             : /* 13163*/                    OPC_MoveChild1,
    6306             : /* 13164*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6307             : /* 13167*/                    OPC_MoveChild0,
    6308             : /* 13168*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6309             : /* 13171*/                    OPC_Scope, 68, /*->13241*/ // 2 children in Scope
    6310             : /* 13173*/                      OPC_CheckChild0Same, 1,
    6311             : /* 13175*/                      OPC_CheckChild1Integer, 24, 
    6312             : /* 13177*/                      OPC_CheckChild1Type, MVT::i32,
    6313             : /* 13179*/                      OPC_MoveParent,
    6314             : /* 13180*/                      OPC_MoveChild1,
    6315             : /* 13181*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6316             : /* 13184*/                      OPC_CheckChild0Same, 0,
    6317             : /* 13186*/                      OPC_CheckChild1Integer, 24, 
    6318             : /* 13188*/                      OPC_CheckChild1Type, MVT::i32,
    6319             : /* 13190*/                      OPC_MoveParent,
    6320             : /* 13191*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6321             : /* 13193*/                      OPC_MoveParent,
    6322             : /* 13194*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6323             : /* 13196*/                      OPC_CheckType, MVT::i32,
    6324             : /* 13198*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6325             : /* 13200*/                      OPC_EmitInteger, MVT::i32, 8, 
    6326             : /* 13203*/                      OPC_EmitInteger, MVT::i32, 8, 
    6327             : /* 13206*/                      OPC_EmitInteger, MVT::i32, 8, 
    6328             : /* 13209*/                      OPC_EmitInteger, MVT::i1, 0, 
    6329             : /* 13212*/                      OPC_EmitInteger, MVT::i32, 0, 
    6330             : /* 13215*/                      OPC_EmitInteger, MVT::i32, 0, 
    6331             : /* 13218*/                      OPC_EmitInteger, MVT::i32, 0, 
    6332             : /* 13221*/                      OPC_EmitInteger, MVT::i32, 0, 
    6333             : /* 13224*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6334             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6335             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6336             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6337             : /* 13241*/                    /*Scope*/ 68, /*->13310*/
    6338             : /* 13242*/                      OPC_CheckChild0Same, 0,
    6339             : /* 13244*/                      OPC_CheckChild1Integer, 24, 
    6340             : /* 13246*/                      OPC_CheckChild1Type, MVT::i32,
    6341             : /* 13248*/                      OPC_MoveParent,
    6342             : /* 13249*/                      OPC_MoveChild1,
    6343             : /* 13250*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6344             : /* 13253*/                      OPC_CheckChild0Same, 1,
    6345             : /* 13255*/                      OPC_CheckChild1Integer, 24, 
    6346             : /* 13257*/                      OPC_CheckChild1Type, MVT::i32,
    6347             : /* 13259*/                      OPC_MoveParent,
    6348             : /* 13260*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6349             : /* 13262*/                      OPC_MoveParent,
    6350             : /* 13263*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6351             : /* 13265*/                      OPC_CheckType, MVT::i32,
    6352             : /* 13267*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6353             : /* 13269*/                      OPC_EmitInteger, MVT::i32, 8, 
    6354             : /* 13272*/                      OPC_EmitInteger, MVT::i32, 8, 
    6355             : /* 13275*/                      OPC_EmitInteger, MVT::i32, 8, 
    6356             : /* 13278*/                      OPC_EmitInteger, MVT::i1, 0, 
    6357             : /* 13281*/                      OPC_EmitInteger, MVT::i32, 0, 
    6358             : /* 13284*/                      OPC_EmitInteger, MVT::i32, 0, 
    6359             : /* 13287*/                      OPC_EmitInteger, MVT::i32, 0, 
    6360             : /* 13290*/                      OPC_EmitInteger, MVT::i32, 0, 
    6361             : /* 13293*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6362             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6363             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6364             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6365             : /* 13310*/                    0, /*End of Scope*/
    6366             : /* 13311*/                  0, /*End of Scope*/
    6367             : /* 13312*/                /*Scope*/ 33|128,3/*417*/, /*->13731*/
    6368             : /* 13314*/                  OPC_CheckChild0Same, 0,
    6369             : /* 13316*/                  OPC_MoveChild1,
    6370             : /* 13317*/                  OPC_CheckValueType, MVT::i8,
    6371             : /* 13319*/                  OPC_MoveParent,
    6372             : /* 13320*/                  OPC_MoveParent,
    6373             : /* 13321*/                  OPC_MoveChild1,
    6374             : /* 13322*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6375             : /* 13325*/                  OPC_CheckChild0Same, 1,
    6376             : /* 13327*/                  OPC_MoveChild1,
    6377             : /* 13328*/                  OPC_CheckValueType, MVT::i8,
    6378             : /* 13330*/                  OPC_MoveParent,
    6379             : /* 13331*/                  OPC_MoveParent,
    6380             : /* 13332*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6381             : /* 13334*/                  OPC_MoveParent,
    6382             : /* 13335*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6383             : /* 13337*/                  OPC_MoveParent,
    6384             : /* 13338*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6385             : /* 13340*/                  OPC_MoveParent,
    6386             : /* 13341*/                  OPC_MoveChild1,
    6387             : /* 13342*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6388             : /* 13345*/                  OPC_MoveChild0,
    6389             : /* 13346*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6390             : /* 13349*/                  OPC_MoveChild0,
    6391             : /* 13350*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6392             : /* 13353*/                  OPC_Scope, 58|128,1/*186*/, /*->13542*/ // 2 children in Scope
    6393             : /* 13356*/                    OPC_CheckChild0Same, 1,
    6394             : /* 13358*/                    OPC_CheckChild1Integer, 16, 
    6395             : /* 13360*/                    OPC_CheckChild1Type, MVT::i32,
    6396             : /* 13362*/                    OPC_MoveParent,
    6397             : /* 13363*/                    OPC_MoveChild1,
    6398             : /* 13364*/                    OPC_CheckValueType, MVT::i8,
    6399             : /* 13366*/                    OPC_MoveParent,
    6400             : /* 13367*/                    OPC_MoveParent,
    6401             : /* 13368*/                    OPC_MoveChild1,
    6402             : /* 13369*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6403             : /* 13372*/                    OPC_MoveChild0,
    6404             : /* 13373*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6405             : /* 13376*/                    OPC_CheckChild0Same, 0,
    6406             : /* 13378*/                    OPC_CheckChild1Integer, 16, 
    6407             : /* 13380*/                    OPC_CheckChild1Type, MVT::i32,
    6408             : /* 13382*/                    OPC_MoveParent,
    6409             : /* 13383*/                    OPC_MoveChild1,
    6410             : /* 13384*/                    OPC_CheckValueType, MVT::i8,
    6411             : /* 13386*/                    OPC_MoveParent,
    6412             : /* 13387*/                    OPC_MoveParent,
    6413             : /* 13388*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6414             : /* 13390*/                    OPC_MoveParent,
    6415             : /* 13391*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6416             : /* 13393*/                    OPC_MoveParent,
    6417             : /* 13394*/                    OPC_MoveChild1,
    6418             : /* 13395*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6419             : /* 13398*/                    OPC_MoveChild0,
    6420             : /* 13399*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6421             : /* 13402*/                    OPC_Scope, 68, /*->13472*/ // 2 children in Scope
    6422             : /* 13404*/                      OPC_CheckChild0Same, 1,
    6423             : /* 13406*/                      OPC_CheckChild1Integer, 24, 
    6424             : /* 13408*/                      OPC_CheckChild1Type, MVT::i32,
    6425             : /* 13410*/                      OPC_MoveParent,
    6426             : /* 13411*/                      OPC_MoveChild1,
    6427             : /* 13412*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6428             : /* 13415*/                      OPC_CheckChild0Same, 0,
    6429             : /* 13417*/                      OPC_CheckChild1Integer, 24, 
    6430             : /* 13419*/                      OPC_CheckChild1Type, MVT::i32,
    6431             : /* 13421*/                      OPC_MoveParent,
    6432             : /* 13422*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6433             : /* 13424*/                      OPC_MoveParent,
    6434             : /* 13425*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6435             : /* 13427*/                      OPC_CheckType, MVT::i32,
    6436             : /* 13429*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6437             : /* 13431*/                      OPC_EmitInteger, MVT::i32, 8, 
    6438             : /* 13434*/                      OPC_EmitInteger, MVT::i32, 8, 
    6439             : /* 13437*/                      OPC_EmitInteger, MVT::i32, 8, 
    6440             : /* 13440*/                      OPC_EmitInteger, MVT::i1, 0, 
    6441             : /* 13443*/                      OPC_EmitInteger, MVT::i32, 0, 
    6442             : /* 13446*/                      OPC_EmitInteger, MVT::i32, 0, 
    6443             : /* 13449*/                      OPC_EmitInteger, MVT::i32, 0, 
    6444             : /* 13452*/                      OPC_EmitInteger, MVT::i32, 0, 
    6445             : /* 13455*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6446             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6447             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6448             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6449             : /* 13472*/                    /*Scope*/ 68, /*->13541*/
    6450             : /* 13473*/                      OPC_CheckChild0Same, 0,
    6451             : /* 13475*/                      OPC_CheckChild1Integer, 24, 
    6452             : /* 13477*/                      OPC_CheckChild1Type, MVT::i32,
    6453             : /* 13479*/                      OPC_MoveParent,
    6454             : /* 13480*/                      OPC_MoveChild1,
    6455             : /* 13481*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6456             : /* 13484*/                      OPC_CheckChild0Same, 1,
    6457             : /* 13486*/                      OPC_CheckChild1Integer, 24, 
    6458             : /* 13488*/                      OPC_CheckChild1Type, MVT::i32,
    6459             : /* 13490*/                      OPC_MoveParent,
    6460             : /* 13491*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6461             : /* 13493*/                      OPC_MoveParent,
    6462             : /* 13494*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6463             : /* 13496*/                      OPC_CheckType, MVT::i32,
    6464             : /* 13498*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6465             : /* 13500*/                      OPC_EmitInteger, MVT::i32, 8, 
    6466             : /* 13503*/                      OPC_EmitInteger, MVT::i32, 8, 
    6467             : /* 13506*/                      OPC_EmitInteger, MVT::i32, 8, 
    6468             : /* 13509*/                      OPC_EmitInteger, MVT::i1, 0, 
    6469             : /* 13512*/                      OPC_EmitInteger, MVT::i32, 0, 
    6470             : /* 13515*/                      OPC_EmitInteger, MVT::i32, 0, 
    6471             : /* 13518*/                      OPC_EmitInteger, MVT::i32, 0, 
    6472             : /* 13521*/                      OPC_EmitInteger, MVT::i32, 0, 
    6473             : /* 13524*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6474             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6475             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6476             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6477             : /* 13541*/                    0, /*End of Scope*/
    6478             : /* 13542*/                  /*Scope*/ 58|128,1/*186*/, /*->13730*/
    6479             : /* 13544*/                    OPC_CheckChild0Same, 0,
    6480             : /* 13546*/                    OPC_CheckChild1Integer, 16, 
    6481             : /* 13548*/                    OPC_CheckChild1Type, MVT::i32,
    6482             : /* 13550*/                    OPC_MoveParent,
    6483             : /* 13551*/                    OPC_MoveChild1,
    6484             : /* 13552*/                    OPC_CheckValueType, MVT::i8,
    6485             : /* 13554*/                    OPC_MoveParent,
    6486             : /* 13555*/                    OPC_MoveParent,
    6487             : /* 13556*/                    OPC_MoveChild1,
    6488             : /* 13557*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6489             : /* 13560*/                    OPC_MoveChild0,
    6490             : /* 13561*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6491             : /* 13564*/                    OPC_CheckChild0Same, 1,
    6492             : /* 13566*/                    OPC_CheckChild1Integer, 16, 
    6493             : /* 13568*/                    OPC_CheckChild1Type, MVT::i32,
    6494             : /* 13570*/                    OPC_MoveParent,
    6495             : /* 13571*/                    OPC_MoveChild1,
    6496             : /* 13572*/                    OPC_CheckValueType, MVT::i8,
    6497             : /* 13574*/                    OPC_MoveParent,
    6498             : /* 13575*/                    OPC_MoveParent,
    6499             : /* 13576*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6500             : /* 13578*/                    OPC_MoveParent,
    6501             : /* 13579*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6502             : /* 13581*/                    OPC_MoveParent,
    6503             : /* 13582*/                    OPC_MoveChild1,
    6504             : /* 13583*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6505             : /* 13586*/                    OPC_MoveChild0,
    6506             : /* 13587*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6507             : /* 13590*/                    OPC_Scope, 68, /*->13660*/ // 2 children in Scope
    6508             : /* 13592*/                      OPC_CheckChild0Same, 1,
    6509             : /* 13594*/                      OPC_CheckChild1Integer, 24, 
    6510             : /* 13596*/                      OPC_CheckChild1Type, MVT::i32,
    6511             : /* 13598*/                      OPC_MoveParent,
    6512             : /* 13599*/                      OPC_MoveChild1,
    6513             : /* 13600*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6514             : /* 13603*/                      OPC_CheckChild0Same, 0,
    6515             : /* 13605*/                      OPC_CheckChild1Integer, 24, 
    6516             : /* 13607*/                      OPC_CheckChild1Type, MVT::i32,
    6517             : /* 13609*/                      OPC_MoveParent,
    6518             : /* 13610*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6519             : /* 13612*/                      OPC_MoveParent,
    6520             : /* 13613*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6521             : /* 13615*/                      OPC_CheckType, MVT::i32,
    6522             : /* 13617*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6523             : /* 13619*/                      OPC_EmitInteger, MVT::i32, 8, 
    6524             : /* 13622*/                      OPC_EmitInteger, MVT::i32, 8, 
    6525             : /* 13625*/                      OPC_EmitInteger, MVT::i32, 8, 
    6526             : /* 13628*/                      OPC_EmitInteger, MVT::i1, 0, 
    6527             : /* 13631*/                      OPC_EmitInteger, MVT::i32, 0, 
    6528             : /* 13634*/                      OPC_EmitInteger, MVT::i32, 0, 
    6529             : /* 13637*/                      OPC_EmitInteger, MVT::i32, 0, 
    6530             : /* 13640*/                      OPC_EmitInteger, MVT::i32, 0, 
    6531             : /* 13643*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6532             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6533             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6534             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6535             : /* 13660*/                    /*Scope*/ 68, /*->13729*/
    6536             : /* 13661*/                      OPC_CheckChild0Same, 0,
    6537             : /* 13663*/                      OPC_CheckChild1Integer, 24, 
    6538             : /* 13665*/                      OPC_CheckChild1Type, MVT::i32,
    6539             : /* 13667*/                      OPC_MoveParent,
    6540             : /* 13668*/                      OPC_MoveChild1,
    6541             : /* 13669*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6542             : /* 13672*/                      OPC_CheckChild0Same, 1,
    6543             : /* 13674*/                      OPC_CheckChild1Integer, 24, 
    6544             : /* 13676*/                      OPC_CheckChild1Type, MVT::i32,
    6545             : /* 13678*/                      OPC_MoveParent,
    6546             : /* 13679*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6547             : /* 13681*/                      OPC_MoveParent,
    6548             : /* 13682*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6549             : /* 13684*/                      OPC_CheckType, MVT::i32,
    6550             : /* 13686*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6551             : /* 13688*/                      OPC_EmitInteger, MVT::i32, 8, 
    6552             : /* 13691*/                      OPC_EmitInteger, MVT::i32, 8, 
    6553             : /* 13694*/                      OPC_EmitInteger, MVT::i32, 8, 
    6554             : /* 13697*/                      OPC_EmitInteger, MVT::i1, 0, 
    6555             : /* 13700*/                      OPC_EmitInteger, MVT::i32, 0, 
    6556             : /* 13703*/                      OPC_EmitInteger, MVT::i32, 0, 
    6557             : /* 13706*/                      OPC_EmitInteger, MVT::i32, 0, 
    6558             : /* 13709*/                      OPC_EmitInteger, MVT::i32, 0, 
    6559             : /* 13712*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6560             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6561             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6562             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6563             : /* 13729*/                    0, /*End of Scope*/
    6564             : /* 13730*/                  0, /*End of Scope*/
    6565             : /* 13731*/                0, /*End of Scope*/
    6566             : /* 13732*/              /*Scope*/ 82|128,6/*850*/, /*->14584*/
    6567             : /* 13734*/                OPC_MoveChild0,
    6568             : /* 13735*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6569             : /* 13738*/                OPC_MoveChild0,
    6570             : /* 13739*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6571             : /* 13742*/                OPC_Scope, 34|128,3/*418*/, /*->14163*/ // 2 children in Scope
    6572             : /* 13745*/                  OPC_CheckChild0Same, 1,
    6573             : /* 13747*/                  OPC_MoveChild1,
    6574             : /* 13748*/                  OPC_CheckValueType, MVT::i8,
    6575             : /* 13750*/                  OPC_MoveParent,
    6576             : /* 13751*/                  OPC_MoveParent,
    6577             : /* 13752*/                  OPC_MoveChild1,
    6578             : /* 13753*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6579             : /* 13756*/                  OPC_CheckChild0Same, 0,
    6580             : /* 13758*/                  OPC_MoveChild1,
    6581             : /* 13759*/                  OPC_CheckValueType, MVT::i8,
    6582             : /* 13761*/                  OPC_MoveParent,
    6583             : /* 13762*/                  OPC_MoveParent,
    6584             : /* 13763*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6585             : /* 13765*/                  OPC_MoveParent,
    6586             : /* 13766*/                  OPC_RecordChild1, // #2 = $src2
    6587             : /* 13767*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6588             : /* 13769*/                  OPC_MoveParent,
    6589             : /* 13770*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6590             : /* 13772*/                  OPC_MoveParent,
    6591             : /* 13773*/                  OPC_MoveChild1,
    6592             : /* 13774*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6593             : /* 13777*/                  OPC_MoveChild0,
    6594             : /* 13778*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6595             : /* 13781*/                  OPC_MoveChild0,
    6596             : /* 13782*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6597             : /* 13785*/                  OPC_Scope, 58|128,1/*186*/, /*->13974*/ // 2 children in Scope
    6598             : /* 13788*/                    OPC_CheckChild0Same, 1,
    6599             : /* 13790*/                    OPC_CheckChild1Integer, 16, 
    6600             : /* 13792*/                    OPC_CheckChild1Type, MVT::i32,
    6601             : /* 13794*/                    OPC_MoveParent,
    6602             : /* 13795*/                    OPC_MoveChild1,
    6603             : /* 13796*/                    OPC_CheckValueType, MVT::i8,
    6604             : /* 13798*/                    OPC_MoveParent,
    6605             : /* 13799*/                    OPC_MoveParent,
    6606             : /* 13800*/                    OPC_MoveChild1,
    6607             : /* 13801*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6608             : /* 13804*/                    OPC_MoveChild0,
    6609             : /* 13805*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6610             : /* 13808*/                    OPC_CheckChild0Same, 0,
    6611             : /* 13810*/                    OPC_CheckChild1Integer, 16, 
    6612             : /* 13812*/                    OPC_CheckChild1Type, MVT::i32,
    6613             : /* 13814*/                    OPC_MoveParent,
    6614             : /* 13815*/                    OPC_MoveChild1,
    6615             : /* 13816*/                    OPC_CheckValueType, MVT::i8,
    6616             : /* 13818*/                    OPC_MoveParent,
    6617             : /* 13819*/                    OPC_MoveParent,
    6618             : /* 13820*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6619             : /* 13822*/                    OPC_MoveParent,
    6620             : /* 13823*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6621             : /* 13825*/                    OPC_MoveParent,
    6622             : /* 13826*/                    OPC_MoveChild1,
    6623             : /* 13827*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6624             : /* 13830*/                    OPC_MoveChild0,
    6625             : /* 13831*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6626             : /* 13834*/                    OPC_Scope, 68, /*->13904*/ // 2 children in Scope
    6627             : /* 13836*/                      OPC_CheckChild0Same, 1,
    6628             : /* 13838*/                      OPC_CheckChild1Integer, 24, 
    6629             : /* 13840*/                      OPC_CheckChild1Type, MVT::i32,
    6630             : /* 13842*/                      OPC_MoveParent,
    6631             : /* 13843*/                      OPC_MoveChild1,
    6632             : /* 13844*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6633             : /* 13847*/                      OPC_CheckChild0Same, 0,
    6634             : /* 13849*/                      OPC_CheckChild1Integer, 24, 
    6635             : /* 13851*/                      OPC_CheckChild1Type, MVT::i32,
    6636             : /* 13853*/                      OPC_MoveParent,
    6637             : /* 13854*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6638             : /* 13856*/                      OPC_MoveParent,
    6639             : /* 13857*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6640             : /* 13859*/                      OPC_CheckType, MVT::i32,
    6641             : /* 13861*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6642             : /* 13863*/                      OPC_EmitInteger, MVT::i32, 8, 
    6643             : /* 13866*/                      OPC_EmitInteger, MVT::i32, 8, 
    6644             : /* 13869*/                      OPC_EmitInteger, MVT::i32, 8, 
    6645             : /* 13872*/                      OPC_EmitInteger, MVT::i1, 0, 
    6646             : /* 13875*/                      OPC_EmitInteger, MVT::i32, 0, 
    6647             : /* 13878*/                      OPC_EmitInteger, MVT::i32, 0, 
    6648             : /* 13881*/                      OPC_EmitInteger, MVT::i32, 0, 
    6649             : /* 13884*/                      OPC_EmitInteger, MVT::i32, 0, 
    6650             : /* 13887*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6651             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6652             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6653             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6654             : /* 13904*/                    /*Scope*/ 68, /*->13973*/
    6655             : /* 13905*/                      OPC_CheckChild0Same, 0,
    6656             : /* 13907*/                      OPC_CheckChild1Integer, 24, 
    6657             : /* 13909*/                      OPC_CheckChild1Type, MVT::i32,
    6658             : /* 13911*/                      OPC_MoveParent,
    6659             : /* 13912*/                      OPC_MoveChild1,
    6660             : /* 13913*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6661             : /* 13916*/                      OPC_CheckChild0Same, 1,
    6662             : /* 13918*/                      OPC_CheckChild1Integer, 24, 
    6663             : /* 13920*/                      OPC_CheckChild1Type, MVT::i32,
    6664             : /* 13922*/                      OPC_MoveParent,
    6665             : /* 13923*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6666             : /* 13925*/                      OPC_MoveParent,
    6667             : /* 13926*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6668             : /* 13928*/                      OPC_CheckType, MVT::i32,
    6669             : /* 13930*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6670             : /* 13932*/                      OPC_EmitInteger, MVT::i32, 8, 
    6671             : /* 13935*/                      OPC_EmitInteger, MVT::i32, 8, 
    6672             : /* 13938*/                      OPC_EmitInteger, MVT::i32, 8, 
    6673             : /* 13941*/                      OPC_EmitInteger, MVT::i1, 0, 
    6674             : /* 13944*/                      OPC_EmitInteger, MVT::i32, 0, 
    6675             : /* 13947*/                      OPC_EmitInteger, MVT::i32, 0, 
    6676             : /* 13950*/                      OPC_EmitInteger, MVT::i32, 0, 
    6677             : /* 13953*/                      OPC_EmitInteger, MVT::i32, 0, 
    6678             : /* 13956*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6679             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6680             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6681             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6682             : /* 13973*/                    0, /*End of Scope*/
    6683             : /* 13974*/                  /*Scope*/ 58|128,1/*186*/, /*->14162*/
    6684             : /* 13976*/                    OPC_CheckChild0Same, 0,
    6685             : /* 13978*/                    OPC_CheckChild1Integer, 16, 
    6686             : /* 13980*/                    OPC_CheckChild1Type, MVT::i32,
    6687             : /* 13982*/                    OPC_MoveParent,
    6688             : /* 13983*/                    OPC_MoveChild1,
    6689             : /* 13984*/                    OPC_CheckValueType, MVT::i8,
    6690             : /* 13986*/                    OPC_MoveParent,
    6691             : /* 13987*/                    OPC_MoveParent,
    6692             : /* 13988*/                    OPC_MoveChild1,
    6693             : /* 13989*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6694             : /* 13992*/                    OPC_MoveChild0,
    6695             : /* 13993*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6696             : /* 13996*/                    OPC_CheckChild0Same, 1,
    6697             : /* 13998*/                    OPC_CheckChild1Integer, 16, 
    6698             : /* 14000*/                    OPC_CheckChild1Type, MVT::i32,
    6699             : /* 14002*/                    OPC_MoveParent,
    6700             : /* 14003*/                    OPC_MoveChild1,
    6701             : /* 14004*/                    OPC_CheckValueType, MVT::i8,
    6702             : /* 14006*/                    OPC_MoveParent,
    6703             : /* 14007*/                    OPC_MoveParent,
    6704             : /* 14008*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6705             : /* 14010*/                    OPC_MoveParent,
    6706             : /* 14011*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6707             : /* 14013*/                    OPC_MoveParent,
    6708             : /* 14014*/                    OPC_MoveChild1,
    6709             : /* 14015*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6710             : /* 14018*/                    OPC_MoveChild0,
    6711             : /* 14019*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6712             : /* 14022*/                    OPC_Scope, 68, /*->14092*/ // 2 children in Scope
    6713             : /* 14024*/                      OPC_CheckChild0Same, 1,
    6714             : /* 14026*/                      OPC_CheckChild1Integer, 24, 
    6715             : /* 14028*/                      OPC_CheckChild1Type, MVT::i32,
    6716             : /* 14030*/                      OPC_MoveParent,
    6717             : /* 14031*/                      OPC_MoveChild1,
    6718             : /* 14032*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6719             : /* 14035*/                      OPC_CheckChild0Same, 0,
    6720             : /* 14037*/                      OPC_CheckChild1Integer, 24, 
    6721             : /* 14039*/                      OPC_CheckChild1Type, MVT::i32,
    6722             : /* 14041*/                      OPC_MoveParent,
    6723             : /* 14042*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6724             : /* 14044*/                      OPC_MoveParent,
    6725             : /* 14045*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6726             : /* 14047*/                      OPC_CheckType, MVT::i32,
    6727             : /* 14049*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6728             : /* 14051*/                      OPC_EmitInteger, MVT::i32, 8, 
    6729             : /* 14054*/                      OPC_EmitInteger, MVT::i32, 8, 
    6730             : /* 14057*/                      OPC_EmitInteger, MVT::i32, 8, 
    6731             : /* 14060*/                      OPC_EmitInteger, MVT::i1, 0, 
    6732             : /* 14063*/                      OPC_EmitInteger, MVT::i32, 0, 
    6733             : /* 14066*/                      OPC_EmitInteger, MVT::i32, 0, 
    6734             : /* 14069*/                      OPC_EmitInteger, MVT::i32, 0, 
    6735             : /* 14072*/                      OPC_EmitInteger, MVT::i32, 0, 
    6736             : /* 14075*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6737             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6738             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6739             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6740             : /* 14092*/                    /*Scope*/ 68, /*->14161*/
    6741             : /* 14093*/                      OPC_CheckChild0Same, 0,
    6742             : /* 14095*/                      OPC_CheckChild1Integer, 24, 
    6743             : /* 14097*/                      OPC_CheckChild1Type, MVT::i32,
    6744             : /* 14099*/                      OPC_MoveParent,
    6745             : /* 14100*/                      OPC_MoveChild1,
    6746             : /* 14101*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6747             : /* 14104*/                      OPC_CheckChild0Same, 1,
    6748             : /* 14106*/                      OPC_CheckChild1Integer, 24, 
    6749             : /* 14108*/                      OPC_CheckChild1Type, MVT::i32,
    6750             : /* 14110*/                      OPC_MoveParent,
    6751             : /* 14111*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6752             : /* 14113*/                      OPC_MoveParent,
    6753             : /* 14114*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6754             : /* 14116*/                      OPC_CheckType, MVT::i32,
    6755             : /* 14118*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6756             : /* 14120*/                      OPC_EmitInteger, MVT::i32, 8, 
    6757             : /* 14123*/                      OPC_EmitInteger, MVT::i32, 8, 
    6758             : /* 14126*/                      OPC_EmitInteger, MVT::i32, 8, 
    6759             : /* 14129*/                      OPC_EmitInteger, MVT::i1, 0, 
    6760             : /* 14132*/                      OPC_EmitInteger, MVT::i32, 0, 
    6761             : /* 14135*/                      OPC_EmitInteger, MVT::i32, 0, 
    6762             : /* 14138*/                      OPC_EmitInteger, MVT::i32, 0, 
    6763             : /* 14141*/                      OPC_EmitInteger, MVT::i32, 0, 
    6764             : /* 14144*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6765             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6766             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6767             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6768             : /* 14161*/                    0, /*End of Scope*/
    6769             : /* 14162*/                  0, /*End of Scope*/
    6770             : /* 14163*/                /*Scope*/ 34|128,3/*418*/, /*->14583*/
    6771             : /* 14165*/                  OPC_CheckChild0Same, 0,
    6772             : /* 14167*/                  OPC_MoveChild1,
    6773             : /* 14168*/                  OPC_CheckValueType, MVT::i8,
    6774             : /* 14170*/                  OPC_MoveParent,
    6775             : /* 14171*/                  OPC_MoveParent,
    6776             : /* 14172*/                  OPC_MoveChild1,
    6777             : /* 14173*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6778             : /* 14176*/                  OPC_CheckChild0Same, 1,
    6779             : /* 14178*/                  OPC_MoveChild1,
    6780             : /* 14179*/                  OPC_CheckValueType, MVT::i8,
    6781             : /* 14181*/                  OPC_MoveParent,
    6782             : /* 14182*/                  OPC_MoveParent,
    6783             : /* 14183*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6784             : /* 14185*/                  OPC_MoveParent,
    6785             : /* 14186*/                  OPC_RecordChild1, // #2 = $src2
    6786             : /* 14187*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6787             : /* 14189*/                  OPC_MoveParent,
    6788             : /* 14190*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6789             : /* 14192*/                  OPC_MoveParent,
    6790             : /* 14193*/                  OPC_MoveChild1,
    6791             : /* 14194*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6792             : /* 14197*/                  OPC_MoveChild0,
    6793             : /* 14198*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6794             : /* 14201*/                  OPC_MoveChild0,
    6795             : /* 14202*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6796             : /* 14205*/                  OPC_Scope, 58|128,1/*186*/, /*->14394*/ // 2 children in Scope
    6797             : /* 14208*/                    OPC_CheckChild0Same, 1,
    6798             : /* 14210*/                    OPC_CheckChild1Integer, 16, 
    6799             : /* 14212*/                    OPC_CheckChild1Type, MVT::i32,
    6800             : /* 14214*/                    OPC_MoveParent,
    6801             : /* 14215*/                    OPC_MoveChild1,
    6802             : /* 14216*/                    OPC_CheckValueType, MVT::i8,
    6803             : /* 14218*/                    OPC_MoveParent,
    6804             : /* 14219*/                    OPC_MoveParent,
    6805             : /* 14220*/                    OPC_MoveChild1,
    6806             : /* 14221*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6807             : /* 14224*/                    OPC_MoveChild0,
    6808             : /* 14225*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6809             : /* 14228*/                    OPC_CheckChild0Same, 0,
    6810             : /* 14230*/                    OPC_CheckChild1Integer, 16, 
    6811             : /* 14232*/                    OPC_CheckChild1Type, MVT::i32,
    6812             : /* 14234*/                    OPC_MoveParent,
    6813             : /* 14235*/                    OPC_MoveChild1,
    6814             : /* 14236*/                    OPC_CheckValueType, MVT::i8,
    6815             : /* 14238*/                    OPC_MoveParent,
    6816             : /* 14239*/                    OPC_MoveParent,
    6817             : /* 14240*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6818             : /* 14242*/                    OPC_MoveParent,
    6819             : /* 14243*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6820             : /* 14245*/                    OPC_MoveParent,
    6821             : /* 14246*/                    OPC_MoveChild1,
    6822             : /* 14247*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6823             : /* 14250*/                    OPC_MoveChild0,
    6824             : /* 14251*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6825             : /* 14254*/                    OPC_Scope, 68, /*->14324*/ // 2 children in Scope
    6826             : /* 14256*/                      OPC_CheckChild0Same, 1,
    6827             : /* 14258*/                      OPC_CheckChild1Integer, 24, 
    6828             : /* 14260*/                      OPC_CheckChild1Type, MVT::i32,
    6829             : /* 14262*/                      OPC_MoveParent,
    6830             : /* 14263*/                      OPC_MoveChild1,
    6831             : /* 14264*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6832             : /* 14267*/                      OPC_CheckChild0Same, 0,
    6833             : /* 14269*/                      OPC_CheckChild1Integer, 24, 
    6834             : /* 14271*/                      OPC_CheckChild1Type, MVT::i32,
    6835             : /* 14273*/                      OPC_MoveParent,
    6836             : /* 14274*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6837             : /* 14276*/                      OPC_MoveParent,
    6838             : /* 14277*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6839             : /* 14279*/                      OPC_CheckType, MVT::i32,
    6840             : /* 14281*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6841             : /* 14283*/                      OPC_EmitInteger, MVT::i32, 8, 
    6842             : /* 14286*/                      OPC_EmitInteger, MVT::i32, 8, 
    6843             : /* 14289*/                      OPC_EmitInteger, MVT::i32, 8, 
    6844             : /* 14292*/                      OPC_EmitInteger, MVT::i1, 0, 
    6845             : /* 14295*/                      OPC_EmitInteger, MVT::i32, 0, 
    6846             : /* 14298*/                      OPC_EmitInteger, MVT::i32, 0, 
    6847             : /* 14301*/                      OPC_EmitInteger, MVT::i32, 0, 
    6848             : /* 14304*/                      OPC_EmitInteger, MVT::i32, 0, 
    6849             : /* 14307*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6850             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6851             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6852             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6853             : /* 14324*/                    /*Scope*/ 68, /*->14393*/
    6854             : /* 14325*/                      OPC_CheckChild0Same, 0,
    6855             : /* 14327*/                      OPC_CheckChild1Integer, 24, 
    6856             : /* 14329*/                      OPC_CheckChild1Type, MVT::i32,
    6857             : /* 14331*/                      OPC_MoveParent,
    6858             : /* 14332*/                      OPC_MoveChild1,
    6859             : /* 14333*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6860             : /* 14336*/                      OPC_CheckChild0Same, 1,
    6861             : /* 14338*/                      OPC_CheckChild1Integer, 24, 
    6862             : /* 14340*/                      OPC_CheckChild1Type, MVT::i32,
    6863             : /* 14342*/                      OPC_MoveParent,
    6864             : /* 14343*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6865             : /* 14345*/                      OPC_MoveParent,
    6866             : /* 14346*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6867             : /* 14348*/                      OPC_CheckType, MVT::i32,
    6868             : /* 14350*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6869             : /* 14352*/                      OPC_EmitInteger, MVT::i32, 8, 
    6870             : /* 14355*/                      OPC_EmitInteger, MVT::i32, 8, 
    6871             : /* 14358*/                      OPC_EmitInteger, MVT::i32, 8, 
    6872             : /* 14361*/                      OPC_EmitInteger, MVT::i1, 0, 
    6873             : /* 14364*/                      OPC_EmitInteger, MVT::i32, 0, 
    6874             : /* 14367*/                      OPC_EmitInteger, MVT::i32, 0, 
    6875             : /* 14370*/                      OPC_EmitInteger, MVT::i32, 0, 
    6876             : /* 14373*/                      OPC_EmitInteger, MVT::i32, 0, 
    6877             : /* 14376*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6878             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6879             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6880             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6881             : /* 14393*/                    0, /*End of Scope*/
    6882             : /* 14394*/                  /*Scope*/ 58|128,1/*186*/, /*->14582*/
    6883             : /* 14396*/                    OPC_CheckChild0Same, 0,
    6884             : /* 14398*/                    OPC_CheckChild1Integer, 16, 
    6885             : /* 14400*/                    OPC_CheckChild1Type, MVT::i32,
    6886             : /* 14402*/                    OPC_MoveParent,
    6887             : /* 14403*/                    OPC_MoveChild1,
    6888             : /* 14404*/                    OPC_CheckValueType, MVT::i8,
    6889             : /* 14406*/                    OPC_MoveParent,
    6890             : /* 14407*/                    OPC_MoveParent,
    6891             : /* 14408*/                    OPC_MoveChild1,
    6892             : /* 14409*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    6893             : /* 14412*/                    OPC_MoveChild0,
    6894             : /* 14413*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6895             : /* 14416*/                    OPC_CheckChild0Same, 1,
    6896             : /* 14418*/                    OPC_CheckChild1Integer, 16, 
    6897             : /* 14420*/                    OPC_CheckChild1Type, MVT::i32,
    6898             : /* 14422*/                    OPC_MoveParent,
    6899             : /* 14423*/                    OPC_MoveChild1,
    6900             : /* 14424*/                    OPC_CheckValueType, MVT::i8,
    6901             : /* 14426*/                    OPC_MoveParent,
    6902             : /* 14427*/                    OPC_MoveParent,
    6903             : /* 14428*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6904             : /* 14430*/                    OPC_MoveParent,
    6905             : /* 14431*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6906             : /* 14433*/                    OPC_MoveParent,
    6907             : /* 14434*/                    OPC_MoveChild1,
    6908             : /* 14435*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_I24),
    6909             : /* 14438*/                    OPC_MoveChild0,
    6910             : /* 14439*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6911             : /* 14442*/                    OPC_Scope, 68, /*->14512*/ // 2 children in Scope
    6912             : /* 14444*/                      OPC_CheckChild0Same, 1,
    6913             : /* 14446*/                      OPC_CheckChild1Integer, 24, 
    6914             : /* 14448*/                      OPC_CheckChild1Type, MVT::i32,
    6915             : /* 14450*/                      OPC_MoveParent,
    6916             : /* 14451*/                      OPC_MoveChild1,
    6917             : /* 14452*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6918             : /* 14455*/                      OPC_CheckChild0Same, 0,
    6919             : /* 14457*/                      OPC_CheckChild1Integer, 24, 
    6920             : /* 14459*/                      OPC_CheckChild1Type, MVT::i32,
    6921             : /* 14461*/                      OPC_MoveParent,
    6922             : /* 14462*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6923             : /* 14464*/                      OPC_MoveParent,
    6924             : /* 14465*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6925             : /* 14467*/                      OPC_CheckType, MVT::i32,
    6926             : /* 14469*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6927             : /* 14471*/                      OPC_EmitInteger, MVT::i32, 8, 
    6928             : /* 14474*/                      OPC_EmitInteger, MVT::i32, 8, 
    6929             : /* 14477*/                      OPC_EmitInteger, MVT::i32, 8, 
    6930             : /* 14480*/                      OPC_EmitInteger, MVT::i1, 0, 
    6931             : /* 14483*/                      OPC_EmitInteger, MVT::i32, 0, 
    6932             : /* 14486*/                      OPC_EmitInteger, MVT::i32, 0, 
    6933             : /* 14489*/                      OPC_EmitInteger, MVT::i32, 0, 
    6934             : /* 14492*/                      OPC_EmitInteger, MVT::i32, 0, 
    6935             : /* 14495*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6936             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6937             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6938             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6939             : /* 14512*/                    /*Scope*/ 68, /*->14581*/
    6940             : /* 14513*/                      OPC_CheckChild0Same, 0,
    6941             : /* 14515*/                      OPC_CheckChild1Integer, 24, 
    6942             : /* 14517*/                      OPC_CheckChild1Type, MVT::i32,
    6943             : /* 14519*/                      OPC_MoveParent,
    6944             : /* 14520*/                      OPC_MoveChild1,
    6945             : /* 14521*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    6946             : /* 14524*/                      OPC_CheckChild0Same, 1,
    6947             : /* 14526*/                      OPC_CheckChild1Integer, 24, 
    6948             : /* 14528*/                      OPC_CheckChild1Type, MVT::i32,
    6949             : /* 14530*/                      OPC_MoveParent,
    6950             : /* 14531*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_i24_oneuse
    6951             : /* 14533*/                      OPC_MoveParent,
    6952             : /* 14534*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    6953             : /* 14536*/                      OPC_CheckType, MVT::i32,
    6954             : /* 14538*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    6955             : /* 14540*/                      OPC_EmitInteger, MVT::i32, 8, 
    6956             : /* 14543*/                      OPC_EmitInteger, MVT::i32, 8, 
    6957             : /* 14546*/                      OPC_EmitInteger, MVT::i32, 8, 
    6958             : /* 14549*/                      OPC_EmitInteger, MVT::i1, 0, 
    6959             : /* 14552*/                      OPC_EmitInteger, MVT::i32, 0, 
    6960             : /* 14555*/                      OPC_EmitInteger, MVT::i32, 0, 
    6961             : /* 14558*/                      OPC_EmitInteger, MVT::i32, 0, 
    6962             : /* 14561*/                      OPC_EmitInteger, MVT::i32, 0, 
    6963             : /* 14564*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_I32_I8), 0,
    6964             :                                     MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
    6965             :                                 // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, (add:{ *:[i32] } (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src1, i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } i32:{ *:[i32] }:$src0, i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), i8:{ *:[Other] }), (sext_inreg:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), i8:{ *:[Other] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_i24:{ *:[i32] } (sra:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (sra:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_i24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 98
    6966             :                                 // Dst: (V_DOT4_I32_I8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    6967             : /* 14581*/                    0, /*End of Scope*/
    6968             : /* 14582*/                  0, /*End of Scope*/
    6969             : /* 14583*/                0, /*End of Scope*/
    6970             : /* 14584*/              0, /*End of Scope*/
    6971             : /* 14585*/            0, // EndSwitchOpcode
    6972             : /* 14586*/          /*SwitchOpcode*/ 107|128,50/*6507*/, TARGET_VAL(AMDGPUISD::MUL_U24),// ->21097
    6973             : /* 14590*/            OPC_MoveChild0,
    6974             : /* 14591*/            OPC_Scope, 118|128,48/*6262*/, /*->20856*/ // 2 children in Scope
    6975             : /* 14594*/              OPC_CheckAndImm, 127|128,1/*255*/, 
    6976             : /* 14597*/              OPC_MoveChild0,
    6977             : /* 14598*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6978             : /* 14601*/              OPC_RecordChild0, // #0 = $src0
    6979             : /* 14602*/              OPC_CheckChild1Integer, 16, 
    6980             : /* 14604*/              OPC_CheckChild1Type, MVT::i32,
    6981             : /* 14606*/              OPC_MoveParent,
    6982             : /* 14607*/              OPC_MoveParent,
    6983             : /* 14608*/              OPC_MoveChild1,
    6984             : /* 14609*/              OPC_CheckAndImm, 127|128,1/*255*/, 
    6985             : /* 14612*/              OPC_MoveChild0,
    6986             : /* 14613*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    6987             : /* 14616*/              OPC_RecordChild0, // #1 = $src1
    6988             : /* 14617*/              OPC_CheckChild1Integer, 16, 
    6989             : /* 14619*/              OPC_CheckChild1Type, MVT::i32,
    6990             : /* 14621*/              OPC_MoveParent,
    6991             : /* 14622*/              OPC_MoveParent,
    6992             : /* 14623*/              OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    6993             : /* 14625*/              OPC_MoveParent,
    6994             : /* 14626*/              OPC_MoveChild1,
    6995             : /* 14627*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6996             : /* 14630*/              OPC_MoveChild0,
    6997             : /* 14631*/              OPC_SwitchOpcode /*2 cases */, 40|128,25/*3240*/, TARGET_VAL(ISD::ADD),// ->17876
    6998             : /* 14636*/                OPC_Scope, 39|128,6/*807*/, /*->15446*/ // 4 children in Scope
    6999             : /* 14639*/                  OPC_RecordChild0, // #2 = $src2
    7000             : /* 14640*/                  OPC_MoveChild1,
    7001             : /* 14641*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7002             : /* 14644*/                  OPC_MoveChild0,
    7003             : /* 14645*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    7004             : /* 14648*/                  OPC_Scope, 12|128,3/*396*/, /*->15047*/ // 2 children in Scope
    7005             : /* 14651*/                    OPC_CheckChild0Same, 0,
    7006             : /* 14653*/                    OPC_MoveParent,
    7007             : /* 14654*/                    OPC_MoveChild1,
    7008             : /* 14655*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    7009             : /* 14658*/                    OPC_CheckChild0Same, 1,
    7010             : /* 14660*/                    OPC_MoveParent,
    7011             : /* 14661*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7012             : /* 14663*/                    OPC_MoveParent,
    7013             : /* 14664*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7014             : /* 14666*/                    OPC_MoveParent,
    7015             : /* 14667*/                    OPC_MoveChild1,
    7016             : /* 14668*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7017             : /* 14671*/                    OPC_MoveChild0,
    7018             : /* 14672*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    7019             : /* 14675*/                    OPC_MoveChild0,
    7020             : /* 14676*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7021             : /* 14679*/                    OPC_Scope, 53|128,1/*181*/, /*->14863*/ // 2 children in Scope
    7022             : /* 14682*/                      OPC_CheckChild0Same, 0,
    7023             : /* 14684*/                      OPC_CheckChild1Integer, 8, 
    7024             : /* 14686*/                      OPC_CheckChild1Type, MVT::i32,
    7025             : /* 14688*/                      OPC_MoveParent,
    7026             : /* 14689*/                      OPC_MoveParent,
    7027             : /* 14690*/                      OPC_MoveChild1,
    7028             : /* 14691*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
    7029             : /* 14694*/                      OPC_MoveChild0,
    7030             : /* 14695*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7031             : /* 14698*/                      OPC_CheckChild0Same, 1,
    7032             : /* 14700*/                      OPC_CheckChild1Integer, 8, 
    7033             : /* 14702*/                      OPC_CheckChild1Type, MVT::i32,
    7034             : /* 14704*/                      OPC_MoveParent,
    7035             : /* 14705*/                      OPC_MoveParent,
    7036             : /* 14706*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7037             : /* 14708*/                      OPC_MoveParent,
    7038             : /* 14709*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7039             : /* 14711*/                      OPC_MoveParent,
    7040             : /* 14712*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7041             : /* 14714*/                      OPC_MoveParent,
    7042             : /* 14715*/                      OPC_MoveChild1,
    7043             : /* 14716*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7044             : /* 14719*/                      OPC_MoveChild0,
    7045             : /* 14720*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7046             : /* 14723*/                      OPC_Scope, 68, /*->14793*/ // 2 children in Scope
    7047             : /* 14725*/                        OPC_CheckChild0Same, 0,
    7048             : /* 14727*/                        OPC_CheckChild1Integer, 24, 
    7049             : /* 14729*/                        OPC_CheckChild1Type, MVT::i32,
    7050             : /* 14731*/                        OPC_MoveParent,
    7051             : /* 14732*/                        OPC_MoveChild1,
    7052             : /* 14733*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7053             : /* 14736*/                        OPC_CheckChild0Same, 1,
    7054             : /* 14738*/                        OPC_CheckChild1Integer, 24, 
    7055             : /* 14740*/                        OPC_CheckChild1Type, MVT::i32,
    7056             : /* 14742*/                        OPC_MoveParent,
    7057             : /* 14743*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7058             : /* 14745*/                        OPC_MoveParent,
    7059             : /* 14746*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7060             : /* 14748*/                        OPC_CheckType, MVT::i32,
    7061             : /* 14750*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7062             : /* 14752*/                        OPC_EmitInteger, MVT::i32, 8, 
    7063             : /* 14755*/                        OPC_EmitInteger, MVT::i32, 8, 
    7064             : /* 14758*/                        OPC_EmitInteger, MVT::i32, 8, 
    7065             : /* 14761*/                        OPC_EmitInteger, MVT::i1, 0, 
    7066             : /* 14764*/                        OPC_EmitInteger, MVT::i32, 0, 
    7067             : /* 14767*/                        OPC_EmitInteger, MVT::i32, 0, 
    7068             : /* 14770*/                        OPC_EmitInteger, MVT::i32, 0, 
    7069             : /* 14773*/                        OPC_EmitInteger, MVT::i32, 0, 
    7070             : /* 14776*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7071             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7072             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7073             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7074             : /* 14793*/                      /*Scope*/ 68, /*->14862*/
    7075             : /* 14794*/                        OPC_CheckChild0Same, 1,
    7076             : /* 14796*/                        OPC_CheckChild1Integer, 24, 
    7077             : /* 14798*/                        OPC_CheckChild1Type, MVT::i32,
    7078             : /* 14800*/                        OPC_MoveParent,
    7079             : /* 14801*/                        OPC_MoveChild1,
    7080             : /* 14802*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7081             : /* 14805*/                        OPC_CheckChild0Same, 0,
    7082             : /* 14807*/                        OPC_CheckChild1Integer, 24, 
    7083             : /* 14809*/                        OPC_CheckChild1Type, MVT::i32,
    7084             : /* 14811*/                        OPC_MoveParent,
    7085             : /* 14812*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7086             : /* 14814*/                        OPC_MoveParent,
    7087             : /* 14815*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7088             : /* 14817*/                        OPC_CheckType, MVT::i32,
    7089             : /* 14819*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7090             : /* 14821*/                        OPC_EmitInteger, MVT::i32, 8, 
    7091             : /* 14824*/                        OPC_EmitInteger, MVT::i32, 8, 
    7092             : /* 14827*/                        OPC_EmitInteger, MVT::i32, 8, 
    7093             : /* 14830*/                        OPC_EmitInteger, MVT::i1, 0, 
    7094             : /* 14833*/                        OPC_EmitInteger, MVT::i32, 0, 
    7095             : /* 14836*/                        OPC_EmitInteger, MVT::i32, 0, 
    7096             : /* 14839*/                        OPC_EmitInteger, MVT::i32, 0, 
    7097             : /* 14842*/                        OPC_EmitInteger, MVT::i32, 0, 
    7098             : /* 14845*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7099             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7100             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7101             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7102             : /* 14862*/                      0, /*End of Scope*/
    7103             : /* 14863*/                    /*Scope*/ 53|128,1/*181*/, /*->15046*/
    7104             : /* 14865*/                      OPC_CheckChild0Same, 1,
    7105             : /* 14867*/                      OPC_CheckChild1Integer, 8, 
    7106             : /* 14869*/                      OPC_CheckChild1Type, MVT::i32,
    7107             : /* 14871*/                      OPC_MoveParent,
    7108             : /* 14872*/                      OPC_MoveParent,
    7109             : /* 14873*/                      OPC_MoveChild1,
    7110             : /* 14874*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
    7111             : /* 14877*/                      OPC_MoveChild0,
    7112             : /* 14878*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7113             : /* 14881*/                      OPC_CheckChild0Same, 0,
    7114             : /* 14883*/                      OPC_CheckChild1Integer, 8, 
    7115             : /* 14885*/                      OPC_CheckChild1Type, MVT::i32,
    7116             : /* 14887*/                      OPC_MoveParent,
    7117             : /* 14888*/                      OPC_MoveParent,
    7118             : /* 14889*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7119             : /* 14891*/                      OPC_MoveParent,
    7120             : /* 14892*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7121             : /* 14894*/                      OPC_MoveParent,
    7122             : /* 14895*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7123             : /* 14897*/                      OPC_MoveParent,
    7124             : /* 14898*/                      OPC_MoveChild1,
    7125             : /* 14899*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7126             : /* 14902*/                      OPC_MoveChild0,
    7127             : /* 14903*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7128             : /* 14906*/                      OPC_Scope, 68, /*->14976*/ // 2 children in Scope
    7129             : /* 14908*/                        OPC_CheckChild0Same, 0,
    7130             : /* 14910*/                        OPC_CheckChild1Integer, 24, 
    7131             : /* 14912*/                        OPC_CheckChild1Type, MVT::i32,
    7132             : /* 14914*/                        OPC_MoveParent,
    7133             : /* 14915*/                        OPC_MoveChild1,
    7134             : /* 14916*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7135             : /* 14919*/                        OPC_CheckChild0Same, 1,
    7136             : /* 14921*/                        OPC_CheckChild1Integer, 24, 
    7137             : /* 14923*/                        OPC_CheckChild1Type, MVT::i32,
    7138             : /* 14925*/                        OPC_MoveParent,
    7139             : /* 14926*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7140             : /* 14928*/                        OPC_MoveParent,
    7141             : /* 14929*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7142             : /* 14931*/                        OPC_CheckType, MVT::i32,
    7143             : /* 14933*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7144             : /* 14935*/                        OPC_EmitInteger, MVT::i32, 8, 
    7145             : /* 14938*/                        OPC_EmitInteger, MVT::i32, 8, 
    7146             : /* 14941*/                        OPC_EmitInteger, MVT::i32, 8, 
    7147             : /* 14944*/                        OPC_EmitInteger, MVT::i1, 0, 
    7148             : /* 14947*/                        OPC_EmitInteger, MVT::i32, 0, 
    7149             : /* 14950*/                        OPC_EmitInteger, MVT::i32, 0, 
    7150             : /* 14953*/                        OPC_EmitInteger, MVT::i32, 0, 
    7151             : /* 14956*/                        OPC_EmitInteger, MVT::i32, 0, 
    7152             : /* 14959*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7153             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7154             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7155             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7156             : /* 14976*/                      /*Scope*/ 68, /*->15045*/
    7157             : /* 14977*/                        OPC_CheckChild0Same, 1,
    7158             : /* 14979*/                        OPC_CheckChild1Integer, 24, 
    7159             : /* 14981*/                        OPC_CheckChild1Type, MVT::i32,
    7160             : /* 14983*/                        OPC_MoveParent,
    7161             : /* 14984*/                        OPC_MoveChild1,
    7162             : /* 14985*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7163             : /* 14988*/                        OPC_CheckChild0Same, 0,
    7164             : /* 14990*/                        OPC_CheckChild1Integer, 24, 
    7165             : /* 14992*/                        OPC_CheckChild1Type, MVT::i32,
    7166             : /* 14994*/                        OPC_MoveParent,
    7167             : /* 14995*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7168             : /* 14997*/                        OPC_MoveParent,
    7169             : /* 14998*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7170             : /* 15000*/                        OPC_CheckType, MVT::i32,
    7171             : /* 15002*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7172             : /* 15004*/                        OPC_EmitInteger, MVT::i32, 8, 
    7173             : /* 15007*/                        OPC_EmitInteger, MVT::i32, 8, 
    7174             : /* 15010*/                        OPC_EmitInteger, MVT::i32, 8, 
    7175             : /* 15013*/                        OPC_EmitInteger, MVT::i1, 0, 
    7176             : /* 15016*/                        OPC_EmitInteger, MVT::i32, 0, 
    7177             : /* 15019*/                        OPC_EmitInteger, MVT::i32, 0, 
    7178             : /* 15022*/                        OPC_EmitInteger, MVT::i32, 0, 
    7179             : /* 15025*/                        OPC_EmitInteger, MVT::i32, 0, 
    7180             : /* 15028*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7181             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7182             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7183             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7184             : /* 15045*/                      0, /*End of Scope*/
    7185             : /* 15046*/                    0, /*End of Scope*/
    7186             : /* 15047*/                  /*Scope*/ 12|128,3/*396*/, /*->15445*/
    7187             : /* 15049*/                    OPC_CheckChild0Same, 1,
    7188             : /* 15051*/                    OPC_MoveParent,
    7189             : /* 15052*/                    OPC_MoveChild1,
    7190             : /* 15053*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    7191             : /* 15056*/                    OPC_CheckChild0Same, 0,
    7192             : /* 15058*/                    OPC_MoveParent,
    7193             : /* 15059*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7194             : /* 15061*/                    OPC_MoveParent,
    7195             : /* 15062*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7196             : /* 15064*/                    OPC_MoveParent,
    7197             : /* 15065*/                    OPC_MoveChild1,
    7198             : /* 15066*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7199             : /* 15069*/                    OPC_MoveChild0,
    7200             : /* 15070*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    7201             : /* 15073*/                    OPC_MoveChild0,
    7202             : /* 15074*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7203             : /* 15077*/                    OPC_Scope, 53|128,1/*181*/, /*->15261*/ // 2 children in Scope
    7204             : /* 15080*/                      OPC_CheckChild0Same, 0,
    7205             : /* 15082*/                      OPC_CheckChild1Integer, 8, 
    7206             : /* 15084*/                      OPC_CheckChild1Type, MVT::i32,
    7207             : /* 15086*/                      OPC_MoveParent,
    7208             : /* 15087*/                      OPC_MoveParent,
    7209             : /* 15088*/                      OPC_MoveChild1,
    7210             : /* 15089*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
    7211             : /* 15092*/                      OPC_MoveChild0,
    7212             : /* 15093*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7213             : /* 15096*/                      OPC_CheckChild0Same, 1,
    7214             : /* 15098*/                      OPC_CheckChild1Integer, 8, 
    7215             : /* 15100*/                      OPC_CheckChild1Type, MVT::i32,
    7216             : /* 15102*/                      OPC_MoveParent,
    7217             : /* 15103*/                      OPC_MoveParent,
    7218             : /* 15104*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7219             : /* 15106*/                      OPC_MoveParent,
    7220             : /* 15107*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7221             : /* 15109*/                      OPC_MoveParent,
    7222             : /* 15110*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7223             : /* 15112*/                      OPC_MoveParent,
    7224             : /* 15113*/                      OPC_MoveChild1,
    7225             : /* 15114*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7226             : /* 15117*/                      OPC_MoveChild0,
    7227             : /* 15118*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7228             : /* 15121*/                      OPC_Scope, 68, /*->15191*/ // 2 children in Scope
    7229             : /* 15123*/                        OPC_CheckChild0Same, 0,
    7230             : /* 15125*/                        OPC_CheckChild1Integer, 24, 
    7231             : /* 15127*/                        OPC_CheckChild1Type, MVT::i32,
    7232             : /* 15129*/                        OPC_MoveParent,
    7233             : /* 15130*/                        OPC_MoveChild1,
    7234             : /* 15131*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7235             : /* 15134*/                        OPC_CheckChild0Same, 1,
    7236             : /* 15136*/                        OPC_CheckChild1Integer, 24, 
    7237             : /* 15138*/                        OPC_CheckChild1Type, MVT::i32,
    7238             : /* 15140*/                        OPC_MoveParent,
    7239             : /* 15141*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7240             : /* 15143*/                        OPC_MoveParent,
    7241             : /* 15144*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7242             : /* 15146*/                        OPC_CheckType, MVT::i32,
    7243             : /* 15148*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7244             : /* 15150*/                        OPC_EmitInteger, MVT::i32, 8, 
    7245             : /* 15153*/                        OPC_EmitInteger, MVT::i32, 8, 
    7246             : /* 15156*/                        OPC_EmitInteger, MVT::i32, 8, 
    7247             : /* 15159*/                        OPC_EmitInteger, MVT::i1, 0, 
    7248             : /* 15162*/                        OPC_EmitInteger, MVT::i32, 0, 
    7249             : /* 15165*/                        OPC_EmitInteger, MVT::i32, 0, 
    7250             : /* 15168*/                        OPC_EmitInteger, MVT::i32, 0, 
    7251             : /* 15171*/                        OPC_EmitInteger, MVT::i32, 0, 
    7252             : /* 15174*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7253             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7254             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7255             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7256             : /* 15191*/                      /*Scope*/ 68, /*->15260*/
    7257             : /* 15192*/                        OPC_CheckChild0Same, 1,
    7258             : /* 15194*/                        OPC_CheckChild1Integer, 24, 
    7259             : /* 15196*/                        OPC_CheckChild1Type, MVT::i32,
    7260             : /* 15198*/                        OPC_MoveParent,
    7261             : /* 15199*/                        OPC_MoveChild1,
    7262             : /* 15200*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7263             : /* 15203*/                        OPC_CheckChild0Same, 0,
    7264             : /* 15205*/                        OPC_CheckChild1Integer, 24, 
    7265             : /* 15207*/                        OPC_CheckChild1Type, MVT::i32,
    7266             : /* 15209*/                        OPC_MoveParent,
    7267             : /* 15210*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7268             : /* 15212*/                        OPC_MoveParent,
    7269             : /* 15213*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7270             : /* 15215*/                        OPC_CheckType, MVT::i32,
    7271             : /* 15217*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7272             : /* 15219*/                        OPC_EmitInteger, MVT::i32, 8, 
    7273             : /* 15222*/                        OPC_EmitInteger, MVT::i32, 8, 
    7274             : /* 15225*/                        OPC_EmitInteger, MVT::i32, 8, 
    7275             : /* 15228*/                        OPC_EmitInteger, MVT::i1, 0, 
    7276             : /* 15231*/                        OPC_EmitInteger, MVT::i32, 0, 
    7277             : /* 15234*/                        OPC_EmitInteger, MVT::i32, 0, 
    7278             : /* 15237*/                        OPC_EmitInteger, MVT::i32, 0, 
    7279             : /* 15240*/                        OPC_EmitInteger, MVT::i32, 0, 
    7280             : /* 15243*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7281             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7282             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7283             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7284             : /* 15260*/                      0, /*End of Scope*/
    7285             : /* 15261*/                    /*Scope*/ 53|128,1/*181*/, /*->15444*/
    7286             : /* 15263*/                      OPC_CheckChild0Same, 1,
    7287             : /* 15265*/                      OPC_CheckChild1Integer, 8, 
    7288             : /* 15267*/                      OPC_CheckChild1Type, MVT::i32,
    7289             : /* 15269*/                      OPC_MoveParent,
    7290             : /* 15270*/                      OPC_MoveParent,
    7291             : /* 15271*/                      OPC_MoveChild1,
    7292             : /* 15272*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
    7293             : /* 15275*/                      OPC_MoveChild0,
    7294             : /* 15276*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7295             : /* 15279*/                      OPC_CheckChild0Same, 0,
    7296             : /* 15281*/                      OPC_CheckChild1Integer, 8, 
    7297             : /* 15283*/                      OPC_CheckChild1Type, MVT::i32,
    7298             : /* 15285*/                      OPC_MoveParent,
    7299             : /* 15286*/                      OPC_MoveParent,
    7300             : /* 15287*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7301             : /* 15289*/                      OPC_MoveParent,
    7302             : /* 15290*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7303             : /* 15292*/                      OPC_MoveParent,
    7304             : /* 15293*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7305             : /* 15295*/                      OPC_MoveParent,
    7306             : /* 15296*/                      OPC_MoveChild1,
    7307             : /* 15297*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7308             : /* 15300*/                      OPC_MoveChild0,
    7309             : /* 15301*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7310             : /* 15304*/                      OPC_Scope, 68, /*->15374*/ // 2 children in Scope
    7311             : /* 15306*/                        OPC_CheckChild0Same, 0,
    7312             : /* 15308*/                        OPC_CheckChild1Integer, 24, 
    7313             : /* 15310*/                        OPC_CheckChild1Type, MVT::i32,
    7314             : /* 15312*/                        OPC_MoveParent,
    7315             : /* 15313*/                        OPC_MoveChild1,
    7316             : /* 15314*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7317             : /* 15317*/                        OPC_CheckChild0Same, 1,
    7318             : /* 15319*/                        OPC_CheckChild1Integer, 24, 
    7319             : /* 15321*/                        OPC_CheckChild1Type, MVT::i32,
    7320             : /* 15323*/                        OPC_MoveParent,
    7321             : /* 15324*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7322             : /* 15326*/                        OPC_MoveParent,
    7323             : /* 15327*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7324             : /* 15329*/                        OPC_CheckType, MVT::i32,
    7325             : /* 15331*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7326             : /* 15333*/                        OPC_EmitInteger, MVT::i32, 8, 
    7327             : /* 15336*/                        OPC_EmitInteger, MVT::i32, 8, 
    7328             : /* 15339*/                        OPC_EmitInteger, MVT::i32, 8, 
    7329             : /* 15342*/                        OPC_EmitInteger, MVT::i1, 0, 
    7330             : /* 15345*/                        OPC_EmitInteger, MVT::i32, 0, 
    7331             : /* 15348*/                        OPC_EmitInteger, MVT::i32, 0, 
    7332             : /* 15351*/                        OPC_EmitInteger, MVT::i32, 0, 
    7333             : /* 15354*/                        OPC_EmitInteger, MVT::i32, 0, 
    7334             : /* 15357*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7335             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7336             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7337             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7338             : /* 15374*/                      /*Scope*/ 68, /*->15443*/
    7339             : /* 15375*/                        OPC_CheckChild0Same, 1,
    7340             : /* 15377*/                        OPC_CheckChild1Integer, 24, 
    7341             : /* 15379*/                        OPC_CheckChild1Type, MVT::i32,
    7342             : /* 15381*/                        OPC_MoveParent,
    7343             : /* 15382*/                        OPC_MoveChild1,
    7344             : /* 15383*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7345             : /* 15386*/                        OPC_CheckChild0Same, 0,
    7346             : /* 15388*/                        OPC_CheckChild1Integer, 24, 
    7347             : /* 15390*/                        OPC_CheckChild1Type, MVT::i32,
    7348             : /* 15392*/                        OPC_MoveParent,
    7349             : /* 15393*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7350             : /* 15395*/                        OPC_MoveParent,
    7351             : /* 15396*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7352             : /* 15398*/                        OPC_CheckType, MVT::i32,
    7353             : /* 15400*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7354             : /* 15402*/                        OPC_EmitInteger, MVT::i32, 8, 
    7355             : /* 15405*/                        OPC_EmitInteger, MVT::i32, 8, 
    7356             : /* 15408*/                        OPC_EmitInteger, MVT::i32, 8, 
    7357             : /* 15411*/                        OPC_EmitInteger, MVT::i1, 0, 
    7358             : /* 15414*/                        OPC_EmitInteger, MVT::i32, 0, 
    7359             : /* 15417*/                        OPC_EmitInteger, MVT::i32, 0, 
    7360             : /* 15420*/                        OPC_EmitInteger, MVT::i32, 0, 
    7361             : /* 15423*/                        OPC_EmitInteger, MVT::i32, 0, 
    7362             : /* 15426*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7363             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7364             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } i32:{ *:[i32] }:$src2, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7365             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7366             : /* 15443*/                      0, /*End of Scope*/
    7367             : /* 15444*/                    0, /*End of Scope*/
    7368             : /* 15445*/                  0, /*End of Scope*/
    7369             : /* 15446*/                /*Scope*/ 40|128,6/*808*/, /*->16256*/
    7370             : /* 15448*/                  OPC_MoveChild0,
    7371             : /* 15449*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7372             : /* 15452*/                  OPC_MoveChild0,
    7373             : /* 15453*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
    7374             : /* 15456*/                  OPC_Scope, 13|128,3/*397*/, /*->15856*/ // 2 children in Scope
    7375             : /* 15459*/                    OPC_CheckChild0Same, 0,
    7376             : /* 15461*/                    OPC_MoveParent,
    7377             : /* 15462*/                    OPC_MoveChild1,
    7378             : /* 15463*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    7379             : /* 15466*/                    OPC_CheckChild0Same, 1,
    7380             : /* 15468*/                    OPC_MoveParent,
    7381             : /* 15469*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7382             : /* 15471*/                    OPC_MoveParent,
    7383             : /* 15472*/                    OPC_RecordChild1, // #2 = $src2
    7384             : /* 15473*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7385             : /* 15475*/                    OPC_MoveParent,
    7386             : /* 15476*/                    OPC_MoveChild1,
    7387             : /* 15477*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7388             : /* 15480*/                    OPC_MoveChild0,
    7389             : /* 15481*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
    7390             : /* 15484*/                    OPC_MoveChild0,
    7391             : /* 15485*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7392             : /* 15488*/                    OPC_Scope, 53|128,1/*181*/, /*->15672*/ // 2 children in Scope
    7393             : /* 15491*/                      OPC_CheckChild0Same, 0,
    7394             : /* 15493*/                      OPC_CheckChild1Integer, 8, 
    7395             : /* 15495*/                      OPC_CheckChild1Type, MVT::i32,
    7396             : /* 15497*/                      OPC_MoveParent,
    7397             : /* 15498*/                      OPC_MoveParent,
    7398             : /* 15499*/                      OPC_MoveChild1,
    7399             : /* 15500*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
    7400             : /* 15503*/                      OPC_MoveChild0,
    7401             : /* 15504*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7402             : /* 15507*/                      OPC_CheckChild0Same, 1,
    7403             : /* 15509*/                      OPC_CheckChild1Integer, 8, 
    7404             : /* 15511*/                      OPC_CheckChild1Type, MVT::i32,
    7405             : /* 15513*/                      OPC_MoveParent,
    7406             : /* 15514*/                      OPC_MoveParent,
    7407             : /* 15515*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7408             : /* 15517*/                      OPC_MoveParent,
    7409             : /* 15518*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7410             : /* 15520*/                      OPC_MoveParent,
    7411             : /* 15521*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7412             : /* 15523*/                      OPC_MoveParent,
    7413             : /* 15524*/                      OPC_MoveChild1,
    7414             : /* 15525*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7415             : /* 15528*/                      OPC_MoveChild0,
    7416             : /* 15529*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7417             : /* 15532*/                      OPC_Scope, 68, /*->15602*/ // 2 children in Scope
    7418             : /* 15534*/                        OPC_CheckChild0Same, 0,
    7419             : /* 15536*/                        OPC_CheckChild1Integer, 24, 
    7420             : /* 15538*/                        OPC_CheckChild1Type, MVT::i32,
    7421             : /* 15540*/                        OPC_MoveParent,
    7422             : /* 15541*/                        OPC_MoveChild1,
    7423             : /* 15542*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7424             : /* 15545*/                        OPC_CheckChild0Same, 1,
    7425             : /* 15547*/                        OPC_CheckChild1Integer, 24, 
    7426             : /* 15549*/                        OPC_CheckChild1Type, MVT::i32,
    7427             : /* 15551*/                        OPC_MoveParent,
    7428             : /* 15552*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7429             : /* 15554*/                        OPC_MoveParent,
    7430             : /* 15555*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7431             : /* 15557*/                        OPC_CheckType, MVT::i32,
    7432             : /* 15559*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7433             : /* 15561*/                        OPC_EmitInteger, MVT::i32, 8, 
    7434             : /* 15564*/                        OPC_EmitInteger, MVT::i32, 8, 
    7435             : /* 15567*/                        OPC_EmitInteger, MVT::i32, 8, 
    7436             : /* 15570*/                        OPC_EmitInteger, MVT::i1, 0, 
    7437             : /* 15573*/                        OPC_EmitInteger, MVT::i32, 0, 
    7438             : /* 15576*/                        OPC_EmitInteger, MVT::i32, 0, 
    7439             : /* 15579*/                        OPC_EmitInteger, MVT::i32, 0, 
    7440             : /* 15582*/                        OPC_EmitInteger, MVT::i32, 0, 
    7441             : /* 15585*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7442             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7443             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7444             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7445             : /* 15602*/                      /*Scope*/ 68, /*->15671*/
    7446             : /* 15603*/                        OPC_CheckChild0Same, 1,
    7447             : /* 15605*/                        OPC_CheckChild1Integer, 24, 
    7448             : /* 15607*/                        OPC_CheckChild1Type, MVT::i32,
    7449             : /* 15609*/                        OPC_MoveParent,
    7450             : /* 15610*/                        OPC_MoveChild1,
    7451             : /* 15611*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7452             : /* 15614*/                        OPC_CheckChild0Same, 0,
    7453             : /* 15616*/                        OPC_CheckChild1Integer, 24, 
    7454             : /* 15618*/                        OPC_CheckChild1Type, MVT::i32,
    7455             : /* 15620*/                        OPC_MoveParent,
    7456             : /* 15621*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7457             : /* 15623*/                        OPC_MoveParent,
    7458             : /* 15624*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7459             : /* 15626*/                        OPC_CheckType, MVT::i32,
    7460             : /* 15628*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7461             : /* 15630*/                        OPC_EmitInteger, MVT::i32, 8, 
    7462             : /* 15633*/                        OPC_EmitInteger, MVT::i32, 8, 
    7463             : /* 15636*/                        OPC_EmitInteger, MVT::i32, 8, 
    7464             : /* 15639*/                        OPC_EmitInteger, MVT::i1, 0, 
    7465             : /* 15642*/                        OPC_EmitInteger, MVT::i32, 0, 
    7466             : /* 15645*/                        OPC_EmitInteger, MVT::i32, 0, 
    7467             : /* 15648*/                        OPC_EmitInteger, MVT::i32, 0, 
    7468             : /* 15651*/                        OPC_EmitInteger, MVT::i32, 0, 
    7469             : /* 15654*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7470             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7471             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7472             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7473             : /* 15671*/                      0, /*End of Scope*/
    7474             : /* 15672*/                    /*Scope*/ 53|128,1/*181*/, /*->15855*/
    7475             : /* 15674*/                      OPC_CheckChild0Same, 1,
    7476             : /* 15676*/                      OPC_CheckChild1Integer, 8, 
    7477             : /* 15678*/                      OPC_CheckChild1Type, MVT::i32,
    7478             : /* 15680*/                      OPC_MoveParent,
    7479             : /* 15681*/                      OPC_MoveParent,
    7480             : /* 15682*/                      OPC_MoveChild1,
    7481             : /* 15683*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
    7482             : /* 15686*/                      OPC_MoveChild0,
    7483             : /* 15687*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7484             : /* 15690*/                      OPC_CheckChild0Same, 0,
    7485             : /* 15692*/                      OPC_CheckChild1Integer, 8, 
    7486             : /* 15694*/                      OPC_CheckChild1Type, MVT::i32,
    7487             : /* 15696*/                      OPC_MoveParent,
    7488             : /* 15697*/                      OPC_MoveParent,
    7489             : /* 15698*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7490             : /* 15700*/                      OPC_MoveParent,
    7491             : /* 15701*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7492             : /* 15703*/                      OPC_MoveParent,
    7493             : /* 15704*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7494             : /* 15706*/                      OPC_MoveParent,
    7495             : /* 15707*/                      OPC_MoveChild1,
    7496             : /* 15708*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
    7497             : /* 15711*/                      OPC_MoveChild0,
    7498             : /* 15712*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7499             : /* 15715*/                      OPC_Scope, 68, /*->15785*/ // 2 children in Scope
    7500             : /* 15717*/                        OPC_CheckChild0Same, 0,
    7501             : /* 15719*/                        OPC_CheckChild1Integer, 24, 
    7502             : /* 15721*/                        OPC_CheckChild1Type, MVT::i32,
    7503             : /* 15723*/                        OPC_MoveParent,
    7504             : /* 15724*/                        OPC_MoveChild1,
    7505             : /* 15725*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7506             : /* 15728*/                        OPC_CheckChild0Same, 1,
    7507             : /* 15730*/                        OPC_CheckChild1Integer, 24, 
    7508             : /* 15732*/                        OPC_CheckChild1Type, MVT::i32,
    7509             : /* 15734*/                        OPC_MoveParent,
    7510             : /* 15735*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7511             : /* 15737*/                        OPC_MoveParent,
    7512             : /* 15738*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7513             : /* 15740*/                        OPC_CheckType, MVT::i32,
    7514             : /* 15742*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7515             : /* 15744*/                        OPC_EmitInteger, MVT::i32, 8, 
    7516             : /* 15747*/                        OPC_EmitInteger, MVT::i32, 8, 
    7517             : /* 15750*/                        OPC_EmitInteger, MVT::i32, 8, 
    7518             : /* 15753*/                        OPC_EmitInteger, MVT::i1, 0, 
    7519             : /* 15756*/                        OPC_EmitInteger, MVT::i32, 0, 
    7520             : /* 15759*/                        OPC_EmitInteger, MVT::i32, 0, 
    7521             : /* 15762*/                        OPC_EmitInteger, MVT::i32, 0, 
    7522             : /* 15765*/                        OPC_EmitInteger, MVT::i32, 0, 
    7523             : /* 15768*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7524             :                                       MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
    7525             :                                   // Src: (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 16:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 16:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, (add:{ *:[i32] } (add:{ *:[i32] } (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } i32:{ *:[i32] }:$src0, 255:{ *:[i32] }), (and:{ *:[i32] } i32:{ *:[i32] }:$src1, 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>, i32:{ *:[i32] }:$src2)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 8:{ *:[i32] }), 255:{ *:[i32] }), (and:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 8:{ *:[i32] }), 255:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>>)<<P:Predicate_add_oneuse>>, (AMDGPUmul_u24:{ *:[i32] } (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src1, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
    7526             :                                   // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
    7527             : /* 15785*/                      /*Scope*/ 68, /*->15854*/
    7528             : /* 15786*/                        OPC_CheckChild0Same, 1,
    7529             : /* 15788*/                        OPC_CheckChild1Integer, 24, 
    7530             : /* 15790*/                        OPC_CheckChild1Type, MVT::i32,
    7531             : /* 15792*/                        OPC_MoveParent,
    7532             : /* 15793*/                        OPC_MoveChild1,
    7533             : /* 15794*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    7534             : /* 15797*/                        OPC_CheckChild0Same, 0,
    7535             : /* 15799*/                        OPC_CheckChild1Integer, 24, 
    7536             : /* 15801*/                        OPC_CheckChild1Type, MVT::i32,
    7537             : /* 15803*/                        OPC_MoveParent,
    7538             : /* 15804*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
    7539             : /* 15806*/                        OPC_MoveParent,
    7540             : /* 15807*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
    7541             : /* 15809*/                        OPC_CheckType, MVT::i32,
    7542             : /* 15811*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
    7543             : /* 15813*/                        OPC_EmitInteger, MVT::i32, 8, 
    7544             : /* 15816*/                        OPC_EmitInteger, MVT::i32, 8, 
    7545             : /* 15819*/                        OPC_EmitInteger, MVT::i32, 8, 
    7546             : /* 15822*/                        OPC_EmitInteger, MVT::i1, 0, 
    7547             : /* 15825*/                        OPC_EmitInteger, MVT::i32, 0, 
    7548             : /* 15828*/                        OPC_EmitInteger, MVT::i32, 0, 
    7549             : /* 15831*/                        OPC_EmitInteger, MVT::i32, 0, 
    7550             : /* 15834*/                        OPC_EmitInteger, MVT::i32, 0, 
    7551             : /* 15837*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
    7552             :