Coverage Report

Created: 2018-09-25 17:16

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/lib/Target/AMDGPU/AMDGPUGenDAGISel.inc
Line
Count
Source (jump to first uncovered line)
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
521k
{
53
521k
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
54
521k
  // this.
55
2.58G
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56
521k
  static const unsigned char MatcherTable[] = {
57
521k
/*     0*/  OPC_SwitchOpcode /*196 cases */, 12|128,102|128,1/*29452*/, TARGET_VAL(ISD::ADD),// ->29458
58
521k
/*     6*/    OPC_Scope, 91|128,95|128,1/*28635*/, /*->28645*/ // 10 children in Scope
59
521k
/*    10*/      OPC_MoveChild0,
60
521k
/*    11*/      OPC_SwitchOpcode /*4 cases */, 107|128,111/*14315*/, TARGET_VAL(ISD::ADD),// ->14331
61
521k
/*    16*/        OPC_Scope, 96|128,105/*13536*/, /*->13555*/ // 4 children in Scope
62
521k
/*    19*/          OPC_MoveChild0,
63
521k
/*    20*/          OPC_SwitchOpcode /*2 cases */, 106|128,54/*7018*/, TARGET_VAL(ISD::ADD),// ->7043
64
521k
/*    25*/            OPC_MoveChild0,
65
521k
/*    26*/            OPC_SwitchOpcode /*2 cases */, 42|128,29/*3754*/, TARGET_VAL(ISD::ADD),// ->3785
66
521k
/*    31*/              OPC_Scope, 56|128,5/*696*/, /*->730*/ // 3 children in Scope
67
521k
/*    34*/                OPC_MoveChild0,
68
521k
/*    35*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
69
521k
/*    38*/                OPC_MoveChild0,
70
521k
/*    39*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
71
521k
/*    42*/                OPC_MoveChild0,
72
521k
/*    43*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
73
521k
/*    46*/                OPC_MoveChild0,
74
521k
/*    47*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
75
521k
/*    50*/                OPC_Scope, 81|128,2/*337*/, /*->390*/ // 2 children in Scope
76
521k
/*    53*/                  OPC_RecordChild0, // #0 = $src2
77
521k
/*    54*/                  OPC_MoveChild1,
78
521k
/*    55*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
79
521k
/*    58*/                  OPC_MoveChild0,
80
521k
/*    59*/                  OPC_CheckAndImm, 15, 
81
521k
/*    61*/                  OPC_RecordChild0, // #1 = $src0
82
521k
/*    62*/                  OPC_MoveParent,
83
521k
/*    63*/                  OPC_MoveChild1,
84
521k
/*    64*/                  OPC_CheckAndImm, 15, 
85
521k
/*    66*/                  OPC_RecordChild0, // #2 = $src1
86
521k
/*    67*/                  OPC_MoveParent,
87
521k
/*    68*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
88
521k
/*    70*/                  OPC_MoveParent,
89
521k
/*    71*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
90
521k
/*    73*/                  OPC_MoveParent,
91
521k
/*    74*/                  OPC_MoveChild1,
92
521k
/*    75*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
93
521k
/*    78*/                  OPC_MoveChild0,
94
521k
/*    79*/                  OPC_CheckAndImm, 15, 
95
521k
/*    81*/                  OPC_MoveChild0,
96
521k
/*    82*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
97
521k
/*    85*/                  OPC_CheckChild0Same, 1,
98
521k
/*    87*/                  OPC_CheckChild1Integer, 4, 
99
521k
/*    89*/                  OPC_CheckChild1Type, MVT::i32,
100
521k
/*    91*/                  OPC_MoveParent,
101
521k
/*    92*/                  OPC_MoveParent,
102
521k
/*    93*/                  OPC_MoveChild1,
103
521k
/*    94*/                  OPC_CheckAndImm, 15, 
104
521k
/*    96*/                  OPC_MoveChild0,
105
521k
/*    97*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
106
521k
/*   100*/                  OPC_CheckChild0Same, 2,
107
521k
/*   102*/                  OPC_CheckChild1Integer, 4, 
108
521k
/*   104*/                  OPC_CheckChild1Type, MVT::i32,
109
521k
/*   106*/                  OPC_MoveParent,
110
521k
/*   107*/                  OPC_MoveParent,
111
521k
/*   108*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
112
521k
/*   110*/                  OPC_MoveParent,
113
521k
/*   111*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
114
521k
/*   113*/                  OPC_MoveParent,
115
521k
/*   114*/                  OPC_MoveChild1,
116
521k
/*   115*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
117
521k
/*   118*/                  OPC_MoveChild0,
118
521k
/*   119*/                  OPC_CheckAndImm, 15, 
119
521k
/*   121*/                  OPC_MoveChild0,
120
521k
/*   122*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
121
521k
/*   125*/                  OPC_CheckChild0Same, 1,
122
521k
/*   127*/                  OPC_CheckChild1Integer, 8, 
123
521k
/*   129*/                  OPC_CheckChild1Type, MVT::i32,
124
521k
/*   131*/                  OPC_MoveParent,
125
521k
/*   132*/                  OPC_MoveParent,
126
521k
/*   133*/                  OPC_MoveChild1,
127
521k
/*   134*/                  OPC_CheckAndImm, 15, 
128
521k
/*   136*/                  OPC_MoveChild0,
129
521k
/*   137*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
130
521k
/*   140*/                  OPC_CheckChild0Same, 2,
131
521k
/*   142*/                  OPC_CheckChild1Integer, 8, 
132
521k
/*   144*/                  OPC_CheckChild1Type, MVT::i32,
133
521k
/*   146*/                  OPC_MoveParent,
134
521k
/*   147*/                  OPC_MoveParent,
135
521k
/*   148*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
136
521k
/*   150*/                  OPC_MoveParent,
137
521k
/*   151*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
138
521k
/*   153*/                  OPC_MoveParent,
139
521k
/*   154*/                  OPC_MoveChild1,
140
521k
/*   155*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
141
521k
/*   158*/                  OPC_MoveChild0,
142
521k
/*   159*/                  OPC_CheckAndImm, 15, 
143
521k
/*   161*/                  OPC_MoveChild0,
144
521k
/*   162*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
145
521k
/*   165*/                  OPC_CheckChild0Same, 1,
146
521k
/*   167*/                  OPC_CheckChild1Integer, 12, 
147
521k
/*   169*/                  OPC_CheckChild1Type, MVT::i32,
148
521k
/*   171*/                  OPC_MoveParent,
149
521k
/*   172*/                  OPC_MoveParent,
150
521k
/*   173*/                  OPC_MoveChild1,
151
521k
/*   174*/                  OPC_CheckAndImm, 15, 
152
521k
/*   176*/                  OPC_MoveChild0,
153
521k
/*   177*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
154
521k
/*   180*/                  OPC_CheckChild0Same, 2,
155
521k
/*   182*/                  OPC_CheckChild1Integer, 12, 
156
521k
/*   184*/                  OPC_CheckChild1Type, MVT::i32,
157
521k
/*   186*/                  OPC_MoveParent,
158
521k
/*   187*/                  OPC_MoveParent,
159
521k
/*   188*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
160
521k
/*   190*/                  OPC_MoveParent,
161
521k
/*   191*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
162
521k
/*   193*/                  OPC_MoveParent,
163
521k
/*   194*/                  OPC_MoveChild1,
164
521k
/*   195*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
165
521k
/*   198*/                  OPC_MoveChild0,
166
521k
/*   199*/                  OPC_CheckAndImm, 15, 
167
521k
/*   201*/                  OPC_MoveChild0,
168
521k
/*   202*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
169
521k
/*   205*/                  OPC_CheckChild0Same, 1,
170
521k
/*   207*/                  OPC_CheckChild1Integer, 16, 
171
521k
/*   209*/                  OPC_CheckChild1Type, MVT::i32,
172
521k
/*   211*/                  OPC_MoveParent,
173
521k
/*   212*/                  OPC_MoveParent,
174
521k
/*   213*/                  OPC_MoveChild1,
175
521k
/*   214*/                  OPC_CheckAndImm, 15, 
176
521k
/*   216*/                  OPC_MoveChild0,
177
521k
/*   217*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
178
521k
/*   220*/                  OPC_CheckChild0Same, 2,
179
521k
/*   222*/                  OPC_CheckChild1Integer, 16, 
180
521k
/*   224*/                  OPC_CheckChild1Type, MVT::i32,
181
521k
/*   226*/                  OPC_MoveParent,
182
521k
/*   227*/                  OPC_MoveParent,
183
521k
/*   228*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
184
521k
/*   230*/                  OPC_MoveParent,
185
521k
/*   231*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
186
521k
/*   233*/                  OPC_MoveParent,
187
521k
/*   234*/                  OPC_MoveChild1,
188
521k
/*   235*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
189
521k
/*   238*/                  OPC_MoveChild0,
190
521k
/*   239*/                  OPC_CheckAndImm, 15, 
191
521k
/*   241*/                  OPC_MoveChild0,
192
521k
/*   242*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
193
521k
/*   245*/                  OPC_CheckChild0Same, 1,
194
521k
/*   247*/                  OPC_CheckChild1Integer, 20, 
195
521k
/*   249*/                  OPC_CheckChild1Type, MVT::i32,
196
521k
/*   251*/                  OPC_MoveParent,
197
521k
/*   252*/                  OPC_MoveParent,
198
521k
/*   253*/                  OPC_MoveChild1,
199
521k
/*   254*/                  OPC_CheckAndImm, 15, 
200
521k
/*   256*/                  OPC_MoveChild0,
201
521k
/*   257*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
202
521k
/*   260*/                  OPC_CheckChild0Same, 2,
203
521k
/*   262*/                  OPC_CheckChild1Integer, 20, 
204
521k
/*   264*/                  OPC_CheckChild1Type, MVT::i32,
205
521k
/*   266*/                  OPC_MoveParent,
206
521k
/*   267*/                  OPC_MoveParent,
207
521k
/*   268*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
208
521k
/*   270*/                  OPC_MoveParent,
209
521k
/*   271*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
210
521k
/*   273*/                  OPC_MoveParent,
211
521k
/*   274*/                  OPC_MoveChild1,
212
521k
/*   275*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
213
521k
/*   278*/                  OPC_MoveChild0,
214
521k
/*   279*/                  OPC_CheckAndImm, 15, 
215
521k
/*   281*/                  OPC_MoveChild0,
216
521k
/*   282*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
217
521k
/*   285*/                  OPC_CheckChild0Same, 1,
218
521k
/*   287*/                  OPC_CheckChild1Integer, 24, 
219
521k
/*   289*/                  OPC_CheckChild1Type, MVT::i32,
220
521k
/*   291*/                  OPC_MoveParent,
221
521k
/*   292*/                  OPC_MoveParent,
222
521k
/*   293*/                  OPC_MoveChild1,
223
521k
/*   294*/                  OPC_CheckAndImm, 15, 
224
521k
/*   296*/                  OPC_MoveChild0,
225
521k
/*   297*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
226
521k
/*   300*/                  OPC_CheckChild0Same, 2,
227
521k
/*   302*/                  OPC_CheckChild1Integer, 24, 
228
521k
/*   304*/                  OPC_CheckChild1Type, MVT::i32,
229
521k
/*   306*/                  OPC_MoveParent,
230
521k
/*   307*/                  OPC_MoveParent,
231
521k
/*   308*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
232
521k
/*   310*/                  OPC_MoveParent,
233
521k
/*   311*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
234
521k
/*   313*/                  OPC_MoveParent,
235
521k
/*   314*/                  OPC_MoveChild1,
236
521k
/*   315*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
237
521k
/*   318*/                  OPC_MoveChild0,
238
521k
/*   319*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
239
521k
/*   322*/                  OPC_CheckChild0Same, 1,
240
521k
/*   324*/                  OPC_CheckChild1Integer, 28, 
241
521k
/*   326*/                  OPC_CheckChild1Type, MVT::i32,
242
521k
/*   328*/                  OPC_MoveParent,
243
521k
/*   329*/                  OPC_MoveChild1,
244
521k
/*   330*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
245
521k
/*   333*/                  OPC_CheckChild0Same, 2,
246
521k
/*   335*/                  OPC_CheckChild1Integer, 28, 
247
521k
/*   337*/                  OPC_CheckChild1Type, MVT::i32,
248
521k
/*   339*/                  OPC_MoveParent,
249
521k
/*   340*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
250
521k
/*   342*/                  OPC_MoveParent,
251
521k
/*   343*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
252
521k
/*   345*/                  OPC_CheckType, MVT::i32,
253
521k
/*   347*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
254
521k
/*   349*/                  OPC_EmitInteger, MVT::i32, 8, 
255
521k
/*   352*/                  OPC_EmitInteger, MVT::i32, 8, 
256
521k
/*   355*/                  OPC_EmitInteger, MVT::i32, 8, 
257
521k
/*   358*/                  OPC_EmitInteger, MVT::i1, 0, 
258
521k
/*   361*/                  OPC_EmitInteger, MVT::i32, 0, 
259
521k
/*   364*/                  OPC_EmitInteger, MVT::i32, 0, 
260
521k
/*   367*/                  OPC_EmitInteger, MVT::i32, 0, 
261
521k
/*   370*/                  OPC_EmitInteger, MVT::i32, 0, 
262
521k
/*   373*/                  OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT8_U32_U4), 0,
263
521k
                                MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
264
521k
                            // 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
265
521k
                            // Dst: (V_DOT8_U32_U4:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
266
521k
/*   390*/                /*Scope*/ 81|128,2/*337*/, /*->729*/
267
521k
/*   392*/                  OPC_MoveChild0,
268
521k
/*   393*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
269
521k
/*   396*/                  OPC_MoveChild0,
270
521k
/*   397*/                  OPC_CheckAndImm, 15, 
271
521k
/*   399*/                  OPC_RecordChild0, // #0 = $src0
272
521k
/*   400*/                  OPC_MoveParent,
273
521k
/*   401*/                  OPC_MoveChild1,
274
521k
/*   402*/                  OPC_CheckAndImm, 15, 
275
521k
/*   404*/                  OPC_RecordChild0, // #1 = $src1
276
521k
/*   405*/                  OPC_MoveParent,
277
521k
/*   406*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
278
521k
/*   408*/                  OPC_MoveParent,
279
521k
/*   409*/                  OPC_RecordChild1, // #2 = $src2
280
521k
/*   410*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
281
521k
/*   412*/                  OPC_MoveParent,
282
521k
/*   413*/                  OPC_MoveChild1,
283
521k
/*   414*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
284
521k
/*   417*/                  OPC_MoveChild0,
285
521k
/*   418*/                  OPC_CheckAndImm, 15, 
286
521k
/*   420*/                  OPC_MoveChild0,
287
521k
/*   421*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
288
521k
/*   424*/                  OPC_CheckChild0Same, 0,
289
521k
/*   426*/                  OPC_CheckChild1Integer, 4, 
290
521k
/*   428*/                  OPC_CheckChild1Type, MVT::i32,
291
521k
/*   430*/                  OPC_MoveParent,
292
521k
/*   431*/                  OPC_MoveParent,
293
521k
/*   432*/                  OPC_MoveChild1,
294
521k
/*   433*/                  OPC_CheckAndImm, 15, 
295
521k
/*   435*/                  OPC_MoveChild0,
296
521k
/*   436*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
297
521k
/*   439*/                  OPC_CheckChild0Same, 1,
298
521k
/*   441*/                  OPC_CheckChild1Integer, 4, 
299
521k
/*   443*/                  OPC_CheckChild1Type, MVT::i32,
300
521k
/*   445*/                  OPC_MoveParent,
301
521k
/*   446*/                  OPC_MoveParent,
302
521k
/*   447*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
303
521k
/*   449*/                  OPC_MoveParent,
304
521k
/*   450*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
305
521k
/*   452*/                  OPC_MoveParent,
306
521k
/*   453*/                  OPC_MoveChild1,
307
521k
/*   454*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
308
521k
/*   457*/                  OPC_MoveChild0,
309
521k
/*   458*/                  OPC_CheckAndImm, 15, 
310
521k
/*   460*/                  OPC_MoveChild0,
311
521k
/*   461*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
312
521k
/*   464*/                  OPC_CheckChild0Same, 0,
313
521k
/*   466*/                  OPC_CheckChild1Integer, 8, 
314
521k
/*   468*/                  OPC_CheckChild1Type, MVT::i32,
315
521k
/*   470*/                  OPC_MoveParent,
316
521k
/*   471*/                  OPC_MoveParent,
317
521k
/*   472*/                  OPC_MoveChild1,
318
521k
/*   473*/                  OPC_CheckAndImm, 15, 
319
521k
/*   475*/                  OPC_MoveChild0,
320
521k
/*   476*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
321
521k
/*   479*/                  OPC_CheckChild0Same, 1,
322
521k
/*   481*/                  OPC_CheckChild1Integer, 8, 
323
521k
/*   483*/                  OPC_CheckChild1Type, MVT::i32,
324
521k
/*   485*/                  OPC_MoveParent,
325
521k
/*   486*/                  OPC_MoveParent,
326
521k
/*   487*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
327
521k
/*   489*/                  OPC_MoveParent,
328
521k
/*   490*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
329
521k
/*   492*/                  OPC_MoveParent,
330
521k
/*   493*/                  OPC_MoveChild1,
331
521k
/*   494*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
332
521k
/*   497*/                  OPC_MoveChild0,
333
521k
/*   498*/                  OPC_CheckAndImm, 15, 
334
521k
/*   500*/                  OPC_MoveChild0,
335
521k
/*   501*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
336
521k
/*   504*/                  OPC_CheckChild0Same, 0,
337
521k
/*   506*/                  OPC_CheckChild1Integer, 12, 
338
521k
/*   508*/                  OPC_CheckChild1Type, MVT::i32,
339
521k
/*   510*/                  OPC_MoveParent,
340
521k
/*   511*/                  OPC_MoveParent,
341
521k
/*   512*/                  OPC_MoveChild1,
342
521k
/*   513*/                  OPC_CheckAndImm, 15, 
343
521k
/*   515*/                  OPC_MoveChild0,
344
521k
/*   516*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
345
521k
/*   519*/                  OPC_CheckChild0Same, 1,
346
521k
/*   521*/                  OPC_CheckChild1Integer, 12, 
347
521k
/*   523*/                  OPC_CheckChild1Type, MVT::i32,
348
521k
/*   525*/                  OPC_MoveParent,
349
521k
/*   526*/                  OPC_MoveParent,
350
521k
/*   527*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
351
521k
/*   529*/                  OPC_MoveParent,
352
521k
/*   530*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
353
521k
/*   532*/                  OPC_MoveParent,
354
521k
/*   533*/                  OPC_MoveChild1,
355
521k
/*   534*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
356
521k
/*   537*/                  OPC_MoveChild0,
357
521k
/*   538*/                  OPC_CheckAndImm, 15, 
358
521k
/*   540*/                  OPC_MoveChild0,
359
521k
/*   541*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
360
521k
/*   544*/                  OPC_CheckChild0Same, 0,
361
521k
/*   546*/                  OPC_CheckChild1Integer, 16, 
362
521k
/*   548*/                  OPC_CheckChild1Type, MVT::i32,
363
521k
/*   550*/                  OPC_MoveParent,
364
521k
/*   551*/                  OPC_MoveParent,
365
521k
/*   552*/                  OPC_MoveChild1,
366
521k
/*   553*/                  OPC_CheckAndImm, 15, 
367
521k
/*   555*/                  OPC_MoveChild0,
368
521k
/*   556*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
369
521k
/*   559*/                  OPC_CheckChild0Same, 1,
370
521k
/*   561*/                  OPC_CheckChild1Integer, 16, 
371
521k
/*   563*/                  OPC_CheckChild1Type, MVT::i32,
372
521k
/*   565*/                  OPC_MoveParent,
373
521k
/*   566*/                  OPC_MoveParent,
374
521k
/*   567*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
375
521k
/*   569*/                  OPC_MoveParent,
376
521k
/*   570*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
377
521k
/*   572*/                  OPC_MoveParent,
378
521k
/*   573*/                  OPC_MoveChild1,
379
521k
/*   574*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
380
521k
/*   577*/                  OPC_MoveChild0,
381
521k
/*   578*/                  OPC_CheckAndImm, 15, 
382
521k
/*   580*/                  OPC_MoveChild0,
383
521k
/*   581*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
384
521k
/*   584*/                  OPC_CheckChild0Same, 0,
385
521k
/*   586*/                  OPC_CheckChild1Integer, 20, 
386
521k
/*   588*/                  OPC_CheckChild1Type, MVT::i32,
387
521k
/*   590*/                  OPC_MoveParent,
388
521k
/*   591*/                  OPC_MoveParent,
389
521k
/*   592*/                  OPC_MoveChild1,
390
521k
/*   593*/                  OPC_CheckAndImm, 15, 
391
521k
/*   595*/                  OPC_MoveChild0,
392
521k
/*   596*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
393
521k
/*   599*/                  OPC_CheckChild0Same, 1,
394
521k
/*   601*/                  OPC_CheckChild1Integer, 20, 
395
521k
/*   603*/                  OPC_CheckChild1Type, MVT::i32,
396
521k
/*   605*/                  OPC_MoveParent,
397
521k
/*   606*/                  OPC_MoveParent,
398
521k
/*   607*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
399
521k
/*   609*/                  OPC_MoveParent,
400
521k
/*   610*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
401
521k
/*   612*/                  OPC_MoveParent,
402
521k
/*   613*/                  OPC_MoveChild1,
403
521k
/*   614*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
404
521k
/*   617*/                  OPC_MoveChild0,
405
521k
/*   618*/                  OPC_CheckAndImm, 15, 
406
521k
/*   620*/                  OPC_MoveChild0,
407
521k
/*   621*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
408
521k
/*   624*/                  OPC_CheckChild0Same, 0,
409
521k
/*   626*/                  OPC_CheckChild1Integer, 24, 
410
521k
/*   628*/                  OPC_CheckChild1Type, MVT::i32,
411
521k
/*   630*/                  OPC_MoveParent,
412
521k
/*   631*/                  OPC_MoveParent,
413
521k
/*   632*/                  OPC_MoveChild1,
414
521k
/*   633*/                  OPC_CheckAndImm, 15, 
415
521k
/*   635*/                  OPC_MoveChild0,
416
521k
/*   636*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
417
521k
/*   639*/                  OPC_CheckChild0Same, 1,
418
521k
/*   641*/                  OPC_CheckChild1Integer, 24, 
419
521k
/*   643*/                  OPC_CheckChild1Type, MVT::i32,
420
521k
/*   645*/                  OPC_MoveParent,
421
521k
/*   646*/                  OPC_MoveParent,
422
521k
/*   647*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
423
521k
/*   649*/                  OPC_MoveParent,
424
521k
/*   650*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
425
521k
/*   652*/                  OPC_MoveParent,
426
521k
/*   653*/                  OPC_MoveChild1,
427
521k
/*   654*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
428
521k
/*   657*/                  OPC_MoveChild0,
429
521k
/*   658*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
430
521k
/*   661*/                  OPC_CheckChild0Same, 0,
431
521k
/*   663*/                  OPC_CheckChild1Integer, 28, 
432
521k
/*   665*/                  OPC_CheckChild1Type, MVT::i32,
433
521k
/*   667*/                  OPC_MoveParent,
434
521k
/*   668*/                  OPC_MoveChild1,
435
521k
/*   669*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
436
521k
/*   672*/                  OPC_CheckChild0Same, 1,
437
521k
/*   674*/                  OPC_CheckChild1Integer, 28, 
438
521k
/*   676*/                  OPC_CheckChild1Type, MVT::i32,
439
521k
/*   678*/                  OPC_MoveParent,
440
521k
/*   679*/                  OPC_CheckPredicate, 0, // Predicate_NonACAMDGPUmul_u24_oneuse
441
521k
/*   681*/                  OPC_MoveParent,
442
521k
/*   682*/                  OPC_CheckPredicate, 0, // Predicate_NonACAdd_oneuse
443
521k
/*   684*/                  OPC_CheckType, MVT::i32,
444
521k
/*   686*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
445
521k
/*   688*/                  OPC_EmitInteger, MVT::i32, 8, 
446
521k
/*   691*/                  OPC_EmitInteger, MVT::i32, 8, 
447
521k
/*   694*/                  OPC_EmitInteger, MVT::i32, 8, 
448
521k
/*   697*/                  OPC_EmitInteger, MVT::i1, 0, 
449
521k
/*   700*/                  OPC_EmitInteger, MVT::i32, 0, 
450
521k
/*   703*/                  OPC_EmitInteger, MVT::i32, 0, 
451
521k
/*   706*/                  OPC_EmitInteger, MVT::i32, 0, 
452
521k
/*   709*/                  OPC_EmitInteger, MVT::i32, 0, 
453
521k
/*   712*/                  OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT8_U32_U4), 0,
454
521k
                                MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
455
521k
                            // 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
456
521k
                            // Dst: (V_DOT8_U32_U4:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
457
521k
/*   729*/                0, /*End of Scope*/
458
521k
/*   730*/              /*Scope*/ 117|128,11/*1525*/, /*->2257*/
459
521k
/*   732*/                OPC_RecordChild0, // #0 = $src2
460
521k
/*   733*/                OPC_MoveChild1,
461
521k
/*   734*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
462
521k
/*   737*/                OPC_MoveChild0,
463
521k
/*   738*/                OPC_CheckAndImm, 127|128,1/*255*/, 
464
521k
/*   741*/                OPC_RecordChild0, // #1 = $src0
465
521k
/*   742*/                OPC_MoveParent,
466
521k
/*   743*/                OPC_MoveChild1,
467
521k
/*   744*/                OPC_CheckAndImm, 127|128,1/*255*/, 
468
521k
/*   747*/                OPC_RecordChild0, // #2 = $src1
469
521k
/*   748*/                OPC_MoveParent,
470
521k
/*   749*/                OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
471
521k
/*   751*/                OPC_MoveParent,
472
521k
/*   752*/                OPC_CheckPredicate, 0, // Predicate_add_oneuse
473
521k
/*   754*/                OPC_MoveParent,
474
521k
/*   755*/                OPC_MoveChild1,
475
521k
/*   756*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
476
521k
/*   759*/                OPC_MoveChild0,
477
521k
/*   760*/                OPC_CheckAndImm, 127|128,1/*255*/, 
478
521k
/*   763*/                OPC_MoveChild0,
479
521k
/*   764*/                OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
480
521k
/*   767*/                OPC_Scope, 20|128,3/*404*/, /*->1174*/ // 3 children in Scope
481
521k
/*   770*/                  OPC_CheckChild0Same, 1,
482
521k
/*   772*/                  OPC_CheckChild1Integer, 8, 
483
521k
/*   774*/                  OPC_CheckChild1Type, MVT::i32,
484
521k
/*   776*/                  OPC_MoveParent,
485
521k
/*   777*/                  OPC_MoveParent,
486
521k
/*   778*/                  OPC_MoveChild1,
487
521k
/*   779*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
488
521k
/*   782*/                  OPC_MoveChild0,
489
521k
/*   783*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
490
521k
/*   786*/                  OPC_CheckChild0Same, 2,
491
521k
/*   788*/                  OPC_CheckChild1Integer, 8, 
492
521k
/*   790*/                  OPC_CheckChild1Type, MVT::i32,
493
521k
/*   792*/                  OPC_MoveParent,
494
521k
/*   793*/                  OPC_MoveParent,
495
521k
/*   794*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
496
521k
/*   796*/                  OPC_MoveParent,
497
521k
/*   797*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
498
521k
/*   799*/                  OPC_MoveParent,
499
521k
/*   800*/                  OPC_MoveChild1,
500
521k
/*   801*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
501
521k
/*   804*/                  OPC_MoveChild0,
502
521k
/*   805*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
503
521k
/*   808*/                  OPC_MoveChild0,
504
521k
/*   809*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
505
521k
/*   812*/                  OPC_Scope, 50|128,1/*178*/, /*->993*/ // 2 children in Scope
506
521k
/*   815*/                    OPC_CheckChild0Same, 1,
507
521k
/*   817*/                    OPC_CheckChild1Integer, 16, 
508
521k
/*   819*/                    OPC_CheckChild1Type, MVT::i32,
509
521k
/*   821*/                    OPC_MoveParent,
510
521k
/*   822*/                    OPC_MoveParent,
511
521k
/*   823*/                    OPC_MoveChild1,
512
521k
/*   824*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
513
521k
/*   827*/                    OPC_MoveChild0,
514
521k
/*   828*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
515
521k
/*   831*/                    OPC_CheckChild0Same, 2,
516
521k
/*   833*/                    OPC_CheckChild1Integer, 16, 
517
521k
/*   835*/                    OPC_CheckChild1Type, MVT::i32,
518
521k
/*   837*/                    OPC_MoveParent,
519
521k
/*   838*/                    OPC_MoveParent,
520
521k
/*   839*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
521
521k
/*   841*/                    OPC_MoveParent,
522
521k
/*   842*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
523
521k
/*   844*/                    OPC_MoveParent,
524
521k
/*   845*/                    OPC_MoveChild1,
525
521k
/*   846*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
526
521k
/*   849*/                    OPC_MoveChild0,
527
521k
/*   850*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
528
521k
/*   853*/                    OPC_Scope, 68, /*->923*/ // 2 children in Scope
529
521k
/*   855*/                      OPC_CheckChild0Same, 1,
530
521k
/*   857*/                      OPC_CheckChild1Integer, 24, 
531
521k
/*   859*/                      OPC_CheckChild1Type, MVT::i32,
532
521k
/*   861*/                      OPC_MoveParent,
533
521k
/*   862*/                      OPC_MoveChild1,
534
521k
/*   863*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
535
521k
/*   866*/                      OPC_CheckChild0Same, 2,
536
521k
/*   868*/                      OPC_CheckChild1Integer, 24, 
537
521k
/*   870*/                      OPC_CheckChild1Type, MVT::i32,
538
521k
/*   872*/                      OPC_MoveParent,
539
521k
/*   873*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
540
521k
/*   875*/                      OPC_MoveParent,
541
521k
/*   876*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
542
521k
/*   878*/                      OPC_CheckType, MVT::i32,
543
521k
/*   880*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
544
521k
/*   882*/                      OPC_EmitInteger, MVT::i32, 8, 
545
521k
/*   885*/                      OPC_EmitInteger, MVT::i32, 8, 
546
521k
/*   888*/                      OPC_EmitInteger, MVT::i32, 8, 
547
521k
/*   891*/                      OPC_EmitInteger, MVT::i1, 0, 
548
521k
/*   894*/                      OPC_EmitInteger, MVT::i32, 0, 
549
521k
/*   897*/                      OPC_EmitInteger, MVT::i32, 0, 
550
521k
/*   900*/                      OPC_EmitInteger, MVT::i32, 0, 
551
521k
/*   903*/                      OPC_EmitInteger, MVT::i32, 0, 
552
521k
/*   906*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
553
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
554
521k
                                // 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
555
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
556
521k
/*   923*/                    /*Scope*/ 68, /*->992*/
557
521k
/*   924*/                      OPC_CheckChild0Same, 2,
558
521k
/*   926*/                      OPC_CheckChild1Integer, 24, 
559
521k
/*   928*/                      OPC_CheckChild1Type, MVT::i32,
560
521k
/*   930*/                      OPC_MoveParent,
561
521k
/*   931*/                      OPC_MoveChild1,
562
521k
/*   932*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
563
521k
/*   935*/                      OPC_CheckChild0Same, 1,
564
521k
/*   937*/                      OPC_CheckChild1Integer, 24, 
565
521k
/*   939*/                      OPC_CheckChild1Type, MVT::i32,
566
521k
/*   941*/                      OPC_MoveParent,
567
521k
/*   942*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
568
521k
/*   944*/                      OPC_MoveParent,
569
521k
/*   945*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
570
521k
/*   947*/                      OPC_CheckType, MVT::i32,
571
521k
/*   949*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
572
521k
/*   951*/                      OPC_EmitInteger, MVT::i32, 8, 
573
521k
/*   954*/                      OPC_EmitInteger, MVT::i32, 8, 
574
521k
/*   957*/                      OPC_EmitInteger, MVT::i32, 8, 
575
521k
/*   960*/                      OPC_EmitInteger, MVT::i1, 0, 
576
521k
/*   963*/                      OPC_EmitInteger, MVT::i32, 0, 
577
521k
/*   966*/                      OPC_EmitInteger, MVT::i32, 0, 
578
521k
/*   969*/                      OPC_EmitInteger, MVT::i32, 0, 
579
521k
/*   972*/                      OPC_EmitInteger, MVT::i32, 0, 
580
521k
/*   975*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
581
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
582
521k
                                // 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
583
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
584
521k
/*   992*/                    0, /*End of Scope*/
585
521k
/*   993*/                  /*Scope*/ 50|128,1/*178*/, /*->1173*/
586
521k
/*   995*/                    OPC_CheckChild0Same, 2,
587
521k
/*   997*/                    OPC_CheckChild1Integer, 16, 
588
521k
/*   999*/                    OPC_CheckChild1Type, MVT::i32,
589
521k
/*  1001*/                    OPC_MoveParent,
590
521k
/*  1002*/                    OPC_MoveParent,
591
521k
/*  1003*/                    OPC_MoveChild1,
592
521k
/*  1004*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
593
521k
/*  1007*/                    OPC_MoveChild0,
594
521k
/*  1008*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
595
521k
/*  1011*/                    OPC_CheckChild0Same, 1,
596
521k
/*  1013*/                    OPC_CheckChild1Integer, 16, 
597
521k
/*  1015*/                    OPC_CheckChild1Type, MVT::i32,
598
521k
/*  1017*/                    OPC_MoveParent,
599
521k
/*  1018*/                    OPC_MoveParent,
600
521k
/*  1019*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
601
521k
/*  1021*/                    OPC_MoveParent,
602
521k
/*  1022*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
603
521k
/*  1024*/                    OPC_MoveParent,
604
521k
/*  1025*/                    OPC_MoveChild1,
605
521k
/*  1026*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
606
521k
/*  1029*/                    OPC_MoveChild0,
607
521k
/*  1030*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
608
521k
/*  1033*/                    OPC_Scope, 68, /*->1103*/ // 2 children in Scope
609
521k
/*  1035*/                      OPC_CheckChild0Same, 1,
610
521k
/*  1037*/                      OPC_CheckChild1Integer, 24, 
611
521k
/*  1039*/                      OPC_CheckChild1Type, MVT::i32,
612
521k
/*  1041*/                      OPC_MoveParent,
613
521k
/*  1042*/                      OPC_MoveChild1,
614
521k
/*  1043*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
615
521k
/*  1046*/                      OPC_CheckChild0Same, 2,
616
521k
/*  1048*/                      OPC_CheckChild1Integer, 24, 
617
521k
/*  1050*/                      OPC_CheckChild1Type, MVT::i32,
618
521k
/*  1052*/                      OPC_MoveParent,
619
521k
/*  1053*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
620
521k
/*  1055*/                      OPC_MoveParent,
621
521k
/*  1056*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
622
521k
/*  1058*/                      OPC_CheckType, MVT::i32,
623
521k
/*  1060*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
624
521k
/*  1062*/                      OPC_EmitInteger, MVT::i32, 8, 
625
521k
/*  1065*/                      OPC_EmitInteger, MVT::i32, 8, 
626
521k
/*  1068*/                      OPC_EmitInteger, MVT::i32, 8, 
627
521k
/*  1071*/                      OPC_EmitInteger, MVT::i1, 0, 
628
521k
/*  1074*/                      OPC_EmitInteger, MVT::i32, 0, 
629
521k
/*  1077*/                      OPC_EmitInteger, MVT::i32, 0, 
630
521k
/*  1080*/                      OPC_EmitInteger, MVT::i32, 0, 
631
521k
/*  1083*/                      OPC_EmitInteger, MVT::i32, 0, 
632
521k
/*  1086*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
633
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
634
521k
                                // 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
635
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
636
521k
/*  1103*/                    /*Scope*/ 68, /*->1172*/
637
521k
/*  1104*/                      OPC_CheckChild0Same, 2,
638
521k
/*  1106*/                      OPC_CheckChild1Integer, 24, 
639
521k
/*  1108*/                      OPC_CheckChild1Type, MVT::i32,
640
521k
/*  1110*/                      OPC_MoveParent,
641
521k
/*  1111*/                      OPC_MoveChild1,
642
521k
/*  1112*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
643
521k
/*  1115*/                      OPC_CheckChild0Same, 1,
644
521k
/*  1117*/                      OPC_CheckChild1Integer, 24, 
645
521k
/*  1119*/                      OPC_CheckChild1Type, MVT::i32,
646
521k
/*  1121*/                      OPC_MoveParent,
647
521k
/*  1122*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
648
521k
/*  1124*/                      OPC_MoveParent,
649
521k
/*  1125*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
650
521k
/*  1127*/                      OPC_CheckType, MVT::i32,
651
521k
/*  1129*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
652
521k
/*  1131*/                      OPC_EmitInteger, MVT::i32, 8, 
653
521k
/*  1134*/                      OPC_EmitInteger, MVT::i32, 8, 
654
521k
/*  1137*/                      OPC_EmitInteger, MVT::i32, 8, 
655
521k
/*  1140*/                      OPC_EmitInteger, MVT::i1, 0, 
656
521k
/*  1143*/                      OPC_EmitInteger, MVT::i32, 0, 
657
521k
/*  1146*/                      OPC_EmitInteger, MVT::i32, 0, 
658
521k
/*  1149*/                      OPC_EmitInteger, MVT::i32, 0, 
659
521k
/*  1152*/                      OPC_EmitInteger, MVT::i32, 0, 
660
521k
/*  1155*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
661
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
662
521k
                                // 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
663
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
664
521k
/*  1172*/                    0, /*End of Scope*/
665
521k
/*  1173*/                  0, /*End of Scope*/
666
521k
/*  1174*/                /*Scope*/ 34|128,5/*674*/, /*->1850*/
667
521k
/*  1176*/                  OPC_CheckChild0Same, 2,
668
521k
/*  1178*/                  OPC_CheckChild1Integer, 8, 
669
521k
/*  1180*/                  OPC_CheckChild1Type, MVT::i32,
670
521k
/*  1182*/                  OPC_MoveParent,
671
521k
/*  1183*/                  OPC_MoveParent,
672
521k
/*  1184*/                  OPC_MoveChild1,
673
521k
/*  1185*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
674
521k
/*  1188*/                  OPC_MoveChild0,
675
521k
/*  1189*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
676
521k
/*  1192*/                  OPC_CheckChild0Same, 1,
677
521k
/*  1194*/                  OPC_CheckChild1Integer, 8, 
678
521k
/*  1196*/                  OPC_CheckChild1Type, MVT::i32,
679
521k
/*  1198*/                  OPC_MoveParent,
680
521k
/*  1199*/                  OPC_MoveParent,
681
521k
/*  1200*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
682
521k
/*  1202*/                  OPC_MoveParent,
683
521k
/*  1203*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
684
521k
/*  1205*/                  OPC_MoveParent,
685
521k
/*  1206*/                  OPC_MoveChild1,
686
521k
/*  1207*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
687
521k
/*  1210*/                  OPC_MoveChild0,
688
521k
/*  1211*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
689
521k
/*  1214*/                  OPC_MoveChild0,
690
521k
/*  1215*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
691
521k
/*  1218*/                  OPC_Scope, 50|128,1/*178*/, /*->1399*/ // 3 children in Scope
692
521k
/*  1221*/                    OPC_CheckChild0Same, 1,
693
521k
/*  1223*/                    OPC_CheckChild1Integer, 16, 
694
521k
/*  1225*/                    OPC_CheckChild1Type, MVT::i32,
695
521k
/*  1227*/                    OPC_MoveParent,
696
521k
/*  1228*/                    OPC_MoveParent,
697
521k
/*  1229*/                    OPC_MoveChild1,
698
521k
/*  1230*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
699
521k
/*  1233*/                    OPC_MoveChild0,
700
521k
/*  1234*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
701
521k
/*  1237*/                    OPC_CheckChild0Same, 2,
702
521k
/*  1239*/                    OPC_CheckChild1Integer, 16, 
703
521k
/*  1241*/                    OPC_CheckChild1Type, MVT::i32,
704
521k
/*  1243*/                    OPC_MoveParent,
705
521k
/*  1244*/                    OPC_MoveParent,
706
521k
/*  1245*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
707
521k
/*  1247*/                    OPC_MoveParent,
708
521k
/*  1248*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
709
521k
/*  1250*/                    OPC_MoveParent,
710
521k
/*  1251*/                    OPC_MoveChild1,
711
521k
/*  1252*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
712
521k
/*  1255*/                    OPC_MoveChild0,
713
521k
/*  1256*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
714
521k
/*  1259*/                    OPC_Scope, 68, /*->1329*/ // 2 children in Scope
715
521k
/*  1261*/                      OPC_CheckChild0Same, 1,
716
521k
/*  1263*/                      OPC_CheckChild1Integer, 24, 
717
521k
/*  1265*/                      OPC_CheckChild1Type, MVT::i32,
718
521k
/*  1267*/                      OPC_MoveParent,
719
521k
/*  1268*/                      OPC_MoveChild1,
720
521k
/*  1269*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
721
521k
/*  1272*/                      OPC_CheckChild0Same, 2,
722
521k
/*  1274*/                      OPC_CheckChild1Integer, 24, 
723
521k
/*  1276*/                      OPC_CheckChild1Type, MVT::i32,
724
521k
/*  1278*/                      OPC_MoveParent,
725
521k
/*  1279*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
726
521k
/*  1281*/                      OPC_MoveParent,
727
521k
/*  1282*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
728
521k
/*  1284*/                      OPC_CheckType, MVT::i32,
729
521k
/*  1286*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
730
521k
/*  1288*/                      OPC_EmitInteger, MVT::i32, 8, 
731
521k
/*  1291*/                      OPC_EmitInteger, MVT::i32, 8, 
732
521k
/*  1294*/                      OPC_EmitInteger, MVT::i32, 8, 
733
521k
/*  1297*/                      OPC_EmitInteger, MVT::i1, 0, 
734
521k
/*  1300*/                      OPC_EmitInteger, MVT::i32, 0, 
735
521k
/*  1303*/                      OPC_EmitInteger, MVT::i32, 0, 
736
521k
/*  1306*/                      OPC_EmitInteger, MVT::i32, 0, 
737
521k
/*  1309*/                      OPC_EmitInteger, MVT::i32, 0, 
738
521k
/*  1312*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
739
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
740
521k
                                // 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
741
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
742
521k
/*  1329*/                    /*Scope*/ 68, /*->1398*/
743
521k
/*  1330*/                      OPC_CheckChild0Same, 2,
744
521k
/*  1332*/                      OPC_CheckChild1Integer, 24, 
745
521k
/*  1334*/                      OPC_CheckChild1Type, MVT::i32,
746
521k
/*  1336*/                      OPC_MoveParent,
747
521k
/*  1337*/                      OPC_MoveChild1,
748
521k
/*  1338*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
749
521k
/*  1341*/                      OPC_CheckChild0Same, 1,
750
521k
/*  1343*/                      OPC_CheckChild1Integer, 24, 
751
521k
/*  1345*/                      OPC_CheckChild1Type, MVT::i32,
752
521k
/*  1347*/                      OPC_MoveParent,
753
521k
/*  1348*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
754
521k
/*  1350*/                      OPC_MoveParent,
755
521k
/*  1351*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
756
521k
/*  1353*/                      OPC_CheckType, MVT::i32,
757
521k
/*  1355*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
758
521k
/*  1357*/                      OPC_EmitInteger, MVT::i32, 8, 
759
521k
/*  1360*/                      OPC_EmitInteger, MVT::i32, 8, 
760
521k
/*  1363*/                      OPC_EmitInteger, MVT::i32, 8, 
761
521k
/*  1366*/                      OPC_EmitInteger, MVT::i1, 0, 
762
521k
/*  1369*/                      OPC_EmitInteger, MVT::i32, 0, 
763
521k
/*  1372*/                      OPC_EmitInteger, MVT::i32, 0, 
764
521k
/*  1375*/                      OPC_EmitInteger, MVT::i32, 0, 
765
521k
/*  1378*/                      OPC_EmitInteger, MVT::i32, 0, 
766
521k
/*  1381*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
767
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
768
521k
                                // 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
769
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
770
521k
/*  1398*/                    0, /*End of Scope*/
771
521k
/*  1399*/                  /*Scope*/ 12|128,2/*268*/, /*->1669*/
772
521k
/*  1401*/                    OPC_CheckChild0Same, 2,
773
521k
/*  1403*/                    OPC_CheckChild1Integer, 16, 
774
521k
/*  1405*/                    OPC_CheckChild1Type, MVT::i32,
775
521k
/*  1407*/                    OPC_MoveParent,
776
521k
/*  1408*/                    OPC_MoveParent,
777
521k
/*  1409*/                    OPC_MoveChild1,
778
521k
/*  1410*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
779
521k
/*  1413*/                    OPC_MoveChild0,
780
521k
/*  1414*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
781
521k
/*  1417*/                    OPC_CheckChild0Same, 1,
782
521k
/*  1419*/                    OPC_CheckChild1Integer, 16, 
783
521k
/*  1421*/                    OPC_CheckChild1Type, MVT::i32,
784
521k
/*  1423*/                    OPC_MoveParent,
785
521k
/*  1424*/                    OPC_MoveParent,
786
521k
/*  1425*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
787
521k
/*  1427*/                    OPC_MoveParent,
788
521k
/*  1428*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
789
521k
/*  1430*/                    OPC_MoveParent,
790
521k
/*  1431*/                    OPC_MoveChild1,
791
521k
/*  1432*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
792
521k
/*  1435*/                    OPC_MoveChild0,
793
521k
/*  1436*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
794
521k
/*  1439*/                    OPC_Scope, 68, /*->1509*/ // 3 children in Scope
795
521k
/*  1441*/                      OPC_CheckChild0Same, 1,
796
521k
/*  1443*/                      OPC_CheckChild1Integer, 24, 
797
521k
/*  1445*/                      OPC_CheckChild1Type, MVT::i32,
798
521k
/*  1447*/                      OPC_MoveParent,
799
521k
/*  1448*/                      OPC_MoveChild1,
800
521k
/*  1449*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
801
521k
/*  1452*/                      OPC_CheckChild0Same, 2,
802
521k
/*  1454*/                      OPC_CheckChild1Integer, 24, 
803
521k
/*  1456*/                      OPC_CheckChild1Type, MVT::i32,
804
521k
/*  1458*/                      OPC_MoveParent,
805
521k
/*  1459*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
806
521k
/*  1461*/                      OPC_MoveParent,
807
521k
/*  1462*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
808
521k
/*  1464*/                      OPC_CheckType, MVT::i32,
809
521k
/*  1466*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
810
521k
/*  1468*/                      OPC_EmitInteger, MVT::i32, 8, 
811
521k
/*  1471*/                      OPC_EmitInteger, MVT::i32, 8, 
812
521k
/*  1474*/                      OPC_EmitInteger, MVT::i32, 8, 
813
521k
/*  1477*/                      OPC_EmitInteger, MVT::i1, 0, 
814
521k
/*  1480*/                      OPC_EmitInteger, MVT::i32, 0, 
815
521k
/*  1483*/                      OPC_EmitInteger, MVT::i32, 0, 
816
521k
/*  1486*/                      OPC_EmitInteger, MVT::i32, 0, 
817
521k
/*  1489*/                      OPC_EmitInteger, MVT::i32, 0, 
818
521k
/*  1492*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
819
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
820
521k
                                // 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
821
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
822
521k
/*  1509*/                    /*Scope*/ 89, /*->1599*/
823
521k
/*  1510*/                      OPC_CheckChild0Same, 2,
824
521k
/*  1512*/                      OPC_CheckChild1Integer, 24, 
825
521k
/*  1514*/                      OPC_CheckChild1Type, MVT::i32,
826
521k
/*  1516*/                      OPC_MoveParent,
827
521k
/*  1517*/                      OPC_MoveChild1,
828
521k
/*  1518*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
829
521k
/*  1521*/                      OPC_CheckChild0Same, 1,
830
521k
/*  1523*/                      OPC_CheckChild1Integer, 24, 
831
521k
/*  1525*/                      OPC_CheckChild1Type, MVT::i32,
832
521k
/*  1527*/                      OPC_MoveParent,
833
521k
/*  1528*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
834
521k
/*  1530*/                      OPC_MoveParent,
835
521k
/*  1531*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
836
521k
/*  1533*/                      OPC_CheckType, MVT::i32,
837
521k
/*  1535*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
838
521k
/*  1537*/                      OPC_EmitInteger, MVT::i32, 8, 
839
521k
/*  1540*/                      OPC_EmitInteger, MVT::i32, 8, 
840
521k
/*  1543*/                      OPC_EmitInteger, MVT::i32, 8, 
841
521k
/*  1546*/                      OPC_EmitInteger, MVT::i1, 0, 
842
521k
/*  1549*/                      OPC_EmitInteger, MVT::i32, 0, 
843
521k
/*  1552*/                      OPC_EmitInteger, MVT::i32, 0, 
844
521k
/*  1555*/                      OPC_EmitInteger, MVT::i32, 0, 
845
521k
/*  1558*/                      OPC_EmitInteger, MVT::i32, 0, 
846
521k
/*  1561*/                      OPC_Scope, 17, /*->1580*/ // 2 children in Scope
847
521k
/*  1563*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
848
521k
                                      MVT::i32, 11/*#Ops*/, 3, 1, 4, 2, 5, 0, 6, 7, 8, 9, 10, 
849
521k
                                  // 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
850
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
851
521k
/*  1580*/                      /*Scope*/ 17, /*->1598*/
852
521k
/*  1581*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
853
521k
                                      MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
854
521k
                                  // 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
855
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
856
521k
/*  1598*/                      0, /*End of Scope*/
857
521k
/*  1599*/                    /*Scope*/ 68, /*->1668*/
858
521k
/*  1600*/                      OPC_CheckChild0Same, 1,
859
521k
/*  1602*/                      OPC_CheckChild1Integer, 24, 
860
521k
/*  1604*/                      OPC_CheckChild1Type, MVT::i32,
861
521k
/*  1606*/                      OPC_MoveParent,
862
521k
/*  1607*/                      OPC_MoveChild1,
863
521k
/*  1608*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
864
521k
/*  1611*/                      OPC_CheckChild0Same, 2,
865
521k
/*  1613*/                      OPC_CheckChild1Integer, 24, 
866
521k
/*  1615*/                      OPC_CheckChild1Type, MVT::i32,
867
521k
/*  1617*/                      OPC_MoveParent,
868
521k
/*  1618*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
869
521k
/*  1620*/                      OPC_MoveParent,
870
521k
/*  1621*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
871
521k
/*  1623*/                      OPC_CheckType, MVT::i32,
872
521k
/*  1625*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
873
521k
/*  1627*/                      OPC_EmitInteger, MVT::i32, 8, 
874
521k
/*  1630*/                      OPC_EmitInteger, MVT::i32, 8, 
875
521k
/*  1633*/                      OPC_EmitInteger, MVT::i32, 8, 
876
521k
/*  1636*/                      OPC_EmitInteger, MVT::i1, 0, 
877
521k
/*  1639*/                      OPC_EmitInteger, MVT::i32, 0, 
878
521k
/*  1642*/                      OPC_EmitInteger, MVT::i32, 0, 
879
521k
/*  1645*/                      OPC_EmitInteger, MVT::i32, 0, 
880
521k
/*  1648*/                      OPC_EmitInteger, MVT::i32, 0, 
881
521k
/*  1651*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
882
521k
                                    MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
883
521k
                                // 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
884
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
885
521k
/*  1668*/                    0, /*End of Scope*/
886
521k
/*  1669*/                  /*Scope*/ 50|128,1/*178*/, /*->1849*/
887
521k
/*  1671*/                    OPC_CheckChild0Same, 1,
888
521k
/*  1673*/                    OPC_CheckChild1Integer, 16, 
889
521k
/*  1675*/                    OPC_CheckChild1Type, MVT::i32,
890
521k
/*  1677*/                    OPC_MoveParent,
891
521k
/*  1678*/                    OPC_MoveParent,
892
521k
/*  1679*/                    OPC_MoveChild1,
893
521k
/*  1680*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
894
521k
/*  1683*/                    OPC_MoveChild0,
895
521k
/*  1684*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
896
521k
/*  1687*/                    OPC_CheckChild0Same, 2,
897
521k
/*  1689*/                    OPC_CheckChild1Integer, 16, 
898
521k
/*  1691*/                    OPC_CheckChild1Type, MVT::i32,
899
521k
/*  1693*/                    OPC_MoveParent,
900
521k
/*  1694*/                    OPC_MoveParent,
901
521k
/*  1695*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
902
521k
/*  1697*/                    OPC_MoveParent,
903
521k
/*  1698*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
904
521k
/*  1700*/                    OPC_MoveParent,
905
521k
/*  1701*/                    OPC_MoveChild1,
906
521k
/*  1702*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
907
521k
/*  1705*/                    OPC_MoveChild0,
908
521k
/*  1706*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
909
521k
/*  1709*/                    OPC_Scope, 68, /*->1779*/ // 2 children in Scope
910
521k
/*  1711*/                      OPC_CheckChild0Same, 2,
911
521k
/*  1713*/                      OPC_CheckChild1Integer, 24, 
912
521k
/*  1715*/                      OPC_CheckChild1Type, MVT::i32,
913
521k
/*  1717*/                      OPC_MoveParent,
914
521k
/*  1718*/                      OPC_MoveChild1,
915
521k
/*  1719*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
916
521k
/*  1722*/                      OPC_CheckChild0Same, 1,
917
521k
/*  1724*/                      OPC_CheckChild1Integer, 24, 
918
521k
/*  1726*/                      OPC_CheckChild1Type, MVT::i32,
919
521k
/*  1728*/                      OPC_MoveParent,
920
521k
/*  1729*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
921
521k
/*  1731*/                      OPC_MoveParent,
922
521k
/*  1732*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
923
521k
/*  1734*/                      OPC_CheckType, MVT::i32,
924
521k
/*  1736*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
925
521k
/*  1738*/                      OPC_EmitInteger, MVT::i32, 8, 
926
521k
/*  1741*/                      OPC_EmitInteger, MVT::i32, 8, 
927
521k
/*  1744*/                      OPC_EmitInteger, MVT::i32, 8, 
928
521k
/*  1747*/                      OPC_EmitInteger, MVT::i1, 0, 
929
521k
/*  1750*/                      OPC_EmitInteger, MVT::i32, 0, 
930
521k
/*  1753*/                      OPC_EmitInteger, MVT::i32, 0, 
931
521k
/*  1756*/                      OPC_EmitInteger, MVT::i32, 0, 
932
521k
/*  1759*/                      OPC_EmitInteger, MVT::i32, 0, 
933
521k
/*  1762*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
934
521k
                                    MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
935
521k
                                // 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
936
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
937
521k
/*  1779*/                    /*Scope*/ 68, /*->1848*/
938
521k
/*  1780*/                      OPC_CheckChild0Same, 1,
939
521k
/*  1782*/                      OPC_CheckChild1Integer, 24, 
940
521k
/*  1784*/                      OPC_CheckChild1Type, MVT::i32,
941
521k
/*  1786*/                      OPC_MoveParent,
942
521k
/*  1787*/                      OPC_MoveChild1,
943
521k
/*  1788*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
944
521k
/*  1791*/                      OPC_CheckChild0Same, 2,
945
521k
/*  1793*/                      OPC_CheckChild1Integer, 24, 
946
521k
/*  1795*/                      OPC_CheckChild1Type, MVT::i32,
947
521k
/*  1797*/                      OPC_MoveParent,
948
521k
/*  1798*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
949
521k
/*  1800*/                      OPC_MoveParent,
950
521k
/*  1801*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
951
521k
/*  1803*/                      OPC_CheckType, MVT::i32,
952
521k
/*  1805*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
953
521k
/*  1807*/                      OPC_EmitInteger, MVT::i32, 8, 
954
521k
/*  1810*/                      OPC_EmitInteger, MVT::i32, 8, 
955
521k
/*  1813*/                      OPC_EmitInteger, MVT::i32, 8, 
956
521k
/*  1816*/                      OPC_EmitInteger, MVT::i1, 0, 
957
521k
/*  1819*/                      OPC_EmitInteger, MVT::i32, 0, 
958
521k
/*  1822*/                      OPC_EmitInteger, MVT::i32, 0, 
959
521k
/*  1825*/                      OPC_EmitInteger, MVT::i32, 0, 
960
521k
/*  1828*/                      OPC_EmitInteger, MVT::i32, 0, 
961
521k
/*  1831*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
962
521k
                                    MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
963
521k
                                // 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
964
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
965
521k
/*  1848*/                    0, /*End of Scope*/
966
521k
/*  1849*/                  0, /*End of Scope*/
967
521k
/*  1850*/                /*Scope*/ 20|128,3/*404*/, /*->2256*/
968
521k
/*  1852*/                  OPC_CheckChild0Same, 1,
969
521k
/*  1854*/                  OPC_CheckChild1Integer, 8, 
970
521k
/*  1856*/                  OPC_CheckChild1Type, MVT::i32,
971
521k
/*  1858*/                  OPC_MoveParent,
972
521k
/*  1859*/                  OPC_MoveParent,
973
521k
/*  1860*/                  OPC_MoveChild1,
974
521k
/*  1861*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
975
521k
/*  1864*/                  OPC_MoveChild0,
976
521k
/*  1865*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
977
521k
/*  1868*/                  OPC_CheckChild0Same, 2,
978
521k
/*  1870*/                  OPC_CheckChild1Integer, 8, 
979
521k
/*  1872*/                  OPC_CheckChild1Type, MVT::i32,
980
521k
/*  1874*/                  OPC_MoveParent,
981
521k
/*  1875*/                  OPC_MoveParent,
982
521k
/*  1876*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
983
521k
/*  1878*/                  OPC_MoveParent,
984
521k
/*  1879*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
985
521k
/*  1881*/                  OPC_MoveParent,
986
521k
/*  1882*/                  OPC_MoveChild1,
987
521k
/*  1883*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
988
521k
/*  1886*/                  OPC_MoveChild0,
989
521k
/*  1887*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
990
521k
/*  1890*/                  OPC_MoveChild0,
991
521k
/*  1891*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
992
521k
/*  1894*/                  OPC_Scope, 50|128,1/*178*/, /*->2075*/ // 2 children in Scope
993
521k
/*  1897*/                    OPC_CheckChild0Same, 2,
994
521k
/*  1899*/                    OPC_CheckChild1Integer, 16, 
995
521k
/*  1901*/                    OPC_CheckChild1Type, MVT::i32,
996
521k
/*  1903*/                    OPC_MoveParent,
997
521k
/*  1904*/                    OPC_MoveParent,
998
521k
/*  1905*/                    OPC_MoveChild1,
999
521k
/*  1906*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1000
521k
/*  1909*/                    OPC_MoveChild0,
1001
521k
/*  1910*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1002
521k
/*  1913*/                    OPC_CheckChild0Same, 1,
1003
521k
/*  1915*/                    OPC_CheckChild1Integer, 16, 
1004
521k
/*  1917*/                    OPC_CheckChild1Type, MVT::i32,
1005
521k
/*  1919*/                    OPC_MoveParent,
1006
521k
/*  1920*/                    OPC_MoveParent,
1007
521k
/*  1921*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1008
521k
/*  1923*/                    OPC_MoveParent,
1009
521k
/*  1924*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1010
521k
/*  1926*/                    OPC_MoveParent,
1011
521k
/*  1927*/                    OPC_MoveChild1,
1012
521k
/*  1928*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1013
521k
/*  1931*/                    OPC_MoveChild0,
1014
521k
/*  1932*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1015
521k
/*  1935*/                    OPC_Scope, 68, /*->2005*/ // 2 children in Scope
1016
521k
/*  1937*/                      OPC_CheckChild0Same, 2,
1017
521k
/*  1939*/                      OPC_CheckChild1Integer, 24, 
1018
521k
/*  1941*/                      OPC_CheckChild1Type, MVT::i32,
1019
521k
/*  1943*/                      OPC_MoveParent,
1020
521k
/*  1944*/                      OPC_MoveChild1,
1021
521k
/*  1945*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1022
521k
/*  1948*/                      OPC_CheckChild0Same, 1,
1023
521k
/*  1950*/                      OPC_CheckChild1Integer, 24, 
1024
521k
/*  1952*/                      OPC_CheckChild1Type, MVT::i32,
1025
521k
/*  1954*/                      OPC_MoveParent,
1026
521k
/*  1955*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1027
521k
/*  1957*/                      OPC_MoveParent,
1028
521k
/*  1958*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1029
521k
/*  1960*/                      OPC_CheckType, MVT::i32,
1030
521k
/*  1962*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1031
521k
/*  1964*/                      OPC_EmitInteger, MVT::i32, 8, 
1032
521k
/*  1967*/                      OPC_EmitInteger, MVT::i32, 8, 
1033
521k
/*  1970*/                      OPC_EmitInteger, MVT::i32, 8, 
1034
521k
/*  1973*/                      OPC_EmitInteger, MVT::i1, 0, 
1035
521k
/*  1976*/                      OPC_EmitInteger, MVT::i32, 0, 
1036
521k
/*  1979*/                      OPC_EmitInteger, MVT::i32, 0, 
1037
521k
/*  1982*/                      OPC_EmitInteger, MVT::i32, 0, 
1038
521k
/*  1985*/                      OPC_EmitInteger, MVT::i32, 0, 
1039
521k
/*  1988*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1040
521k
                                    MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
1041
521k
                                // 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
1042
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1043
521k
/*  2005*/                    /*Scope*/ 68, /*->2074*/
1044
521k
/*  2006*/                      OPC_CheckChild0Same, 1,
1045
521k
/*  2008*/                      OPC_CheckChild1Integer, 24, 
1046
521k
/*  2010*/                      OPC_CheckChild1Type, MVT::i32,
1047
521k
/*  2012*/                      OPC_MoveParent,
1048
521k
/*  2013*/                      OPC_MoveChild1,
1049
521k
/*  2014*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1050
521k
/*  2017*/                      OPC_CheckChild0Same, 2,
1051
521k
/*  2019*/                      OPC_CheckChild1Integer, 24, 
1052
521k
/*  2021*/                      OPC_CheckChild1Type, MVT::i32,
1053
521k
/*  2023*/                      OPC_MoveParent,
1054
521k
/*  2024*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1055
521k
/*  2026*/                      OPC_MoveParent,
1056
521k
/*  2027*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1057
521k
/*  2029*/                      OPC_CheckType, MVT::i32,
1058
521k
/*  2031*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1059
521k
/*  2033*/                      OPC_EmitInteger, MVT::i32, 8, 
1060
521k
/*  2036*/                      OPC_EmitInteger, MVT::i32, 8, 
1061
521k
/*  2039*/                      OPC_EmitInteger, MVT::i32, 8, 
1062
521k
/*  2042*/                      OPC_EmitInteger, MVT::i1, 0, 
1063
521k
/*  2045*/                      OPC_EmitInteger, MVT::i32, 0, 
1064
521k
/*  2048*/                      OPC_EmitInteger, MVT::i32, 0, 
1065
521k
/*  2051*/                      OPC_EmitInteger, MVT::i32, 0, 
1066
521k
/*  2054*/                      OPC_EmitInteger, MVT::i32, 0, 
1067
521k
/*  2057*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1068
521k
                                    MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
1069
521k
                                // 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
1070
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1071
521k
/*  2074*/                    0, /*End of Scope*/
1072
521k
/*  2075*/                  /*Scope*/ 50|128,1/*178*/, /*->2255*/
1073
521k
/*  2077*/                    OPC_CheckChild0Same, 1,
1074
521k
/*  2079*/                    OPC_CheckChild1Integer, 16, 
1075
521k
/*  2081*/                    OPC_CheckChild1Type, MVT::i32,
1076
521k
/*  2083*/                    OPC_MoveParent,
1077
521k
/*  2084*/                    OPC_MoveParent,
1078
521k
/*  2085*/                    OPC_MoveChild1,
1079
521k
/*  2086*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1080
521k
/*  2089*/                    OPC_MoveChild0,
1081
521k
/*  2090*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1082
521k
/*  2093*/                    OPC_CheckChild0Same, 2,
1083
521k
/*  2095*/                    OPC_CheckChild1Integer, 16, 
1084
521k
/*  2097*/                    OPC_CheckChild1Type, MVT::i32,
1085
521k
/*  2099*/                    OPC_MoveParent,
1086
521k
/*  2100*/                    OPC_MoveParent,
1087
521k
/*  2101*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1088
521k
/*  2103*/                    OPC_MoveParent,
1089
521k
/*  2104*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1090
521k
/*  2106*/                    OPC_MoveParent,
1091
521k
/*  2107*/                    OPC_MoveChild1,
1092
521k
/*  2108*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1093
521k
/*  2111*/                    OPC_MoveChild0,
1094
521k
/*  2112*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1095
521k
/*  2115*/                    OPC_Scope, 68, /*->2185*/ // 2 children in Scope
1096
521k
/*  2117*/                      OPC_CheckChild0Same, 2,
1097
521k
/*  2119*/                      OPC_CheckChild1Integer, 24, 
1098
521k
/*  2121*/                      OPC_CheckChild1Type, MVT::i32,
1099
521k
/*  2123*/                      OPC_MoveParent,
1100
521k
/*  2124*/                      OPC_MoveChild1,
1101
521k
/*  2125*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1102
521k
/*  2128*/                      OPC_CheckChild0Same, 1,
1103
521k
/*  2130*/                      OPC_CheckChild1Integer, 24, 
1104
521k
/*  2132*/                      OPC_CheckChild1Type, MVT::i32,
1105
521k
/*  2134*/                      OPC_MoveParent,
1106
521k
/*  2135*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1107
521k
/*  2137*/                      OPC_MoveParent,
1108
521k
/*  2138*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1109
521k
/*  2140*/                      OPC_CheckType, MVT::i32,
1110
521k
/*  2142*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1111
521k
/*  2144*/                      OPC_EmitInteger, MVT::i32, 8, 
1112
521k
/*  2147*/                      OPC_EmitInteger, MVT::i32, 8, 
1113
521k
/*  2150*/                      OPC_EmitInteger, MVT::i32, 8, 
1114
521k
/*  2153*/                      OPC_EmitInteger, MVT::i1, 0, 
1115
521k
/*  2156*/                      OPC_EmitInteger, MVT::i32, 0, 
1116
521k
/*  2159*/                      OPC_EmitInteger, MVT::i32, 0, 
1117
521k
/*  2162*/                      OPC_EmitInteger, MVT::i32, 0, 
1118
521k
/*  2165*/                      OPC_EmitInteger, MVT::i32, 0, 
1119
521k
/*  2168*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1120
521k
                                    MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
1121
521k
                                // 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
1122
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1123
521k
/*  2185*/                    /*Scope*/ 68, /*->2254*/
1124
521k
/*  2186*/                      OPC_CheckChild0Same, 1,
1125
521k
/*  2188*/                      OPC_CheckChild1Integer, 24, 
1126
521k
/*  2190*/                      OPC_CheckChild1Type, MVT::i32,
1127
521k
/*  2192*/                      OPC_MoveParent,
1128
521k
/*  2193*/                      OPC_MoveChild1,
1129
521k
/*  2194*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1130
521k
/*  2197*/                      OPC_CheckChild0Same, 2,
1131
521k
/*  2199*/                      OPC_CheckChild1Integer, 24, 
1132
521k
/*  2201*/                      OPC_CheckChild1Type, MVT::i32,
1133
521k
/*  2203*/                      OPC_MoveParent,
1134
521k
/*  2204*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1135
521k
/*  2206*/                      OPC_MoveParent,
1136
521k
/*  2207*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1137
521k
/*  2209*/                      OPC_CheckType, MVT::i32,
1138
521k
/*  2211*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1139
521k
/*  2213*/                      OPC_EmitInteger, MVT::i32, 8, 
1140
521k
/*  2216*/                      OPC_EmitInteger, MVT::i32, 8, 
1141
521k
/*  2219*/                      OPC_EmitInteger, MVT::i32, 8, 
1142
521k
/*  2222*/                      OPC_EmitInteger, MVT::i1, 0, 
1143
521k
/*  2225*/                      OPC_EmitInteger, MVT::i32, 0, 
1144
521k
/*  2228*/                      OPC_EmitInteger, MVT::i32, 0, 
1145
521k
/*  2231*/                      OPC_EmitInteger, MVT::i32, 0, 
1146
521k
/*  2234*/                      OPC_EmitInteger, MVT::i32, 0, 
1147
521k
/*  2237*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1148
521k
                                    MVT::i32, 11/*#Ops*/, 3, 2, 4, 1, 5, 0, 6, 7, 8, 9, 10, 
1149
521k
                                // 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
1150
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1151
521k
/*  2254*/                    0, /*End of Scope*/
1152
521k
/*  2255*/                  0, /*End of Scope*/
1153
521k
/*  2256*/                0, /*End of Scope*/
1154
521k
/*  2257*/              /*Scope*/ 117|128,11/*1525*/, /*->3784*/
1155
521k
/*  2259*/                OPC_MoveChild0,
1156
521k
/*  2260*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1157
521k
/*  2263*/                OPC_MoveChild0,
1158
521k
/*  2264*/                OPC_CheckAndImm, 127|128,1/*255*/, 
1159
521k
/*  2267*/                OPC_RecordChild0, // #0 = $src0
1160
521k
/*  2268*/                OPC_MoveParent,
1161
521k
/*  2269*/                OPC_MoveChild1,
1162
521k
/*  2270*/                OPC_CheckAndImm, 127|128,1/*255*/, 
1163
521k
/*  2273*/                OPC_RecordChild0, // #1 = $src1
1164
521k
/*  2274*/                OPC_MoveParent,
1165
521k
/*  2275*/                OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1166
521k
/*  2277*/                OPC_MoveParent,
1167
521k
/*  2278*/                OPC_RecordChild1, // #2 = $src2
1168
521k
/*  2279*/                OPC_CheckPredicate, 0, // Predicate_add_oneuse
1169
521k
/*  2281*/                OPC_MoveParent,
1170
521k
/*  2282*/                OPC_MoveChild1,
1171
521k
/*  2283*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1172
521k
/*  2286*/                OPC_MoveChild0,
1173
521k
/*  2287*/                OPC_CheckAndImm, 127|128,1/*255*/, 
1174
521k
/*  2290*/                OPC_MoveChild0,
1175
521k
/*  2291*/                OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1176
521k
/*  2294*/                OPC_Scope, 20|128,3/*404*/, /*->2701*/ // 3 children in Scope
1177
521k
/*  2297*/                  OPC_CheckChild0Same, 0,
1178
521k
/*  2299*/                  OPC_CheckChild1Integer, 8, 
1179
521k
/*  2301*/                  OPC_CheckChild1Type, MVT::i32,
1180
521k
/*  2303*/                  OPC_MoveParent,
1181
521k
/*  2304*/                  OPC_MoveParent,
1182
521k
/*  2305*/                  OPC_MoveChild1,
1183
521k
/*  2306*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1184
521k
/*  2309*/                  OPC_MoveChild0,
1185
521k
/*  2310*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1186
521k
/*  2313*/                  OPC_CheckChild0Same, 1,
1187
521k
/*  2315*/                  OPC_CheckChild1Integer, 8, 
1188
521k
/*  2317*/                  OPC_CheckChild1Type, MVT::i32,
1189
521k
/*  2319*/                  OPC_MoveParent,
1190
521k
/*  2320*/                  OPC_MoveParent,
1191
521k
/*  2321*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1192
521k
/*  2323*/                  OPC_MoveParent,
1193
521k
/*  2324*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
1194
521k
/*  2326*/                  OPC_MoveParent,
1195
521k
/*  2327*/                  OPC_MoveChild1,
1196
521k
/*  2328*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1197
521k
/*  2331*/                  OPC_MoveChild0,
1198
521k
/*  2332*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1199
521k
/*  2335*/                  OPC_MoveChild0,
1200
521k
/*  2336*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1201
521k
/*  2339*/                  OPC_Scope, 50|128,1/*178*/, /*->2520*/ // 2 children in Scope
1202
521k
/*  2342*/                    OPC_CheckChild0Same, 0,
1203
521k
/*  2344*/                    OPC_CheckChild1Integer, 16, 
1204
521k
/*  2346*/                    OPC_CheckChild1Type, MVT::i32,
1205
521k
/*  2348*/                    OPC_MoveParent,
1206
521k
/*  2349*/                    OPC_MoveParent,
1207
521k
/*  2350*/                    OPC_MoveChild1,
1208
521k
/*  2351*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1209
521k
/*  2354*/                    OPC_MoveChild0,
1210
521k
/*  2355*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1211
521k
/*  2358*/                    OPC_CheckChild0Same, 1,
1212
521k
/*  2360*/                    OPC_CheckChild1Integer, 16, 
1213
521k
/*  2362*/                    OPC_CheckChild1Type, MVT::i32,
1214
521k
/*  2364*/                    OPC_MoveParent,
1215
521k
/*  2365*/                    OPC_MoveParent,
1216
521k
/*  2366*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1217
521k
/*  2368*/                    OPC_MoveParent,
1218
521k
/*  2369*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1219
521k
/*  2371*/                    OPC_MoveParent,
1220
521k
/*  2372*/                    OPC_MoveChild1,
1221
521k
/*  2373*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1222
521k
/*  2376*/                    OPC_MoveChild0,
1223
521k
/*  2377*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1224
521k
/*  2380*/                    OPC_Scope, 68, /*->2450*/ // 2 children in Scope
1225
521k
/*  2382*/                      OPC_CheckChild0Same, 0,
1226
521k
/*  2384*/                      OPC_CheckChild1Integer, 24, 
1227
521k
/*  2386*/                      OPC_CheckChild1Type, MVT::i32,
1228
521k
/*  2388*/                      OPC_MoveParent,
1229
521k
/*  2389*/                      OPC_MoveChild1,
1230
521k
/*  2390*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1231
521k
/*  2393*/                      OPC_CheckChild0Same, 1,
1232
521k
/*  2395*/                      OPC_CheckChild1Integer, 24, 
1233
521k
/*  2397*/                      OPC_CheckChild1Type, MVT::i32,
1234
521k
/*  2399*/                      OPC_MoveParent,
1235
521k
/*  2400*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1236
521k
/*  2402*/                      OPC_MoveParent,
1237
521k
/*  2403*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1238
521k
/*  2405*/                      OPC_CheckType, MVT::i32,
1239
521k
/*  2407*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1240
521k
/*  2409*/                      OPC_EmitInteger, MVT::i32, 8, 
1241
521k
/*  2412*/                      OPC_EmitInteger, MVT::i32, 8, 
1242
521k
/*  2415*/                      OPC_EmitInteger, MVT::i32, 8, 
1243
521k
/*  2418*/                      OPC_EmitInteger, MVT::i1, 0, 
1244
521k
/*  2421*/                      OPC_EmitInteger, MVT::i32, 0, 
1245
521k
/*  2424*/                      OPC_EmitInteger, MVT::i32, 0, 
1246
521k
/*  2427*/                      OPC_EmitInteger, MVT::i32, 0, 
1247
521k
/*  2430*/                      OPC_EmitInteger, MVT::i32, 0, 
1248
521k
/*  2433*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1249
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1250
521k
                                // 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
1251
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1252
521k
/*  2450*/                    /*Scope*/ 68, /*->2519*/
1253
521k
/*  2451*/                      OPC_CheckChild0Same, 1,
1254
521k
/*  2453*/                      OPC_CheckChild1Integer, 24, 
1255
521k
/*  2455*/                      OPC_CheckChild1Type, MVT::i32,
1256
521k
/*  2457*/                      OPC_MoveParent,
1257
521k
/*  2458*/                      OPC_MoveChild1,
1258
521k
/*  2459*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1259
521k
/*  2462*/                      OPC_CheckChild0Same, 0,
1260
521k
/*  2464*/                      OPC_CheckChild1Integer, 24, 
1261
521k
/*  2466*/                      OPC_CheckChild1Type, MVT::i32,
1262
521k
/*  2468*/                      OPC_MoveParent,
1263
521k
/*  2469*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1264
521k
/*  2471*/                      OPC_MoveParent,
1265
521k
/*  2472*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1266
521k
/*  2474*/                      OPC_CheckType, MVT::i32,
1267
521k
/*  2476*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1268
521k
/*  2478*/                      OPC_EmitInteger, MVT::i32, 8, 
1269
521k
/*  2481*/                      OPC_EmitInteger, MVT::i32, 8, 
1270
521k
/*  2484*/                      OPC_EmitInteger, MVT::i32, 8, 
1271
521k
/*  2487*/                      OPC_EmitInteger, MVT::i1, 0, 
1272
521k
/*  2490*/                      OPC_EmitInteger, MVT::i32, 0, 
1273
521k
/*  2493*/                      OPC_EmitInteger, MVT::i32, 0, 
1274
521k
/*  2496*/                      OPC_EmitInteger, MVT::i32, 0, 
1275
521k
/*  2499*/                      OPC_EmitInteger, MVT::i32, 0, 
1276
521k
/*  2502*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1277
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1278
521k
                                // 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
1279
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1280
521k
/*  2519*/                    0, /*End of Scope*/
1281
521k
/*  2520*/                  /*Scope*/ 50|128,1/*178*/, /*->2700*/
1282
521k
/*  2522*/                    OPC_CheckChild0Same, 1,
1283
521k
/*  2524*/                    OPC_CheckChild1Integer, 16, 
1284
521k
/*  2526*/                    OPC_CheckChild1Type, MVT::i32,
1285
521k
/*  2528*/                    OPC_MoveParent,
1286
521k
/*  2529*/                    OPC_MoveParent,
1287
521k
/*  2530*/                    OPC_MoveChild1,
1288
521k
/*  2531*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1289
521k
/*  2534*/                    OPC_MoveChild0,
1290
521k
/*  2535*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1291
521k
/*  2538*/                    OPC_CheckChild0Same, 0,
1292
521k
/*  2540*/                    OPC_CheckChild1Integer, 16, 
1293
521k
/*  2542*/                    OPC_CheckChild1Type, MVT::i32,
1294
521k
/*  2544*/                    OPC_MoveParent,
1295
521k
/*  2545*/                    OPC_MoveParent,
1296
521k
/*  2546*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1297
521k
/*  2548*/                    OPC_MoveParent,
1298
521k
/*  2549*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1299
521k
/*  2551*/                    OPC_MoveParent,
1300
521k
/*  2552*/                    OPC_MoveChild1,
1301
521k
/*  2553*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1302
521k
/*  2556*/                    OPC_MoveChild0,
1303
521k
/*  2557*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1304
521k
/*  2560*/                    OPC_Scope, 68, /*->2630*/ // 2 children in Scope
1305
521k
/*  2562*/                      OPC_CheckChild0Same, 0,
1306
521k
/*  2564*/                      OPC_CheckChild1Integer, 24, 
1307
521k
/*  2566*/                      OPC_CheckChild1Type, MVT::i32,
1308
521k
/*  2568*/                      OPC_MoveParent,
1309
521k
/*  2569*/                      OPC_MoveChild1,
1310
521k
/*  2570*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1311
521k
/*  2573*/                      OPC_CheckChild0Same, 1,
1312
521k
/*  2575*/                      OPC_CheckChild1Integer, 24, 
1313
521k
/*  2577*/                      OPC_CheckChild1Type, MVT::i32,
1314
521k
/*  2579*/                      OPC_MoveParent,
1315
521k
/*  2580*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1316
521k
/*  2582*/                      OPC_MoveParent,
1317
521k
/*  2583*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1318
521k
/*  2585*/                      OPC_CheckType, MVT::i32,
1319
521k
/*  2587*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1320
521k
/*  2589*/                      OPC_EmitInteger, MVT::i32, 8, 
1321
521k
/*  2592*/                      OPC_EmitInteger, MVT::i32, 8, 
1322
521k
/*  2595*/                      OPC_EmitInteger, MVT::i32, 8, 
1323
521k
/*  2598*/                      OPC_EmitInteger, MVT::i1, 0, 
1324
521k
/*  2601*/                      OPC_EmitInteger, MVT::i32, 0, 
1325
521k
/*  2604*/                      OPC_EmitInteger, MVT::i32, 0, 
1326
521k
/*  2607*/                      OPC_EmitInteger, MVT::i32, 0, 
1327
521k
/*  2610*/                      OPC_EmitInteger, MVT::i32, 0, 
1328
521k
/*  2613*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1329
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1330
521k
                                // 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
1331
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1332
521k
/*  2630*/                    /*Scope*/ 68, /*->2699*/
1333
521k
/*  2631*/                      OPC_CheckChild0Same, 1,
1334
521k
/*  2633*/                      OPC_CheckChild1Integer, 24, 
1335
521k
/*  2635*/                      OPC_CheckChild1Type, MVT::i32,
1336
521k
/*  2637*/                      OPC_MoveParent,
1337
521k
/*  2638*/                      OPC_MoveChild1,
1338
521k
/*  2639*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1339
521k
/*  2642*/                      OPC_CheckChild0Same, 0,
1340
521k
/*  2644*/                      OPC_CheckChild1Integer, 24, 
1341
521k
/*  2646*/                      OPC_CheckChild1Type, MVT::i32,
1342
521k
/*  2648*/                      OPC_MoveParent,
1343
521k
/*  2649*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1344
521k
/*  2651*/                      OPC_MoveParent,
1345
521k
/*  2652*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1346
521k
/*  2654*/                      OPC_CheckType, MVT::i32,
1347
521k
/*  2656*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1348
521k
/*  2658*/                      OPC_EmitInteger, MVT::i32, 8, 
1349
521k
/*  2661*/                      OPC_EmitInteger, MVT::i32, 8, 
1350
521k
/*  2664*/                      OPC_EmitInteger, MVT::i32, 8, 
1351
521k
/*  2667*/                      OPC_EmitInteger, MVT::i1, 0, 
1352
521k
/*  2670*/                      OPC_EmitInteger, MVT::i32, 0, 
1353
521k
/*  2673*/                      OPC_EmitInteger, MVT::i32, 0, 
1354
521k
/*  2676*/                      OPC_EmitInteger, MVT::i32, 0, 
1355
521k
/*  2679*/                      OPC_EmitInteger, MVT::i32, 0, 
1356
521k
/*  2682*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1357
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1358
521k
                                // 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
1359
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1360
521k
/*  2699*/                    0, /*End of Scope*/
1361
521k
/*  2700*/                  0, /*End of Scope*/
1362
521k
/*  2701*/                /*Scope*/ 34|128,5/*674*/, /*->3377*/
1363
521k
/*  2703*/                  OPC_CheckChild0Same, 1,
1364
521k
/*  2705*/                  OPC_CheckChild1Integer, 8, 
1365
521k
/*  2707*/                  OPC_CheckChild1Type, MVT::i32,
1366
521k
/*  2709*/                  OPC_MoveParent,
1367
521k
/*  2710*/                  OPC_MoveParent,
1368
521k
/*  2711*/                  OPC_MoveChild1,
1369
521k
/*  2712*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1370
521k
/*  2715*/                  OPC_MoveChild0,
1371
521k
/*  2716*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1372
521k
/*  2719*/                  OPC_CheckChild0Same, 0,
1373
521k
/*  2721*/                  OPC_CheckChild1Integer, 8, 
1374
521k
/*  2723*/                  OPC_CheckChild1Type, MVT::i32,
1375
521k
/*  2725*/                  OPC_MoveParent,
1376
521k
/*  2726*/                  OPC_MoveParent,
1377
521k
/*  2727*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1378
521k
/*  2729*/                  OPC_MoveParent,
1379
521k
/*  2730*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
1380
521k
/*  2732*/                  OPC_MoveParent,
1381
521k
/*  2733*/                  OPC_MoveChild1,
1382
521k
/*  2734*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1383
521k
/*  2737*/                  OPC_MoveChild0,
1384
521k
/*  2738*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1385
521k
/*  2741*/                  OPC_MoveChild0,
1386
521k
/*  2742*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1387
521k
/*  2745*/                  OPC_Scope, 50|128,1/*178*/, /*->2926*/ // 3 children in Scope
1388
521k
/*  2748*/                    OPC_CheckChild0Same, 0,
1389
521k
/*  2750*/                    OPC_CheckChild1Integer, 16, 
1390
521k
/*  2752*/                    OPC_CheckChild1Type, MVT::i32,
1391
521k
/*  2754*/                    OPC_MoveParent,
1392
521k
/*  2755*/                    OPC_MoveParent,
1393
521k
/*  2756*/                    OPC_MoveChild1,
1394
521k
/*  2757*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1395
521k
/*  2760*/                    OPC_MoveChild0,
1396
521k
/*  2761*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1397
521k
/*  2764*/                    OPC_CheckChild0Same, 1,
1398
521k
/*  2766*/                    OPC_CheckChild1Integer, 16, 
1399
521k
/*  2768*/                    OPC_CheckChild1Type, MVT::i32,
1400
521k
/*  2770*/                    OPC_MoveParent,
1401
521k
/*  2771*/                    OPC_MoveParent,
1402
521k
/*  2772*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1403
521k
/*  2774*/                    OPC_MoveParent,
1404
521k
/*  2775*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1405
521k
/*  2777*/                    OPC_MoveParent,
1406
521k
/*  2778*/                    OPC_MoveChild1,
1407
521k
/*  2779*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1408
521k
/*  2782*/                    OPC_MoveChild0,
1409
521k
/*  2783*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1410
521k
/*  2786*/                    OPC_Scope, 68, /*->2856*/ // 2 children in Scope
1411
521k
/*  2788*/                      OPC_CheckChild0Same, 0,
1412
521k
/*  2790*/                      OPC_CheckChild1Integer, 24, 
1413
521k
/*  2792*/                      OPC_CheckChild1Type, MVT::i32,
1414
521k
/*  2794*/                      OPC_MoveParent,
1415
521k
/*  2795*/                      OPC_MoveChild1,
1416
521k
/*  2796*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1417
521k
/*  2799*/                      OPC_CheckChild0Same, 1,
1418
521k
/*  2801*/                      OPC_CheckChild1Integer, 24, 
1419
521k
/*  2803*/                      OPC_CheckChild1Type, MVT::i32,
1420
521k
/*  2805*/                      OPC_MoveParent,
1421
521k
/*  2806*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1422
521k
/*  2808*/                      OPC_MoveParent,
1423
521k
/*  2809*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1424
521k
/*  2811*/                      OPC_CheckType, MVT::i32,
1425
521k
/*  2813*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1426
521k
/*  2815*/                      OPC_EmitInteger, MVT::i32, 8, 
1427
521k
/*  2818*/                      OPC_EmitInteger, MVT::i32, 8, 
1428
521k
/*  2821*/                      OPC_EmitInteger, MVT::i32, 8, 
1429
521k
/*  2824*/                      OPC_EmitInteger, MVT::i1, 0, 
1430
521k
/*  2827*/                      OPC_EmitInteger, MVT::i32, 0, 
1431
521k
/*  2830*/                      OPC_EmitInteger, MVT::i32, 0, 
1432
521k
/*  2833*/                      OPC_EmitInteger, MVT::i32, 0, 
1433
521k
/*  2836*/                      OPC_EmitInteger, MVT::i32, 0, 
1434
521k
/*  2839*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1435
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1436
521k
                                // 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
1437
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1438
521k
/*  2856*/                    /*Scope*/ 68, /*->2925*/
1439
521k
/*  2857*/                      OPC_CheckChild0Same, 1,
1440
521k
/*  2859*/                      OPC_CheckChild1Integer, 24, 
1441
521k
/*  2861*/                      OPC_CheckChild1Type, MVT::i32,
1442
521k
/*  2863*/                      OPC_MoveParent,
1443
521k
/*  2864*/                      OPC_MoveChild1,
1444
521k
/*  2865*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1445
521k
/*  2868*/                      OPC_CheckChild0Same, 0,
1446
521k
/*  2870*/                      OPC_CheckChild1Integer, 24, 
1447
521k
/*  2872*/                      OPC_CheckChild1Type, MVT::i32,
1448
521k
/*  2874*/                      OPC_MoveParent,
1449
521k
/*  2875*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1450
521k
/*  2877*/                      OPC_MoveParent,
1451
521k
/*  2878*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1452
521k
/*  2880*/                      OPC_CheckType, MVT::i32,
1453
521k
/*  2882*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1454
521k
/*  2884*/                      OPC_EmitInteger, MVT::i32, 8, 
1455
521k
/*  2887*/                      OPC_EmitInteger, MVT::i32, 8, 
1456
521k
/*  2890*/                      OPC_EmitInteger, MVT::i32, 8, 
1457
521k
/*  2893*/                      OPC_EmitInteger, MVT::i1, 0, 
1458
521k
/*  2896*/                      OPC_EmitInteger, MVT::i32, 0, 
1459
521k
/*  2899*/                      OPC_EmitInteger, MVT::i32, 0, 
1460
521k
/*  2902*/                      OPC_EmitInteger, MVT::i32, 0, 
1461
521k
/*  2905*/                      OPC_EmitInteger, MVT::i32, 0, 
1462
521k
/*  2908*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1463
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1464
521k
                                // 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
1465
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1466
521k
/*  2925*/                    0, /*End of Scope*/
1467
521k
/*  2926*/                  /*Scope*/ 12|128,2/*268*/, /*->3196*/
1468
521k
/*  2928*/                    OPC_CheckChild0Same, 1,
1469
521k
/*  2930*/                    OPC_CheckChild1Integer, 16, 
1470
521k
/*  2932*/                    OPC_CheckChild1Type, MVT::i32,
1471
521k
/*  2934*/                    OPC_MoveParent,
1472
521k
/*  2935*/                    OPC_MoveParent,
1473
521k
/*  2936*/                    OPC_MoveChild1,
1474
521k
/*  2937*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1475
521k
/*  2940*/                    OPC_MoveChild0,
1476
521k
/*  2941*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1477
521k
/*  2944*/                    OPC_CheckChild0Same, 0,
1478
521k
/*  2946*/                    OPC_CheckChild1Integer, 16, 
1479
521k
/*  2948*/                    OPC_CheckChild1Type, MVT::i32,
1480
521k
/*  2950*/                    OPC_MoveParent,
1481
521k
/*  2951*/                    OPC_MoveParent,
1482
521k
/*  2952*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1483
521k
/*  2954*/                    OPC_MoveParent,
1484
521k
/*  2955*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1485
521k
/*  2957*/                    OPC_MoveParent,
1486
521k
/*  2958*/                    OPC_MoveChild1,
1487
521k
/*  2959*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1488
521k
/*  2962*/                    OPC_MoveChild0,
1489
521k
/*  2963*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1490
521k
/*  2966*/                    OPC_Scope, 68, /*->3036*/ // 3 children in Scope
1491
521k
/*  2968*/                      OPC_CheckChild0Same, 0,
1492
521k
/*  2970*/                      OPC_CheckChild1Integer, 24, 
1493
521k
/*  2972*/                      OPC_CheckChild1Type, MVT::i32,
1494
521k
/*  2974*/                      OPC_MoveParent,
1495
521k
/*  2975*/                      OPC_MoveChild1,
1496
521k
/*  2976*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1497
521k
/*  2979*/                      OPC_CheckChild0Same, 1,
1498
521k
/*  2981*/                      OPC_CheckChild1Integer, 24, 
1499
521k
/*  2983*/                      OPC_CheckChild1Type, MVT::i32,
1500
521k
/*  2985*/                      OPC_MoveParent,
1501
521k
/*  2986*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1502
521k
/*  2988*/                      OPC_MoveParent,
1503
521k
/*  2989*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1504
521k
/*  2991*/                      OPC_CheckType, MVT::i32,
1505
521k
/*  2993*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1506
521k
/*  2995*/                      OPC_EmitInteger, MVT::i32, 8, 
1507
521k
/*  2998*/                      OPC_EmitInteger, MVT::i32, 8, 
1508
521k
/*  3001*/                      OPC_EmitInteger, MVT::i32, 8, 
1509
521k
/*  3004*/                      OPC_EmitInteger, MVT::i1, 0, 
1510
521k
/*  3007*/                      OPC_EmitInteger, MVT::i32, 0, 
1511
521k
/*  3010*/                      OPC_EmitInteger, MVT::i32, 0, 
1512
521k
/*  3013*/                      OPC_EmitInteger, MVT::i32, 0, 
1513
521k
/*  3016*/                      OPC_EmitInteger, MVT::i32, 0, 
1514
521k
/*  3019*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1515
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1516
521k
                                // 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
1517
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1518
521k
/*  3036*/                    /*Scope*/ 89, /*->3126*/
1519
521k
/*  3037*/                      OPC_CheckChild0Same, 1,
1520
521k
/*  3039*/                      OPC_CheckChild1Integer, 24, 
1521
521k
/*  3041*/                      OPC_CheckChild1Type, MVT::i32,
1522
521k
/*  3043*/                      OPC_MoveParent,
1523
521k
/*  3044*/                      OPC_MoveChild1,
1524
521k
/*  3045*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1525
521k
/*  3048*/                      OPC_CheckChild0Same, 0,
1526
521k
/*  3050*/                      OPC_CheckChild1Integer, 24, 
1527
521k
/*  3052*/                      OPC_CheckChild1Type, MVT::i32,
1528
521k
/*  3054*/                      OPC_MoveParent,
1529
521k
/*  3055*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1530
521k
/*  3057*/                      OPC_MoveParent,
1531
521k
/*  3058*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1532
521k
/*  3060*/                      OPC_CheckType, MVT::i32,
1533
521k
/*  3062*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1534
521k
/*  3064*/                      OPC_EmitInteger, MVT::i32, 8, 
1535
521k
/*  3067*/                      OPC_EmitInteger, MVT::i32, 8, 
1536
521k
/*  3070*/                      OPC_EmitInteger, MVT::i32, 8, 
1537
521k
/*  3073*/                      OPC_EmitInteger, MVT::i1, 0, 
1538
521k
/*  3076*/                      OPC_EmitInteger, MVT::i32, 0, 
1539
521k
/*  3079*/                      OPC_EmitInteger, MVT::i32, 0, 
1540
521k
/*  3082*/                      OPC_EmitInteger, MVT::i32, 0, 
1541
521k
/*  3085*/                      OPC_EmitInteger, MVT::i32, 0, 
1542
521k
/*  3088*/                      OPC_Scope, 17, /*->3107*/ // 2 children in Scope
1543
521k
/*  3090*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1544
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1545
521k
                                  // 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
1546
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1547
521k
/*  3107*/                      /*Scope*/ 17, /*->3125*/
1548
521k
/*  3108*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1549
521k
                                      MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1550
521k
                                  // 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
1551
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1552
521k
/*  3125*/                      0, /*End of Scope*/
1553
521k
/*  3126*/                    /*Scope*/ 68, /*->3195*/
1554
521k
/*  3127*/                      OPC_CheckChild0Same, 0,
1555
521k
/*  3129*/                      OPC_CheckChild1Integer, 24, 
1556
521k
/*  3131*/                      OPC_CheckChild1Type, MVT::i32,
1557
521k
/*  3133*/                      OPC_MoveParent,
1558
521k
/*  3134*/                      OPC_MoveChild1,
1559
521k
/*  3135*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1560
521k
/*  3138*/                      OPC_CheckChild0Same, 1,
1561
521k
/*  3140*/                      OPC_CheckChild1Integer, 24, 
1562
521k
/*  3142*/                      OPC_CheckChild1Type, MVT::i32,
1563
521k
/*  3144*/                      OPC_MoveParent,
1564
521k
/*  3145*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1565
521k
/*  3147*/                      OPC_MoveParent,
1566
521k
/*  3148*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1567
521k
/*  3150*/                      OPC_CheckType, MVT::i32,
1568
521k
/*  3152*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1569
521k
/*  3154*/                      OPC_EmitInteger, MVT::i32, 8, 
1570
521k
/*  3157*/                      OPC_EmitInteger, MVT::i32, 8, 
1571
521k
/*  3160*/                      OPC_EmitInteger, MVT::i32, 8, 
1572
521k
/*  3163*/                      OPC_EmitInteger, MVT::i1, 0, 
1573
521k
/*  3166*/                      OPC_EmitInteger, MVT::i32, 0, 
1574
521k
/*  3169*/                      OPC_EmitInteger, MVT::i32, 0, 
1575
521k
/*  3172*/                      OPC_EmitInteger, MVT::i32, 0, 
1576
521k
/*  3175*/                      OPC_EmitInteger, MVT::i32, 0, 
1577
521k
/*  3178*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1578
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1579
521k
                                // 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
1580
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1581
521k
/*  3195*/                    0, /*End of Scope*/
1582
521k
/*  3196*/                  /*Scope*/ 50|128,1/*178*/, /*->3376*/
1583
521k
/*  3198*/                    OPC_CheckChild0Same, 0,
1584
521k
/*  3200*/                    OPC_CheckChild1Integer, 16, 
1585
521k
/*  3202*/                    OPC_CheckChild1Type, MVT::i32,
1586
521k
/*  3204*/                    OPC_MoveParent,
1587
521k
/*  3205*/                    OPC_MoveParent,
1588
521k
/*  3206*/                    OPC_MoveChild1,
1589
521k
/*  3207*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1590
521k
/*  3210*/                    OPC_MoveChild0,
1591
521k
/*  3211*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1592
521k
/*  3214*/                    OPC_CheckChild0Same, 1,
1593
521k
/*  3216*/                    OPC_CheckChild1Integer, 16, 
1594
521k
/*  3218*/                    OPC_CheckChild1Type, MVT::i32,
1595
521k
/*  3220*/                    OPC_MoveParent,
1596
521k
/*  3221*/                    OPC_MoveParent,
1597
521k
/*  3222*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1598
521k
/*  3224*/                    OPC_MoveParent,
1599
521k
/*  3225*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1600
521k
/*  3227*/                    OPC_MoveParent,
1601
521k
/*  3228*/                    OPC_MoveChild1,
1602
521k
/*  3229*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1603
521k
/*  3232*/                    OPC_MoveChild0,
1604
521k
/*  3233*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1605
521k
/*  3236*/                    OPC_Scope, 68, /*->3306*/ // 2 children in Scope
1606
521k
/*  3238*/                      OPC_CheckChild0Same, 1,
1607
521k
/*  3240*/                      OPC_CheckChild1Integer, 24, 
1608
521k
/*  3242*/                      OPC_CheckChild1Type, MVT::i32,
1609
521k
/*  3244*/                      OPC_MoveParent,
1610
521k
/*  3245*/                      OPC_MoveChild1,
1611
521k
/*  3246*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1612
521k
/*  3249*/                      OPC_CheckChild0Same, 0,
1613
521k
/*  3251*/                      OPC_CheckChild1Integer, 24, 
1614
521k
/*  3253*/                      OPC_CheckChild1Type, MVT::i32,
1615
521k
/*  3255*/                      OPC_MoveParent,
1616
521k
/*  3256*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1617
521k
/*  3258*/                      OPC_MoveParent,
1618
521k
/*  3259*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1619
521k
/*  3261*/                      OPC_CheckType, MVT::i32,
1620
521k
/*  3263*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1621
521k
/*  3265*/                      OPC_EmitInteger, MVT::i32, 8, 
1622
521k
/*  3268*/                      OPC_EmitInteger, MVT::i32, 8, 
1623
521k
/*  3271*/                      OPC_EmitInteger, MVT::i32, 8, 
1624
521k
/*  3274*/                      OPC_EmitInteger, MVT::i1, 0, 
1625
521k
/*  3277*/                      OPC_EmitInteger, MVT::i32, 0, 
1626
521k
/*  3280*/                      OPC_EmitInteger, MVT::i32, 0, 
1627
521k
/*  3283*/                      OPC_EmitInteger, MVT::i32, 0, 
1628
521k
/*  3286*/                      OPC_EmitInteger, MVT::i32, 0, 
1629
521k
/*  3289*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1630
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1631
521k
                                // 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
1632
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1633
521k
/*  3306*/                    /*Scope*/ 68, /*->3375*/
1634
521k
/*  3307*/                      OPC_CheckChild0Same, 0,
1635
521k
/*  3309*/                      OPC_CheckChild1Integer, 24, 
1636
521k
/*  3311*/                      OPC_CheckChild1Type, MVT::i32,
1637
521k
/*  3313*/                      OPC_MoveParent,
1638
521k
/*  3314*/                      OPC_MoveChild1,
1639
521k
/*  3315*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1640
521k
/*  3318*/                      OPC_CheckChild0Same, 1,
1641
521k
/*  3320*/                      OPC_CheckChild1Integer, 24, 
1642
521k
/*  3322*/                      OPC_CheckChild1Type, MVT::i32,
1643
521k
/*  3324*/                      OPC_MoveParent,
1644
521k
/*  3325*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1645
521k
/*  3327*/                      OPC_MoveParent,
1646
521k
/*  3328*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1647
521k
/*  3330*/                      OPC_CheckType, MVT::i32,
1648
521k
/*  3332*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1649
521k
/*  3334*/                      OPC_EmitInteger, MVT::i32, 8, 
1650
521k
/*  3337*/                      OPC_EmitInteger, MVT::i32, 8, 
1651
521k
/*  3340*/                      OPC_EmitInteger, MVT::i32, 8, 
1652
521k
/*  3343*/                      OPC_EmitInteger, MVT::i1, 0, 
1653
521k
/*  3346*/                      OPC_EmitInteger, MVT::i32, 0, 
1654
521k
/*  3349*/                      OPC_EmitInteger, MVT::i32, 0, 
1655
521k
/*  3352*/                      OPC_EmitInteger, MVT::i32, 0, 
1656
521k
/*  3355*/                      OPC_EmitInteger, MVT::i32, 0, 
1657
521k
/*  3358*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1658
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1659
521k
                                // 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
1660
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1661
521k
/*  3375*/                    0, /*End of Scope*/
1662
521k
/*  3376*/                  0, /*End of Scope*/
1663
521k
/*  3377*/                /*Scope*/ 20|128,3/*404*/, /*->3783*/
1664
521k
/*  3379*/                  OPC_CheckChild0Same, 0,
1665
521k
/*  3381*/                  OPC_CheckChild1Integer, 8, 
1666
521k
/*  3383*/                  OPC_CheckChild1Type, MVT::i32,
1667
521k
/*  3385*/                  OPC_MoveParent,
1668
521k
/*  3386*/                  OPC_MoveParent,
1669
521k
/*  3387*/                  OPC_MoveChild1,
1670
521k
/*  3388*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1671
521k
/*  3391*/                  OPC_MoveChild0,
1672
521k
/*  3392*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1673
521k
/*  3395*/                  OPC_CheckChild0Same, 1,
1674
521k
/*  3397*/                  OPC_CheckChild1Integer, 8, 
1675
521k
/*  3399*/                  OPC_CheckChild1Type, MVT::i32,
1676
521k
/*  3401*/                  OPC_MoveParent,
1677
521k
/*  3402*/                  OPC_MoveParent,
1678
521k
/*  3403*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1679
521k
/*  3405*/                  OPC_MoveParent,
1680
521k
/*  3406*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
1681
521k
/*  3408*/                  OPC_MoveParent,
1682
521k
/*  3409*/                  OPC_MoveChild1,
1683
521k
/*  3410*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1684
521k
/*  3413*/                  OPC_MoveChild0,
1685
521k
/*  3414*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1686
521k
/*  3417*/                  OPC_MoveChild0,
1687
521k
/*  3418*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1688
521k
/*  3421*/                  OPC_Scope, 50|128,1/*178*/, /*->3602*/ // 2 children in Scope
1689
521k
/*  3424*/                    OPC_CheckChild0Same, 1,
1690
521k
/*  3426*/                    OPC_CheckChild1Integer, 16, 
1691
521k
/*  3428*/                    OPC_CheckChild1Type, MVT::i32,
1692
521k
/*  3430*/                    OPC_MoveParent,
1693
521k
/*  3431*/                    OPC_MoveParent,
1694
521k
/*  3432*/                    OPC_MoveChild1,
1695
521k
/*  3433*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1696
521k
/*  3436*/                    OPC_MoveChild0,
1697
521k
/*  3437*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1698
521k
/*  3440*/                    OPC_CheckChild0Same, 0,
1699
521k
/*  3442*/                    OPC_CheckChild1Integer, 16, 
1700
521k
/*  3444*/                    OPC_CheckChild1Type, MVT::i32,
1701
521k
/*  3446*/                    OPC_MoveParent,
1702
521k
/*  3447*/                    OPC_MoveParent,
1703
521k
/*  3448*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1704
521k
/*  3450*/                    OPC_MoveParent,
1705
521k
/*  3451*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1706
521k
/*  3453*/                    OPC_MoveParent,
1707
521k
/*  3454*/                    OPC_MoveChild1,
1708
521k
/*  3455*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1709
521k
/*  3458*/                    OPC_MoveChild0,
1710
521k
/*  3459*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1711
521k
/*  3462*/                    OPC_Scope, 68, /*->3532*/ // 2 children in Scope
1712
521k
/*  3464*/                      OPC_CheckChild0Same, 1,
1713
521k
/*  3466*/                      OPC_CheckChild1Integer, 24, 
1714
521k
/*  3468*/                      OPC_CheckChild1Type, MVT::i32,
1715
521k
/*  3470*/                      OPC_MoveParent,
1716
521k
/*  3471*/                      OPC_MoveChild1,
1717
521k
/*  3472*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1718
521k
/*  3475*/                      OPC_CheckChild0Same, 0,
1719
521k
/*  3477*/                      OPC_CheckChild1Integer, 24, 
1720
521k
/*  3479*/                      OPC_CheckChild1Type, MVT::i32,
1721
521k
/*  3481*/                      OPC_MoveParent,
1722
521k
/*  3482*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1723
521k
/*  3484*/                      OPC_MoveParent,
1724
521k
/*  3485*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1725
521k
/*  3487*/                      OPC_CheckType, MVT::i32,
1726
521k
/*  3489*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1727
521k
/*  3491*/                      OPC_EmitInteger, MVT::i32, 8, 
1728
521k
/*  3494*/                      OPC_EmitInteger, MVT::i32, 8, 
1729
521k
/*  3497*/                      OPC_EmitInteger, MVT::i32, 8, 
1730
521k
/*  3500*/                      OPC_EmitInteger, MVT::i1, 0, 
1731
521k
/*  3503*/                      OPC_EmitInteger, MVT::i32, 0, 
1732
521k
/*  3506*/                      OPC_EmitInteger, MVT::i32, 0, 
1733
521k
/*  3509*/                      OPC_EmitInteger, MVT::i32, 0, 
1734
521k
/*  3512*/                      OPC_EmitInteger, MVT::i32, 0, 
1735
521k
/*  3515*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1736
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1737
521k
                                // 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
1738
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1739
521k
/*  3532*/                    /*Scope*/ 68, /*->3601*/
1740
521k
/*  3533*/                      OPC_CheckChild0Same, 0,
1741
521k
/*  3535*/                      OPC_CheckChild1Integer, 24, 
1742
521k
/*  3537*/                      OPC_CheckChild1Type, MVT::i32,
1743
521k
/*  3539*/                      OPC_MoveParent,
1744
521k
/*  3540*/                      OPC_MoveChild1,
1745
521k
/*  3541*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1746
521k
/*  3544*/                      OPC_CheckChild0Same, 1,
1747
521k
/*  3546*/                      OPC_CheckChild1Integer, 24, 
1748
521k
/*  3548*/                      OPC_CheckChild1Type, MVT::i32,
1749
521k
/*  3550*/                      OPC_MoveParent,
1750
521k
/*  3551*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1751
521k
/*  3553*/                      OPC_MoveParent,
1752
521k
/*  3554*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1753
521k
/*  3556*/                      OPC_CheckType, MVT::i32,
1754
521k
/*  3558*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1755
521k
/*  3560*/                      OPC_EmitInteger, MVT::i32, 8, 
1756
521k
/*  3563*/                      OPC_EmitInteger, MVT::i32, 8, 
1757
521k
/*  3566*/                      OPC_EmitInteger, MVT::i32, 8, 
1758
521k
/*  3569*/                      OPC_EmitInteger, MVT::i1, 0, 
1759
521k
/*  3572*/                      OPC_EmitInteger, MVT::i32, 0, 
1760
521k
/*  3575*/                      OPC_EmitInteger, MVT::i32, 0, 
1761
521k
/*  3578*/                      OPC_EmitInteger, MVT::i32, 0, 
1762
521k
/*  3581*/                      OPC_EmitInteger, MVT::i32, 0, 
1763
521k
/*  3584*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1764
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1765
521k
                                // 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
1766
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1767
521k
/*  3601*/                    0, /*End of Scope*/
1768
521k
/*  3602*/                  /*Scope*/ 50|128,1/*178*/, /*->3782*/
1769
521k
/*  3604*/                    OPC_CheckChild0Same, 0,
1770
521k
/*  3606*/                    OPC_CheckChild1Integer, 16, 
1771
521k
/*  3608*/                    OPC_CheckChild1Type, MVT::i32,
1772
521k
/*  3610*/                    OPC_MoveParent,
1773
521k
/*  3611*/                    OPC_MoveParent,
1774
521k
/*  3612*/                    OPC_MoveChild1,
1775
521k
/*  3613*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1776
521k
/*  3616*/                    OPC_MoveChild0,
1777
521k
/*  3617*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1778
521k
/*  3620*/                    OPC_CheckChild0Same, 1,
1779
521k
/*  3622*/                    OPC_CheckChild1Integer, 16, 
1780
521k
/*  3624*/                    OPC_CheckChild1Type, MVT::i32,
1781
521k
/*  3626*/                    OPC_MoveParent,
1782
521k
/*  3627*/                    OPC_MoveParent,
1783
521k
/*  3628*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1784
521k
/*  3630*/                    OPC_MoveParent,
1785
521k
/*  3631*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1786
521k
/*  3633*/                    OPC_MoveParent,
1787
521k
/*  3634*/                    OPC_MoveChild1,
1788
521k
/*  3635*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1789
521k
/*  3638*/                    OPC_MoveChild0,
1790
521k
/*  3639*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1791
521k
/*  3642*/                    OPC_Scope, 68, /*->3712*/ // 2 children in Scope
1792
521k
/*  3644*/                      OPC_CheckChild0Same, 1,
1793
521k
/*  3646*/                      OPC_CheckChild1Integer, 24, 
1794
521k
/*  3648*/                      OPC_CheckChild1Type, MVT::i32,
1795
521k
/*  3650*/                      OPC_MoveParent,
1796
521k
/*  3651*/                      OPC_MoveChild1,
1797
521k
/*  3652*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1798
521k
/*  3655*/                      OPC_CheckChild0Same, 0,
1799
521k
/*  3657*/                      OPC_CheckChild1Integer, 24, 
1800
521k
/*  3659*/                      OPC_CheckChild1Type, MVT::i32,
1801
521k
/*  3661*/                      OPC_MoveParent,
1802
521k
/*  3662*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1803
521k
/*  3664*/                      OPC_MoveParent,
1804
521k
/*  3665*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1805
521k
/*  3667*/                      OPC_CheckType, MVT::i32,
1806
521k
/*  3669*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1807
521k
/*  3671*/                      OPC_EmitInteger, MVT::i32, 8, 
1808
521k
/*  3674*/                      OPC_EmitInteger, MVT::i32, 8, 
1809
521k
/*  3677*/                      OPC_EmitInteger, MVT::i32, 8, 
1810
521k
/*  3680*/                      OPC_EmitInteger, MVT::i1, 0, 
1811
521k
/*  3683*/                      OPC_EmitInteger, MVT::i32, 0, 
1812
521k
/*  3686*/                      OPC_EmitInteger, MVT::i32, 0, 
1813
521k
/*  3689*/                      OPC_EmitInteger, MVT::i32, 0, 
1814
521k
/*  3692*/                      OPC_EmitInteger, MVT::i32, 0, 
1815
521k
/*  3695*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1816
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1817
521k
                                // 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
1818
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1819
521k
/*  3712*/                    /*Scope*/ 68, /*->3781*/
1820
521k
/*  3713*/                      OPC_CheckChild0Same, 0,
1821
521k
/*  3715*/                      OPC_CheckChild1Integer, 24, 
1822
521k
/*  3717*/                      OPC_CheckChild1Type, MVT::i32,
1823
521k
/*  3719*/                      OPC_MoveParent,
1824
521k
/*  3720*/                      OPC_MoveChild1,
1825
521k
/*  3721*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1826
521k
/*  3724*/                      OPC_CheckChild0Same, 1,
1827
521k
/*  3726*/                      OPC_CheckChild1Integer, 24, 
1828
521k
/*  3728*/                      OPC_CheckChild1Type, MVT::i32,
1829
521k
/*  3730*/                      OPC_MoveParent,
1830
521k
/*  3731*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1831
521k
/*  3733*/                      OPC_MoveParent,
1832
521k
/*  3734*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1833
521k
/*  3736*/                      OPC_CheckType, MVT::i32,
1834
521k
/*  3738*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1835
521k
/*  3740*/                      OPC_EmitInteger, MVT::i32, 8, 
1836
521k
/*  3743*/                      OPC_EmitInteger, MVT::i32, 8, 
1837
521k
/*  3746*/                      OPC_EmitInteger, MVT::i32, 8, 
1838
521k
/*  3749*/                      OPC_EmitInteger, MVT::i1, 0, 
1839
521k
/*  3752*/                      OPC_EmitInteger, MVT::i32, 0, 
1840
521k
/*  3755*/                      OPC_EmitInteger, MVT::i32, 0, 
1841
521k
/*  3758*/                      OPC_EmitInteger, MVT::i32, 0, 
1842
521k
/*  3761*/                      OPC_EmitInteger, MVT::i32, 0, 
1843
521k
/*  3764*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1844
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
1845
521k
                                // 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
1846
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1847
521k
/*  3781*/                    0, /*End of Scope*/
1848
521k
/*  3782*/                  0, /*End of Scope*/
1849
521k
/*  3783*/                0, /*End of Scope*/
1850
521k
/*  3784*/              0, /*End of Scope*/
1851
521k
/*  3785*/            /*SwitchOpcode*/ 53|128,25/*3253*/, TARGET_VAL(AMDGPUISD::MUL_U24),// ->7042
1852
521k
/*  3789*/              OPC_MoveChild0,
1853
521k
/*  3790*/              OPC_CheckAndImm, 127|128,1/*255*/, 
1854
521k
/*  3793*/              OPC_MoveChild0,
1855
521k
/*  3794*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1856
521k
/*  3797*/              OPC_RecordChild0, // #0 = $src0
1857
521k
/*  3798*/              OPC_CheckChild1Integer, 8, 
1858
521k
/*  3800*/              OPC_CheckChild1Type, MVT::i32,
1859
521k
/*  3802*/              OPC_MoveParent,
1860
521k
/*  3803*/              OPC_MoveParent,
1861
521k
/*  3804*/              OPC_MoveChild1,
1862
521k
/*  3805*/              OPC_CheckAndImm, 127|128,1/*255*/, 
1863
521k
/*  3808*/              OPC_MoveChild0,
1864
521k
/*  3809*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1865
521k
/*  3812*/              OPC_RecordChild0, // #1 = $src1
1866
521k
/*  3813*/              OPC_CheckChild1Integer, 8, 
1867
521k
/*  3815*/              OPC_CheckChild1Type, MVT::i32,
1868
521k
/*  3817*/              OPC_MoveParent,
1869
521k
/*  3818*/              OPC_MoveParent,
1870
521k
/*  3819*/              OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1871
521k
/*  3821*/              OPC_MoveParent,
1872
521k
/*  3822*/              OPC_MoveChild1,
1873
521k
/*  3823*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1874
521k
/*  3826*/              OPC_Scope, 33|128,6/*801*/, /*->4630*/ // 4 children in Scope
1875
521k
/*  3829*/                OPC_RecordChild0, // #2 = $src2
1876
521k
/*  3830*/                OPC_MoveChild1,
1877
521k
/*  3831*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1878
521k
/*  3834*/                OPC_MoveChild0,
1879
521k
/*  3835*/                OPC_CheckAndImm, 127|128,1/*255*/, 
1880
521k
/*  3838*/                OPC_Scope, 9|128,3/*393*/, /*->4234*/ // 2 children in Scope
1881
521k
/*  3841*/                  OPC_CheckChild0Same, 0,
1882
521k
/*  3843*/                  OPC_MoveParent,
1883
521k
/*  3844*/                  OPC_MoveChild1,
1884
521k
/*  3845*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1885
521k
/*  3848*/                  OPC_CheckChild0Same, 1,
1886
521k
/*  3850*/                  OPC_MoveParent,
1887
521k
/*  3851*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1888
521k
/*  3853*/                  OPC_MoveParent,
1889
521k
/*  3854*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
1890
521k
/*  3856*/                  OPC_MoveParent,
1891
521k
/*  3857*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
1892
521k
/*  3859*/                  OPC_MoveParent,
1893
521k
/*  3860*/                  OPC_MoveChild1,
1894
521k
/*  3861*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1895
521k
/*  3864*/                  OPC_MoveChild0,
1896
521k
/*  3865*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
1897
521k
/*  3868*/                  OPC_MoveChild0,
1898
521k
/*  3869*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1899
521k
/*  3872*/                  OPC_Scope, 50|128,1/*178*/, /*->4053*/ // 2 children in Scope
1900
521k
/*  3875*/                    OPC_CheckChild0Same, 0,
1901
521k
/*  3877*/                    OPC_CheckChild1Integer, 16, 
1902
521k
/*  3879*/                    OPC_CheckChild1Type, MVT::i32,
1903
521k
/*  3881*/                    OPC_MoveParent,
1904
521k
/*  3882*/                    OPC_MoveParent,
1905
521k
/*  3883*/                    OPC_MoveChild1,
1906
521k
/*  3884*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1907
521k
/*  3887*/                    OPC_MoveChild0,
1908
521k
/*  3888*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1909
521k
/*  3891*/                    OPC_CheckChild0Same, 1,
1910
521k
/*  3893*/                    OPC_CheckChild1Integer, 16, 
1911
521k
/*  3895*/                    OPC_CheckChild1Type, MVT::i32,
1912
521k
/*  3897*/                    OPC_MoveParent,
1913
521k
/*  3898*/                    OPC_MoveParent,
1914
521k
/*  3899*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1915
521k
/*  3901*/                    OPC_MoveParent,
1916
521k
/*  3902*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1917
521k
/*  3904*/                    OPC_MoveParent,
1918
521k
/*  3905*/                    OPC_MoveChild1,
1919
521k
/*  3906*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
1920
521k
/*  3909*/                    OPC_MoveChild0,
1921
521k
/*  3910*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1922
521k
/*  3913*/                    OPC_Scope, 68, /*->3983*/ // 2 children in Scope
1923
521k
/*  3915*/                      OPC_CheckChild0Same, 0,
1924
521k
/*  3917*/                      OPC_CheckChild1Integer, 24, 
1925
521k
/*  3919*/                      OPC_CheckChild1Type, MVT::i32,
1926
521k
/*  3921*/                      OPC_MoveParent,
1927
521k
/*  3922*/                      OPC_MoveChild1,
1928
521k
/*  3923*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1929
521k
/*  3926*/                      OPC_CheckChild0Same, 1,
1930
521k
/*  3928*/                      OPC_CheckChild1Integer, 24, 
1931
521k
/*  3930*/                      OPC_CheckChild1Type, MVT::i32,
1932
521k
/*  3932*/                      OPC_MoveParent,
1933
521k
/*  3933*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1934
521k
/*  3935*/                      OPC_MoveParent,
1935
521k
/*  3936*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1936
521k
/*  3938*/                      OPC_CheckType, MVT::i32,
1937
521k
/*  3940*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1938
521k
/*  3942*/                      OPC_EmitInteger, MVT::i32, 8, 
1939
521k
/*  3945*/                      OPC_EmitInteger, MVT::i32, 8, 
1940
521k
/*  3948*/                      OPC_EmitInteger, MVT::i32, 8, 
1941
521k
/*  3951*/                      OPC_EmitInteger, MVT::i1, 0, 
1942
521k
/*  3954*/                      OPC_EmitInteger, MVT::i32, 0, 
1943
521k
/*  3957*/                      OPC_EmitInteger, MVT::i32, 0, 
1944
521k
/*  3960*/                      OPC_EmitInteger, MVT::i32, 0, 
1945
521k
/*  3963*/                      OPC_EmitInteger, MVT::i32, 0, 
1946
521k
/*  3966*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1947
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1948
521k
                                // 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
1949
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1950
521k
/*  3983*/                    /*Scope*/ 68, /*->4052*/
1951
521k
/*  3984*/                      OPC_CheckChild0Same, 1,
1952
521k
/*  3986*/                      OPC_CheckChild1Integer, 24, 
1953
521k
/*  3988*/                      OPC_CheckChild1Type, MVT::i32,
1954
521k
/*  3990*/                      OPC_MoveParent,
1955
521k
/*  3991*/                      OPC_MoveChild1,
1956
521k
/*  3992*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1957
521k
/*  3995*/                      OPC_CheckChild0Same, 0,
1958
521k
/*  3997*/                      OPC_CheckChild1Integer, 24, 
1959
521k
/*  3999*/                      OPC_CheckChild1Type, MVT::i32,
1960
521k
/*  4001*/                      OPC_MoveParent,
1961
521k
/*  4002*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1962
521k
/*  4004*/                      OPC_MoveParent,
1963
521k
/*  4005*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
1964
521k
/*  4007*/                      OPC_CheckType, MVT::i32,
1965
521k
/*  4009*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
1966
521k
/*  4011*/                      OPC_EmitInteger, MVT::i32, 8, 
1967
521k
/*  4014*/                      OPC_EmitInteger, MVT::i32, 8, 
1968
521k
/*  4017*/                      OPC_EmitInteger, MVT::i32, 8, 
1969
521k
/*  4020*/                      OPC_EmitInteger, MVT::i1, 0, 
1970
521k
/*  4023*/                      OPC_EmitInteger, MVT::i32, 0, 
1971
521k
/*  4026*/                      OPC_EmitInteger, MVT::i32, 0, 
1972
521k
/*  4029*/                      OPC_EmitInteger, MVT::i32, 0, 
1973
521k
/*  4032*/                      OPC_EmitInteger, MVT::i32, 0, 
1974
521k
/*  4035*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
1975
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
1976
521k
                                // 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
1977
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
1978
521k
/*  4052*/                    0, /*End of Scope*/
1979
521k
/*  4053*/                  /*Scope*/ 50|128,1/*178*/, /*->4233*/
1980
521k
/*  4055*/                    OPC_CheckChild0Same, 1,
1981
521k
/*  4057*/                    OPC_CheckChild1Integer, 16, 
1982
521k
/*  4059*/                    OPC_CheckChild1Type, MVT::i32,
1983
521k
/*  4061*/                    OPC_MoveParent,
1984
521k
/*  4062*/                    OPC_MoveParent,
1985
521k
/*  4063*/                    OPC_MoveChild1,
1986
521k
/*  4064*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
1987
521k
/*  4067*/                    OPC_MoveChild0,
1988
521k
/*  4068*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1989
521k
/*  4071*/                    OPC_CheckChild0Same, 0,
1990
521k
/*  4073*/                    OPC_CheckChild1Integer, 16, 
1991
521k
/*  4075*/                    OPC_CheckChild1Type, MVT::i32,
1992
521k
/*  4077*/                    OPC_MoveParent,
1993
521k
/*  4078*/                    OPC_MoveParent,
1994
521k
/*  4079*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
1995
521k
/*  4081*/                    OPC_MoveParent,
1996
521k
/*  4082*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
1997
521k
/*  4084*/                    OPC_MoveParent,
1998
521k
/*  4085*/                    OPC_MoveChild1,
1999
521k
/*  4086*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2000
521k
/*  4089*/                    OPC_MoveChild0,
2001
521k
/*  4090*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2002
521k
/*  4093*/                    OPC_Scope, 68, /*->4163*/ // 2 children in Scope
2003
521k
/*  4095*/                      OPC_CheckChild0Same, 0,
2004
521k
/*  4097*/                      OPC_CheckChild1Integer, 24, 
2005
521k
/*  4099*/                      OPC_CheckChild1Type, MVT::i32,
2006
521k
/*  4101*/                      OPC_MoveParent,
2007
521k
/*  4102*/                      OPC_MoveChild1,
2008
521k
/*  4103*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2009
521k
/*  4106*/                      OPC_CheckChild0Same, 1,
2010
521k
/*  4108*/                      OPC_CheckChild1Integer, 24, 
2011
521k
/*  4110*/                      OPC_CheckChild1Type, MVT::i32,
2012
521k
/*  4112*/                      OPC_MoveParent,
2013
521k
/*  4113*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2014
521k
/*  4115*/                      OPC_MoveParent,
2015
521k
/*  4116*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2016
521k
/*  4118*/                      OPC_CheckType, MVT::i32,
2017
521k
/*  4120*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2018
521k
/*  4122*/                      OPC_EmitInteger, MVT::i32, 8, 
2019
521k
/*  4125*/                      OPC_EmitInteger, MVT::i32, 8, 
2020
521k
/*  4128*/                      OPC_EmitInteger, MVT::i32, 8, 
2021
521k
/*  4131*/                      OPC_EmitInteger, MVT::i1, 0, 
2022
521k
/*  4134*/                      OPC_EmitInteger, MVT::i32, 0, 
2023
521k
/*  4137*/                      OPC_EmitInteger, MVT::i32, 0, 
2024
521k
/*  4140*/                      OPC_EmitInteger, MVT::i32, 0, 
2025
521k
/*  4143*/                      OPC_EmitInteger, MVT::i32, 0, 
2026
521k
/*  4146*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2027
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2028
521k
                                // 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
2029
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2030
521k
/*  4163*/                    /*Scope*/ 68, /*->4232*/
2031
521k
/*  4164*/                      OPC_CheckChild0Same, 1,
2032
521k
/*  4166*/                      OPC_CheckChild1Integer, 24, 
2033
521k
/*  4168*/                      OPC_CheckChild1Type, MVT::i32,
2034
521k
/*  4170*/                      OPC_MoveParent,
2035
521k
/*  4171*/                      OPC_MoveChild1,
2036
521k
/*  4172*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2037
521k
/*  4175*/                      OPC_CheckChild0Same, 0,
2038
521k
/*  4177*/                      OPC_CheckChild1Integer, 24, 
2039
521k
/*  4179*/                      OPC_CheckChild1Type, MVT::i32,
2040
521k
/*  4181*/                      OPC_MoveParent,
2041
521k
/*  4182*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2042
521k
/*  4184*/                      OPC_MoveParent,
2043
521k
/*  4185*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2044
521k
/*  4187*/                      OPC_CheckType, MVT::i32,
2045
521k
/*  4189*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2046
521k
/*  4191*/                      OPC_EmitInteger, MVT::i32, 8, 
2047
521k
/*  4194*/                      OPC_EmitInteger, MVT::i32, 8, 
2048
521k
/*  4197*/                      OPC_EmitInteger, MVT::i32, 8, 
2049
521k
/*  4200*/                      OPC_EmitInteger, MVT::i1, 0, 
2050
521k
/*  4203*/                      OPC_EmitInteger, MVT::i32, 0, 
2051
521k
/*  4206*/                      OPC_EmitInteger, MVT::i32, 0, 
2052
521k
/*  4209*/                      OPC_EmitInteger, MVT::i32, 0, 
2053
521k
/*  4212*/                      OPC_EmitInteger, MVT::i32, 0, 
2054
521k
/*  4215*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2055
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2056
521k
                                // 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
2057
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2058
521k
/*  4232*/                    0, /*End of Scope*/
2059
521k
/*  4233*/                  0, /*End of Scope*/
2060
521k
/*  4234*/                /*Scope*/ 9|128,3/*393*/, /*->4629*/
2061
521k
/*  4236*/                  OPC_CheckChild0Same, 1,
2062
521k
/*  4238*/                  OPC_MoveParent,
2063
521k
/*  4239*/                  OPC_MoveChild1,
2064
521k
/*  4240*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2065
521k
/*  4243*/                  OPC_CheckChild0Same, 0,
2066
521k
/*  4245*/                  OPC_MoveParent,
2067
521k
/*  4246*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2068
521k
/*  4248*/                  OPC_MoveParent,
2069
521k
/*  4249*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2070
521k
/*  4251*/                  OPC_MoveParent,
2071
521k
/*  4252*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2072
521k
/*  4254*/                  OPC_MoveParent,
2073
521k
/*  4255*/                  OPC_MoveChild1,
2074
521k
/*  4256*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2075
521k
/*  4259*/                  OPC_MoveChild0,
2076
521k
/*  4260*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2077
521k
/*  4263*/                  OPC_MoveChild0,
2078
521k
/*  4264*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2079
521k
/*  4267*/                  OPC_Scope, 50|128,1/*178*/, /*->4448*/ // 2 children in Scope
2080
521k
/*  4270*/                    OPC_CheckChild0Same, 0,
2081
521k
/*  4272*/                    OPC_CheckChild1Integer, 16, 
2082
521k
/*  4274*/                    OPC_CheckChild1Type, MVT::i32,
2083
521k
/*  4276*/                    OPC_MoveParent,
2084
521k
/*  4277*/                    OPC_MoveParent,
2085
521k
/*  4278*/                    OPC_MoveChild1,
2086
521k
/*  4279*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2087
521k
/*  4282*/                    OPC_MoveChild0,
2088
521k
/*  4283*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2089
521k
/*  4286*/                    OPC_CheckChild0Same, 1,
2090
521k
/*  4288*/                    OPC_CheckChild1Integer, 16, 
2091
521k
/*  4290*/                    OPC_CheckChild1Type, MVT::i32,
2092
521k
/*  4292*/                    OPC_MoveParent,
2093
521k
/*  4293*/                    OPC_MoveParent,
2094
521k
/*  4294*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2095
521k
/*  4296*/                    OPC_MoveParent,
2096
521k
/*  4297*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2097
521k
/*  4299*/                    OPC_MoveParent,
2098
521k
/*  4300*/                    OPC_MoveChild1,
2099
521k
/*  4301*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2100
521k
/*  4304*/                    OPC_MoveChild0,
2101
521k
/*  4305*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2102
521k
/*  4308*/                    OPC_Scope, 68, /*->4378*/ // 2 children in Scope
2103
521k
/*  4310*/                      OPC_CheckChild0Same, 0,
2104
521k
/*  4312*/                      OPC_CheckChild1Integer, 24, 
2105
521k
/*  4314*/                      OPC_CheckChild1Type, MVT::i32,
2106
521k
/*  4316*/                      OPC_MoveParent,
2107
521k
/*  4317*/                      OPC_MoveChild1,
2108
521k
/*  4318*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2109
521k
/*  4321*/                      OPC_CheckChild0Same, 1,
2110
521k
/*  4323*/                      OPC_CheckChild1Integer, 24, 
2111
521k
/*  4325*/                      OPC_CheckChild1Type, MVT::i32,
2112
521k
/*  4327*/                      OPC_MoveParent,
2113
521k
/*  4328*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2114
521k
/*  4330*/                      OPC_MoveParent,
2115
521k
/*  4331*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2116
521k
/*  4333*/                      OPC_CheckType, MVT::i32,
2117
521k
/*  4335*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2118
521k
/*  4337*/                      OPC_EmitInteger, MVT::i32, 8, 
2119
521k
/*  4340*/                      OPC_EmitInteger, MVT::i32, 8, 
2120
521k
/*  4343*/                      OPC_EmitInteger, MVT::i32, 8, 
2121
521k
/*  4346*/                      OPC_EmitInteger, MVT::i1, 0, 
2122
521k
/*  4349*/                      OPC_EmitInteger, MVT::i32, 0, 
2123
521k
/*  4352*/                      OPC_EmitInteger, MVT::i32, 0, 
2124
521k
/*  4355*/                      OPC_EmitInteger, MVT::i32, 0, 
2125
521k
/*  4358*/                      OPC_EmitInteger, MVT::i32, 0, 
2126
521k
/*  4361*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2127
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2128
521k
                                // 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
2129
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2130
521k
/*  4378*/                    /*Scope*/ 68, /*->4447*/
2131
521k
/*  4379*/                      OPC_CheckChild0Same, 1,
2132
521k
/*  4381*/                      OPC_CheckChild1Integer, 24, 
2133
521k
/*  4383*/                      OPC_CheckChild1Type, MVT::i32,
2134
521k
/*  4385*/                      OPC_MoveParent,
2135
521k
/*  4386*/                      OPC_MoveChild1,
2136
521k
/*  4387*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2137
521k
/*  4390*/                      OPC_CheckChild0Same, 0,
2138
521k
/*  4392*/                      OPC_CheckChild1Integer, 24, 
2139
521k
/*  4394*/                      OPC_CheckChild1Type, MVT::i32,
2140
521k
/*  4396*/                      OPC_MoveParent,
2141
521k
/*  4397*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2142
521k
/*  4399*/                      OPC_MoveParent,
2143
521k
/*  4400*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2144
521k
/*  4402*/                      OPC_CheckType, MVT::i32,
2145
521k
/*  4404*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2146
521k
/*  4406*/                      OPC_EmitInteger, MVT::i32, 8, 
2147
521k
/*  4409*/                      OPC_EmitInteger, MVT::i32, 8, 
2148
521k
/*  4412*/                      OPC_EmitInteger, MVT::i32, 8, 
2149
521k
/*  4415*/                      OPC_EmitInteger, MVT::i1, 0, 
2150
521k
/*  4418*/                      OPC_EmitInteger, MVT::i32, 0, 
2151
521k
/*  4421*/                      OPC_EmitInteger, MVT::i32, 0, 
2152
521k
/*  4424*/                      OPC_EmitInteger, MVT::i32, 0, 
2153
521k
/*  4427*/                      OPC_EmitInteger, MVT::i32, 0, 
2154
521k
/*  4430*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2155
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2156
521k
                                // 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
2157
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2158
521k
/*  4447*/                    0, /*End of Scope*/
2159
521k
/*  4448*/                  /*Scope*/ 50|128,1/*178*/, /*->4628*/
2160
521k
/*  4450*/                    OPC_CheckChild0Same, 1,
2161
521k
/*  4452*/                    OPC_CheckChild1Integer, 16, 
2162
521k
/*  4454*/                    OPC_CheckChild1Type, MVT::i32,
2163
521k
/*  4456*/                    OPC_MoveParent,
2164
521k
/*  4457*/                    OPC_MoveParent,
2165
521k
/*  4458*/                    OPC_MoveChild1,
2166
521k
/*  4459*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2167
521k
/*  4462*/                    OPC_MoveChild0,
2168
521k
/*  4463*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2169
521k
/*  4466*/                    OPC_CheckChild0Same, 0,
2170
521k
/*  4468*/                    OPC_CheckChild1Integer, 16, 
2171
521k
/*  4470*/                    OPC_CheckChild1Type, MVT::i32,
2172
521k
/*  4472*/                    OPC_MoveParent,
2173
521k
/*  4473*/                    OPC_MoveParent,
2174
521k
/*  4474*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2175
521k
/*  4476*/                    OPC_MoveParent,
2176
521k
/*  4477*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2177
521k
/*  4479*/                    OPC_MoveParent,
2178
521k
/*  4480*/                    OPC_MoveChild1,
2179
521k
/*  4481*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2180
521k
/*  4484*/                    OPC_MoveChild0,
2181
521k
/*  4485*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2182
521k
/*  4488*/                    OPC_Scope, 68, /*->4558*/ // 2 children in Scope
2183
521k
/*  4490*/                      OPC_CheckChild0Same, 0,
2184
521k
/*  4492*/                      OPC_CheckChild1Integer, 24, 
2185
521k
/*  4494*/                      OPC_CheckChild1Type, MVT::i32,
2186
521k
/*  4496*/                      OPC_MoveParent,
2187
521k
/*  4497*/                      OPC_MoveChild1,
2188
521k
/*  4498*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2189
521k
/*  4501*/                      OPC_CheckChild0Same, 1,
2190
521k
/*  4503*/                      OPC_CheckChild1Integer, 24, 
2191
521k
/*  4505*/                      OPC_CheckChild1Type, MVT::i32,
2192
521k
/*  4507*/                      OPC_MoveParent,
2193
521k
/*  4508*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2194
521k
/*  4510*/                      OPC_MoveParent,
2195
521k
/*  4511*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2196
521k
/*  4513*/                      OPC_CheckType, MVT::i32,
2197
521k
/*  4515*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2198
521k
/*  4517*/                      OPC_EmitInteger, MVT::i32, 8, 
2199
521k
/*  4520*/                      OPC_EmitInteger, MVT::i32, 8, 
2200
521k
/*  4523*/                      OPC_EmitInteger, MVT::i32, 8, 
2201
521k
/*  4526*/                      OPC_EmitInteger, MVT::i1, 0, 
2202
521k
/*  4529*/                      OPC_EmitInteger, MVT::i32, 0, 
2203
521k
/*  4532*/                      OPC_EmitInteger, MVT::i32, 0, 
2204
521k
/*  4535*/                      OPC_EmitInteger, MVT::i32, 0, 
2205
521k
/*  4538*/                      OPC_EmitInteger, MVT::i32, 0, 
2206
521k
/*  4541*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2207
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2208
521k
                                // 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
2209
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2210
521k
/*  4558*/                    /*Scope*/ 68, /*->4627*/
2211
521k
/*  4559*/                      OPC_CheckChild0Same, 1,
2212
521k
/*  4561*/                      OPC_CheckChild1Integer, 24, 
2213
521k
/*  4563*/                      OPC_CheckChild1Type, MVT::i32,
2214
521k
/*  4565*/                      OPC_MoveParent,
2215
521k
/*  4566*/                      OPC_MoveChild1,
2216
521k
/*  4567*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2217
521k
/*  4570*/                      OPC_CheckChild0Same, 0,
2218
521k
/*  4572*/                      OPC_CheckChild1Integer, 24, 
2219
521k
/*  4574*/                      OPC_CheckChild1Type, MVT::i32,
2220
521k
/*  4576*/                      OPC_MoveParent,
2221
521k
/*  4577*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2222
521k
/*  4579*/                      OPC_MoveParent,
2223
521k
/*  4580*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2224
521k
/*  4582*/                      OPC_CheckType, MVT::i32,
2225
521k
/*  4584*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2226
521k
/*  4586*/                      OPC_EmitInteger, MVT::i32, 8, 
2227
521k
/*  4589*/                      OPC_EmitInteger, MVT::i32, 8, 
2228
521k
/*  4592*/                      OPC_EmitInteger, MVT::i32, 8, 
2229
521k
/*  4595*/                      OPC_EmitInteger, MVT::i1, 0, 
2230
521k
/*  4598*/                      OPC_EmitInteger, MVT::i32, 0, 
2231
521k
/*  4601*/                      OPC_EmitInteger, MVT::i32, 0, 
2232
521k
/*  4604*/                      OPC_EmitInteger, MVT::i32, 0, 
2233
521k
/*  4607*/                      OPC_EmitInteger, MVT::i32, 0, 
2234
521k
/*  4610*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2235
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2236
521k
                                // 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
2237
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2238
521k
/*  4627*/                    0, /*End of Scope*/
2239
521k
/*  4628*/                  0, /*End of Scope*/
2240
521k
/*  4629*/                0, /*End of Scope*/
2241
521k
/*  4630*/              /*Scope*/ 34|128,6/*802*/, /*->5434*/
2242
521k
/*  4632*/                OPC_MoveChild0,
2243
521k
/*  4633*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2244
521k
/*  4636*/                OPC_MoveChild0,
2245
521k
/*  4637*/                OPC_CheckAndImm, 127|128,1/*255*/, 
2246
521k
/*  4640*/                OPC_Scope, 10|128,3/*394*/, /*->5037*/ // 2 children in Scope
2247
521k
/*  4643*/                  OPC_CheckChild0Same, 0,
2248
521k
/*  4645*/                  OPC_MoveParent,
2249
521k
/*  4646*/                  OPC_MoveChild1,
2250
521k
/*  4647*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2251
521k
/*  4650*/                  OPC_CheckChild0Same, 1,
2252
521k
/*  4652*/                  OPC_MoveParent,
2253
521k
/*  4653*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2254
521k
/*  4655*/                  OPC_MoveParent,
2255
521k
/*  4656*/                  OPC_RecordChild1, // #2 = $src2
2256
521k
/*  4657*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2257
521k
/*  4659*/                  OPC_MoveParent,
2258
521k
/*  4660*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2259
521k
/*  4662*/                  OPC_MoveParent,
2260
521k
/*  4663*/                  OPC_MoveChild1,
2261
521k
/*  4664*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2262
521k
/*  4667*/                  OPC_MoveChild0,
2263
521k
/*  4668*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2264
521k
/*  4671*/                  OPC_MoveChild0,
2265
521k
/*  4672*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2266
521k
/*  4675*/                  OPC_Scope, 50|128,1/*178*/, /*->4856*/ // 2 children in Scope
2267
521k
/*  4678*/                    OPC_CheckChild0Same, 0,
2268
521k
/*  4680*/                    OPC_CheckChild1Integer, 16, 
2269
521k
/*  4682*/                    OPC_CheckChild1Type, MVT::i32,
2270
521k
/*  4684*/                    OPC_MoveParent,
2271
521k
/*  4685*/                    OPC_MoveParent,
2272
521k
/*  4686*/                    OPC_MoveChild1,
2273
521k
/*  4687*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2274
521k
/*  4690*/                    OPC_MoveChild0,
2275
521k
/*  4691*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2276
521k
/*  4694*/                    OPC_CheckChild0Same, 1,
2277
521k
/*  4696*/                    OPC_CheckChild1Integer, 16, 
2278
521k
/*  4698*/                    OPC_CheckChild1Type, MVT::i32,
2279
521k
/*  4700*/                    OPC_MoveParent,
2280
521k
/*  4701*/                    OPC_MoveParent,
2281
521k
/*  4702*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2282
521k
/*  4704*/                    OPC_MoveParent,
2283
521k
/*  4705*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2284
521k
/*  4707*/                    OPC_MoveParent,
2285
521k
/*  4708*/                    OPC_MoveChild1,
2286
521k
/*  4709*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2287
521k
/*  4712*/                    OPC_MoveChild0,
2288
521k
/*  4713*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2289
521k
/*  4716*/                    OPC_Scope, 68, /*->4786*/ // 2 children in Scope
2290
521k
/*  4718*/                      OPC_CheckChild0Same, 0,
2291
521k
/*  4720*/                      OPC_CheckChild1Integer, 24, 
2292
521k
/*  4722*/                      OPC_CheckChild1Type, MVT::i32,
2293
521k
/*  4724*/                      OPC_MoveParent,
2294
521k
/*  4725*/                      OPC_MoveChild1,
2295
521k
/*  4726*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2296
521k
/*  4729*/                      OPC_CheckChild0Same, 1,
2297
521k
/*  4731*/                      OPC_CheckChild1Integer, 24, 
2298
521k
/*  4733*/                      OPC_CheckChild1Type, MVT::i32,
2299
521k
/*  4735*/                      OPC_MoveParent,
2300
521k
/*  4736*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2301
521k
/*  4738*/                      OPC_MoveParent,
2302
521k
/*  4739*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2303
521k
/*  4741*/                      OPC_CheckType, MVT::i32,
2304
521k
/*  4743*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2305
521k
/*  4745*/                      OPC_EmitInteger, MVT::i32, 8, 
2306
521k
/*  4748*/                      OPC_EmitInteger, MVT::i32, 8, 
2307
521k
/*  4751*/                      OPC_EmitInteger, MVT::i32, 8, 
2308
521k
/*  4754*/                      OPC_EmitInteger, MVT::i1, 0, 
2309
521k
/*  4757*/                      OPC_EmitInteger, MVT::i32, 0, 
2310
521k
/*  4760*/                      OPC_EmitInteger, MVT::i32, 0, 
2311
521k
/*  4763*/                      OPC_EmitInteger, MVT::i32, 0, 
2312
521k
/*  4766*/                      OPC_EmitInteger, MVT::i32, 0, 
2313
521k
/*  4769*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2314
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2315
521k
                                // 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
2316
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2317
521k
/*  4786*/                    /*Scope*/ 68, /*->4855*/
2318
521k
/*  4787*/                      OPC_CheckChild0Same, 1,
2319
521k
/*  4789*/                      OPC_CheckChild1Integer, 24, 
2320
521k
/*  4791*/                      OPC_CheckChild1Type, MVT::i32,
2321
521k
/*  4793*/                      OPC_MoveParent,
2322
521k
/*  4794*/                      OPC_MoveChild1,
2323
521k
/*  4795*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2324
521k
/*  4798*/                      OPC_CheckChild0Same, 0,
2325
521k
/*  4800*/                      OPC_CheckChild1Integer, 24, 
2326
521k
/*  4802*/                      OPC_CheckChild1Type, MVT::i32,
2327
521k
/*  4804*/                      OPC_MoveParent,
2328
521k
/*  4805*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2329
521k
/*  4807*/                      OPC_MoveParent,
2330
521k
/*  4808*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2331
521k
/*  4810*/                      OPC_CheckType, MVT::i32,
2332
521k
/*  4812*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2333
521k
/*  4814*/                      OPC_EmitInteger, MVT::i32, 8, 
2334
521k
/*  4817*/                      OPC_EmitInteger, MVT::i32, 8, 
2335
521k
/*  4820*/                      OPC_EmitInteger, MVT::i32, 8, 
2336
521k
/*  4823*/                      OPC_EmitInteger, MVT::i1, 0, 
2337
521k
/*  4826*/                      OPC_EmitInteger, MVT::i32, 0, 
2338
521k
/*  4829*/                      OPC_EmitInteger, MVT::i32, 0, 
2339
521k
/*  4832*/                      OPC_EmitInteger, MVT::i32, 0, 
2340
521k
/*  4835*/                      OPC_EmitInteger, MVT::i32, 0, 
2341
521k
/*  4838*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2342
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2343
521k
                                // 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
2344
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2345
521k
/*  4855*/                    0, /*End of Scope*/
2346
521k
/*  4856*/                  /*Scope*/ 50|128,1/*178*/, /*->5036*/
2347
521k
/*  4858*/                    OPC_CheckChild0Same, 1,
2348
521k
/*  4860*/                    OPC_CheckChild1Integer, 16, 
2349
521k
/*  4862*/                    OPC_CheckChild1Type, MVT::i32,
2350
521k
/*  4864*/                    OPC_MoveParent,
2351
521k
/*  4865*/                    OPC_MoveParent,
2352
521k
/*  4866*/                    OPC_MoveChild1,
2353
521k
/*  4867*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2354
521k
/*  4870*/                    OPC_MoveChild0,
2355
521k
/*  4871*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2356
521k
/*  4874*/                    OPC_CheckChild0Same, 0,
2357
521k
/*  4876*/                    OPC_CheckChild1Integer, 16, 
2358
521k
/*  4878*/                    OPC_CheckChild1Type, MVT::i32,
2359
521k
/*  4880*/                    OPC_MoveParent,
2360
521k
/*  4881*/                    OPC_MoveParent,
2361
521k
/*  4882*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2362
521k
/*  4884*/                    OPC_MoveParent,
2363
521k
/*  4885*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2364
521k
/*  4887*/                    OPC_MoveParent,
2365
521k
/*  4888*/                    OPC_MoveChild1,
2366
521k
/*  4889*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2367
521k
/*  4892*/                    OPC_MoveChild0,
2368
521k
/*  4893*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2369
521k
/*  4896*/                    OPC_Scope, 68, /*->4966*/ // 2 children in Scope
2370
521k
/*  4898*/                      OPC_CheckChild0Same, 0,
2371
521k
/*  4900*/                      OPC_CheckChild1Integer, 24, 
2372
521k
/*  4902*/                      OPC_CheckChild1Type, MVT::i32,
2373
521k
/*  4904*/                      OPC_MoveParent,
2374
521k
/*  4905*/                      OPC_MoveChild1,
2375
521k
/*  4906*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2376
521k
/*  4909*/                      OPC_CheckChild0Same, 1,
2377
521k
/*  4911*/                      OPC_CheckChild1Integer, 24, 
2378
521k
/*  4913*/                      OPC_CheckChild1Type, MVT::i32,
2379
521k
/*  4915*/                      OPC_MoveParent,
2380
521k
/*  4916*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2381
521k
/*  4918*/                      OPC_MoveParent,
2382
521k
/*  4919*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2383
521k
/*  4921*/                      OPC_CheckType, MVT::i32,
2384
521k
/*  4923*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2385
521k
/*  4925*/                      OPC_EmitInteger, MVT::i32, 8, 
2386
521k
/*  4928*/                      OPC_EmitInteger, MVT::i32, 8, 
2387
521k
/*  4931*/                      OPC_EmitInteger, MVT::i32, 8, 
2388
521k
/*  4934*/                      OPC_EmitInteger, MVT::i1, 0, 
2389
521k
/*  4937*/                      OPC_EmitInteger, MVT::i32, 0, 
2390
521k
/*  4940*/                      OPC_EmitInteger, MVT::i32, 0, 
2391
521k
/*  4943*/                      OPC_EmitInteger, MVT::i32, 0, 
2392
521k
/*  4946*/                      OPC_EmitInteger, MVT::i32, 0, 
2393
521k
/*  4949*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2394
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2395
521k
                                // 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
2396
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2397
521k
/*  4966*/                    /*Scope*/ 68, /*->5035*/
2398
521k
/*  4967*/                      OPC_CheckChild0Same, 1,
2399
521k
/*  4969*/                      OPC_CheckChild1Integer, 24, 
2400
521k
/*  4971*/                      OPC_CheckChild1Type, MVT::i32,
2401
521k
/*  4973*/                      OPC_MoveParent,
2402
521k
/*  4974*/                      OPC_MoveChild1,
2403
521k
/*  4975*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2404
521k
/*  4978*/                      OPC_CheckChild0Same, 0,
2405
521k
/*  4980*/                      OPC_CheckChild1Integer, 24, 
2406
521k
/*  4982*/                      OPC_CheckChild1Type, MVT::i32,
2407
521k
/*  4984*/                      OPC_MoveParent,
2408
521k
/*  4985*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2409
521k
/*  4987*/                      OPC_MoveParent,
2410
521k
/*  4988*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2411
521k
/*  4990*/                      OPC_CheckType, MVT::i32,
2412
521k
/*  4992*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2413
521k
/*  4994*/                      OPC_EmitInteger, MVT::i32, 8, 
2414
521k
/*  4997*/                      OPC_EmitInteger, MVT::i32, 8, 
2415
521k
/*  5000*/                      OPC_EmitInteger, MVT::i32, 8, 
2416
521k
/*  5003*/                      OPC_EmitInteger, MVT::i1, 0, 
2417
521k
/*  5006*/                      OPC_EmitInteger, MVT::i32, 0, 
2418
521k
/*  5009*/                      OPC_EmitInteger, MVT::i32, 0, 
2419
521k
/*  5012*/                      OPC_EmitInteger, MVT::i32, 0, 
2420
521k
/*  5015*/                      OPC_EmitInteger, MVT::i32, 0, 
2421
521k
/*  5018*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2422
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2423
521k
                                // 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
2424
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2425
521k
/*  5035*/                    0, /*End of Scope*/
2426
521k
/*  5036*/                  0, /*End of Scope*/
2427
521k
/*  5037*/                /*Scope*/ 10|128,3/*394*/, /*->5433*/
2428
521k
/*  5039*/                  OPC_CheckChild0Same, 1,
2429
521k
/*  5041*/                  OPC_MoveParent,
2430
521k
/*  5042*/                  OPC_MoveChild1,
2431
521k
/*  5043*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2432
521k
/*  5046*/                  OPC_CheckChild0Same, 0,
2433
521k
/*  5048*/                  OPC_MoveParent,
2434
521k
/*  5049*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2435
521k
/*  5051*/                  OPC_MoveParent,
2436
521k
/*  5052*/                  OPC_RecordChild1, // #2 = $src2
2437
521k
/*  5053*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2438
521k
/*  5055*/                  OPC_MoveParent,
2439
521k
/*  5056*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2440
521k
/*  5058*/                  OPC_MoveParent,
2441
521k
/*  5059*/                  OPC_MoveChild1,
2442
521k
/*  5060*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2443
521k
/*  5063*/                  OPC_MoveChild0,
2444
521k
/*  5064*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2445
521k
/*  5067*/                  OPC_MoveChild0,
2446
521k
/*  5068*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2447
521k
/*  5071*/                  OPC_Scope, 50|128,1/*178*/, /*->5252*/ // 2 children in Scope
2448
521k
/*  5074*/                    OPC_CheckChild0Same, 0,
2449
521k
/*  5076*/                    OPC_CheckChild1Integer, 16, 
2450
521k
/*  5078*/                    OPC_CheckChild1Type, MVT::i32,
2451
521k
/*  5080*/                    OPC_MoveParent,
2452
521k
/*  5081*/                    OPC_MoveParent,
2453
521k
/*  5082*/                    OPC_MoveChild1,
2454
521k
/*  5083*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2455
521k
/*  5086*/                    OPC_MoveChild0,
2456
521k
/*  5087*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2457
521k
/*  5090*/                    OPC_CheckChild0Same, 1,
2458
521k
/*  5092*/                    OPC_CheckChild1Integer, 16, 
2459
521k
/*  5094*/                    OPC_CheckChild1Type, MVT::i32,
2460
521k
/*  5096*/                    OPC_MoveParent,
2461
521k
/*  5097*/                    OPC_MoveParent,
2462
521k
/*  5098*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2463
521k
/*  5100*/                    OPC_MoveParent,
2464
521k
/*  5101*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2465
521k
/*  5103*/                    OPC_MoveParent,
2466
521k
/*  5104*/                    OPC_MoveChild1,
2467
521k
/*  5105*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2468
521k
/*  5108*/                    OPC_MoveChild0,
2469
521k
/*  5109*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2470
521k
/*  5112*/                    OPC_Scope, 68, /*->5182*/ // 2 children in Scope
2471
521k
/*  5114*/                      OPC_CheckChild0Same, 0,
2472
521k
/*  5116*/                      OPC_CheckChild1Integer, 24, 
2473
521k
/*  5118*/                      OPC_CheckChild1Type, MVT::i32,
2474
521k
/*  5120*/                      OPC_MoveParent,
2475
521k
/*  5121*/                      OPC_MoveChild1,
2476
521k
/*  5122*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2477
521k
/*  5125*/                      OPC_CheckChild0Same, 1,
2478
521k
/*  5127*/                      OPC_CheckChild1Integer, 24, 
2479
521k
/*  5129*/                      OPC_CheckChild1Type, MVT::i32,
2480
521k
/*  5131*/                      OPC_MoveParent,
2481
521k
/*  5132*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2482
521k
/*  5134*/                      OPC_MoveParent,
2483
521k
/*  5135*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2484
521k
/*  5137*/                      OPC_CheckType, MVT::i32,
2485
521k
/*  5139*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2486
521k
/*  5141*/                      OPC_EmitInteger, MVT::i32, 8, 
2487
521k
/*  5144*/                      OPC_EmitInteger, MVT::i32, 8, 
2488
521k
/*  5147*/                      OPC_EmitInteger, MVT::i32, 8, 
2489
521k
/*  5150*/                      OPC_EmitInteger, MVT::i1, 0, 
2490
521k
/*  5153*/                      OPC_EmitInteger, MVT::i32, 0, 
2491
521k
/*  5156*/                      OPC_EmitInteger, MVT::i32, 0, 
2492
521k
/*  5159*/                      OPC_EmitInteger, MVT::i32, 0, 
2493
521k
/*  5162*/                      OPC_EmitInteger, MVT::i32, 0, 
2494
521k
/*  5165*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2495
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2496
521k
                                // 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
2497
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2498
521k
/*  5182*/                    /*Scope*/ 68, /*->5251*/
2499
521k
/*  5183*/                      OPC_CheckChild0Same, 1,
2500
521k
/*  5185*/                      OPC_CheckChild1Integer, 24, 
2501
521k
/*  5187*/                      OPC_CheckChild1Type, MVT::i32,
2502
521k
/*  5189*/                      OPC_MoveParent,
2503
521k
/*  5190*/                      OPC_MoveChild1,
2504
521k
/*  5191*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2505
521k
/*  5194*/                      OPC_CheckChild0Same, 0,
2506
521k
/*  5196*/                      OPC_CheckChild1Integer, 24, 
2507
521k
/*  5198*/                      OPC_CheckChild1Type, MVT::i32,
2508
521k
/*  5200*/                      OPC_MoveParent,
2509
521k
/*  5201*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2510
521k
/*  5203*/                      OPC_MoveParent,
2511
521k
/*  5204*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2512
521k
/*  5206*/                      OPC_CheckType, MVT::i32,
2513
521k
/*  5208*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2514
521k
/*  5210*/                      OPC_EmitInteger, MVT::i32, 8, 
2515
521k
/*  5213*/                      OPC_EmitInteger, MVT::i32, 8, 
2516
521k
/*  5216*/                      OPC_EmitInteger, MVT::i32, 8, 
2517
521k
/*  5219*/                      OPC_EmitInteger, MVT::i1, 0, 
2518
521k
/*  5222*/                      OPC_EmitInteger, MVT::i32, 0, 
2519
521k
/*  5225*/                      OPC_EmitInteger, MVT::i32, 0, 
2520
521k
/*  5228*/                      OPC_EmitInteger, MVT::i32, 0, 
2521
521k
/*  5231*/                      OPC_EmitInteger, MVT::i32, 0, 
2522
521k
/*  5234*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2523
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2524
521k
                                // 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
2525
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2526
521k
/*  5251*/                    0, /*End of Scope*/
2527
521k
/*  5252*/                  /*Scope*/ 50|128,1/*178*/, /*->5432*/
2528
521k
/*  5254*/                    OPC_CheckChild0Same, 1,
2529
521k
/*  5256*/                    OPC_CheckChild1Integer, 16, 
2530
521k
/*  5258*/                    OPC_CheckChild1Type, MVT::i32,
2531
521k
/*  5260*/                    OPC_MoveParent,
2532
521k
/*  5261*/                    OPC_MoveParent,
2533
521k
/*  5262*/                    OPC_MoveChild1,
2534
521k
/*  5263*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2535
521k
/*  5266*/                    OPC_MoveChild0,
2536
521k
/*  5267*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2537
521k
/*  5270*/                    OPC_CheckChild0Same, 0,
2538
521k
/*  5272*/                    OPC_CheckChild1Integer, 16, 
2539
521k
/*  5274*/                    OPC_CheckChild1Type, MVT::i32,
2540
521k
/*  5276*/                    OPC_MoveParent,
2541
521k
/*  5277*/                    OPC_MoveParent,
2542
521k
/*  5278*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2543
521k
/*  5280*/                    OPC_MoveParent,
2544
521k
/*  5281*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2545
521k
/*  5283*/                    OPC_MoveParent,
2546
521k
/*  5284*/                    OPC_MoveChild1,
2547
521k
/*  5285*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2548
521k
/*  5288*/                    OPC_MoveChild0,
2549
521k
/*  5289*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2550
521k
/*  5292*/                    OPC_Scope, 68, /*->5362*/ // 2 children in Scope
2551
521k
/*  5294*/                      OPC_CheckChild0Same, 0,
2552
521k
/*  5296*/                      OPC_CheckChild1Integer, 24, 
2553
521k
/*  5298*/                      OPC_CheckChild1Type, MVT::i32,
2554
521k
/*  5300*/                      OPC_MoveParent,
2555
521k
/*  5301*/                      OPC_MoveChild1,
2556
521k
/*  5302*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2557
521k
/*  5305*/                      OPC_CheckChild0Same, 1,
2558
521k
/*  5307*/                      OPC_CheckChild1Integer, 24, 
2559
521k
/*  5309*/                      OPC_CheckChild1Type, MVT::i32,
2560
521k
/*  5311*/                      OPC_MoveParent,
2561
521k
/*  5312*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2562
521k
/*  5314*/                      OPC_MoveParent,
2563
521k
/*  5315*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2564
521k
/*  5317*/                      OPC_CheckType, MVT::i32,
2565
521k
/*  5319*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2566
521k
/*  5321*/                      OPC_EmitInteger, MVT::i32, 8, 
2567
521k
/*  5324*/                      OPC_EmitInteger, MVT::i32, 8, 
2568
521k
/*  5327*/                      OPC_EmitInteger, MVT::i32, 8, 
2569
521k
/*  5330*/                      OPC_EmitInteger, MVT::i1, 0, 
2570
521k
/*  5333*/                      OPC_EmitInteger, MVT::i32, 0, 
2571
521k
/*  5336*/                      OPC_EmitInteger, MVT::i32, 0, 
2572
521k
/*  5339*/                      OPC_EmitInteger, MVT::i32, 0, 
2573
521k
/*  5342*/                      OPC_EmitInteger, MVT::i32, 0, 
2574
521k
/*  5345*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2575
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2576
521k
                                // 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
2577
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2578
521k
/*  5362*/                    /*Scope*/ 68, /*->5431*/
2579
521k
/*  5363*/                      OPC_CheckChild0Same, 1,
2580
521k
/*  5365*/                      OPC_CheckChild1Integer, 24, 
2581
521k
/*  5367*/                      OPC_CheckChild1Type, MVT::i32,
2582
521k
/*  5369*/                      OPC_MoveParent,
2583
521k
/*  5370*/                      OPC_MoveChild1,
2584
521k
/*  5371*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2585
521k
/*  5374*/                      OPC_CheckChild0Same, 0,
2586
521k
/*  5376*/                      OPC_CheckChild1Integer, 24, 
2587
521k
/*  5378*/                      OPC_CheckChild1Type, MVT::i32,
2588
521k
/*  5380*/                      OPC_MoveParent,
2589
521k
/*  5381*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2590
521k
/*  5383*/                      OPC_MoveParent,
2591
521k
/*  5384*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2592
521k
/*  5386*/                      OPC_CheckType, MVT::i32,
2593
521k
/*  5388*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2594
521k
/*  5390*/                      OPC_EmitInteger, MVT::i32, 8, 
2595
521k
/*  5393*/                      OPC_EmitInteger, MVT::i32, 8, 
2596
521k
/*  5396*/                      OPC_EmitInteger, MVT::i32, 8, 
2597
521k
/*  5399*/                      OPC_EmitInteger, MVT::i1, 0, 
2598
521k
/*  5402*/                      OPC_EmitInteger, MVT::i32, 0, 
2599
521k
/*  5405*/                      OPC_EmitInteger, MVT::i32, 0, 
2600
521k
/*  5408*/                      OPC_EmitInteger, MVT::i32, 0, 
2601
521k
/*  5411*/                      OPC_EmitInteger, MVT::i32, 0, 
2602
521k
/*  5414*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2603
521k
                                    MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
2604
521k
                                // 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
2605
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2606
521k
/*  5431*/                    0, /*End of Scope*/
2607
521k
/*  5432*/                  0, /*End of Scope*/
2608
521k
/*  5433*/                0, /*End of Scope*/
2609
521k
/*  5434*/              /*Scope*/ 33|128,6/*801*/, /*->6237*/
2610
521k
/*  5436*/                OPC_RecordChild0, // #2 = $src2
2611
521k
/*  5437*/                OPC_MoveChild1,
2612
521k
/*  5438*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2613
521k
/*  5441*/                OPC_MoveChild0,
2614
521k
/*  5442*/                OPC_CheckAndImm, 127|128,1/*255*/, 
2615
521k
/*  5445*/                OPC_Scope, 9|128,3/*393*/, /*->5841*/ // 2 children in Scope
2616
521k
/*  5448*/                  OPC_CheckChild0Same, 1,
2617
521k
/*  5450*/                  OPC_MoveParent,
2618
521k
/*  5451*/                  OPC_MoveChild1,
2619
521k
/*  5452*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2620
521k
/*  5455*/                  OPC_CheckChild0Same, 0,
2621
521k
/*  5457*/                  OPC_MoveParent,
2622
521k
/*  5458*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2623
521k
/*  5460*/                  OPC_MoveParent,
2624
521k
/*  5461*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2625
521k
/*  5463*/                  OPC_MoveParent,
2626
521k
/*  5464*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2627
521k
/*  5466*/                  OPC_MoveParent,
2628
521k
/*  5467*/                  OPC_MoveChild1,
2629
521k
/*  5468*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2630
521k
/*  5471*/                  OPC_MoveChild0,
2631
521k
/*  5472*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2632
521k
/*  5475*/                  OPC_MoveChild0,
2633
521k
/*  5476*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2634
521k
/*  5479*/                  OPC_Scope, 50|128,1/*178*/, /*->5660*/ // 2 children in Scope
2635
521k
/*  5482*/                    OPC_CheckChild0Same, 1,
2636
521k
/*  5484*/                    OPC_CheckChild1Integer, 16, 
2637
521k
/*  5486*/                    OPC_CheckChild1Type, MVT::i32,
2638
521k
/*  5488*/                    OPC_MoveParent,
2639
521k
/*  5489*/                    OPC_MoveParent,
2640
521k
/*  5490*/                    OPC_MoveChild1,
2641
521k
/*  5491*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2642
521k
/*  5494*/                    OPC_MoveChild0,
2643
521k
/*  5495*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2644
521k
/*  5498*/                    OPC_CheckChild0Same, 0,
2645
521k
/*  5500*/                    OPC_CheckChild1Integer, 16, 
2646
521k
/*  5502*/                    OPC_CheckChild1Type, MVT::i32,
2647
521k
/*  5504*/                    OPC_MoveParent,
2648
521k
/*  5505*/                    OPC_MoveParent,
2649
521k
/*  5506*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2650
521k
/*  5508*/                    OPC_MoveParent,
2651
521k
/*  5509*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2652
521k
/*  5511*/                    OPC_MoveParent,
2653
521k
/*  5512*/                    OPC_MoveChild1,
2654
521k
/*  5513*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2655
521k
/*  5516*/                    OPC_MoveChild0,
2656
521k
/*  5517*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2657
521k
/*  5520*/                    OPC_Scope, 68, /*->5590*/ // 2 children in Scope
2658
521k
/*  5522*/                      OPC_CheckChild0Same, 1,
2659
521k
/*  5524*/                      OPC_CheckChild1Integer, 24, 
2660
521k
/*  5526*/                      OPC_CheckChild1Type, MVT::i32,
2661
521k
/*  5528*/                      OPC_MoveParent,
2662
521k
/*  5529*/                      OPC_MoveChild1,
2663
521k
/*  5530*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2664
521k
/*  5533*/                      OPC_CheckChild0Same, 0,
2665
521k
/*  5535*/                      OPC_CheckChild1Integer, 24, 
2666
521k
/*  5537*/                      OPC_CheckChild1Type, MVT::i32,
2667
521k
/*  5539*/                      OPC_MoveParent,
2668
521k
/*  5540*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2669
521k
/*  5542*/                      OPC_MoveParent,
2670
521k
/*  5543*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2671
521k
/*  5545*/                      OPC_CheckType, MVT::i32,
2672
521k
/*  5547*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2673
521k
/*  5549*/                      OPC_EmitInteger, MVT::i32, 8, 
2674
521k
/*  5552*/                      OPC_EmitInteger, MVT::i32, 8, 
2675
521k
/*  5555*/                      OPC_EmitInteger, MVT::i32, 8, 
2676
521k
/*  5558*/                      OPC_EmitInteger, MVT::i1, 0, 
2677
521k
/*  5561*/                      OPC_EmitInteger, MVT::i32, 0, 
2678
521k
/*  5564*/                      OPC_EmitInteger, MVT::i32, 0, 
2679
521k
/*  5567*/                      OPC_EmitInteger, MVT::i32, 0, 
2680
521k
/*  5570*/                      OPC_EmitInteger, MVT::i32, 0, 
2681
521k
/*  5573*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2682
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2683
521k
                                // 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
2684
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2685
521k
/*  5590*/                    /*Scope*/ 68, /*->5659*/
2686
521k
/*  5591*/                      OPC_CheckChild0Same, 0,
2687
521k
/*  5593*/                      OPC_CheckChild1Integer, 24, 
2688
521k
/*  5595*/                      OPC_CheckChild1Type, MVT::i32,
2689
521k
/*  5597*/                      OPC_MoveParent,
2690
521k
/*  5598*/                      OPC_MoveChild1,
2691
521k
/*  5599*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2692
521k
/*  5602*/                      OPC_CheckChild0Same, 1,
2693
521k
/*  5604*/                      OPC_CheckChild1Integer, 24, 
2694
521k
/*  5606*/                      OPC_CheckChild1Type, MVT::i32,
2695
521k
/*  5608*/                      OPC_MoveParent,
2696
521k
/*  5609*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2697
521k
/*  5611*/                      OPC_MoveParent,
2698
521k
/*  5612*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2699
521k
/*  5614*/                      OPC_CheckType, MVT::i32,
2700
521k
/*  5616*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2701
521k
/*  5618*/                      OPC_EmitInteger, MVT::i32, 8, 
2702
521k
/*  5621*/                      OPC_EmitInteger, MVT::i32, 8, 
2703
521k
/*  5624*/                      OPC_EmitInteger, MVT::i32, 8, 
2704
521k
/*  5627*/                      OPC_EmitInteger, MVT::i1, 0, 
2705
521k
/*  5630*/                      OPC_EmitInteger, MVT::i32, 0, 
2706
521k
/*  5633*/                      OPC_EmitInteger, MVT::i32, 0, 
2707
521k
/*  5636*/                      OPC_EmitInteger, MVT::i32, 0, 
2708
521k
/*  5639*/                      OPC_EmitInteger, MVT::i32, 0, 
2709
521k
/*  5642*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2710
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2711
521k
                                // 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
2712
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2713
521k
/*  5659*/                    0, /*End of Scope*/
2714
521k
/*  5660*/                  /*Scope*/ 50|128,1/*178*/, /*->5840*/
2715
521k
/*  5662*/                    OPC_CheckChild0Same, 0,
2716
521k
/*  5664*/                    OPC_CheckChild1Integer, 16, 
2717
521k
/*  5666*/                    OPC_CheckChild1Type, MVT::i32,
2718
521k
/*  5668*/                    OPC_MoveParent,
2719
521k
/*  5669*/                    OPC_MoveParent,
2720
521k
/*  5670*/                    OPC_MoveChild1,
2721
521k
/*  5671*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2722
521k
/*  5674*/                    OPC_MoveChild0,
2723
521k
/*  5675*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2724
521k
/*  5678*/                    OPC_CheckChild0Same, 1,
2725
521k
/*  5680*/                    OPC_CheckChild1Integer, 16, 
2726
521k
/*  5682*/                    OPC_CheckChild1Type, MVT::i32,
2727
521k
/*  5684*/                    OPC_MoveParent,
2728
521k
/*  5685*/                    OPC_MoveParent,
2729
521k
/*  5686*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2730
521k
/*  5688*/                    OPC_MoveParent,
2731
521k
/*  5689*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2732
521k
/*  5691*/                    OPC_MoveParent,
2733
521k
/*  5692*/                    OPC_MoveChild1,
2734
521k
/*  5693*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2735
521k
/*  5696*/                    OPC_MoveChild0,
2736
521k
/*  5697*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2737
521k
/*  5700*/                    OPC_Scope, 68, /*->5770*/ // 2 children in Scope
2738
521k
/*  5702*/                      OPC_CheckChild0Same, 1,
2739
521k
/*  5704*/                      OPC_CheckChild1Integer, 24, 
2740
521k
/*  5706*/                      OPC_CheckChild1Type, MVT::i32,
2741
521k
/*  5708*/                      OPC_MoveParent,
2742
521k
/*  5709*/                      OPC_MoveChild1,
2743
521k
/*  5710*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2744
521k
/*  5713*/                      OPC_CheckChild0Same, 0,
2745
521k
/*  5715*/                      OPC_CheckChild1Integer, 24, 
2746
521k
/*  5717*/                      OPC_CheckChild1Type, MVT::i32,
2747
521k
/*  5719*/                      OPC_MoveParent,
2748
521k
/*  5720*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2749
521k
/*  5722*/                      OPC_MoveParent,
2750
521k
/*  5723*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2751
521k
/*  5725*/                      OPC_CheckType, MVT::i32,
2752
521k
/*  5727*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2753
521k
/*  5729*/                      OPC_EmitInteger, MVT::i32, 8, 
2754
521k
/*  5732*/                      OPC_EmitInteger, MVT::i32, 8, 
2755
521k
/*  5735*/                      OPC_EmitInteger, MVT::i32, 8, 
2756
521k
/*  5738*/                      OPC_EmitInteger, MVT::i1, 0, 
2757
521k
/*  5741*/                      OPC_EmitInteger, MVT::i32, 0, 
2758
521k
/*  5744*/                      OPC_EmitInteger, MVT::i32, 0, 
2759
521k
/*  5747*/                      OPC_EmitInteger, MVT::i32, 0, 
2760
521k
/*  5750*/                      OPC_EmitInteger, MVT::i32, 0, 
2761
521k
/*  5753*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2762
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2763
521k
                                // 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
2764
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2765
521k
/*  5770*/                    /*Scope*/ 68, /*->5839*/
2766
521k
/*  5771*/                      OPC_CheckChild0Same, 0,
2767
521k
/*  5773*/                      OPC_CheckChild1Integer, 24, 
2768
521k
/*  5775*/                      OPC_CheckChild1Type, MVT::i32,
2769
521k
/*  5777*/                      OPC_MoveParent,
2770
521k
/*  5778*/                      OPC_MoveChild1,
2771
521k
/*  5779*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2772
521k
/*  5782*/                      OPC_CheckChild0Same, 1,
2773
521k
/*  5784*/                      OPC_CheckChild1Integer, 24, 
2774
521k
/*  5786*/                      OPC_CheckChild1Type, MVT::i32,
2775
521k
/*  5788*/                      OPC_MoveParent,
2776
521k
/*  5789*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2777
521k
/*  5791*/                      OPC_MoveParent,
2778
521k
/*  5792*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2779
521k
/*  5794*/                      OPC_CheckType, MVT::i32,
2780
521k
/*  5796*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2781
521k
/*  5798*/                      OPC_EmitInteger, MVT::i32, 8, 
2782
521k
/*  5801*/                      OPC_EmitInteger, MVT::i32, 8, 
2783
521k
/*  5804*/                      OPC_EmitInteger, MVT::i32, 8, 
2784
521k
/*  5807*/                      OPC_EmitInteger, MVT::i1, 0, 
2785
521k
/*  5810*/                      OPC_EmitInteger, MVT::i32, 0, 
2786
521k
/*  5813*/                      OPC_EmitInteger, MVT::i32, 0, 
2787
521k
/*  5816*/                      OPC_EmitInteger, MVT::i32, 0, 
2788
521k
/*  5819*/                      OPC_EmitInteger, MVT::i32, 0, 
2789
521k
/*  5822*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2790
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2791
521k
                                // 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
2792
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2793
521k
/*  5839*/                    0, /*End of Scope*/
2794
521k
/*  5840*/                  0, /*End of Scope*/
2795
521k
/*  5841*/                /*Scope*/ 9|128,3/*393*/, /*->6236*/
2796
521k
/*  5843*/                  OPC_CheckChild0Same, 0,
2797
521k
/*  5845*/                  OPC_MoveParent,
2798
521k
/*  5846*/                  OPC_MoveChild1,
2799
521k
/*  5847*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2800
521k
/*  5850*/                  OPC_CheckChild0Same, 1,
2801
521k
/*  5852*/                  OPC_MoveParent,
2802
521k
/*  5853*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2803
521k
/*  5855*/                  OPC_MoveParent,
2804
521k
/*  5856*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2805
521k
/*  5858*/                  OPC_MoveParent,
2806
521k
/*  5859*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2807
521k
/*  5861*/                  OPC_MoveParent,
2808
521k
/*  5862*/                  OPC_MoveChild1,
2809
521k
/*  5863*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2810
521k
/*  5866*/                  OPC_MoveChild0,
2811
521k
/*  5867*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2812
521k
/*  5870*/                  OPC_MoveChild0,
2813
521k
/*  5871*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2814
521k
/*  5874*/                  OPC_Scope, 50|128,1/*178*/, /*->6055*/ // 2 children in Scope
2815
521k
/*  5877*/                    OPC_CheckChild0Same, 1,
2816
521k
/*  5879*/                    OPC_CheckChild1Integer, 16, 
2817
521k
/*  5881*/                    OPC_CheckChild1Type, MVT::i32,
2818
521k
/*  5883*/                    OPC_MoveParent,
2819
521k
/*  5884*/                    OPC_MoveParent,
2820
521k
/*  5885*/                    OPC_MoveChild1,
2821
521k
/*  5886*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2822
521k
/*  5889*/                    OPC_MoveChild0,
2823
521k
/*  5890*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2824
521k
/*  5893*/                    OPC_CheckChild0Same, 0,
2825
521k
/*  5895*/                    OPC_CheckChild1Integer, 16, 
2826
521k
/*  5897*/                    OPC_CheckChild1Type, MVT::i32,
2827
521k
/*  5899*/                    OPC_MoveParent,
2828
521k
/*  5900*/                    OPC_MoveParent,
2829
521k
/*  5901*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2830
521k
/*  5903*/                    OPC_MoveParent,
2831
521k
/*  5904*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2832
521k
/*  5906*/                    OPC_MoveParent,
2833
521k
/*  5907*/                    OPC_MoveChild1,
2834
521k
/*  5908*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2835
521k
/*  5911*/                    OPC_MoveChild0,
2836
521k
/*  5912*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2837
521k
/*  5915*/                    OPC_Scope, 68, /*->5985*/ // 2 children in Scope
2838
521k
/*  5917*/                      OPC_CheckChild0Same, 1,
2839
521k
/*  5919*/                      OPC_CheckChild1Integer, 24, 
2840
521k
/*  5921*/                      OPC_CheckChild1Type, MVT::i32,
2841
521k
/*  5923*/                      OPC_MoveParent,
2842
521k
/*  5924*/                      OPC_MoveChild1,
2843
521k
/*  5925*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2844
521k
/*  5928*/                      OPC_CheckChild0Same, 0,
2845
521k
/*  5930*/                      OPC_CheckChild1Integer, 24, 
2846
521k
/*  5932*/                      OPC_CheckChild1Type, MVT::i32,
2847
521k
/*  5934*/                      OPC_MoveParent,
2848
521k
/*  5935*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2849
521k
/*  5937*/                      OPC_MoveParent,
2850
521k
/*  5938*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2851
521k
/*  5940*/                      OPC_CheckType, MVT::i32,
2852
521k
/*  5942*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2853
521k
/*  5944*/                      OPC_EmitInteger, MVT::i32, 8, 
2854
521k
/*  5947*/                      OPC_EmitInteger, MVT::i32, 8, 
2855
521k
/*  5950*/                      OPC_EmitInteger, MVT::i32, 8, 
2856
521k
/*  5953*/                      OPC_EmitInteger, MVT::i1, 0, 
2857
521k
/*  5956*/                      OPC_EmitInteger, MVT::i32, 0, 
2858
521k
/*  5959*/                      OPC_EmitInteger, MVT::i32, 0, 
2859
521k
/*  5962*/                      OPC_EmitInteger, MVT::i32, 0, 
2860
521k
/*  5965*/                      OPC_EmitInteger, MVT::i32, 0, 
2861
521k
/*  5968*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2862
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2863
521k
                                // 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
2864
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2865
521k
/*  5985*/                    /*Scope*/ 68, /*->6054*/
2866
521k
/*  5986*/                      OPC_CheckChild0Same, 0,
2867
521k
/*  5988*/                      OPC_CheckChild1Integer, 24, 
2868
521k
/*  5990*/                      OPC_CheckChild1Type, MVT::i32,
2869
521k
/*  5992*/                      OPC_MoveParent,
2870
521k
/*  5993*/                      OPC_MoveChild1,
2871
521k
/*  5994*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2872
521k
/*  5997*/                      OPC_CheckChild0Same, 1,
2873
521k
/*  5999*/                      OPC_CheckChild1Integer, 24, 
2874
521k
/*  6001*/                      OPC_CheckChild1Type, MVT::i32,
2875
521k
/*  6003*/                      OPC_MoveParent,
2876
521k
/*  6004*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2877
521k
/*  6006*/                      OPC_MoveParent,
2878
521k
/*  6007*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2879
521k
/*  6009*/                      OPC_CheckType, MVT::i32,
2880
521k
/*  6011*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2881
521k
/*  6013*/                      OPC_EmitInteger, MVT::i32, 8, 
2882
521k
/*  6016*/                      OPC_EmitInteger, MVT::i32, 8, 
2883
521k
/*  6019*/                      OPC_EmitInteger, MVT::i32, 8, 
2884
521k
/*  6022*/                      OPC_EmitInteger, MVT::i1, 0, 
2885
521k
/*  6025*/                      OPC_EmitInteger, MVT::i32, 0, 
2886
521k
/*  6028*/                      OPC_EmitInteger, MVT::i32, 0, 
2887
521k
/*  6031*/                      OPC_EmitInteger, MVT::i32, 0, 
2888
521k
/*  6034*/                      OPC_EmitInteger, MVT::i32, 0, 
2889
521k
/*  6037*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2890
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2891
521k
                                // 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
2892
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2893
521k
/*  6054*/                    0, /*End of Scope*/
2894
521k
/*  6055*/                  /*Scope*/ 50|128,1/*178*/, /*->6235*/
2895
521k
/*  6057*/                    OPC_CheckChild0Same, 0,
2896
521k
/*  6059*/                    OPC_CheckChild1Integer, 16, 
2897
521k
/*  6061*/                    OPC_CheckChild1Type, MVT::i32,
2898
521k
/*  6063*/                    OPC_MoveParent,
2899
521k
/*  6064*/                    OPC_MoveParent,
2900
521k
/*  6065*/                    OPC_MoveChild1,
2901
521k
/*  6066*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
2902
521k
/*  6069*/                    OPC_MoveChild0,
2903
521k
/*  6070*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2904
521k
/*  6073*/                    OPC_CheckChild0Same, 1,
2905
521k
/*  6075*/                    OPC_CheckChild1Integer, 16, 
2906
521k
/*  6077*/                    OPC_CheckChild1Type, MVT::i32,
2907
521k
/*  6079*/                    OPC_MoveParent,
2908
521k
/*  6080*/                    OPC_MoveParent,
2909
521k
/*  6081*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2910
521k
/*  6083*/                    OPC_MoveParent,
2911
521k
/*  6084*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
2912
521k
/*  6086*/                    OPC_MoveParent,
2913
521k
/*  6087*/                    OPC_MoveChild1,
2914
521k
/*  6088*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2915
521k
/*  6091*/                    OPC_MoveChild0,
2916
521k
/*  6092*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2917
521k
/*  6095*/                    OPC_Scope, 68, /*->6165*/ // 2 children in Scope
2918
521k
/*  6097*/                      OPC_CheckChild0Same, 1,
2919
521k
/*  6099*/                      OPC_CheckChild1Integer, 24, 
2920
521k
/*  6101*/                      OPC_CheckChild1Type, MVT::i32,
2921
521k
/*  6103*/                      OPC_MoveParent,
2922
521k
/*  6104*/                      OPC_MoveChild1,
2923
521k
/*  6105*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2924
521k
/*  6108*/                      OPC_CheckChild0Same, 0,
2925
521k
/*  6110*/                      OPC_CheckChild1Integer, 24, 
2926
521k
/*  6112*/                      OPC_CheckChild1Type, MVT::i32,
2927
521k
/*  6114*/                      OPC_MoveParent,
2928
521k
/*  6115*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2929
521k
/*  6117*/                      OPC_MoveParent,
2930
521k
/*  6118*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2931
521k
/*  6120*/                      OPC_CheckType, MVT::i32,
2932
521k
/*  6122*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2933
521k
/*  6124*/                      OPC_EmitInteger, MVT::i32, 8, 
2934
521k
/*  6127*/                      OPC_EmitInteger, MVT::i32, 8, 
2935
521k
/*  6130*/                      OPC_EmitInteger, MVT::i32, 8, 
2936
521k
/*  6133*/                      OPC_EmitInteger, MVT::i1, 0, 
2937
521k
/*  6136*/                      OPC_EmitInteger, MVT::i32, 0, 
2938
521k
/*  6139*/                      OPC_EmitInteger, MVT::i32, 0, 
2939
521k
/*  6142*/                      OPC_EmitInteger, MVT::i32, 0, 
2940
521k
/*  6145*/                      OPC_EmitInteger, MVT::i32, 0, 
2941
521k
/*  6148*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2942
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2943
521k
                                // 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
2944
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2945
521k
/*  6165*/                    /*Scope*/ 68, /*->6234*/
2946
521k
/*  6166*/                      OPC_CheckChild0Same, 0,
2947
521k
/*  6168*/                      OPC_CheckChild1Integer, 24, 
2948
521k
/*  6170*/                      OPC_CheckChild1Type, MVT::i32,
2949
521k
/*  6172*/                      OPC_MoveParent,
2950
521k
/*  6173*/                      OPC_MoveChild1,
2951
521k
/*  6174*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
2952
521k
/*  6177*/                      OPC_CheckChild0Same, 1,
2953
521k
/*  6179*/                      OPC_CheckChild1Integer, 24, 
2954
521k
/*  6181*/                      OPC_CheckChild1Type, MVT::i32,
2955
521k
/*  6183*/                      OPC_MoveParent,
2956
521k
/*  6184*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2957
521k
/*  6186*/                      OPC_MoveParent,
2958
521k
/*  6187*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
2959
521k
/*  6189*/                      OPC_CheckType, MVT::i32,
2960
521k
/*  6191*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
2961
521k
/*  6193*/                      OPC_EmitInteger, MVT::i32, 8, 
2962
521k
/*  6196*/                      OPC_EmitInteger, MVT::i32, 8, 
2963
521k
/*  6199*/                      OPC_EmitInteger, MVT::i32, 8, 
2964
521k
/*  6202*/                      OPC_EmitInteger, MVT::i1, 0, 
2965
521k
/*  6205*/                      OPC_EmitInteger, MVT::i32, 0, 
2966
521k
/*  6208*/                      OPC_EmitInteger, MVT::i32, 0, 
2967
521k
/*  6211*/                      OPC_EmitInteger, MVT::i32, 0, 
2968
521k
/*  6214*/                      OPC_EmitInteger, MVT::i32, 0, 
2969
521k
/*  6217*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
2970
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
2971
521k
                                // 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
2972
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
2973
521k
/*  6234*/                    0, /*End of Scope*/
2974
521k
/*  6235*/                  0, /*End of Scope*/
2975
521k
/*  6236*/                0, /*End of Scope*/
2976
521k
/*  6237*/              /*Scope*/ 34|128,6/*802*/, /*->7041*/
2977
521k
/*  6239*/                OPC_MoveChild0,
2978
521k
/*  6240*/                OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2979
521k
/*  6243*/                OPC_MoveChild0,
2980
521k
/*  6244*/                OPC_CheckAndImm, 127|128,1/*255*/, 
2981
521k
/*  6247*/                OPC_Scope, 10|128,3/*394*/, /*->6644*/ // 2 children in Scope
2982
521k
/*  6250*/                  OPC_CheckChild0Same, 1,
2983
521k
/*  6252*/                  OPC_MoveParent,
2984
521k
/*  6253*/                  OPC_MoveChild1,
2985
521k
/*  6254*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2986
521k
/*  6257*/                  OPC_CheckChild0Same, 0,
2987
521k
/*  6259*/                  OPC_MoveParent,
2988
521k
/*  6260*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
2989
521k
/*  6262*/                  OPC_MoveParent,
2990
521k
/*  6263*/                  OPC_RecordChild1, // #2 = $src2
2991
521k
/*  6264*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2992
521k
/*  6266*/                  OPC_MoveParent,
2993
521k
/*  6267*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
2994
521k
/*  6269*/                  OPC_MoveParent,
2995
521k
/*  6270*/                  OPC_MoveChild1,
2996
521k
/*  6271*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
2997
521k
/*  6274*/                  OPC_MoveChild0,
2998
521k
/*  6275*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
2999
521k
/*  6278*/                  OPC_MoveChild0,
3000
521k
/*  6279*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3001
521k
/*  6282*/                  OPC_Scope, 50|128,1/*178*/, /*->6463*/ // 2 children in Scope
3002
521k
/*  6285*/                    OPC_CheckChild0Same, 1,
3003
521k
/*  6287*/                    OPC_CheckChild1Integer, 16, 
3004
521k
/*  6289*/                    OPC_CheckChild1Type, MVT::i32,
3005
521k
/*  6291*/                    OPC_MoveParent,
3006
521k
/*  6292*/                    OPC_MoveParent,
3007
521k
/*  6293*/                    OPC_MoveChild1,
3008
521k
/*  6294*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3009
521k
/*  6297*/                    OPC_MoveChild0,
3010
521k
/*  6298*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3011
521k
/*  6301*/                    OPC_CheckChild0Same, 0,
3012
521k
/*  6303*/                    OPC_CheckChild1Integer, 16, 
3013
521k
/*  6305*/                    OPC_CheckChild1Type, MVT::i32,
3014
521k
/*  6307*/                    OPC_MoveParent,
3015
521k
/*  6308*/                    OPC_MoveParent,
3016
521k
/*  6309*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3017
521k
/*  6311*/                    OPC_MoveParent,
3018
521k
/*  6312*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3019
521k
/*  6314*/                    OPC_MoveParent,
3020
521k
/*  6315*/                    OPC_MoveChild1,
3021
521k
/*  6316*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3022
521k
/*  6319*/                    OPC_MoveChild0,
3023
521k
/*  6320*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3024
521k
/*  6323*/                    OPC_Scope, 68, /*->6393*/ // 2 children in Scope
3025
521k
/*  6325*/                      OPC_CheckChild0Same, 1,
3026
521k
/*  6327*/                      OPC_CheckChild1Integer, 24, 
3027
521k
/*  6329*/                      OPC_CheckChild1Type, MVT::i32,
3028
521k
/*  6331*/                      OPC_MoveParent,
3029
521k
/*  6332*/                      OPC_MoveChild1,
3030
521k
/*  6333*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3031
521k
/*  6336*/                      OPC_CheckChild0Same, 0,
3032
521k
/*  6338*/                      OPC_CheckChild1Integer, 24, 
3033
521k
/*  6340*/                      OPC_CheckChild1Type, MVT::i32,
3034
521k
/*  6342*/                      OPC_MoveParent,
3035
521k
/*  6343*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3036
521k
/*  6345*/                      OPC_MoveParent,
3037
521k
/*  6346*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3038
521k
/*  6348*/                      OPC_CheckType, MVT::i32,
3039
521k
/*  6350*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3040
521k
/*  6352*/                      OPC_EmitInteger, MVT::i32, 8, 
3041
521k
/*  6355*/                      OPC_EmitInteger, MVT::i32, 8, 
3042
521k
/*  6358*/                      OPC_EmitInteger, MVT::i32, 8, 
3043
521k
/*  6361*/                      OPC_EmitInteger, MVT::i1, 0, 
3044
521k
/*  6364*/                      OPC_EmitInteger, MVT::i32, 0, 
3045
521k
/*  6367*/                      OPC_EmitInteger, MVT::i32, 0, 
3046
521k
/*  6370*/                      OPC_EmitInteger, MVT::i32, 0, 
3047
521k
/*  6373*/                      OPC_EmitInteger, MVT::i32, 0, 
3048
521k
/*  6376*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3049
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3050
521k
                                // 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
3051
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3052
521k
/*  6393*/                    /*Scope*/ 68, /*->6462*/
3053
521k
/*  6394*/                      OPC_CheckChild0Same, 0,
3054
521k
/*  6396*/                      OPC_CheckChild1Integer, 24, 
3055
521k
/*  6398*/                      OPC_CheckChild1Type, MVT::i32,
3056
521k
/*  6400*/                      OPC_MoveParent,
3057
521k
/*  6401*/                      OPC_MoveChild1,
3058
521k
/*  6402*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3059
521k
/*  6405*/                      OPC_CheckChild0Same, 1,
3060
521k
/*  6407*/                      OPC_CheckChild1Integer, 24, 
3061
521k
/*  6409*/                      OPC_CheckChild1Type, MVT::i32,
3062
521k
/*  6411*/                      OPC_MoveParent,
3063
521k
/*  6412*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3064
521k
/*  6414*/                      OPC_MoveParent,
3065
521k
/*  6415*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3066
521k
/*  6417*/                      OPC_CheckType, MVT::i32,
3067
521k
/*  6419*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3068
521k
/*  6421*/                      OPC_EmitInteger, MVT::i32, 8, 
3069
521k
/*  6424*/                      OPC_EmitInteger, MVT::i32, 8, 
3070
521k
/*  6427*/                      OPC_EmitInteger, MVT::i32, 8, 
3071
521k
/*  6430*/                      OPC_EmitInteger, MVT::i1, 0, 
3072
521k
/*  6433*/                      OPC_EmitInteger, MVT::i32, 0, 
3073
521k
/*  6436*/                      OPC_EmitInteger, MVT::i32, 0, 
3074
521k
/*  6439*/                      OPC_EmitInteger, MVT::i32, 0, 
3075
521k
/*  6442*/                      OPC_EmitInteger, MVT::i32, 0, 
3076
521k
/*  6445*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3077
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3078
521k
                                // 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
3079
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3080
521k
/*  6462*/                    0, /*End of Scope*/
3081
521k
/*  6463*/                  /*Scope*/ 50|128,1/*178*/, /*->6643*/
3082
521k
/*  6465*/                    OPC_CheckChild0Same, 0,
3083
521k
/*  6467*/                    OPC_CheckChild1Integer, 16, 
3084
521k
/*  6469*/                    OPC_CheckChild1Type, MVT::i32,
3085
521k
/*  6471*/                    OPC_MoveParent,
3086
521k
/*  6472*/                    OPC_MoveParent,
3087
521k
/*  6473*/                    OPC_MoveChild1,
3088
521k
/*  6474*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3089
521k
/*  6477*/                    OPC_MoveChild0,
3090
521k
/*  6478*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3091
521k
/*  6481*/                    OPC_CheckChild0Same, 1,
3092
521k
/*  6483*/                    OPC_CheckChild1Integer, 16, 
3093
521k
/*  6485*/                    OPC_CheckChild1Type, MVT::i32,
3094
521k
/*  6487*/                    OPC_MoveParent,
3095
521k
/*  6488*/                    OPC_MoveParent,
3096
521k
/*  6489*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3097
521k
/*  6491*/                    OPC_MoveParent,
3098
521k
/*  6492*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3099
521k
/*  6494*/                    OPC_MoveParent,
3100
521k
/*  6495*/                    OPC_MoveChild1,
3101
521k
/*  6496*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3102
521k
/*  6499*/                    OPC_MoveChild0,
3103
521k
/*  6500*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3104
521k
/*  6503*/                    OPC_Scope, 68, /*->6573*/ // 2 children in Scope
3105
521k
/*  6505*/                      OPC_CheckChild0Same, 1,
3106
521k
/*  6507*/                      OPC_CheckChild1Integer, 24, 
3107
521k
/*  6509*/                      OPC_CheckChild1Type, MVT::i32,
3108
521k
/*  6511*/                      OPC_MoveParent,
3109
521k
/*  6512*/                      OPC_MoveChild1,
3110
521k
/*  6513*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3111
521k
/*  6516*/                      OPC_CheckChild0Same, 0,
3112
521k
/*  6518*/                      OPC_CheckChild1Integer, 24, 
3113
521k
/*  6520*/                      OPC_CheckChild1Type, MVT::i32,
3114
521k
/*  6522*/                      OPC_MoveParent,
3115
521k
/*  6523*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3116
521k
/*  6525*/                      OPC_MoveParent,
3117
521k
/*  6526*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3118
521k
/*  6528*/                      OPC_CheckType, MVT::i32,
3119
521k
/*  6530*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3120
521k
/*  6532*/                      OPC_EmitInteger, MVT::i32, 8, 
3121
521k
/*  6535*/                      OPC_EmitInteger, MVT::i32, 8, 
3122
521k
/*  6538*/                      OPC_EmitInteger, MVT::i32, 8, 
3123
521k
/*  6541*/                      OPC_EmitInteger, MVT::i1, 0, 
3124
521k
/*  6544*/                      OPC_EmitInteger, MVT::i32, 0, 
3125
521k
/*  6547*/                      OPC_EmitInteger, MVT::i32, 0, 
3126
521k
/*  6550*/                      OPC_EmitInteger, MVT::i32, 0, 
3127
521k
/*  6553*/                      OPC_EmitInteger, MVT::i32, 0, 
3128
521k
/*  6556*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3129
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3130
521k
                                // 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
3131
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3132
521k
/*  6573*/                    /*Scope*/ 68, /*->6642*/
3133
521k
/*  6574*/                      OPC_CheckChild0Same, 0,
3134
521k
/*  6576*/                      OPC_CheckChild1Integer, 24, 
3135
521k
/*  6578*/                      OPC_CheckChild1Type, MVT::i32,
3136
521k
/*  6580*/                      OPC_MoveParent,
3137
521k
/*  6581*/                      OPC_MoveChild1,
3138
521k
/*  6582*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3139
521k
/*  6585*/                      OPC_CheckChild0Same, 1,
3140
521k
/*  6587*/                      OPC_CheckChild1Integer, 24, 
3141
521k
/*  6589*/                      OPC_CheckChild1Type, MVT::i32,
3142
521k
/*  6591*/                      OPC_MoveParent,
3143
521k
/*  6592*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3144
521k
/*  6594*/                      OPC_MoveParent,
3145
521k
/*  6595*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3146
521k
/*  6597*/                      OPC_CheckType, MVT::i32,
3147
521k
/*  6599*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3148
521k
/*  6601*/                      OPC_EmitInteger, MVT::i32, 8, 
3149
521k
/*  6604*/                      OPC_EmitInteger, MVT::i32, 8, 
3150
521k
/*  6607*/                      OPC_EmitInteger, MVT::i32, 8, 
3151
521k
/*  6610*/                      OPC_EmitInteger, MVT::i1, 0, 
3152
521k
/*  6613*/                      OPC_EmitInteger, MVT::i32, 0, 
3153
521k
/*  6616*/                      OPC_EmitInteger, MVT::i32, 0, 
3154
521k
/*  6619*/                      OPC_EmitInteger, MVT::i32, 0, 
3155
521k
/*  6622*/                      OPC_EmitInteger, MVT::i32, 0, 
3156
521k
/*  6625*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3157
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3158
521k
                                // 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
3159
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3160
521k
/*  6642*/                    0, /*End of Scope*/
3161
521k
/*  6643*/                  0, /*End of Scope*/
3162
521k
/*  6644*/                /*Scope*/ 10|128,3/*394*/, /*->7040*/
3163
521k
/*  6646*/                  OPC_CheckChild0Same, 0,
3164
521k
/*  6648*/                  OPC_MoveParent,
3165
521k
/*  6649*/                  OPC_MoveChild1,
3166
521k
/*  6650*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
3167
521k
/*  6653*/                  OPC_CheckChild0Same, 1,
3168
521k
/*  6655*/                  OPC_MoveParent,
3169
521k
/*  6656*/                  OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3170
521k
/*  6658*/                  OPC_MoveParent,
3171
521k
/*  6659*/                  OPC_RecordChild1, // #2 = $src2
3172
521k
/*  6660*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
3173
521k
/*  6662*/                  OPC_MoveParent,
3174
521k
/*  6663*/                  OPC_CheckPredicate, 0, // Predicate_add_oneuse
3175
521k
/*  6665*/                  OPC_MoveParent,
3176
521k
/*  6666*/                  OPC_MoveChild1,
3177
521k
/*  6667*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3178
521k
/*  6670*/                  OPC_MoveChild0,
3179
521k
/*  6671*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
3180
521k
/*  6674*/                  OPC_MoveChild0,
3181
521k
/*  6675*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3182
521k
/*  6678*/                  OPC_Scope, 50|128,1/*178*/, /*->6859*/ // 2 children in Scope
3183
521k
/*  6681*/                    OPC_CheckChild0Same, 1,
3184
521k
/*  6683*/                    OPC_CheckChild1Integer, 16, 
3185
521k
/*  6685*/                    OPC_CheckChild1Type, MVT::i32,
3186
521k
/*  6687*/                    OPC_MoveParent,
3187
521k
/*  6688*/                    OPC_MoveParent,
3188
521k
/*  6689*/                    OPC_MoveChild1,
3189
521k
/*  6690*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3190
521k
/*  6693*/                    OPC_MoveChild0,
3191
521k
/*  6694*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3192
521k
/*  6697*/                    OPC_CheckChild0Same, 0,
3193
521k
/*  6699*/                    OPC_CheckChild1Integer, 16, 
3194
521k
/*  6701*/                    OPC_CheckChild1Type, MVT::i32,
3195
521k
/*  6703*/                    OPC_MoveParent,
3196
521k
/*  6704*/                    OPC_MoveParent,
3197
521k
/*  6705*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3198
521k
/*  6707*/                    OPC_MoveParent,
3199
521k
/*  6708*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3200
521k
/*  6710*/                    OPC_MoveParent,
3201
521k
/*  6711*/                    OPC_MoveChild1,
3202
521k
/*  6712*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3203
521k
/*  6715*/                    OPC_MoveChild0,
3204
521k
/*  6716*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3205
521k
/*  6719*/                    OPC_Scope, 68, /*->6789*/ // 2 children in Scope
3206
521k
/*  6721*/                      OPC_CheckChild0Same, 1,
3207
521k
/*  6723*/                      OPC_CheckChild1Integer, 24, 
3208
521k
/*  6725*/                      OPC_CheckChild1Type, MVT::i32,
3209
521k
/*  6727*/                      OPC_MoveParent,
3210
521k
/*  6728*/                      OPC_MoveChild1,
3211
521k
/*  6729*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3212
521k
/*  6732*/                      OPC_CheckChild0Same, 0,
3213
521k
/*  6734*/                      OPC_CheckChild1Integer, 24, 
3214
521k
/*  6736*/                      OPC_CheckChild1Type, MVT::i32,
3215
521k
/*  6738*/                      OPC_MoveParent,
3216
521k
/*  6739*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3217
521k
/*  6741*/                      OPC_MoveParent,
3218
521k
/*  6742*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3219
521k
/*  6744*/                      OPC_CheckType, MVT::i32,
3220
521k
/*  6746*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3221
521k
/*  6748*/                      OPC_EmitInteger, MVT::i32, 8, 
3222
521k
/*  6751*/                      OPC_EmitInteger, MVT::i32, 8, 
3223
521k
/*  6754*/                      OPC_EmitInteger, MVT::i32, 8, 
3224
521k
/*  6757*/                      OPC_EmitInteger, MVT::i1, 0, 
3225
521k
/*  6760*/                      OPC_EmitInteger, MVT::i32, 0, 
3226
521k
/*  6763*/                      OPC_EmitInteger, MVT::i32, 0, 
3227
521k
/*  6766*/                      OPC_EmitInteger, MVT::i32, 0, 
3228
521k
/*  6769*/                      OPC_EmitInteger, MVT::i32, 0, 
3229
521k
/*  6772*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3230
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3231
521k
                                // 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
3232
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3233
521k
/*  6789*/                    /*Scope*/ 68, /*->6858*/
3234
521k
/*  6790*/                      OPC_CheckChild0Same, 0,
3235
521k
/*  6792*/                      OPC_CheckChild1Integer, 24, 
3236
521k
/*  6794*/                      OPC_CheckChild1Type, MVT::i32,
3237
521k
/*  6796*/                      OPC_MoveParent,
3238
521k
/*  6797*/                      OPC_MoveChild1,
3239
521k
/*  6798*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3240
521k
/*  6801*/                      OPC_CheckChild0Same, 1,
3241
521k
/*  6803*/                      OPC_CheckChild1Integer, 24, 
3242
521k
/*  6805*/                      OPC_CheckChild1Type, MVT::i32,
3243
521k
/*  6807*/                      OPC_MoveParent,
3244
521k
/*  6808*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3245
521k
/*  6810*/                      OPC_MoveParent,
3246
521k
/*  6811*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3247
521k
/*  6813*/                      OPC_CheckType, MVT::i32,
3248
521k
/*  6815*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3249
521k
/*  6817*/                      OPC_EmitInteger, MVT::i32, 8, 
3250
521k
/*  6820*/                      OPC_EmitInteger, MVT::i32, 8, 
3251
521k
/*  6823*/                      OPC_EmitInteger, MVT::i32, 8, 
3252
521k
/*  6826*/                      OPC_EmitInteger, MVT::i1, 0, 
3253
521k
/*  6829*/                      OPC_EmitInteger, MVT::i32, 0, 
3254
521k
/*  6832*/                      OPC_EmitInteger, MVT::i32, 0, 
3255
521k
/*  6835*/                      OPC_EmitInteger, MVT::i32, 0, 
3256
521k
/*  6838*/                      OPC_EmitInteger, MVT::i32, 0, 
3257
521k
/*  6841*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3258
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3259
521k
                                // 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
3260
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3261
521k
/*  6858*/                    0, /*End of Scope*/
3262
521k
/*  6859*/                  /*Scope*/ 50|128,1/*178*/, /*->7039*/
3263
521k
/*  6861*/                    OPC_CheckChild0Same, 0,
3264
521k
/*  6863*/                    OPC_CheckChild1Integer, 16, 
3265
521k
/*  6865*/                    OPC_CheckChild1Type, MVT::i32,
3266
521k
/*  6867*/                    OPC_MoveParent,
3267
521k
/*  6868*/                    OPC_MoveParent,
3268
521k
/*  6869*/                    OPC_MoveChild1,
3269
521k
/*  6870*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3270
521k
/*  6873*/                    OPC_MoveChild0,
3271
521k
/*  6874*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3272
521k
/*  6877*/                    OPC_CheckChild0Same, 1,
3273
521k
/*  6879*/                    OPC_CheckChild1Integer, 16, 
3274
521k
/*  6881*/                    OPC_CheckChild1Type, MVT::i32,
3275
521k
/*  6883*/                    OPC_MoveParent,
3276
521k
/*  6884*/                    OPC_MoveParent,
3277
521k
/*  6885*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3278
521k
/*  6887*/                    OPC_MoveParent,
3279
521k
/*  6888*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3280
521k
/*  6890*/                    OPC_MoveParent,
3281
521k
/*  6891*/                    OPC_MoveChild1,
3282
521k
/*  6892*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3283
521k
/*  6895*/                    OPC_MoveChild0,
3284
521k
/*  6896*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3285
521k
/*  6899*/                    OPC_Scope, 68, /*->6969*/ // 2 children in Scope
3286
521k
/*  6901*/                      OPC_CheckChild0Same, 1,
3287
521k
/*  6903*/                      OPC_CheckChild1Integer, 24, 
3288
521k
/*  6905*/                      OPC_CheckChild1Type, MVT::i32,
3289
521k
/*  6907*/                      OPC_MoveParent,
3290
521k
/*  6908*/                      OPC_MoveChild1,
3291
521k
/*  6909*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3292
521k
/*  6912*/                      OPC_CheckChild0Same, 0,
3293
521k
/*  6914*/                      OPC_CheckChild1Integer, 24, 
3294
521k
/*  6916*/                      OPC_CheckChild1Type, MVT::i32,
3295
521k
/*  6918*/                      OPC_MoveParent,
3296
521k
/*  6919*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3297
521k
/*  6921*/                      OPC_MoveParent,
3298
521k
/*  6922*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3299
521k
/*  6924*/                      OPC_CheckType, MVT::i32,
3300
521k
/*  6926*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3301
521k
/*  6928*/                      OPC_EmitInteger, MVT::i32, 8, 
3302
521k
/*  6931*/                      OPC_EmitInteger, MVT::i32, 8, 
3303
521k
/*  6934*/                      OPC_EmitInteger, MVT::i32, 8, 
3304
521k
/*  6937*/                      OPC_EmitInteger, MVT::i1, 0, 
3305
521k
/*  6940*/                      OPC_EmitInteger, MVT::i32, 0, 
3306
521k
/*  6943*/                      OPC_EmitInteger, MVT::i32, 0, 
3307
521k
/*  6946*/                      OPC_EmitInteger, MVT::i32, 0, 
3308
521k
/*  6949*/                      OPC_EmitInteger, MVT::i32, 0, 
3309
521k
/*  6952*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3310
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3311
521k
                                // 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
3312
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3313
521k
/*  6969*/                    /*Scope*/ 68, /*->7038*/
3314
521k
/*  6970*/                      OPC_CheckChild0Same, 0,
3315
521k
/*  6972*/                      OPC_CheckChild1Integer, 24, 
3316
521k
/*  6974*/                      OPC_CheckChild1Type, MVT::i32,
3317
521k
/*  6976*/                      OPC_MoveParent,
3318
521k
/*  6977*/                      OPC_MoveChild1,
3319
521k
/*  6978*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3320
521k
/*  6981*/                      OPC_CheckChild0Same, 1,
3321
521k
/*  6983*/                      OPC_CheckChild1Integer, 24, 
3322
521k
/*  6985*/                      OPC_CheckChild1Type, MVT::i32,
3323
521k
/*  6987*/                      OPC_MoveParent,
3324
521k
/*  6988*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3325
521k
/*  6990*/                      OPC_MoveParent,
3326
521k
/*  6991*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3327
521k
/*  6993*/                      OPC_CheckType, MVT::i32,
3328
521k
/*  6995*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3329
521k
/*  6997*/                      OPC_EmitInteger, MVT::i32, 8, 
3330
521k
/*  7000*/                      OPC_EmitInteger, MVT::i32, 8, 
3331
521k
/*  7003*/                      OPC_EmitInteger, MVT::i32, 8, 
3332
521k
/*  7006*/                      OPC_EmitInteger, MVT::i1, 0, 
3333
521k
/*  7009*/                      OPC_EmitInteger, MVT::i32, 0, 
3334
521k
/*  7012*/                      OPC_EmitInteger, MVT::i32, 0, 
3335
521k
/*  7015*/                      OPC_EmitInteger, MVT::i32, 0, 
3336
521k
/*  7018*/                      OPC_EmitInteger, MVT::i32, 0, 
3337
521k
/*  7021*/                      OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3338
521k
                                    MVT::i32, 11/*#Ops*/, 3, 1, 4, 0, 5, 2, 6, 7, 8, 9, 10, 
3339
521k
                                // 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
3340
521k
                                // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3341
521k
/*  7038*/                    0, /*End of Scope*/
3342
521k
/*  7039*/                  0, /*End of Scope*/
3343
521k
/*  7040*/                0, /*End of Scope*/
3344
521k
/*  7041*/              0, /*End of Scope*/
3345
521k
/*  7042*/            0, // EndSwitchOpcode
3346
521k
/*  7043*/          /*SwitchOpcode*/ 107|128,50/*6507*/, TARGET_VAL(AMDGPUISD::MUL_U24),// ->13554
3347
521k
/*  7047*/            OPC_MoveChild0,
3348
521k
/*  7048*/            OPC_Scope, 118|128,48/*6262*/, /*->13313*/ // 2 children in Scope
3349
521k
/*  7051*/              OPC_CheckAndImm, 127|128,1/*255*/, 
3350
521k
/*  7054*/              OPC_MoveChild0,
3351
521k
/*  7055*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3352
521k
/*  7058*/              OPC_RecordChild0, // #0 = $src0
3353
521k
/*  7059*/              OPC_CheckChild1Integer, 16, 
3354
521k
/*  7061*/              OPC_CheckChild1Type, MVT::i32,
3355
521k
/*  7063*/              OPC_MoveParent,
3356
521k
/*  7064*/              OPC_MoveParent,
3357
521k
/*  7065*/              OPC_MoveChild1,
3358
521k
/*  7066*/              OPC_CheckAndImm, 127|128,1/*255*/, 
3359
521k
/*  7069*/              OPC_MoveChild0,
3360
521k
/*  7070*/              OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3361
521k
/*  7073*/              OPC_RecordChild0, // #1 = $src1
3362
521k
/*  7074*/              OPC_CheckChild1Integer, 16, 
3363
521k
/*  7076*/              OPC_CheckChild1Type, MVT::i32,
3364
521k
/*  7078*/              OPC_MoveParent,
3365
521k
/*  7079*/              OPC_MoveParent,
3366
521k
/*  7080*/              OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3367
521k
/*  7082*/              OPC_MoveParent,
3368
521k
/*  7083*/              OPC_MoveChild1,
3369
521k
/*  7084*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3370
521k
/*  7087*/              OPC_MoveChild0,
3371
521k
/*  7088*/              OPC_SwitchOpcode /*2 cases */, 40|128,25/*3240*/, TARGET_VAL(ISD::ADD),// ->10333
3372
521k
/*  7093*/                OPC_Scope, 39|128,6/*807*/, /*->7903*/ // 4 children in Scope
3373
521k
/*  7096*/                  OPC_RecordChild0, // #2 = $src2
3374
521k
/*  7097*/                  OPC_MoveChild1,
3375
521k
/*  7098*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3376
521k
/*  7101*/                  OPC_MoveChild0,
3377
521k
/*  7102*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
3378
521k
/*  7105*/                  OPC_Scope, 12|128,3/*396*/, /*->7504*/ // 2 children in Scope
3379
521k
/*  7108*/                    OPC_CheckChild0Same, 0,
3380
521k
/*  7110*/                    OPC_MoveParent,
3381
521k
/*  7111*/                    OPC_MoveChild1,
3382
521k
/*  7112*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3383
521k
/*  7115*/                    OPC_CheckChild0Same, 1,
3384
521k
/*  7117*/                    OPC_MoveParent,
3385
521k
/*  7118*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3386
521k
/*  7120*/                    OPC_MoveParent,
3387
521k
/*  7121*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3388
521k
/*  7123*/                    OPC_MoveParent,
3389
521k
/*  7124*/                    OPC_MoveChild1,
3390
521k
/*  7125*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3391
521k
/*  7128*/                    OPC_MoveChild0,
3392
521k
/*  7129*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3393
521k
/*  7132*/                    OPC_MoveChild0,
3394
521k
/*  7133*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3395
521k
/*  7136*/                    OPC_Scope, 53|128,1/*181*/, /*->7320*/ // 2 children in Scope
3396
521k
/*  7139*/                      OPC_CheckChild0Same, 0,
3397
521k
/*  7141*/                      OPC_CheckChild1Integer, 8, 
3398
521k
/*  7143*/                      OPC_CheckChild1Type, MVT::i32,
3399
521k
/*  7145*/                      OPC_MoveParent,
3400
521k
/*  7146*/                      OPC_MoveParent,
3401
521k
/*  7147*/                      OPC_MoveChild1,
3402
521k
/*  7148*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
3403
521k
/*  7151*/                      OPC_MoveChild0,
3404
521k
/*  7152*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3405
521k
/*  7155*/                      OPC_CheckChild0Same, 1,
3406
521k
/*  7157*/                      OPC_CheckChild1Integer, 8, 
3407
521k
/*  7159*/                      OPC_CheckChild1Type, MVT::i32,
3408
521k
/*  7161*/                      OPC_MoveParent,
3409
521k
/*  7162*/                      OPC_MoveParent,
3410
521k
/*  7163*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3411
521k
/*  7165*/                      OPC_MoveParent,
3412
521k
/*  7166*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3413
521k
/*  7168*/                      OPC_MoveParent,
3414
521k
/*  7169*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3415
521k
/*  7171*/                      OPC_MoveParent,
3416
521k
/*  7172*/                      OPC_MoveChild1,
3417
521k
/*  7173*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3418
521k
/*  7176*/                      OPC_MoveChild0,
3419
521k
/*  7177*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3420
521k
/*  7180*/                      OPC_Scope, 68, /*->7250*/ // 2 children in Scope
3421
521k
/*  7182*/                        OPC_CheckChild0Same, 0,
3422
521k
/*  7184*/                        OPC_CheckChild1Integer, 24, 
3423
521k
/*  7186*/                        OPC_CheckChild1Type, MVT::i32,
3424
521k
/*  7188*/                        OPC_MoveParent,
3425
521k
/*  7189*/                        OPC_MoveChild1,
3426
521k
/*  7190*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3427
521k
/*  7193*/                        OPC_CheckChild0Same, 1,
3428
521k
/*  7195*/                        OPC_CheckChild1Integer, 24, 
3429
521k
/*  7197*/                        OPC_CheckChild1Type, MVT::i32,
3430
521k
/*  7199*/                        OPC_MoveParent,
3431
521k
/*  7200*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3432
521k
/*  7202*/                        OPC_MoveParent,
3433
521k
/*  7203*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3434
521k
/*  7205*/                        OPC_CheckType, MVT::i32,
3435
521k
/*  7207*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3436
521k
/*  7209*/                        OPC_EmitInteger, MVT::i32, 8, 
3437
521k
/*  7212*/                        OPC_EmitInteger, MVT::i32, 8, 
3438
521k
/*  7215*/                        OPC_EmitInteger, MVT::i32, 8, 
3439
521k
/*  7218*/                        OPC_EmitInteger, MVT::i1, 0, 
3440
521k
/*  7221*/                        OPC_EmitInteger, MVT::i32, 0, 
3441
521k
/*  7224*/                        OPC_EmitInteger, MVT::i32, 0, 
3442
521k
/*  7227*/                        OPC_EmitInteger, MVT::i32, 0, 
3443
521k
/*  7230*/                        OPC_EmitInteger, MVT::i32, 0, 
3444
521k
/*  7233*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3445
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3446
521k
                                  // 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
3447
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3448
521k
/*  7250*/                      /*Scope*/ 68, /*->7319*/
3449
521k
/*  7251*/                        OPC_CheckChild0Same, 1,
3450
521k
/*  7253*/                        OPC_CheckChild1Integer, 24, 
3451
521k
/*  7255*/                        OPC_CheckChild1Type, MVT::i32,
3452
521k
/*  7257*/                        OPC_MoveParent,
3453
521k
/*  7258*/                        OPC_MoveChild1,
3454
521k
/*  7259*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3455
521k
/*  7262*/                        OPC_CheckChild0Same, 0,
3456
521k
/*  7264*/                        OPC_CheckChild1Integer, 24, 
3457
521k
/*  7266*/                        OPC_CheckChild1Type, MVT::i32,
3458
521k
/*  7268*/                        OPC_MoveParent,
3459
521k
/*  7269*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3460
521k
/*  7271*/                        OPC_MoveParent,
3461
521k
/*  7272*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3462
521k
/*  7274*/                        OPC_CheckType, MVT::i32,
3463
521k
/*  7276*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3464
521k
/*  7278*/                        OPC_EmitInteger, MVT::i32, 8, 
3465
521k
/*  7281*/                        OPC_EmitInteger, MVT::i32, 8, 
3466
521k
/*  7284*/                        OPC_EmitInteger, MVT::i32, 8, 
3467
521k
/*  7287*/                        OPC_EmitInteger, MVT::i1, 0, 
3468
521k
/*  7290*/                        OPC_EmitInteger, MVT::i32, 0, 
3469
521k
/*  7293*/                        OPC_EmitInteger, MVT::i32, 0, 
3470
521k
/*  7296*/                        OPC_EmitInteger, MVT::i32, 0, 
3471
521k
/*  7299*/                        OPC_EmitInteger, MVT::i32, 0, 
3472
521k
/*  7302*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3473
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3474
521k
                                  // 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
3475
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3476
521k
/*  7319*/                      0, /*End of Scope*/
3477
521k
/*  7320*/                    /*Scope*/ 53|128,1/*181*/, /*->7503*/
3478
521k
/*  7322*/                      OPC_CheckChild0Same, 1,
3479
521k
/*  7324*/                      OPC_CheckChild1Integer, 8, 
3480
521k
/*  7326*/                      OPC_CheckChild1Type, MVT::i32,
3481
521k
/*  7328*/                      OPC_MoveParent,
3482
521k
/*  7329*/                      OPC_MoveParent,
3483
521k
/*  7330*/                      OPC_MoveChild1,
3484
521k
/*  7331*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
3485
521k
/*  7334*/                      OPC_MoveChild0,
3486
521k
/*  7335*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3487
521k
/*  7338*/                      OPC_CheckChild0Same, 0,
3488
521k
/*  7340*/                      OPC_CheckChild1Integer, 8, 
3489
521k
/*  7342*/                      OPC_CheckChild1Type, MVT::i32,
3490
521k
/*  7344*/                      OPC_MoveParent,
3491
521k
/*  7345*/                      OPC_MoveParent,
3492
521k
/*  7346*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3493
521k
/*  7348*/                      OPC_MoveParent,
3494
521k
/*  7349*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3495
521k
/*  7351*/                      OPC_MoveParent,
3496
521k
/*  7352*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3497
521k
/*  7354*/                      OPC_MoveParent,
3498
521k
/*  7355*/                      OPC_MoveChild1,
3499
521k
/*  7356*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3500
521k
/*  7359*/                      OPC_MoveChild0,
3501
521k
/*  7360*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3502
521k
/*  7363*/                      OPC_Scope, 68, /*->7433*/ // 2 children in Scope
3503
521k
/*  7365*/                        OPC_CheckChild0Same, 0,
3504
521k
/*  7367*/                        OPC_CheckChild1Integer, 24, 
3505
521k
/*  7369*/                        OPC_CheckChild1Type, MVT::i32,
3506
521k
/*  7371*/                        OPC_MoveParent,
3507
521k
/*  7372*/                        OPC_MoveChild1,
3508
521k
/*  7373*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3509
521k
/*  7376*/                        OPC_CheckChild0Same, 1,
3510
521k
/*  7378*/                        OPC_CheckChild1Integer, 24, 
3511
521k
/*  7380*/                        OPC_CheckChild1Type, MVT::i32,
3512
521k
/*  7382*/                        OPC_MoveParent,
3513
521k
/*  7383*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3514
521k
/*  7385*/                        OPC_MoveParent,
3515
521k
/*  7386*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3516
521k
/*  7388*/                        OPC_CheckType, MVT::i32,
3517
521k
/*  7390*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3518
521k
/*  7392*/                        OPC_EmitInteger, MVT::i32, 8, 
3519
521k
/*  7395*/                        OPC_EmitInteger, MVT::i32, 8, 
3520
521k
/*  7398*/                        OPC_EmitInteger, MVT::i32, 8, 
3521
521k
/*  7401*/                        OPC_EmitInteger, MVT::i1, 0, 
3522
521k
/*  7404*/                        OPC_EmitInteger, MVT::i32, 0, 
3523
521k
/*  7407*/                        OPC_EmitInteger, MVT::i32, 0, 
3524
521k
/*  7410*/                        OPC_EmitInteger, MVT::i32, 0, 
3525
521k
/*  7413*/                        OPC_EmitInteger, MVT::i32, 0, 
3526
521k
/*  7416*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3527
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3528
521k
                                  // 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
3529
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3530
521k
/*  7433*/                      /*Scope*/ 68, /*->7502*/
3531
521k
/*  7434*/                        OPC_CheckChild0Same, 1,
3532
521k
/*  7436*/                        OPC_CheckChild1Integer, 24, 
3533
521k
/*  7438*/                        OPC_CheckChild1Type, MVT::i32,
3534
521k
/*  7440*/                        OPC_MoveParent,
3535
521k
/*  7441*/                        OPC_MoveChild1,
3536
521k
/*  7442*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3537
521k
/*  7445*/                        OPC_CheckChild0Same, 0,
3538
521k
/*  7447*/                        OPC_CheckChild1Integer, 24, 
3539
521k
/*  7449*/                        OPC_CheckChild1Type, MVT::i32,
3540
521k
/*  7451*/                        OPC_MoveParent,
3541
521k
/*  7452*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3542
521k
/*  7454*/                        OPC_MoveParent,
3543
521k
/*  7455*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3544
521k
/*  7457*/                        OPC_CheckType, MVT::i32,
3545
521k
/*  7459*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3546
521k
/*  7461*/                        OPC_EmitInteger, MVT::i32, 8, 
3547
521k
/*  7464*/                        OPC_EmitInteger, MVT::i32, 8, 
3548
521k
/*  7467*/                        OPC_EmitInteger, MVT::i32, 8, 
3549
521k
/*  7470*/                        OPC_EmitInteger, MVT::i1, 0, 
3550
521k
/*  7473*/                        OPC_EmitInteger, MVT::i32, 0, 
3551
521k
/*  7476*/                        OPC_EmitInteger, MVT::i32, 0, 
3552
521k
/*  7479*/                        OPC_EmitInteger, MVT::i32, 0, 
3553
521k
/*  7482*/                        OPC_EmitInteger, MVT::i32, 0, 
3554
521k
/*  7485*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3555
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3556
521k
                                  // 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
3557
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3558
521k
/*  7502*/                      0, /*End of Scope*/
3559
521k
/*  7503*/                    0, /*End of Scope*/
3560
521k
/*  7504*/                  /*Scope*/ 12|128,3/*396*/, /*->7902*/
3561
521k
/*  7506*/                    OPC_CheckChild0Same, 1,
3562
521k
/*  7508*/                    OPC_MoveParent,
3563
521k
/*  7509*/                    OPC_MoveChild1,
3564
521k
/*  7510*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3565
521k
/*  7513*/                    OPC_CheckChild0Same, 0,
3566
521k
/*  7515*/                    OPC_MoveParent,
3567
521k
/*  7516*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3568
521k
/*  7518*/                    OPC_MoveParent,
3569
521k
/*  7519*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3570
521k
/*  7521*/                    OPC_MoveParent,
3571
521k
/*  7522*/                    OPC_MoveChild1,
3572
521k
/*  7523*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3573
521k
/*  7526*/                    OPC_MoveChild0,
3574
521k
/*  7527*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3575
521k
/*  7530*/                    OPC_MoveChild0,
3576
521k
/*  7531*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3577
521k
/*  7534*/                    OPC_Scope, 53|128,1/*181*/, /*->7718*/ // 2 children in Scope
3578
521k
/*  7537*/                      OPC_CheckChild0Same, 0,
3579
521k
/*  7539*/                      OPC_CheckChild1Integer, 8, 
3580
521k
/*  7541*/                      OPC_CheckChild1Type, MVT::i32,
3581
521k
/*  7543*/                      OPC_MoveParent,
3582
521k
/*  7544*/                      OPC_MoveParent,
3583
521k
/*  7545*/                      OPC_MoveChild1,
3584
521k
/*  7546*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
3585
521k
/*  7549*/                      OPC_MoveChild0,
3586
521k
/*  7550*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3587
521k
/*  7553*/                      OPC_CheckChild0Same, 1,
3588
521k
/*  7555*/                      OPC_CheckChild1Integer, 8, 
3589
521k
/*  7557*/                      OPC_CheckChild1Type, MVT::i32,
3590
521k
/*  7559*/                      OPC_MoveParent,
3591
521k
/*  7560*/                      OPC_MoveParent,
3592
521k
/*  7561*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3593
521k
/*  7563*/                      OPC_MoveParent,
3594
521k
/*  7564*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3595
521k
/*  7566*/                      OPC_MoveParent,
3596
521k
/*  7567*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3597
521k
/*  7569*/                      OPC_MoveParent,
3598
521k
/*  7570*/                      OPC_MoveChild1,
3599
521k
/*  7571*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3600
521k
/*  7574*/                      OPC_MoveChild0,
3601
521k
/*  7575*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3602
521k
/*  7578*/                      OPC_Scope, 68, /*->7648*/ // 2 children in Scope
3603
521k
/*  7580*/                        OPC_CheckChild0Same, 0,
3604
521k
/*  7582*/                        OPC_CheckChild1Integer, 24, 
3605
521k
/*  7584*/                        OPC_CheckChild1Type, MVT::i32,
3606
521k
/*  7586*/                        OPC_MoveParent,
3607
521k
/*  7587*/                        OPC_MoveChild1,
3608
521k
/*  7588*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3609
521k
/*  7591*/                        OPC_CheckChild0Same, 1,
3610
521k
/*  7593*/                        OPC_CheckChild1Integer, 24, 
3611
521k
/*  7595*/                        OPC_CheckChild1Type, MVT::i32,
3612
521k
/*  7597*/                        OPC_MoveParent,
3613
521k
/*  7598*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3614
521k
/*  7600*/                        OPC_MoveParent,
3615
521k
/*  7601*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3616
521k
/*  7603*/                        OPC_CheckType, MVT::i32,
3617
521k
/*  7605*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3618
521k
/*  7607*/                        OPC_EmitInteger, MVT::i32, 8, 
3619
521k
/*  7610*/                        OPC_EmitInteger, MVT::i32, 8, 
3620
521k
/*  7613*/                        OPC_EmitInteger, MVT::i32, 8, 
3621
521k
/*  7616*/                        OPC_EmitInteger, MVT::i1, 0, 
3622
521k
/*  7619*/                        OPC_EmitInteger, MVT::i32, 0, 
3623
521k
/*  7622*/                        OPC_EmitInteger, MVT::i32, 0, 
3624
521k
/*  7625*/                        OPC_EmitInteger, MVT::i32, 0, 
3625
521k
/*  7628*/                        OPC_EmitInteger, MVT::i32, 0, 
3626
521k
/*  7631*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3627
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3628
521k
                                  // 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
3629
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3630
521k
/*  7648*/                      /*Scope*/ 68, /*->7717*/
3631
521k
/*  7649*/                        OPC_CheckChild0Same, 1,
3632
521k
/*  7651*/                        OPC_CheckChild1Integer, 24, 
3633
521k
/*  7653*/                        OPC_CheckChild1Type, MVT::i32,
3634
521k
/*  7655*/                        OPC_MoveParent,
3635
521k
/*  7656*/                        OPC_MoveChild1,
3636
521k
/*  7657*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3637
521k
/*  7660*/                        OPC_CheckChild0Same, 0,
3638
521k
/*  7662*/                        OPC_CheckChild1Integer, 24, 
3639
521k
/*  7664*/                        OPC_CheckChild1Type, MVT::i32,
3640
521k
/*  7666*/                        OPC_MoveParent,
3641
521k
/*  7667*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3642
521k
/*  7669*/                        OPC_MoveParent,
3643
521k
/*  7670*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3644
521k
/*  7672*/                        OPC_CheckType, MVT::i32,
3645
521k
/*  7674*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3646
521k
/*  7676*/                        OPC_EmitInteger, MVT::i32, 8, 
3647
521k
/*  7679*/                        OPC_EmitInteger, MVT::i32, 8, 
3648
521k
/*  7682*/                        OPC_EmitInteger, MVT::i32, 8, 
3649
521k
/*  7685*/                        OPC_EmitInteger, MVT::i1, 0, 
3650
521k
/*  7688*/                        OPC_EmitInteger, MVT::i32, 0, 
3651
521k
/*  7691*/                        OPC_EmitInteger, MVT::i32, 0, 
3652
521k
/*  7694*/                        OPC_EmitInteger, MVT::i32, 0, 
3653
521k
/*  7697*/                        OPC_EmitInteger, MVT::i32, 0, 
3654
521k
/*  7700*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3655
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3656
521k
                                  // 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
3657
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3658
521k
/*  7717*/                      0, /*End of Scope*/
3659
521k
/*  7718*/                    /*Scope*/ 53|128,1/*181*/, /*->7901*/
3660
521k
/*  7720*/                      OPC_CheckChild0Same, 1,
3661
521k
/*  7722*/                      OPC_CheckChild1Integer, 8, 
3662
521k
/*  7724*/                      OPC_CheckChild1Type, MVT::i32,
3663
521k
/*  7726*/                      OPC_MoveParent,
3664
521k
/*  7727*/                      OPC_MoveParent,
3665
521k
/*  7728*/                      OPC_MoveChild1,
3666
521k
/*  7729*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
3667
521k
/*  7732*/                      OPC_MoveChild0,
3668
521k
/*  7733*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3669
521k
/*  7736*/                      OPC_CheckChild0Same, 0,
3670
521k
/*  7738*/                      OPC_CheckChild1Integer, 8, 
3671
521k
/*  7740*/                      OPC_CheckChild1Type, MVT::i32,
3672
521k
/*  7742*/                      OPC_MoveParent,
3673
521k
/*  7743*/                      OPC_MoveParent,
3674
521k
/*  7744*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3675
521k
/*  7746*/                      OPC_MoveParent,
3676
521k
/*  7747*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3677
521k
/*  7749*/                      OPC_MoveParent,
3678
521k
/*  7750*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3679
521k
/*  7752*/                      OPC_MoveParent,
3680
521k
/*  7753*/                      OPC_MoveChild1,
3681
521k
/*  7754*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3682
521k
/*  7757*/                      OPC_MoveChild0,
3683
521k
/*  7758*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3684
521k
/*  7761*/                      OPC_Scope, 68, /*->7831*/ // 2 children in Scope
3685
521k
/*  7763*/                        OPC_CheckChild0Same, 0,
3686
521k
/*  7765*/                        OPC_CheckChild1Integer, 24, 
3687
521k
/*  7767*/                        OPC_CheckChild1Type, MVT::i32,
3688
521k
/*  7769*/                        OPC_MoveParent,
3689
521k
/*  7770*/                        OPC_MoveChild1,
3690
521k
/*  7771*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3691
521k
/*  7774*/                        OPC_CheckChild0Same, 1,
3692
521k
/*  7776*/                        OPC_CheckChild1Integer, 24, 
3693
521k
/*  7778*/                        OPC_CheckChild1Type, MVT::i32,
3694
521k
/*  7780*/                        OPC_MoveParent,
3695
521k
/*  7781*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3696
521k
/*  7783*/                        OPC_MoveParent,
3697
521k
/*  7784*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3698
521k
/*  7786*/                        OPC_CheckType, MVT::i32,
3699
521k
/*  7788*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3700
521k
/*  7790*/                        OPC_EmitInteger, MVT::i32, 8, 
3701
521k
/*  7793*/                        OPC_EmitInteger, MVT::i32, 8, 
3702
521k
/*  7796*/                        OPC_EmitInteger, MVT::i32, 8, 
3703
521k
/*  7799*/                        OPC_EmitInteger, MVT::i1, 0, 
3704
521k
/*  7802*/                        OPC_EmitInteger, MVT::i32, 0, 
3705
521k
/*  7805*/                        OPC_EmitInteger, MVT::i32, 0, 
3706
521k
/*  7808*/                        OPC_EmitInteger, MVT::i32, 0, 
3707
521k
/*  7811*/                        OPC_EmitInteger, MVT::i32, 0, 
3708
521k
/*  7814*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3709
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3710
521k
                                  // 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
3711
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3712
521k
/*  7831*/                      /*Scope*/ 68, /*->7900*/
3713
521k
/*  7832*/                        OPC_CheckChild0Same, 1,
3714
521k
/*  7834*/                        OPC_CheckChild1Integer, 24, 
3715
521k
/*  7836*/                        OPC_CheckChild1Type, MVT::i32,
3716
521k
/*  7838*/                        OPC_MoveParent,
3717
521k
/*  7839*/                        OPC_MoveChild1,
3718
521k
/*  7840*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3719
521k
/*  7843*/                        OPC_CheckChild0Same, 0,
3720
521k
/*  7845*/                        OPC_CheckChild1Integer, 24, 
3721
521k
/*  7847*/                        OPC_CheckChild1Type, MVT::i32,
3722
521k
/*  7849*/                        OPC_MoveParent,
3723
521k
/*  7850*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3724
521k
/*  7852*/                        OPC_MoveParent,
3725
521k
/*  7853*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3726
521k
/*  7855*/                        OPC_CheckType, MVT::i32,
3727
521k
/*  7857*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3728
521k
/*  7859*/                        OPC_EmitInteger, MVT::i32, 8, 
3729
521k
/*  7862*/                        OPC_EmitInteger, MVT::i32, 8, 
3730
521k
/*  7865*/                        OPC_EmitInteger, MVT::i32, 8, 
3731
521k
/*  7868*/                        OPC_EmitInteger, MVT::i1, 0, 
3732
521k
/*  7871*/                        OPC_EmitInteger, MVT::i32, 0, 
3733
521k
/*  7874*/                        OPC_EmitInteger, MVT::i32, 0, 
3734
521k
/*  7877*/                        OPC_EmitInteger, MVT::i32, 0, 
3735
521k
/*  7880*/                        OPC_EmitInteger, MVT::i32, 0, 
3736
521k
/*  7883*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3737
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3738
521k
                                  // 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
3739
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3740
521k
/*  7900*/                      0, /*End of Scope*/
3741
521k
/*  7901*/                    0, /*End of Scope*/
3742
521k
/*  7902*/                  0, /*End of Scope*/
3743
521k
/*  7903*/                /*Scope*/ 40|128,6/*808*/, /*->8713*/
3744
521k
/*  7905*/                  OPC_MoveChild0,
3745
521k
/*  7906*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3746
521k
/*  7909*/                  OPC_MoveChild0,
3747
521k
/*  7910*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
3748
521k
/*  7913*/                  OPC_Scope, 13|128,3/*397*/, /*->8313*/ // 2 children in Scope
3749
521k
/*  7916*/                    OPC_CheckChild0Same, 0,
3750
521k
/*  7918*/                    OPC_MoveParent,
3751
521k
/*  7919*/                    OPC_MoveChild1,
3752
521k
/*  7920*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3753
521k
/*  7923*/                    OPC_CheckChild0Same, 1,
3754
521k
/*  7925*/                    OPC_MoveParent,
3755
521k
/*  7926*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3756
521k
/*  7928*/                    OPC_MoveParent,
3757
521k
/*  7929*/                    OPC_RecordChild1, // #2 = $src2
3758
521k
/*  7930*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3759
521k
/*  7932*/                    OPC_MoveParent,
3760
521k
/*  7933*/                    OPC_MoveChild1,
3761
521k
/*  7934*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3762
521k
/*  7937*/                    OPC_MoveChild0,
3763
521k
/*  7938*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3764
521k
/*  7941*/                    OPC_MoveChild0,
3765
521k
/*  7942*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3766
521k
/*  7945*/                    OPC_Scope, 53|128,1/*181*/, /*->8129*/ // 2 children in Scope
3767
521k
/*  7948*/                      OPC_CheckChild0Same, 0,
3768
521k
/*  7950*/                      OPC_CheckChild1Integer, 8, 
3769
521k
/*  7952*/                      OPC_CheckChild1Type, MVT::i32,
3770
521k
/*  7954*/                      OPC_MoveParent,
3771
521k
/*  7955*/                      OPC_MoveParent,
3772
521k
/*  7956*/                      OPC_MoveChild1,
3773
521k
/*  7957*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
3774
521k
/*  7960*/                      OPC_MoveChild0,
3775
521k
/*  7961*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3776
521k
/*  7964*/                      OPC_CheckChild0Same, 1,
3777
521k
/*  7966*/                      OPC_CheckChild1Integer, 8, 
3778
521k
/*  7968*/                      OPC_CheckChild1Type, MVT::i32,
3779
521k
/*  7970*/                      OPC_MoveParent,
3780
521k
/*  7971*/                      OPC_MoveParent,
3781
521k
/*  7972*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3782
521k
/*  7974*/                      OPC_MoveParent,
3783
521k
/*  7975*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3784
521k
/*  7977*/                      OPC_MoveParent,
3785
521k
/*  7978*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3786
521k
/*  7980*/                      OPC_MoveParent,
3787
521k
/*  7981*/                      OPC_MoveChild1,
3788
521k
/*  7982*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3789
521k
/*  7985*/                      OPC_MoveChild0,
3790
521k
/*  7986*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3791
521k
/*  7989*/                      OPC_Scope, 68, /*->8059*/ // 2 children in Scope
3792
521k
/*  7991*/                        OPC_CheckChild0Same, 0,
3793
521k
/*  7993*/                        OPC_CheckChild1Integer, 24, 
3794
521k
/*  7995*/                        OPC_CheckChild1Type, MVT::i32,
3795
521k
/*  7997*/                        OPC_MoveParent,
3796
521k
/*  7998*/                        OPC_MoveChild1,
3797
521k
/*  7999*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3798
521k
/*  8002*/                        OPC_CheckChild0Same, 1,
3799
521k
/*  8004*/                        OPC_CheckChild1Integer, 24, 
3800
521k
/*  8006*/                        OPC_CheckChild1Type, MVT::i32,
3801
521k
/*  8008*/                        OPC_MoveParent,
3802
521k
/*  8009*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3803
521k
/*  8011*/                        OPC_MoveParent,
3804
521k
/*  8012*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3805
521k
/*  8014*/                        OPC_CheckType, MVT::i32,
3806
521k
/*  8016*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3807
521k
/*  8018*/                        OPC_EmitInteger, MVT::i32, 8, 
3808
521k
/*  8021*/                        OPC_EmitInteger, MVT::i32, 8, 
3809
521k
/*  8024*/                        OPC_EmitInteger, MVT::i32, 8, 
3810
521k
/*  8027*/                        OPC_EmitInteger, MVT::i1, 0, 
3811
521k
/*  8030*/                        OPC_EmitInteger, MVT::i32, 0, 
3812
521k
/*  8033*/                        OPC_EmitInteger, MVT::i32, 0, 
3813
521k
/*  8036*/                        OPC_EmitInteger, MVT::i32, 0, 
3814
521k
/*  8039*/                        OPC_EmitInteger, MVT::i32, 0, 
3815
521k
/*  8042*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3816
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3817
521k
                                  // 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
3818
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3819
521k
/*  8059*/                      /*Scope*/ 68, /*->8128*/
3820
521k
/*  8060*/                        OPC_CheckChild0Same, 1,
3821
521k
/*  8062*/                        OPC_CheckChild1Integer, 24, 
3822
521k
/*  8064*/                        OPC_CheckChild1Type, MVT::i32,
3823
521k
/*  8066*/                        OPC_MoveParent,
3824
521k
/*  8067*/                        OPC_MoveChild1,
3825
521k
/*  8068*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3826
521k
/*  8071*/                        OPC_CheckChild0Same, 0,
3827
521k
/*  8073*/                        OPC_CheckChild1Integer, 24, 
3828
521k
/*  8075*/                        OPC_CheckChild1Type, MVT::i32,
3829
521k
/*  8077*/                        OPC_MoveParent,
3830
521k
/*  8078*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3831
521k
/*  8080*/                        OPC_MoveParent,
3832
521k
/*  8081*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3833
521k
/*  8083*/                        OPC_CheckType, MVT::i32,
3834
521k
/*  8085*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3835
521k
/*  8087*/                        OPC_EmitInteger, MVT::i32, 8, 
3836
521k
/*  8090*/                        OPC_EmitInteger, MVT::i32, 8, 
3837
521k
/*  8093*/                        OPC_EmitInteger, MVT::i32, 8, 
3838
521k
/*  8096*/                        OPC_EmitInteger, MVT::i1, 0, 
3839
521k
/*  8099*/                        OPC_EmitInteger, MVT::i32, 0, 
3840
521k
/*  8102*/                        OPC_EmitInteger, MVT::i32, 0, 
3841
521k
/*  8105*/                        OPC_EmitInteger, MVT::i32, 0, 
3842
521k
/*  8108*/                        OPC_EmitInteger, MVT::i32, 0, 
3843
521k
/*  8111*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3844
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3845
521k
                                  // 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
3846
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3847
521k
/*  8128*/                      0, /*End of Scope*/
3848
521k
/*  8129*/                    /*Scope*/ 53|128,1/*181*/, /*->8312*/
3849
521k
/*  8131*/                      OPC_CheckChild0Same, 1,
3850
521k
/*  8133*/                      OPC_CheckChild1Integer, 8, 
3851
521k
/*  8135*/                      OPC_CheckChild1Type, MVT::i32,
3852
521k
/*  8137*/                      OPC_MoveParent,
3853
521k
/*  8138*/                      OPC_MoveParent,
3854
521k
/*  8139*/                      OPC_MoveChild1,
3855
521k
/*  8140*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
3856
521k
/*  8143*/                      OPC_MoveChild0,
3857
521k
/*  8144*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3858
521k
/*  8147*/                      OPC_CheckChild0Same, 0,
3859
521k
/*  8149*/                      OPC_CheckChild1Integer, 8, 
3860
521k
/*  8151*/                      OPC_CheckChild1Type, MVT::i32,
3861
521k
/*  8153*/                      OPC_MoveParent,
3862
521k
/*  8154*/                      OPC_MoveParent,
3863
521k
/*  8155*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3864
521k
/*  8157*/                      OPC_MoveParent,
3865
521k
/*  8158*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3866
521k
/*  8160*/                      OPC_MoveParent,
3867
521k
/*  8161*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3868
521k
/*  8163*/                      OPC_MoveParent,
3869
521k
/*  8164*/                      OPC_MoveChild1,
3870
521k
/*  8165*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3871
521k
/*  8168*/                      OPC_MoveChild0,
3872
521k
/*  8169*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3873
521k
/*  8172*/                      OPC_Scope, 68, /*->8242*/ // 2 children in Scope
3874
521k
/*  8174*/                        OPC_CheckChild0Same, 0,
3875
521k
/*  8176*/                        OPC_CheckChild1Integer, 24, 
3876
521k
/*  8178*/                        OPC_CheckChild1Type, MVT::i32,
3877
521k
/*  8180*/                        OPC_MoveParent,
3878
521k
/*  8181*/                        OPC_MoveChild1,
3879
521k
/*  8182*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3880
521k
/*  8185*/                        OPC_CheckChild0Same, 1,
3881
521k
/*  8187*/                        OPC_CheckChild1Integer, 24, 
3882
521k
/*  8189*/                        OPC_CheckChild1Type, MVT::i32,
3883
521k
/*  8191*/                        OPC_MoveParent,
3884
521k
/*  8192*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3885
521k
/*  8194*/                        OPC_MoveParent,
3886
521k
/*  8195*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3887
521k
/*  8197*/                        OPC_CheckType, MVT::i32,
3888
521k
/*  8199*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3889
521k
/*  8201*/                        OPC_EmitInteger, MVT::i32, 8, 
3890
521k
/*  8204*/                        OPC_EmitInteger, MVT::i32, 8, 
3891
521k
/*  8207*/                        OPC_EmitInteger, MVT::i32, 8, 
3892
521k
/*  8210*/                        OPC_EmitInteger, MVT::i1, 0, 
3893
521k
/*  8213*/                        OPC_EmitInteger, MVT::i32, 0, 
3894
521k
/*  8216*/                        OPC_EmitInteger, MVT::i32, 0, 
3895
521k
/*  8219*/                        OPC_EmitInteger, MVT::i32, 0, 
3896
521k
/*  8222*/                        OPC_EmitInteger, MVT::i32, 0, 
3897
521k
/*  8225*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3898
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3899
521k
                                  // 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
3900
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3901
521k
/*  8242*/                      /*Scope*/ 68, /*->8311*/
3902
521k
/*  8243*/                        OPC_CheckChild0Same, 1,
3903
521k
/*  8245*/                        OPC_CheckChild1Integer, 24, 
3904
521k
/*  8247*/                        OPC_CheckChild1Type, MVT::i32,
3905
521k
/*  8249*/                        OPC_MoveParent,
3906
521k
/*  8250*/                        OPC_MoveChild1,
3907
521k
/*  8251*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3908
521k
/*  8254*/                        OPC_CheckChild0Same, 0,
3909
521k
/*  8256*/                        OPC_CheckChild1Integer, 24, 
3910
521k
/*  8258*/                        OPC_CheckChild1Type, MVT::i32,
3911
521k
/*  8260*/                        OPC_MoveParent,
3912
521k
/*  8261*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3913
521k
/*  8263*/                        OPC_MoveParent,
3914
521k
/*  8264*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3915
521k
/*  8266*/                        OPC_CheckType, MVT::i32,
3916
521k
/*  8268*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3917
521k
/*  8270*/                        OPC_EmitInteger, MVT::i32, 8, 
3918
521k
/*  8273*/                        OPC_EmitInteger, MVT::i32, 8, 
3919
521k
/*  8276*/                        OPC_EmitInteger, MVT::i32, 8, 
3920
521k
/*  8279*/                        OPC_EmitInteger, MVT::i1, 0, 
3921
521k
/*  8282*/                        OPC_EmitInteger, MVT::i32, 0, 
3922
521k
/*  8285*/                        OPC_EmitInteger, MVT::i32, 0, 
3923
521k
/*  8288*/                        OPC_EmitInteger, MVT::i32, 0, 
3924
521k
/*  8291*/                        OPC_EmitInteger, MVT::i32, 0, 
3925
521k
/*  8294*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3926
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
3927
521k
                                  // 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] }:$src1, 24:{ *:[i32] }), (srl:{ *:[i32] } i32:{ *:[i32] }:$src0, 24:{ *:[i32] }))<<P:Predicate_AMDGPUmul_u24_oneuse>>)<<P:Predicate_add_oneuse>> - Complexity = 128
3928
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
3929
521k
/*  8311*/                      0, /*End of Scope*/
3930
521k
/*  8312*/                    0, /*End of Scope*/
3931
521k
/*  8313*/                  /*Scope*/ 13|128,3/*397*/, /*->8712*/
3932
521k
/*  8315*/                    OPC_CheckChild0Same, 1,
3933
521k
/*  8317*/                    OPC_MoveParent,
3934
521k
/*  8318*/                    OPC_MoveChild1,
3935
521k
/*  8319*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3936
521k
/*  8322*/                    OPC_CheckChild0Same, 0,
3937
521k
/*  8324*/                    OPC_MoveParent,
3938
521k
/*  8325*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3939
521k
/*  8327*/                    OPC_MoveParent,
3940
521k
/*  8328*/                    OPC_RecordChild1, // #2 = $src2
3941
521k
/*  8329*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
3942
521k
/*  8331*/                    OPC_MoveParent,
3943
521k
/*  8332*/                    OPC_MoveChild1,
3944
521k
/*  8333*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3945
521k
/*  8336*/                    OPC_MoveChild0,
3946
521k
/*  8337*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
3947
521k
/*  8340*/                    OPC_MoveChild0,
3948
521k
/*  8341*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3949
521k
/*  8344*/                    OPC_Scope, 53|128,1/*181*/, /*->8528*/ // 2 children in Scope
3950
521k
/*  8347*/                      OPC_CheckChild0Same, 0,
3951
521k
/*  8349*/                      OPC_CheckChild1Integer, 8, 
3952
521k
/*  8351*/                      OPC_CheckChild1Type, MVT::i32,
3953
521k
/*  8353*/                      OPC_MoveParent,
3954
521k
/*  8354*/                      OPC_MoveParent,
3955
521k
/*  8355*/                      OPC_MoveChild1,
3956
521k
/*  8356*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
3957
521k
/*  8359*/                      OPC_MoveChild0,
3958
521k
/*  8360*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3959
521k
/*  8363*/                      OPC_CheckChild0Same, 1,
3960
521k
/*  8365*/                      OPC_CheckChild1Integer, 8, 
3961
521k
/*  8367*/                      OPC_CheckChild1Type, MVT::i32,
3962
521k
/*  8369*/                      OPC_MoveParent,
3963
521k
/*  8370*/                      OPC_MoveParent,
3964
521k
/*  8371*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3965
521k
/*  8373*/                      OPC_MoveParent,
3966
521k
/*  8374*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3967
521k
/*  8376*/                      OPC_MoveParent,
3968
521k
/*  8377*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
3969
521k
/*  8379*/                      OPC_MoveParent,
3970
521k
/*  8380*/                      OPC_MoveChild1,
3971
521k
/*  8381*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
3972
521k
/*  8384*/                      OPC_MoveChild0,
3973
521k
/*  8385*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3974
521k
/*  8388*/                      OPC_Scope, 68, /*->8458*/ // 2 children in Scope
3975
521k
/*  8390*/                        OPC_CheckChild0Same, 0,
3976
521k
/*  8392*/                        OPC_CheckChild1Integer, 24, 
3977
521k
/*  8394*/                        OPC_CheckChild1Type, MVT::i32,
3978
521k
/*  8396*/                        OPC_MoveParent,
3979
521k
/*  8397*/                        OPC_MoveChild1,
3980
521k
/*  8398*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
3981
521k
/*  8401*/                        OPC_CheckChild0Same, 1,
3982
521k
/*  8403*/                        OPC_CheckChild1Integer, 24, 
3983
521k
/*  8405*/                        OPC_CheckChild1Type, MVT::i32,
3984
521k
/*  8407*/                        OPC_MoveParent,
3985
521k
/*  8408*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
3986
521k
/*  8410*/                        OPC_MoveParent,
3987
521k
/*  8411*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
3988
521k
/*  8413*/                        OPC_CheckType, MVT::i32,
3989
521k
/*  8415*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
3990
521k
/*  8417*/                        OPC_EmitInteger, MVT::i32, 8, 
3991
521k
/*  8420*/                        OPC_EmitInteger, MVT::i32, 8, 
3992
521k
/*  8423*/                        OPC_EmitInteger, MVT::i32, 8, 
3993
521k
/*  8426*/                        OPC_EmitInteger, MVT::i1, 0, 
3994
521k
/*  8429*/                        OPC_EmitInteger, MVT::i32, 0, 
3995
521k
/*  8432*/                        OPC_EmitInteger, MVT::i32, 0, 
3996
521k
/*  8435*/                        OPC_EmitInteger, MVT::i32, 0, 
3997
521k
/*  8438*/                        OPC_EmitInteger, MVT::i32, 0, 
3998
521k
/*  8441*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
3999
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
4000
521k
                                  // 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] }:$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>>)<<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
4001
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
4002
521k
/*  8458*/                      /*Scope*/ 68, /*->8527*/
4003
521k
/*  8459*/                        OPC_CheckChild0Same, 1,
4004
521k
/*  8461*/                        OPC_CheckChild1Integer, 24, 
4005
521k
/*  8463*/                        OPC_CheckChild1Type, MVT::i32,
4006
521k
/*  8465*/                        OPC_MoveParent,
4007
521k
/*  8466*/                        OPC_MoveChild1,
4008
521k
/*  8467*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4009
521k
/*  8470*/                        OPC_CheckChild0Same, 0,
4010
521k
/*  8472*/                        OPC_CheckChild1Integer, 24, 
4011
521k
/*  8474*/                        OPC_CheckChild1Type, MVT::i32,
4012
521k
/*  8476*/                        OPC_MoveParent,
4013
521k
/*  8477*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
4014
521k
/*  8479*/                        OPC_MoveParent,
4015
521k
/*  8480*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
4016
521k
/*  8482*/                        OPC_CheckType, MVT::i32,
4017
521k
/*  8484*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
4018
521k
/*  8486*/                        OPC_EmitInteger, MVT::i32, 8, 
4019
521k
/*  8489*/                        OPC_EmitInteger, MVT::i32, 8, 
4020
521k
/*  8492*/                        OPC_EmitInteger, MVT::i32, 8, 
4021
521k
/*  8495*/                        OPC_EmitInteger, MVT::i1, 0, 
4022
521k
/*  8498*/                        OPC_EmitInteger, MVT::i32, 0, 
4023
521k
/*  8501*/                        OPC_EmitInteger, MVT::i32, 0, 
4024
521k
/*  8504*/                        OPC_EmitInteger, MVT::i32, 0, 
4025
521k
/*  8507*/                        OPC_EmitInteger, MVT::i32, 0, 
4026
521k
/*  8510*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
4027
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
4028
521k
                                  // 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] }:$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>>)<<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
4029
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
4030
521k
/*  8527*/                      0, /*End of Scope*/
4031
521k
/*  8528*/                    /*Scope*/ 53|128,1/*181*/, /*->8711*/
4032
521k
/*  8530*/                      OPC_CheckChild0Same, 1,
4033
521k
/*  8532*/                      OPC_CheckChild1Integer, 8, 
4034
521k
/*  8534*/                      OPC_CheckChild1Type, MVT::i32,
4035
521k
/*  8536*/                      OPC_MoveParent,
4036
521k
/*  8537*/                      OPC_MoveParent,
4037
521k
/*  8538*/                      OPC_MoveChild1,
4038
521k
/*  8539*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
4039
521k
/*  8542*/                      OPC_MoveChild0,
4040
521k
/*  8543*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4041
521k
/*  8546*/                      OPC_CheckChild0Same, 0,
4042
521k
/*  8548*/                      OPC_CheckChild1Integer, 8, 
4043
521k
/*  8550*/                      OPC_CheckChild1Type, MVT::i32,
4044
521k
/*  8552*/                      OPC_MoveParent,
4045
521k
/*  8553*/                      OPC_MoveParent,
4046
521k
/*  8554*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
4047
521k
/*  8556*/                      OPC_MoveParent,
4048
521k
/*  8557*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
4049
521k
/*  8559*/                      OPC_MoveParent,
4050
521k
/*  8560*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
4051
521k
/*  8562*/                      OPC_MoveParent,
4052
521k
/*  8563*/                      OPC_MoveChild1,
4053
521k
/*  8564*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
4054
521k
/*  8567*/                      OPC_MoveChild0,
4055
521k
/*  8568*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4056
521k
/*  8571*/                      OPC_Scope, 68, /*->8641*/ // 2 children in Scope
4057
521k
/*  8573*/                        OPC_CheckChild0Same, 0,
4058
521k
/*  8575*/                        OPC_CheckChild1Integer, 24, 
4059
521k
/*  8577*/                        OPC_CheckChild1Type, MVT::i32,
4060
521k
/*  8579*/                        OPC_MoveParent,
4061
521k
/*  8580*/                        OPC_MoveChild1,
4062
521k
/*  8581*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4063
521k
/*  8584*/                        OPC_CheckChild0Same, 1,
4064
521k
/*  8586*/                        OPC_CheckChild1Integer, 24, 
4065
521k
/*  8588*/                        OPC_CheckChild1Type, MVT::i32,
4066
521k
/*  8590*/                        OPC_MoveParent,
4067
521k
/*  8591*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
4068
521k
/*  8593*/                        OPC_MoveParent,
4069
521k
/*  8594*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
4070
521k
/*  8596*/                        OPC_CheckType, MVT::i32,
4071
521k
/*  8598*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
4072
521k
/*  8600*/                        OPC_EmitInteger, MVT::i32, 8, 
4073
521k
/*  8603*/                        OPC_EmitInteger, MVT::i32, 8, 
4074
521k
/*  8606*/                        OPC_EmitInteger, MVT::i32, 8, 
4075
521k
/*  8609*/                        OPC_EmitInteger, MVT::i1, 0, 
4076
521k
/*  8612*/                        OPC_EmitInteger, MVT::i32, 0, 
4077
521k
/*  8615*/                        OPC_EmitInteger, MVT::i32, 0, 
4078
521k
/*  8618*/                        OPC_EmitInteger, MVT::i32, 0, 
4079
521k
/*  8621*/                        OPC_EmitInteger, MVT::i32, 0, 
4080
521k
/*  8624*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
4081
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
4082
521k
                                  // 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] }:$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>>)<<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
4083
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
4084
521k
/*  8641*/                      /*Scope*/ 68, /*->8710*/
4085
521k
/*  8642*/                        OPC_CheckChild0Same, 1,
4086
521k
/*  8644*/                        OPC_CheckChild1Integer, 24, 
4087
521k
/*  8646*/                        OPC_CheckChild1Type, MVT::i32,
4088
521k
/*  8648*/                        OPC_MoveParent,
4089
521k
/*  8649*/                        OPC_MoveChild1,
4090
521k
/*  8650*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4091
521k
/*  8653*/                        OPC_CheckChild0Same, 0,
4092
521k
/*  8655*/                        OPC_CheckChild1Integer, 24, 
4093
521k
/*  8657*/                        OPC_CheckChild1Type, MVT::i32,
4094
521k
/*  8659*/                        OPC_MoveParent,
4095
521k
/*  8660*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
4096
521k
/*  8662*/                        OPC_MoveParent,
4097
521k
/*  8663*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
4098
521k
/*  8665*/                        OPC_CheckType, MVT::i32,
4099
521k
/*  8667*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
4100
521k
/*  8669*/                        OPC_EmitInteger, MVT::i32, 8, 
4101
521k
/*  8672*/                        OPC_EmitInteger, MVT::i32, 8, 
4102
521k
/*  8675*/                        OPC_EmitInteger, MVT::i32, 8, 
4103
521k
/*  8678*/                        OPC_EmitInteger, MVT::i1, 0, 
4104
521k
/*  8681*/                        OPC_EmitInteger, MVT::i32, 0, 
4105
521k
/*  8684*/                        OPC_EmitInteger, MVT::i32, 0, 
4106
521k
/*  8687*/                        OPC_EmitInteger, MVT::i32, 0, 
4107
521k
/*  8690*/                        OPC_EmitInteger, MVT::i32, 0, 
4108
521k
/*  8693*/                        OPC_MorphNodeTo1, TARGET_VAL(AMDGPU::V_DOT4_U32_U8), 0,
4109
521k
                                      MVT::i32, 11/*#Ops*/, 3, 0, 4, 1, 5, 2, 6, 7, 8, 9, 10, 
4110
521k
                                  // 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] }:$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>>)<<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
4111
521k
                                  // Dst: (V_DOT4_U32_U8:{ *:[i32] } 8:{ *:[i32] }, ?:{ *:[i32] }:$src0, 8:{ *:[i32] }, ?:{ *:[i32] }:$src1, 8:{ *:[i32] }, ?:{ *:[i32] }:$src2, 0:{ *:[i1] })
4112
521k
/*  8710*/                      0, /*End of Scope*/
4113
521k
/*  8711*/                    0, /*End of Scope*/
4114
521k
/*  8712*/                  0, /*End of Scope*/
4115
521k
/*  8713*/                /*Scope*/ 39|128,6/*807*/, /*->9522*/
4116
521k
/*  8715*/                  OPC_RecordChild0, // #2 = $src2
4117
521k
/*  8716*/                  OPC_MoveChild1,
4118
521k
/*  8717*/                  OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
4119
521k
/*  8720*/                  OPC_MoveChild0,
4120
521k
/*  8721*/                  OPC_CheckAndImm, 127|128,1/*255*/, 
4121
521k
/*  8724*/                  OPC_Scope, 12|128,3/*396*/, /*->9123*/ // 2 children in Scope
4122
521k
/*  8727*/                    OPC_CheckChild0Same, 1,
4123
521k
/*  8729*/                    OPC_MoveParent,
4124
521k
/*  8730*/                    OPC_MoveChild1,
4125
521k
/*  8731*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
4126
521k
/*  8734*/                    OPC_CheckChild0Same, 0,
4127
521k
/*  8736*/                    OPC_MoveParent,
4128
521k
/*  8737*/                    OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
4129
521k
/*  8739*/                    OPC_MoveParent,
4130
521k
/*  8740*/                    OPC_CheckPredicate, 0, // Predicate_add_oneuse
4131
521k
/*  8742*/                    OPC_MoveParent,
4132
521k
/*  8743*/                    OPC_MoveChild1,
4133
521k
/*  8744*/                    OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
4134
521k
/*  8747*/                    OPC_MoveChild0,
4135
521k
/*  8748*/                    OPC_CheckAndImm, 127|128,1/*255*/, 
4136
521k
/*  8751*/                    OPC_MoveChild0,
4137
521k
/*  8752*/                    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4138
521k
/*  8755*/                    OPC_Scope, 53|128,1/*181*/, /*->8939*/ // 2 children in Scope
4139
521k
/*  8758*/                      OPC_CheckChild0Same, 1,
4140
521k
/*  8760*/                      OPC_CheckChild1Integer, 8, 
4141
521k
/*  8762*/                      OPC_CheckChild1Type, MVT::i32,
4142
521k
/*  8764*/                      OPC_MoveParent,
4143
521k
/*  8765*/                      OPC_MoveParent,
4144
521k
/*  8766*/                      OPC_MoveChild1,
4145
521k
/*  8767*/                      OPC_CheckAndImm, 127|128,1/*255*/, 
4146
521k
/*  8770*/                      OPC_MoveChild0,
4147
521k
/*  8771*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4148
521k
/*  8774*/                      OPC_CheckChild0Same, 0,
4149
521k
/*  8776*/                      OPC_CheckChild1Integer, 8, 
4150
521k
/*  8778*/                      OPC_CheckChild1Type, MVT::i32,
4151
521k
/*  8780*/                      OPC_MoveParent,
4152
521k
/*  8781*/                      OPC_MoveParent,
4153
521k
/*  8782*/                      OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
4154
521k
/*  8784*/                      OPC_MoveParent,
4155
521k
/*  8785*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
4156
521k
/*  8787*/                      OPC_MoveParent,
4157
521k
/*  8788*/                      OPC_CheckPredicate, 0, // Predicate_add_oneuse
4158
521k
/*  8790*/                      OPC_MoveParent,
4159
521k
/*  8791*/                      OPC_MoveChild1,
4160
521k
/*  8792*/                      OPC_CheckOpcode, TARGET_VAL(AMDGPUISD::MUL_U24),
4161
521k
/*  8795*/                      OPC_MoveChild0,
4162
521k
/*  8796*/                      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4163
521k
/*  8799*/                      OPC_Scope, 68, /*->8869*/ // 2 children in Scope
4164
521k
/*  8801*/                        OPC_CheckChild0Same, 1,
4165
521k
/*  8803*/                        OPC_CheckChild1Integer, 24, 
4166
521k
/*  8805*/                        OPC_CheckChild1Type, MVT::i32,
4167
521k
/*  8807*/                        OPC_MoveParent,
4168
521k
/*  8808*/                        OPC_MoveChild1,
4169
521k
/*  8809*/                        OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4170
521k
/*  8812*/                        OPC_CheckChild0Same, 0,
4171
521k
/*  8814*/                        OPC_CheckChild1Integer, 24, 
4172
521k
/*  8816*/                        OPC_CheckChild1Type, MVT::i32,
4173
521k
/*  8818*/                        OPC_MoveParent,
4174
521k
/*  8819*/                        OPC_CheckPredicate, 0, // Predicate_AMDGPUmul_u24_oneuse
4175
521k
/*  8821*/                        OPC_MoveParent,
4176
521k
/*  8822*/                        OPC_CheckPredicate, 0, // Predicate_add_oneuse
4177
521k
/*  8824*/                        OPC_CheckType, MVT::i32,
4178
521k
/*  8826*/                        OPC_CheckPatternPredicate, 0, // (Subtarget->hasDLInsts()) && (true)
4179
521k
/*  8828*/                        OPC_EmitInteger, MVT::i32, 8, 
4180
521k
/*  8831*/                        OPC_EmitInteger, MVT::i32, 8, 
4181
521k
/*  8834*/                        OPC_EmitInteger, MVT::i32, 8, 
4182
521k
/*  8837*/                        OPC_EmitInteger, MVT::i1, 0, 
4183
521k
/*  8840*/                        OPC_EmitInteger, MVT::i32, 0, 
4184
521k
/*  8843*/                        OPC_EmitInteger, MVT::i32, 0, 
4185
521k
/*  8846*/                        OPC_EmitInteger, MVT::i32, 0, 
4186
521k
/*  8849*/                        OPC_EmitInteger, MVT::i32, 0, 
4187
521k<