Coverage Report

Created: 2024-01-17 10:31

/src/build/lib/Target/LoongArch/LoongArchGenDAGISel.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* DAG Instruction Selector for the LoongArch 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
0
{
53
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
54
  // this.
55
0
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56
0
  static const unsigned char MatcherTable[] = {
57
0
 OPC_SwitchOpcode , 38|128,18, TARGET_VAL(ISD::MUL),
58
0
  OPC_Scope, 58, 
59
0
   OPC_MoveChild0,
60
0
   OPC_SwitchOpcode , 26, TARGET_VAL(LoongArchISD::BSTRPICK),
61
0
    OPC_RecordChild0,
62
0
    OPC_CheckChild1Integer, 62, 
63
0
    OPC_CheckChild1TypeI64,
64
0
    OPC_CheckChild2Integer, 0, 
65
0
    OPC_MoveSibling1,
66
0
    OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
67
0
    OPC_RecordChild0,
68
0
    OPC_CheckChild1Integer, 62, 
69
0
    OPC_CheckChild1TypeI64,
70
0
    OPC_CheckChild2Integer, 0, 
71
0
    OPC_MoveParent,
72
0
    OPC_CheckTypeI64,
73
0
    OPC_CheckPatternPredicate6,
74
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULW_D_WU),
75
0
                  MVT::i64, 2, 0, 1, 
76
0
   23, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
77
0
    OPC_RecordChild0,
78
0
    OPC_MoveChild1,
79
0
    OPC_CheckValueType, MVT::i32,
80
0
    OPC_MoveParent,
81
0
    OPC_MoveSibling1,
82
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
83
0
    OPC_RecordChild0,
84
0
    OPC_MoveChild1,
85
0
    OPC_CheckValueType, MVT::i32,
86
0
    OPC_MoveParent,
87
0
    OPC_MoveParent,
88
0
    OPC_CheckPatternPredicate6,
89
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULW_D_W),
90
0
                  MVT::i64, 2, 0, 1, 
91
0
   0,
92
0
  103|128,17, 
93
0
   OPC_RecordChild0,
94
0
   OPC_Scope, 53, 
95
0
    OPC_CheckChild1Integer, 14, 
96
0
    OPC_CheckPredicate, 12,
97
0
    OPC_SwitchType , 22, MVT::i32,
98
0
     OPC_CheckPatternPredicate, 9,
99
0
     OPC_EmitInteger32, 2, 
100
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
101
0
                   MVT::i32, 3, 0, 0, 1, 
102
0
     OPC_EmitInteger32, 2, 
103
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
104
0
                   MVT::i32, 3, 2, 0, 3, 
105
0
    21, MVT::i64,
106
0
     OPC_CheckPatternPredicate6,
107
0
     OPC_EmitInteger64, 2, 
108
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
109
0
                   MVT::i64, 3, 0, 0, 1, 
110
0
     OPC_EmitInteger64, 2, 
111
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
112
0
                   MVT::i64, 3, 2, 0, 3, 
113
0
    0,
114
0
   53, 
115
0
    OPC_CheckChild1Integer, 26, 
116
0
    OPC_CheckPredicate, 12,
117
0
    OPC_SwitchType , 22, MVT::i32,
118
0
     OPC_CheckPatternPredicate, 9,
119
0
     OPC_EmitInteger32, 2, 
120
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
121
0
                   MVT::i32, 3, 0, 0, 1, 
122
0
     OPC_EmitInteger32, 4, 
123
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
124
0
                   MVT::i32, 3, 2, 0, 3, 
125
0
    21, MVT::i64,
126
0
     OPC_CheckPatternPredicate6,
127
0
     OPC_EmitInteger64, 2, 
128
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
129
0
                   MVT::i64, 3, 0, 0, 1, 
130
0
     OPC_EmitInteger64, 4, 
131
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
132
0
                   MVT::i64, 3, 2, 0, 3, 
133
0
    0,
134
0
   121, 
135
0
    OPC_CheckChild1Integer, 50, 
136
0
    OPC_CheckPredicate, 12,
137
0
    OPC_SwitchType , 56, MVT::i32,
138
0
     OPC_CheckPatternPredicate, 9,
139
0
     OPC_Scope, 20, 
140
0
      OPC_EmitInteger32, 2, 
141
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
142
0
                    MVT::i32, 3, 0, 0, 1, 
143
0
      OPC_EmitInteger32, 6, 
144
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
145
0
                    MVT::i32, 3, 2, 0, 3, 
146
0
     30, 
147
0
      OPC_EmitInteger32, 4, 
148
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
149
0
                    MVT::i32, 3, 0, 0, 1, 
150
0
      OPC_EmitInteger32, 4, 
151
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
152
0
                    MVT::i32, 3, 0, 0, 3, 
153
0
      OPC_EmitInteger32, 4, 
154
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
155
0
                    MVT::i32, 3, 2, 4, 5, 
156
0
     0, 
157
0
    55, MVT::i64,
158
0
     OPC_CheckPatternPredicate6,
159
0
     OPC_Scope, 20, 
160
0
      OPC_EmitInteger64, 2, 
161
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
162
0
                    MVT::i64, 3, 0, 0, 1, 
163
0
      OPC_EmitInteger64, 6, 
164
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
165
0
                    MVT::i64, 3, 2, 0, 3, 
166
0
     30, 
167
0
      OPC_EmitInteger64, 4, 
168
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
169
0
                    MVT::i64, 3, 0, 0, 1, 
170
0
      OPC_EmitInteger64, 4, 
171
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
172
0
                    MVT::i64, 3, 0, 0, 3, 
173
0
      OPC_EmitInteger64, 4, 
174
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
175
0
                    MVT::i64, 3, 2, 4, 5, 
176
0
     0, 
177
0
    0,
178
0
   53, 
179
0
    OPC_CheckChild1Integer, 98, 
180
0
    OPC_CheckPredicate, 12,
181
0
    OPC_SwitchType , 22, MVT::i32,
182
0
     OPC_CheckPatternPredicate, 9,
183
0
     OPC_EmitInteger32, 2, 
184
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
185
0
                   MVT::i32, 3, 0, 0, 1, 
186
0
     OPC_EmitInteger32, 8, 
187
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
188
0
                   MVT::i32, 3, 2, 0, 3, 
189
0
    21, MVT::i64,
190
0
     OPC_CheckPatternPredicate6,
191
0
     OPC_EmitInteger64, 2, 
192
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
193
0
                   MVT::i64, 3, 0, 0, 1, 
194
0
     OPC_EmitInteger64, 8, 
195
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
196
0
                   MVT::i64, 3, 2, 0, 3, 
197
0
    0,
198
0
   53, 
199
0
    OPC_CheckChild1Integer, 22, 
200
0
    OPC_CheckPredicate, 12,
201
0
    OPC_SwitchType , 22, MVT::i32,
202
0
     OPC_CheckPatternPredicate, 9,
203
0
     OPC_EmitInteger32, 4, 
204
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
205
0
                   MVT::i32, 3, 0, 0, 1, 
206
0
     OPC_EmitInteger32, 2, 
207
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
208
0
                   MVT::i32, 3, 2, 0, 3, 
209
0
    21, MVT::i64,
210
0
     OPC_CheckPatternPredicate6,
211
0
     OPC_EmitInteger64, 4, 
212
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
213
0
                   MVT::i64, 3, 0, 0, 1, 
214
0
     OPC_EmitInteger64, 2, 
215
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
216
0
                   MVT::i64, 3, 2, 0, 3, 
217
0
    0,
218
0
   53, 
219
0
    OPC_CheckChild1Integer, 42, 
220
0
    OPC_CheckPredicate, 12,
221
0
    OPC_SwitchType , 22, MVT::i32,
222
0
     OPC_CheckPatternPredicate, 9,
223
0
     OPC_EmitInteger32, 4, 
224
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
225
0
                   MVT::i32, 3, 0, 0, 1, 
226
0
     OPC_EmitInteger32, 4, 
227
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
228
0
                   MVT::i32, 3, 2, 0, 3, 
229
0
    21, MVT::i64,
230
0
     OPC_CheckPatternPredicate6,
231
0
     OPC_EmitInteger64, 4, 
232
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
233
0
                   MVT::i64, 3, 0, 0, 1, 
234
0
     OPC_EmitInteger64, 4, 
235
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
236
0
                   MVT::i64, 3, 2, 0, 3, 
237
0
    0,
238
0
   53, 
239
0
    OPC_CheckChild1Integer, 82, 
240
0
    OPC_CheckPredicate, 12,
241
0
    OPC_SwitchType , 22, MVT::i32,
242
0
     OPC_CheckPatternPredicate, 9,
243
0
     OPC_EmitInteger32, 4, 
244
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
245
0
                   MVT::i32, 3, 0, 0, 1, 
246
0
     OPC_EmitInteger32, 6, 
247
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
248
0
                   MVT::i32, 3, 2, 0, 3, 
249
0
    21, MVT::i64,
250
0
     OPC_CheckPatternPredicate6,
251
0
     OPC_EmitInteger64, 4, 
252
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
253
0
                   MVT::i64, 3, 0, 0, 1, 
254
0
     OPC_EmitInteger64, 6, 
255
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
256
0
                   MVT::i64, 3, 2, 0, 3, 
257
0
    0,
258
0
   122, 
259
0
    OPC_CheckChild1Integer, 34|128,1, 
260
0
    OPC_CheckPredicate, 12,
261
0
    OPC_SwitchType , 56, MVT::i32,
262
0
     OPC_CheckPatternPredicate, 9,
263
0
     OPC_Scope, 20, 
264
0
      OPC_EmitInteger32, 4, 
265
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
266
0
                    MVT::i32, 3, 0, 0, 1, 
267
0
      OPC_EmitInteger32, 8, 
268
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
269
0
                    MVT::i32, 3, 2, 0, 3, 
270
0
     30, 
271
0
      OPC_EmitInteger32, 6, 
272
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
273
0
                    MVT::i32, 3, 0, 0, 1, 
274
0
      OPC_EmitInteger32, 6, 
275
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
276
0
                    MVT::i32, 3, 0, 0, 3, 
277
0
      OPC_EmitInteger32, 6, 
278
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
279
0
                    MVT::i32, 3, 2, 4, 5, 
280
0
     0, 
281
0
    55, MVT::i64,
282
0
     OPC_CheckPatternPredicate6,
283
0
     OPC_Scope, 20, 
284
0
      OPC_EmitInteger64, 4, 
285
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
286
0
                    MVT::i64, 3, 0, 0, 1, 
287
0
      OPC_EmitInteger64, 8, 
288
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
289
0
                    MVT::i64, 3, 2, 0, 3, 
290
0
     30, 
291
0
      OPC_EmitInteger64, 6, 
292
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
293
0
                    MVT::i64, 3, 0, 0, 1, 
294
0
      OPC_EmitInteger64, 6, 
295
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
296
0
                    MVT::i64, 3, 0, 0, 3, 
297
0
      OPC_EmitInteger64, 6, 
298
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
299
0
                    MVT::i64, 3, 2, 4, 5, 
300
0
     0, 
301
0
    0,
302
0
   53, 
303
0
    OPC_CheckChild1Integer, 38, 
304
0
    OPC_CheckPredicate, 12,
305
0
    OPC_SwitchType , 22, MVT::i32,
306
0
     OPC_CheckPatternPredicate, 9,
307
0
     OPC_EmitInteger32, 6, 
308
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
309
0
                   MVT::i32, 3, 0, 0, 1, 
310
0
     OPC_EmitInteger32, 2, 
311
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
312
0
                   MVT::i32, 3, 2, 0, 3, 
313
0
    21, MVT::i64,
314
0
     OPC_CheckPatternPredicate6,
315
0
     OPC_EmitInteger64, 6, 
316
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
317
0
                   MVT::i64, 3, 0, 0, 1, 
318
0
     OPC_EmitInteger64, 2, 
319
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
320
0
                   MVT::i64, 3, 2, 0, 3, 
321
0
    0,
322
0
   53, 
323
0
    OPC_CheckChild1Integer, 74, 
324
0
    OPC_CheckPredicate, 12,
325
0
    OPC_SwitchType , 22, MVT::i32,
326
0
     OPC_CheckPatternPredicate, 9,
327
0
     OPC_EmitInteger32, 6, 
328
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
329
0
                   MVT::i32, 3, 0, 0, 1, 
330
0
     OPC_EmitInteger32, 4, 
331
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
332
0
                   MVT::i32, 3, 2, 0, 3, 
333
0
    21, MVT::i64,
334
0
     OPC_CheckPatternPredicate6,
335
0
     OPC_EmitInteger64, 6, 
336
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
337
0
                   MVT::i64, 3, 0, 0, 1, 
338
0
     OPC_EmitInteger64, 4, 
339
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
340
0
                   MVT::i64, 3, 2, 0, 3, 
341
0
    0,
342
0
   54, 
343
0
    OPC_CheckChild1Integer, 18|128,1, 
344
0
    OPC_CheckPredicate, 12,
345
0
    OPC_SwitchType , 22, MVT::i32,
346
0
     OPC_CheckPatternPredicate, 9,
347
0
     OPC_EmitInteger32, 6, 
348
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
349
0
                   MVT::i32, 3, 0, 0, 1, 
350
0
     OPC_EmitInteger32, 6, 
351
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
352
0
                   MVT::i32, 3, 2, 0, 3, 
353
0
    21, MVT::i64,
354
0
     OPC_CheckPatternPredicate6,
355
0
     OPC_EmitInteger64, 6, 
356
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
357
0
                   MVT::i64, 3, 0, 0, 1, 
358
0
     OPC_EmitInteger64, 6, 
359
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
360
0
                   MVT::i64, 3, 2, 0, 3, 
361
0
    0,
362
0
   54, 
363
0
    OPC_CheckChild1Integer, 34|128,2, 
364
0
    OPC_CheckPredicate, 12,
365
0
    OPC_SwitchType , 22, MVT::i32,
366
0
     OPC_CheckPatternPredicate, 9,
367
0
     OPC_EmitInteger32, 6, 
368
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
369
0
                   MVT::i32, 3, 0, 0, 1, 
370
0
     OPC_EmitInteger32, 8, 
371
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
372
0
                   MVT::i32, 3, 2, 0, 3, 
373
0
    21, MVT::i64,
374
0
     OPC_CheckPatternPredicate6,
375
0
     OPC_EmitInteger64, 6, 
376
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
377
0
                   MVT::i64, 3, 0, 0, 1, 
378
0
     OPC_EmitInteger64, 8, 
379
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
380
0
                   MVT::i64, 3, 2, 0, 3, 
381
0
    0,
382
0
   53, 
383
0
    OPC_CheckChild1Integer, 70, 
384
0
    OPC_CheckPredicate, 12,
385
0
    OPC_SwitchType , 22, MVT::i32,
386
0
     OPC_CheckPatternPredicate, 9,
387
0
     OPC_EmitInteger32, 8, 
388
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
389
0
                   MVT::i32, 3, 0, 0, 1, 
390
0
     OPC_EmitInteger32, 2, 
391
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
392
0
                   MVT::i32, 3, 2, 0, 3, 
393
0
    21, MVT::i64,
394
0
     OPC_CheckPatternPredicate6,
395
0
     OPC_EmitInteger64, 8, 
396
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
397
0
                   MVT::i64, 3, 0, 0, 1, 
398
0
     OPC_EmitInteger64, 2, 
399
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
400
0
                   MVT::i64, 3, 2, 0, 3, 
401
0
    0,
402
0
   54, 
403
0
    OPC_CheckChild1Integer, 10|128,1, 
404
0
    OPC_CheckPredicate, 12,
405
0
    OPC_SwitchType , 22, MVT::i32,
406
0
     OPC_CheckPatternPredicate, 9,
407
0
     OPC_EmitInteger32, 8, 
408
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
409
0
                   MVT::i32, 3, 0, 0, 1, 
410
0
     OPC_EmitInteger32, 4, 
411
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
412
0
                   MVT::i32, 3, 2, 0, 3, 
413
0
    21, MVT::i64,
414
0
     OPC_CheckPatternPredicate6,
415
0
     OPC_EmitInteger64, 8, 
416
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
417
0
                   MVT::i64, 3, 0, 0, 1, 
418
0
     OPC_EmitInteger64, 4, 
419
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
420
0
                   MVT::i64, 3, 2, 0, 3, 
421
0
    0,
422
0
   54, 
423
0
    OPC_CheckChild1Integer, 18|128,2, 
424
0
    OPC_CheckPredicate, 12,
425
0
    OPC_SwitchType , 22, MVT::i32,
426
0
     OPC_CheckPatternPredicate, 9,
427
0
     OPC_EmitInteger32, 8, 
428
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
429
0
                   MVT::i32, 3, 0, 0, 1, 
430
0
     OPC_EmitInteger32, 6, 
431
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
432
0
                   MVT::i32, 3, 2, 0, 3, 
433
0
    21, MVT::i64,
434
0
     OPC_CheckPatternPredicate6,
435
0
     OPC_EmitInteger64, 8, 
436
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
437
0
                   MVT::i64, 3, 0, 0, 1, 
438
0
     OPC_EmitInteger64, 6, 
439
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
440
0
                   MVT::i64, 3, 2, 0, 3, 
441
0
    0,
442
0
   54, 
443
0
    OPC_CheckChild1Integer, 34|128,4, 
444
0
    OPC_CheckPredicate, 12,
445
0
    OPC_SwitchType , 22, MVT::i32,
446
0
     OPC_CheckPatternPredicate, 9,
447
0
     OPC_EmitInteger32, 8, 
448
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
449
0
                   MVT::i32, 3, 0, 0, 1, 
450
0
     OPC_EmitInteger32, 8, 
451
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
452
0
                   MVT::i32, 3, 2, 0, 3, 
453
0
    21, MVT::i64,
454
0
     OPC_CheckPatternPredicate6,
455
0
     OPC_EmitInteger64, 8, 
456
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
457
0
                   MVT::i64, 3, 0, 0, 1, 
458
0
     OPC_EmitInteger64, 8, 
459
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
460
0
                   MVT::i64, 3, 2, 0, 3, 
461
0
    0,
462
0
   73, 
463
0
    OPC_CheckChild1Integer, 18, 
464
0
    OPC_CheckPredicate, 12,
465
0
    OPC_SwitchType , 32, MVT::i32,
466
0
     OPC_CheckPatternPredicate, 9,
467
0
     OPC_EmitInteger32, 2, 
468
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
469
0
                   MVT::i32, 3, 0, 0, 1, 
470
0
     OPC_EmitInteger32, 2, 
471
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
472
0
                   MVT::i32, 3, 0, 0, 3, 
473
0
     OPC_EmitInteger32, 2, 
474
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
475
0
                   MVT::i32, 3, 2, 4, 5, 
476
0
    31, MVT::i64,
477
0
     OPC_CheckPatternPredicate6,
478
0
     OPC_EmitInteger64, 2, 
479
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
480
0
                   MVT::i64, 3, 0, 0, 1, 
481
0
     OPC_EmitInteger64, 2, 
482
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
483
0
                   MVT::i64, 3, 0, 0, 3, 
484
0
     OPC_EmitInteger64, 2, 
485
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
486
0
                   MVT::i64, 3, 2, 4, 5, 
487
0
    0,
488
0
   13|128,1, 
489
0
    OPC_CheckChild1Integer, 30, 
490
0
    OPC_CheckPredicate, 12,
491
0
    OPC_SwitchType , 66, MVT::i32,
492
0
     OPC_CheckPatternPredicate, 9,
493
0
     OPC_Scope, 30, 
494
0
      OPC_EmitInteger32, 2, 
495
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
496
0
                    MVT::i32, 3, 0, 0, 1, 
497
0
      OPC_EmitInteger32, 2, 
498
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
499
0
                    MVT::i32, 3, 0, 0, 3, 
500
0
      OPC_EmitInteger32, 4, 
501
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
502
0
                    MVT::i32, 3, 2, 4, 5, 
503
0
     30, 
504
0
      OPC_EmitInteger32, 4, 
505
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
506
0
                    MVT::i32, 3, 0, 0, 1, 
507
0
      OPC_EmitInteger32, 4, 
508
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
509
0
                    MVT::i32, 3, 0, 0, 3, 
510
0
      OPC_EmitInteger32, 2, 
511
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
512
0
                    MVT::i32, 3, 2, 4, 5, 
513
0
     0, 
514
0
    65, MVT::i64,
515
0
     OPC_CheckPatternPredicate6,
516
0
     OPC_Scope, 30, 
517
0
      OPC_EmitInteger64, 2, 
518
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
519
0
                    MVT::i64, 3, 0, 0, 1, 
520
0
      OPC_EmitInteger64, 2, 
521
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
522
0
                    MVT::i64, 3, 0, 0, 3, 
523
0
      OPC_EmitInteger64, 4, 
524
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
525
0
                    MVT::i64, 3, 2, 4, 5, 
526
0
     30, 
527
0
      OPC_EmitInteger64, 4, 
528
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
529
0
                    MVT::i64, 3, 0, 0, 1, 
530
0
      OPC_EmitInteger64, 4, 
531
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
532
0
                    MVT::i64, 3, 0, 0, 3, 
533
0
      OPC_EmitInteger64, 2, 
534
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
535
0
                    MVT::i64, 3, 2, 4, 5, 
536
0
     0, 
537
0
    0,
538
0
   13|128,1, 
539
0
    OPC_CheckChild1Integer, 54, 
540
0
    OPC_CheckPredicate, 12,
541
0
    OPC_SwitchType , 66, MVT::i32,
542
0
     OPC_CheckPatternPredicate, 9,
543
0
     OPC_Scope, 30, 
544
0
      OPC_EmitInteger32, 2, 
545
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
546
0
                    MVT::i32, 3, 0, 0, 1, 
547
0
      OPC_EmitInteger32, 2, 
548
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
549
0
                    MVT::i32, 3, 0, 0, 3, 
550
0
      OPC_EmitInteger32, 6, 
551
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
552
0
                    MVT::i32, 3, 2, 4, 5, 
553
0
     30, 
554
0
      OPC_EmitInteger32, 6, 
555
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
556
0
                    MVT::i32, 3, 0, 0, 1, 
557
0
      OPC_EmitInteger32, 6, 
558
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
559
0
                    MVT::i32, 3, 0, 0, 3, 
560
0
      OPC_EmitInteger32, 2, 
561
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
562
0
                    MVT::i32, 3, 2, 4, 5, 
563
0
     0, 
564
0
    65, MVT::i64,
565
0
     OPC_CheckPatternPredicate6,
566
0
     OPC_Scope, 30, 
567
0
      OPC_EmitInteger64, 2, 
568
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
569
0
                    MVT::i64, 3, 0, 0, 1, 
570
0
      OPC_EmitInteger64, 2, 
571
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
572
0
                    MVT::i64, 3, 0, 0, 3, 
573
0
      OPC_EmitInteger64, 6, 
574
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
575
0
                    MVT::i64, 3, 2, 4, 5, 
576
0
     30, 
577
0
      OPC_EmitInteger64, 6, 
578
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
579
0
                    MVT::i64, 3, 0, 0, 1, 
580
0
      OPC_EmitInteger64, 6, 
581
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
582
0
                    MVT::i64, 3, 0, 0, 3, 
583
0
      OPC_EmitInteger64, 2, 
584
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
585
0
                    MVT::i64, 3, 2, 4, 5, 
586
0
     0, 
587
0
    0,
588
0
   13|128,1, 
589
0
    OPC_CheckChild1Integer, 102, 
590
0
    OPC_CheckPredicate, 12,
591
0
    OPC_SwitchType , 66, MVT::i32,
592
0
     OPC_CheckPatternPredicate, 9,
593
0
     OPC_Scope, 30, 
594
0
      OPC_EmitInteger32, 2, 
595
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
596
0
                    MVT::i32, 3, 0, 0, 1, 
597
0
      OPC_EmitInteger32, 2, 
598
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
599
0
                    MVT::i32, 3, 0, 0, 3, 
600
0
      OPC_EmitInteger32, 8, 
601
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
602
0
                    MVT::i32, 3, 2, 4, 5, 
603
0
     30, 
604
0
      OPC_EmitInteger32, 8, 
605
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
606
0
                    MVT::i32, 3, 0, 0, 1, 
607
0
      OPC_EmitInteger32, 8, 
608
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
609
0
                    MVT::i32, 3, 0, 0, 3, 
610
0
      OPC_EmitInteger32, 2, 
611
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
612
0
                    MVT::i32, 3, 2, 4, 5, 
613
0
     0, 
614
0
    65, MVT::i64,
615
0
     OPC_CheckPatternPredicate6,
616
0
     OPC_Scope, 30, 
617
0
      OPC_EmitInteger64, 2, 
618
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
619
0
                    MVT::i64, 3, 0, 0, 1, 
620
0
      OPC_EmitInteger64, 2, 
621
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
622
0
                    MVT::i64, 3, 0, 0, 3, 
623
0
      OPC_EmitInteger64, 8, 
624
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
625
0
                    MVT::i64, 3, 2, 4, 5, 
626
0
     30, 
627
0
      OPC_EmitInteger64, 8, 
628
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
629
0
                    MVT::i64, 3, 0, 0, 1, 
630
0
      OPC_EmitInteger64, 8, 
631
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
632
0
                    MVT::i64, 3, 0, 0, 3, 
633
0
      OPC_EmitInteger64, 2, 
634
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
635
0
                    MVT::i64, 3, 2, 4, 5, 
636
0
     0, 
637
0
    0,
638
0
   13|128,1, 
639
0
    OPC_CheckChild1Integer, 90, 
640
0
    OPC_CheckPredicate, 12,
641
0
    OPC_SwitchType , 66, MVT::i32,
642
0
     OPC_CheckPatternPredicate, 9,
643
0
     OPC_Scope, 30, 
644
0
      OPC_EmitInteger32, 4, 
645
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
646
0
                    MVT::i32, 3, 0, 0, 1, 
647
0
      OPC_EmitInteger32, 4, 
648
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
649
0
                    MVT::i32, 3, 0, 0, 3, 
650
0
      OPC_EmitInteger32, 6, 
651
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
652
0
                    MVT::i32, 3, 2, 4, 5, 
653
0
     30, 
654
0
      OPC_EmitInteger32, 6, 
655
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
656
0
                    MVT::i32, 3, 0, 0, 1, 
657
0
      OPC_EmitInteger32, 6, 
658
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
659
0
                    MVT::i32, 3, 0, 0, 3, 
660
0
      OPC_EmitInteger32, 4, 
661
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
662
0
                    MVT::i32, 3, 2, 4, 5, 
663
0
     0, 
664
0
    65, MVT::i64,
665
0
     OPC_CheckPatternPredicate6,
666
0
     OPC_Scope, 30, 
667
0
      OPC_EmitInteger64, 4, 
668
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
669
0
                    MVT::i64, 3, 0, 0, 1, 
670
0
      OPC_EmitInteger64, 4, 
671
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
672
0
                    MVT::i64, 3, 0, 0, 3, 
673
0
      OPC_EmitInteger64, 6, 
674
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
675
0
                    MVT::i64, 3, 2, 4, 5, 
676
0
     30, 
677
0
      OPC_EmitInteger64, 6, 
678
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
679
0
                    MVT::i64, 3, 0, 0, 1, 
680
0
      OPC_EmitInteger64, 6, 
681
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
682
0
                    MVT::i64, 3, 0, 0, 3, 
683
0
      OPC_EmitInteger64, 4, 
684
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
685
0
                    MVT::i64, 3, 2, 4, 5, 
686
0
     0, 
687
0
    0,
688
0
   14|128,1, 
689
0
    OPC_CheckChild1Integer, 42|128,1, 
690
0
    OPC_CheckPredicate, 12,
691
0
    OPC_SwitchType , 66, MVT::i32,
692
0
     OPC_CheckPatternPredicate, 9,
693
0
     OPC_Scope, 30, 
694
0
      OPC_EmitInteger32, 4, 
695
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
696
0
                    MVT::i32, 3, 0, 0, 1, 
697
0
      OPC_EmitInteger32, 4, 
698
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
699
0
                    MVT::i32, 3, 0, 0, 3, 
700
0
      OPC_EmitInteger32, 8, 
701
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
702
0
                    MVT::i32, 3, 2, 4, 5, 
703
0
     30, 
704
0
      OPC_EmitInteger32, 8, 
705
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
706
0
                    MVT::i32, 3, 0, 0, 1, 
707
0
      OPC_EmitInteger32, 8, 
708
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
709
0
                    MVT::i32, 3, 0, 0, 3, 
710
0
      OPC_EmitInteger32, 4, 
711
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
712
0
                    MVT::i32, 3, 2, 4, 5, 
713
0
     0, 
714
0
    65, MVT::i64,
715
0
     OPC_CheckPatternPredicate6,
716
0
     OPC_Scope, 30, 
717
0
      OPC_EmitInteger64, 4, 
718
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
719
0
                    MVT::i64, 3, 0, 0, 1, 
720
0
      OPC_EmitInteger64, 4, 
721
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
722
0
                    MVT::i64, 3, 0, 0, 3, 
723
0
      OPC_EmitInteger64, 8, 
724
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
725
0
                    MVT::i64, 3, 2, 4, 5, 
726
0
     30, 
727
0
      OPC_EmitInteger64, 8, 
728
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
729
0
                    MVT::i64, 3, 0, 0, 1, 
730
0
      OPC_EmitInteger64, 8, 
731
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
732
0
                    MVT::i64, 3, 0, 0, 3, 
733
0
      OPC_EmitInteger64, 4, 
734
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
735
0
                    MVT::i64, 3, 2, 4, 5, 
736
0
     0, 
737
0
    0,
738
0
   14|128,1, 
739
0
    OPC_CheckChild1Integer, 50|128,2, 
740
0
    OPC_CheckPredicate, 12,
741
0
    OPC_SwitchType , 66, MVT::i32,
742
0
     OPC_CheckPatternPredicate, 9,
743
0
     OPC_Scope, 30, 
744
0
      OPC_EmitInteger32, 6, 
745
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
746
0
                    MVT::i32, 3, 0, 0, 1, 
747
0
      OPC_EmitInteger32, 6, 
748
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
749
0
                    MVT::i32, 3, 0, 0, 3, 
750
0
      OPC_EmitInteger32, 8, 
751
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
752
0
                    MVT::i32, 3, 2, 4, 5, 
753
0
     30, 
754
0
      OPC_EmitInteger32, 8, 
755
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
756
0
                    MVT::i32, 3, 0, 0, 1, 
757
0
      OPC_EmitInteger32, 8, 
758
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
759
0
                    MVT::i32, 3, 0, 0, 3, 
760
0
      OPC_EmitInteger32, 6, 
761
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
762
0
                    MVT::i32, 3, 2, 4, 5, 
763
0
     0, 
764
0
    65, MVT::i64,
765
0
     OPC_CheckPatternPredicate6,
766
0
     OPC_Scope, 30, 
767
0
      OPC_EmitInteger64, 6, 
768
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
769
0
                    MVT::i64, 3, 0, 0, 1, 
770
0
      OPC_EmitInteger64, 6, 
771
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
772
0
                    MVT::i64, 3, 0, 0, 3, 
773
0
      OPC_EmitInteger64, 8, 
774
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
775
0
                    MVT::i64, 3, 2, 4, 5, 
776
0
     30, 
777
0
      OPC_EmitInteger64, 8, 
778
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
779
0
                    MVT::i64, 3, 0, 0, 1, 
780
0
      OPC_EmitInteger64, 8, 
781
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
782
0
                    MVT::i64, 3, 0, 0, 3, 
783
0
      OPC_EmitInteger64, 6, 
784
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
785
0
                    MVT::i64, 3, 2, 4, 5, 
786
0
     0, 
787
0
    0,
788
0
   74, 
789
0
    OPC_CheckChild1Integer, 66|128,4, 
790
0
    OPC_CheckPredicate, 12,
791
0
    OPC_SwitchType , 32, MVT::i32,
792
0
     OPC_CheckPatternPredicate, 9,
793
0
     OPC_EmitInteger32, 8, 
794
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
795
0
                   MVT::i32, 3, 0, 0, 1, 
796
0
     OPC_EmitInteger32, 8, 
797
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
798
0
                   MVT::i32, 3, 0, 0, 3, 
799
0
     OPC_EmitInteger32, 8, 
800
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
801
0
                   MVT::i32, 3, 2, 4, 5, 
802
0
    31, MVT::i64,
803
0
     OPC_CheckPatternPredicate6,
804
0
     OPC_EmitInteger64, 8, 
805
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
806
0
                   MVT::i64, 3, 0, 0, 1, 
807
0
     OPC_EmitInteger64, 8, 
808
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
809
0
                   MVT::i64, 3, 0, 0, 3, 
810
0
     OPC_EmitInteger64, 8, 
811
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
812
0
                   MVT::i64, 3, 2, 4, 5, 
813
0
    0,
814
0
   3|128,2, 
815
0
    OPC_RecordChild1,
816
0
    OPC_Scope, 120, 
817
0
     OPC_MoveChild1,
818
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
819
0
     OPC_CheckPredicate, 52,
820
0
     OPC_MoveParent,
821
0
     OPC_SwitchType , 53, MVT::i64,
822
0
      OPC_Scope, 25, 
823
0
       OPC_CheckPatternPredicate, 15,
824
0
       OPC_EmitConvertToTarget1,
825
0
       OPC_EmitNodeXForm, 0, 2,
826
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
827
0
                     MVT::i64, 3, 0, 0, 3, 
828
0
       OPC_EmitConvertToTarget1,
829
0
       OPC_EmitNodeXForm, 1, 5,
830
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
831
0
                     MVT::i64, 2, 4, 6, 
832
0
      24, 
833
0
       OPC_CheckPatternPredicate6,
834
0
       OPC_EmitConvertToTarget1,
835
0
       OPC_EmitNodeXForm, 0, 2,
836
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
837
0
                     MVT::i64, 3, 0, 0, 3, 
838
0
       OPC_EmitConvertToTarget1,
839
0
       OPC_EmitNodeXForm, 1, 5,
840
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
841
0
                     MVT::i64, 2, 4, 6, 
842
0
      0, 
843
0
     54, MVT::i32,
844
0
      OPC_Scope, 25, 
845
0
       OPC_CheckPatternPredicate, 9,
846
0
       OPC_EmitConvertToTarget1,
847
0
       OPC_EmitNodeXForm, 0, 2,
848
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
849
0
                     MVT::i32, 3, 0, 0, 3, 
850
0
       OPC_EmitConvertToTarget1,
851
0
       OPC_EmitNodeXForm, 1, 5,
852
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
853
0
                     MVT::i32, 2, 4, 6, 
854
0
      25, 
855
0
       OPC_CheckPatternPredicate, 10,
856
0
       OPC_EmitConvertToTarget1,
857
0
       OPC_EmitNodeXForm, 0, 2,
858
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
859
0
                     MVT::i32, 3, 0, 0, 3, 
860
0
       OPC_EmitConvertToTarget1,
861
0
       OPC_EmitNodeXForm, 1, 5,
862
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
863
0
                     MVT::i32, 2, 4, 6, 
864
0
      0, 
865
0
     0,
866
0
    22, 
867
0
     OPC_CheckTypeI64,
868
0
     OPC_Scope, 9, 
869
0
      OPC_CheckPatternPredicate, 15,
870
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_W),
871
0
                    MVT::i64, 2, 0, 1, 
872
0
     8, 
873
0
      OPC_CheckPatternPredicate6,
874
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_D),
875
0
                    MVT::i64, 2, 0, 1, 
876
0
     0, 
877
0
    23, 
878
0
     OPC_CheckTypeI32,
879
0
     OPC_Scope, 9, 
880
0
      OPC_CheckPatternPredicate, 9,
881
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_W),
882
0
                    MVT::i32, 2, 0, 1, 
883
0
     9, 
884
0
      OPC_CheckPatternPredicate, 10,
885
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_D),
886
0
                    MVT::i32, 2, 0, 1, 
887
0
     0, 
888
0
    10, 
889
0
     OPC_CheckType, MVT::v16i8,
890
0
     OPC_CheckPatternPredicate1,
891
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_B),
892
0
                   MVT::v16i8, 2, 0, 1, 
893
0
    10, 
894
0
     OPC_CheckType, MVT::v8i16,
895
0
     OPC_CheckPatternPredicate1,
896
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_H),
897
0
                   MVT::v8i16, 2, 0, 1, 
898
0
    10, 
899
0
     OPC_CheckType, MVT::v4i32,
900
0
     OPC_CheckPatternPredicate1,
901
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_W),
902
0
                   MVT::v4i32, 2, 0, 1, 
903
0
    10, 
904
0
     OPC_CheckType, MVT::v2i64,
905
0
     OPC_CheckPatternPredicate1,
906
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_D),
907
0
                   MVT::v2i64, 2, 0, 1, 
908
0
    10, 
909
0
     OPC_CheckType, MVT::v32i8,
910
0
     OPC_CheckPatternPredicate0,
911
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_B),
912
0
                   MVT::v32i8, 2, 0, 1, 
913
0
    10, 
914
0
     OPC_CheckType, MVT::v16i16,
915
0
     OPC_CheckPatternPredicate0,
916
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_H),
917
0
                   MVT::v16i16, 2, 0, 1, 
918
0
    10, 
919
0
     OPC_CheckType, MVT::v8i32,
920
0
     OPC_CheckPatternPredicate0,
921
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_W),
922
0
                   MVT::v8i32, 2, 0, 1, 
923
0
    10, 
924
0
     OPC_CheckType, MVT::v4i64,
925
0
     OPC_CheckPatternPredicate0,
926
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_D),
927
0
                   MVT::v4i64, 2, 0, 1, 
928
0
    0, 
929
0
   0, 
930
0
  0, 
931
0
 99|128,12, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
932
0
  OPC_Scope, 26|128,12, 
933
0
   OPC_MoveChild0,
934
0
   OPC_SwitchOpcode , 61|128,1, TARGET_VAL(ISD::OR),
935
0
    OPC_MoveChild0,
936
0
    OPC_SwitchOpcode , 93, TARGET_VAL(ISD::SHL),
937
0
     OPC_RecordChild0,
938
0
     OPC_Scope, 29, 
939
0
      OPC_CheckChild1Integer, 16, 
940
0
      OPC_CheckChild1TypeI64,
941
0
      OPC_MoveSibling1,
942
0
      OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
943
0
      OPC_RecordChild0,
944
0
      OPC_CheckChild1Integer, 62, 
945
0
      OPC_CheckChild1TypeI64,
946
0
      OPC_CheckChild2Integer, 48, 
947
0
      OPC_MoveParent,
948
0
      OPC_MoveSibling1,
949
0
      OPC_CheckValueType, MVT::i32,
950
0
      OPC_MoveParent,
951
0
      OPC_CheckPatternPredicate6,
952
0
      OPC_EmitInteger64, 2, 
953
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
954
0
                    MVT::i64, 3, 1, 0, 2, 
955
0
     29, 
956
0
      OPC_CheckChild1Integer, 32, 
957
0
      OPC_CheckChild1TypeI64,
958
0
      OPC_MoveSibling1,
959
0
      OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
960
0
      OPC_RecordChild0,
961
0
      OPC_CheckChild1Integer, 62, 
962
0
      OPC_CheckChild1TypeI64,
963
0
      OPC_CheckChild2Integer, 32, 
964
0
      OPC_MoveParent,
965
0
      OPC_MoveSibling1,
966
0
      OPC_CheckValueType, MVT::i32,
967
0
      OPC_MoveParent,
968
0
      OPC_CheckPatternPredicate6,
969
0
      OPC_EmitInteger64, 4, 
970
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
971
0
                    MVT::i64, 3, 1, 0, 2, 
972
0
     29, 
973
0
      OPC_CheckChild1Integer, 48, 
974
0
      OPC_CheckChild1TypeI64,
975
0
      OPC_MoveSibling1,
976
0
      OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
977
0
      OPC_RecordChild0,
978
0
      OPC_CheckChild1Integer, 62, 
979
0
      OPC_CheckChild1TypeI64,
980
0
      OPC_CheckChild2Integer, 16, 
981
0
      OPC_MoveParent,
982
0
      OPC_MoveSibling1,
983
0
      OPC_CheckValueType, MVT::i32,
984
0
      OPC_MoveParent,
985
0
      OPC_CheckPatternPredicate6,
986
0
      OPC_EmitInteger64, 6, 
987
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
988
0
                    MVT::i64, 3, 1, 0, 2, 
989
0
     0, 
990
0
    87, TARGET_VAL(LoongArchISD::BSTRPICK),
991
0
     OPC_RecordChild0,
992
0
     OPC_CheckChild1Integer, 62, 
993
0
     OPC_CheckChild1TypeI64,
994
0
     OPC_Scope, 26, 
995
0
      OPC_CheckChild2Integer, 48, 
996
0
      OPC_MoveSibling1,
997
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
998
0
      OPC_RecordChild0,
999
0
      OPC_CheckChild1Integer, 16, 
1000
0
      OPC_CheckChild1TypeI64,
1001
0
      OPC_MoveParent,
1002
0
      OPC_MoveSibling1,
1003
0
      OPC_CheckValueType, MVT::i32,
1004
0
      OPC_MoveParent,
1005
0
      OPC_CheckPatternPredicate6,
1006
0
      OPC_EmitInteger64, 2, 
1007
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1008
0
                    MVT::i64, 3, 0, 1, 2, 
1009
0
     26, 
1010
0
      OPC_CheckChild2Integer, 32, 
1011
0
      OPC_MoveSibling1,
1012
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1013
0
      OPC_RecordChild0,
1014
0
      OPC_CheckChild1Integer, 32, 
1015
0
      OPC_CheckChild1TypeI64,
1016
0
      OPC_MoveParent,
1017
0
      OPC_MoveSibling1,
1018
0
      OPC_CheckValueType, MVT::i32,
1019
0
      OPC_MoveParent,
1020
0
      OPC_CheckPatternPredicate6,
1021
0
      OPC_EmitInteger64, 4, 
1022
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1023
0
                    MVT::i64, 3, 0, 1, 2, 
1024
0
     26, 
1025
0
      OPC_CheckChild2Integer, 16, 
1026
0
      OPC_MoveSibling1,
1027
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1028
0
      OPC_RecordChild0,
1029
0
      OPC_CheckChild1Integer, 48, 
1030
0
      OPC_CheckChild1TypeI64,
1031
0
      OPC_MoveParent,
1032
0
      OPC_MoveSibling1,
1033
0
      OPC_CheckValueType, MVT::i32,
1034
0
      OPC_MoveParent,
1035
0
      OPC_CheckPatternPredicate6,
1036
0
      OPC_EmitInteger64, 6, 
1037
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1038
0
                    MVT::i64, 3, 0, 1, 2, 
1039
0
     0, 
1040
0
    0,
1041
0
   38|128,1, TARGET_VAL(ISD::ADD),
1042
0
    OPC_Scope, 30, 
1043
0
     OPC_RecordChild0,
1044
0
     OPC_MoveChild1,
1045
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1046
0
     OPC_RecordChild0,
1047
0
     OPC_RecordChild1,
1048
0
     OPC_MoveChild1,
1049
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1050
0
     OPC_CheckPredicate, 35,
1051
0
     OPC_CheckTypeI64,
1052
0
     OPC_MoveParent,
1053
0
     OPC_MoveParent,
1054
0
     OPC_MoveSibling1,
1055
0
     OPC_CheckValueType, MVT::i32,
1056
0
     OPC_MoveParent,
1057
0
     OPC_CheckPatternPredicate6,
1058
0
     OPC_EmitConvertToTarget2,
1059
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1060
0
                   MVT::i64, 3, 1, 0, 3, 
1061
0
    30, 
1062
0
     OPC_MoveChild0,
1063
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1064
0
     OPC_RecordChild0,
1065
0
     OPC_RecordChild1,
1066
0
     OPC_MoveChild1,
1067
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1068
0
     OPC_CheckPredicate, 35,
1069
0
     OPC_CheckTypeI64,
1070
0
     OPC_MoveParent,
1071
0
     OPC_MoveParent,
1072
0
     OPC_RecordChild1,
1073
0
     OPC_MoveSibling1,
1074
0
     OPC_CheckValueType, MVT::i32,
1075
0
     OPC_MoveParent,
1076
0
     OPC_CheckPatternPredicate6,
1077
0
     OPC_EmitConvertToTarget1,
1078
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1079
0
                   MVT::i64, 3, 0, 2, 3, 
1080
0
    101, 
1081
0
     OPC_RecordChild0,
1082
0
     OPC_RecordChild1,
1083
0
     OPC_Scope, 83, 
1084
0
      OPC_MoveChild1,
1085
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1086
0
      OPC_Scope, 16, 
1087
0
       OPC_CheckPredicate, 10,
1088
0
       OPC_MoveParent,
1089
0
       OPC_MoveSibling1,
1090
0
       OPC_CheckValueType, MVT::i32,
1091
0
       OPC_MoveParent,
1092
0
       OPC_CheckPatternPredicate6,
1093
0
       OPC_EmitConvertToTarget1,
1094
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1095
0
                     MVT::i64, 2, 0, 2, 
1096
0
      28, 
1097
0
       OPC_CheckPredicate, 55,
1098
0
       OPC_MoveParent,
1099
0
       OPC_MoveSibling1,
1100
0
       OPC_CheckValueType, MVT::i32,
1101
0
       OPC_MoveParent,
1102
0
       OPC_CheckPatternPredicate6,
1103
0
       OPC_EmitNodeXForm, 2, 1,
1104
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
1105
0
                     MVT::i64, 2, 0, 2, 
1106
0
       OPC_EmitNodeXForm, 3, 1,
1107
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1108
0
                     MVT::i64, 2, 3, 4, 
1109
0
      30, 
1110
0
       OPC_CheckPredicate, 49,
1111
0
       OPC_MoveParent,
1112
0
       OPC_MoveSibling1,
1113
0
       OPC_CheckValueType, MVT::i32,
1114
0
       OPC_MoveParent,
1115
0
       OPC_CheckPatternPredicate6,
1116
0
       OPC_EmitConvertToTarget1,
1117
0
       OPC_EmitNodeXForm, 4, 2,
1118
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
1119
0
                     MVT::i64, 2, 0, 3, 
1120
0
       OPC_EmitConvertToTarget1,
1121
0
       OPC_EmitNodeXForm, 5, 5,
1122
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1123
0
                     MVT::i64, 2, 4, 6, 
1124
0
      0, 
1125
0
     12, 
1126
0
      OPC_MoveSibling1,
1127
0
      OPC_CheckValueType, MVT::i32,
1128
0
      OPC_MoveParent,
1129
0
      OPC_CheckPatternPredicate6,
1130
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
1131
0
                    MVT::i64, 2, 0, 1, 
1132
0
     0, 
1133
0
    0, 
1134
0
   97|128,8, TARGET_VAL(ISD::MUL),
1135
0
    OPC_RecordChild0,
1136
0
    OPC_Scope, 29, 
1137
0
     OPC_CheckChild1Integer, 14, 
1138
0
     OPC_CheckPredicate, 12,
1139
0
     OPC_MoveSibling1,
1140
0
     OPC_CheckValueType, MVT::i32,
1141
0
     OPC_MoveParent,
1142
0
     OPC_CheckPatternPredicate6,
1143
0
     OPC_EmitInteger64, 2, 
1144
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1145
0
                   MVT::i64, 3, 0, 0, 1, 
1146
0
     OPC_EmitInteger64, 2, 
1147
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1148
0
                   MVT::i64, 3, 2, 0, 3, 
1149
0
    29, 
1150
0
     OPC_CheckChild1Integer, 26, 
1151
0
     OPC_CheckPredicate, 12,
1152
0
     OPC_MoveSibling1,
1153
0
     OPC_CheckValueType, MVT::i32,
1154
0
     OPC_MoveParent,
1155
0
     OPC_CheckPatternPredicate6,
1156
0
     OPC_EmitInteger64, 2, 
1157
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1158
0
                   MVT::i64, 3, 0, 0, 1, 
1159
0
     OPC_EmitInteger64, 4, 
1160
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1161
0
                   MVT::i64, 3, 2, 0, 3, 
1162
0
    63, 
1163
0
     OPC_CheckChild1Integer, 50, 
1164
0
     OPC_CheckPredicate, 12,
1165
0
     OPC_MoveSibling1,
1166
0
     OPC_CheckValueType, MVT::i32,
1167
0
     OPC_MoveParent,
1168
0
     OPC_CheckPatternPredicate6,
1169
0
     OPC_Scope, 20, 
1170
0
      OPC_EmitInteger64, 2, 
1171
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1172
0
                    MVT::i64, 3, 0, 0, 1, 
1173
0
      OPC_EmitInteger64, 6, 
1174
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1175
0
                    MVT::i64, 3, 2, 0, 3, 
1176
0
     30, 
1177
0
      OPC_EmitInteger64, 4, 
1178
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1179
0
                    MVT::i64, 3, 0, 0, 1, 
1180
0
      OPC_EmitInteger64, 4, 
1181
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1182
0
                    MVT::i64, 3, 0, 0, 3, 
1183
0
      OPC_EmitInteger64, 4, 
1184
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1185
0
                    MVT::i64, 3, 2, 4, 5, 
1186
0
     0, 
1187
0
    29, 
1188
0
     OPC_CheckChild1Integer, 98, 
1189
0
     OPC_CheckPredicate, 12,
1190
0
     OPC_MoveSibling1,
1191
0
     OPC_CheckValueType, MVT::i32,
1192
0
     OPC_MoveParent,
1193
0
     OPC_CheckPatternPredicate6,
1194
0
     OPC_EmitInteger64, 2, 
1195
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1196
0
                   MVT::i64, 3, 0, 0, 1, 
1197
0
     OPC_EmitInteger64, 8, 
1198
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1199
0
                   MVT::i64, 3, 2, 0, 3, 
1200
0
    29, 
1201
0
     OPC_CheckChild1Integer, 22, 
1202
0
     OPC_CheckPredicate, 12,
1203
0
     OPC_MoveSibling1,
1204
0
     OPC_CheckValueType, MVT::i32,
1205
0
     OPC_MoveParent,
1206
0
     OPC_CheckPatternPredicate6,
1207
0
     OPC_EmitInteger64, 4, 
1208
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1209
0
                   MVT::i64, 3, 0, 0, 1, 
1210
0
     OPC_EmitInteger64, 2, 
1211
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1212
0
                   MVT::i64, 3, 2, 0, 3, 
1213
0
    29, 
1214
0
     OPC_CheckChild1Integer, 42, 
1215
0
     OPC_CheckPredicate, 12,
1216
0
     OPC_MoveSibling1,
1217
0
     OPC_CheckValueType, MVT::i32,
1218
0
     OPC_MoveParent,
1219
0
     OPC_CheckPatternPredicate6,
1220
0
     OPC_EmitInteger64, 4, 
1221
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1222
0
                   MVT::i64, 3, 0, 0, 1, 
1223
0
     OPC_EmitInteger64, 4, 
1224
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1225
0
                   MVT::i64, 3, 2, 0, 3, 
1226
0
    29, 
1227
0
     OPC_CheckChild1Integer, 82, 
1228
0
     OPC_CheckPredicate, 12,
1229
0
     OPC_MoveSibling1,
1230
0
     OPC_CheckValueType, MVT::i32,
1231
0
     OPC_MoveParent,
1232
0
     OPC_CheckPatternPredicate6,
1233
0
     OPC_EmitInteger64, 4, 
1234
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1235
0
                   MVT::i64, 3, 0, 0, 1, 
1236
0
     OPC_EmitInteger64, 6, 
1237
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1238
0
                   MVT::i64, 3, 2, 0, 3, 
1239
0
    64, 
1240
0
     OPC_CheckChild1Integer, 34|128,1, 
1241
0
     OPC_CheckPredicate, 12,
1242
0
     OPC_MoveSibling1,
1243
0
     OPC_CheckValueType, MVT::i32,
1244
0
     OPC_MoveParent,
1245
0
     OPC_CheckPatternPredicate6,
1246
0
     OPC_Scope, 20, 
1247
0
      OPC_EmitInteger64, 4, 
1248
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1249
0
                    MVT::i64, 3, 0, 0, 1, 
1250
0
      OPC_EmitInteger64, 8, 
1251
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1252
0
                    MVT::i64, 3, 2, 0, 3, 
1253
0
     30, 
1254
0
      OPC_EmitInteger64, 6, 
1255
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1256
0
                    MVT::i64, 3, 0, 0, 1, 
1257
0
      OPC_EmitInteger64, 6, 
1258
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1259
0
                    MVT::i64, 3, 0, 0, 3, 
1260
0
      OPC_EmitInteger64, 6, 
1261
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1262
0
                    MVT::i64, 3, 2, 4, 5, 
1263
0
     0, 
1264
0
    29, 
1265
0
     OPC_CheckChild1Integer, 38, 
1266
0
     OPC_CheckPredicate, 12,
1267
0
     OPC_MoveSibling1,
1268
0
     OPC_CheckValueType, MVT::i32,
1269
0
     OPC_MoveParent,
1270
0
     OPC_CheckPatternPredicate6,
1271
0
     OPC_EmitInteger64, 6, 
1272
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1273
0
                   MVT::i64, 3, 0, 0, 1, 
1274
0
     OPC_EmitInteger64, 2, 
1275
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1276
0
                   MVT::i64, 3, 2, 0, 3, 
1277
0
    29, 
1278
0
     OPC_CheckChild1Integer, 74, 
1279
0
     OPC_CheckPredicate, 12,
1280
0
     OPC_MoveSibling1,
1281
0
     OPC_CheckValueType, MVT::i32,
1282
0
     OPC_MoveParent,
1283
0
     OPC_CheckPatternPredicate6,
1284
0
     OPC_EmitInteger64, 6, 
1285
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1286
0
                   MVT::i64, 3, 0, 0, 1, 
1287
0
     OPC_EmitInteger64, 4, 
1288
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1289
0
                   MVT::i64, 3, 2, 0, 3, 
1290
0
    30, 
1291
0
     OPC_CheckChild1Integer, 18|128,1, 
1292
0
     OPC_CheckPredicate, 12,
1293
0
     OPC_MoveSibling1,
1294
0
     OPC_CheckValueType, MVT::i32,
1295
0
     OPC_MoveParent,
1296
0
     OPC_CheckPatternPredicate6,
1297
0
     OPC_EmitInteger64, 6, 
1298
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1299
0
                   MVT::i64, 3, 0, 0, 1, 
1300
0
     OPC_EmitInteger64, 6, 
1301
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1302
0
                   MVT::i64, 3, 2, 0, 3, 
1303
0
    30, 
1304
0
     OPC_CheckChild1Integer, 34|128,2, 
1305
0
     OPC_CheckPredicate, 12,
1306
0
     OPC_MoveSibling1,
1307
0
     OPC_CheckValueType, MVT::i32,
1308
0
     OPC_MoveParent,
1309
0
     OPC_CheckPatternPredicate6,
1310
0
     OPC_EmitInteger64, 6, 
1311
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1312
0
                   MVT::i64, 3, 0, 0, 1, 
1313
0
     OPC_EmitInteger64, 8, 
1314
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1315
0
                   MVT::i64, 3, 2, 0, 3, 
1316
0
    29, 
1317
0
     OPC_CheckChild1Integer, 70, 
1318
0
     OPC_CheckPredicate, 12,
1319
0
     OPC_MoveSibling1,
1320
0
     OPC_CheckValueType, MVT::i32,
1321
0
     OPC_MoveParent,
1322
0
     OPC_CheckPatternPredicate6,
1323
0
     OPC_EmitInteger64, 8, 
1324
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1325
0
                   MVT::i64, 3, 0, 0, 1, 
1326
0
     OPC_EmitInteger64, 2, 
1327
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1328
0
                   MVT::i64, 3, 2, 0, 3, 
1329
0
    30, 
1330
0
     OPC_CheckChild1Integer, 10|128,1, 
1331
0
     OPC_CheckPredicate, 12,
1332
0
     OPC_MoveSibling1,
1333
0
     OPC_CheckValueType, MVT::i32,
1334
0
     OPC_MoveParent,
1335
0
     OPC_CheckPatternPredicate6,
1336
0
     OPC_EmitInteger64, 8, 
1337
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1338
0
                   MVT::i64, 3, 0, 0, 1, 
1339
0
     OPC_EmitInteger64, 4, 
1340
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1341
0
                   MVT::i64, 3, 2, 0, 3, 
1342
0
    30, 
1343
0
     OPC_CheckChild1Integer, 18|128,2, 
1344
0
     OPC_CheckPredicate, 12,
1345
0
     OPC_MoveSibling1,
1346
0
     OPC_CheckValueType, MVT::i32,
1347
0
     OPC_MoveParent,
1348
0
     OPC_CheckPatternPredicate6,
1349
0
     OPC_EmitInteger64, 8, 
1350
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1351
0
                   MVT::i64, 3, 0, 0, 1, 
1352
0
     OPC_EmitInteger64, 6, 
1353
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1354
0
                   MVT::i64, 3, 2, 0, 3, 
1355
0
    30, 
1356
0
     OPC_CheckChild1Integer, 34|128,4, 
1357
0
     OPC_CheckPredicate, 12,
1358
0
     OPC_MoveSibling1,
1359
0
     OPC_CheckValueType, MVT::i32,
1360
0
     OPC_MoveParent,
1361
0
     OPC_CheckPatternPredicate6,
1362
0
     OPC_EmitInteger64, 8, 
1363
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1364
0
                   MVT::i64, 3, 0, 0, 1, 
1365
0
     OPC_EmitInteger64, 8, 
1366
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1367
0
                   MVT::i64, 3, 2, 0, 3, 
1368
0
    39, 
1369
0
     OPC_CheckChild1Integer, 18, 
1370
0
     OPC_CheckPredicate, 12,
1371
0
     OPC_MoveSibling1,
1372
0
     OPC_CheckValueType, MVT::i32,
1373
0
     OPC_MoveParent,
1374
0
     OPC_CheckPatternPredicate6,
1375
0
     OPC_EmitInteger64, 2, 
1376
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1377
0
                   MVT::i64, 3, 0, 0, 1, 
1378
0
     OPC_EmitInteger64, 2, 
1379
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1380
0
                   MVT::i64, 3, 0, 0, 3, 
1381
0
     OPC_EmitInteger64, 2, 
1382
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1383
0
                   MVT::i64, 3, 2, 4, 5, 
1384
0
    73, 
1385
0
     OPC_CheckChild1Integer, 30, 
1386
0
     OPC_CheckPredicate, 12,
1387
0
     OPC_MoveSibling1,
1388
0
     OPC_CheckValueType, MVT::i32,
1389
0
     OPC_MoveParent,
1390
0
     OPC_CheckPatternPredicate6,
1391
0
     OPC_Scope, 30, 
1392
0
      OPC_EmitInteger64, 2, 
1393
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1394
0
                    MVT::i64, 3, 0, 0, 1, 
1395
0
      OPC_EmitInteger64, 2, 
1396
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1397
0
                    MVT::i64, 3, 0, 0, 3, 
1398
0
      OPC_EmitInteger64, 4, 
1399
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1400
0
                    MVT::i64, 3, 2, 4, 5, 
1401
0
     30, 
1402
0
      OPC_EmitInteger64, 4, 
1403
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1404
0
                    MVT::i64, 3, 0, 0, 1, 
1405
0
      OPC_EmitInteger64, 4, 
1406
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1407
0
                    MVT::i64, 3, 0, 0, 3, 
1408
0
      OPC_EmitInteger64, 2, 
1409
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1410
0
                    MVT::i64, 3, 2, 4, 5, 
1411
0
     0, 
1412
0
    73, 
1413
0
     OPC_CheckChild1Integer, 54, 
1414
0
     OPC_CheckPredicate, 12,
1415
0
     OPC_MoveSibling1,
1416
0
     OPC_CheckValueType, MVT::i32,
1417
0
     OPC_MoveParent,
1418
0
     OPC_CheckPatternPredicate6,
1419
0
     OPC_Scope, 30, 
1420
0
      OPC_EmitInteger64, 2, 
1421
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1422
0
                    MVT::i64, 3, 0, 0, 1, 
1423
0
      OPC_EmitInteger64, 2, 
1424
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1425
0
                    MVT::i64, 3, 0, 0, 3, 
1426
0
      OPC_EmitInteger64, 6, 
1427
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1428
0
                    MVT::i64, 3, 2, 4, 5, 
1429
0
     30, 
1430
0
      OPC_EmitInteger64, 6, 
1431
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1432
0
                    MVT::i64, 3, 0, 0, 1, 
1433
0
      OPC_EmitInteger64, 6, 
1434
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1435
0
                    MVT::i64, 3, 0, 0, 3, 
1436
0
      OPC_EmitInteger64, 2, 
1437
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1438
0
                    MVT::i64, 3, 2, 4, 5, 
1439
0
     0, 
1440
0
    73, 
1441
0
     OPC_CheckChild1Integer, 102, 
1442
0
     OPC_CheckPredicate, 12,
1443
0
     OPC_MoveSibling1,
1444
0
     OPC_CheckValueType, MVT::i32,
1445
0
     OPC_MoveParent,
1446
0
     OPC_CheckPatternPredicate6,
1447
0
     OPC_Scope, 30, 
1448
0
      OPC_EmitInteger64, 2, 
1449
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1450
0
                    MVT::i64, 3, 0, 0, 1, 
1451
0
      OPC_EmitInteger64, 2, 
1452
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1453
0
                    MVT::i64, 3, 0, 0, 3, 
1454
0
      OPC_EmitInteger64, 8, 
1455
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1456
0
                    MVT::i64, 3, 2, 4, 5, 
1457
0
     30, 
1458
0
      OPC_EmitInteger64, 8, 
1459
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1460
0
                    MVT::i64, 3, 0, 0, 1, 
1461
0
      OPC_EmitInteger64, 8, 
1462
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1463
0
                    MVT::i64, 3, 0, 0, 3, 
1464
0
      OPC_EmitInteger64, 2, 
1465
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1466
0
                    MVT::i64, 3, 2, 4, 5, 
1467
0
     0, 
1468
0
    73, 
1469
0
     OPC_CheckChild1Integer, 90, 
1470
0
     OPC_CheckPredicate, 12,
1471
0
     OPC_MoveSibling1,
1472
0
     OPC_CheckValueType, MVT::i32,
1473
0
     OPC_MoveParent,
1474
0
     OPC_CheckPatternPredicate6,
1475
0
     OPC_Scope, 30, 
1476
0
      OPC_EmitInteger64, 4, 
1477
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1478
0
                    MVT::i64, 3, 0, 0, 1, 
1479
0
      OPC_EmitInteger64, 4, 
1480
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1481
0
                    MVT::i64, 3, 0, 0, 3, 
1482
0
      OPC_EmitInteger64, 6, 
1483
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1484
0
                    MVT::i64, 3, 2, 4, 5, 
1485
0
     30, 
1486
0
      OPC_EmitInteger64, 6, 
1487
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1488
0
                    MVT::i64, 3, 0, 0, 1, 
1489
0
      OPC_EmitInteger64, 6, 
1490
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1491
0
                    MVT::i64, 3, 0, 0, 3, 
1492
0
      OPC_EmitInteger64, 4, 
1493
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1494
0
                    MVT::i64, 3, 2, 4, 5, 
1495
0
     0, 
1496
0
    74, 
1497
0
     OPC_CheckChild1Integer, 42|128,1, 
1498
0
     OPC_CheckPredicate, 12,
1499
0
     OPC_MoveSibling1,
1500
0
     OPC_CheckValueType, MVT::i32,
1501
0
     OPC_MoveParent,
1502
0
     OPC_CheckPatternPredicate6,
1503
0
     OPC_Scope, 30, 
1504
0
      OPC_EmitInteger64, 4, 
1505
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1506
0
                    MVT::i64, 3, 0, 0, 1, 
1507
0
      OPC_EmitInteger64, 4, 
1508
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1509
0
                    MVT::i64, 3, 0, 0, 3, 
1510
0
      OPC_EmitInteger64, 8, 
1511
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1512
0
                    MVT::i64, 3, 2, 4, 5, 
1513
0
     30, 
1514
0
      OPC_EmitInteger64, 8, 
1515
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1516
0
                    MVT::i64, 3, 0, 0, 1, 
1517
0
      OPC_EmitInteger64, 8, 
1518
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1519
0
                    MVT::i64, 3, 0, 0, 3, 
1520
0
      OPC_EmitInteger64, 4, 
1521
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1522
0
                    MVT::i64, 3, 2, 4, 5, 
1523
0
     0, 
1524
0
    74, 
1525
0
     OPC_CheckChild1Integer, 50|128,2, 
1526
0
     OPC_CheckPredicate, 12,
1527
0
     OPC_MoveSibling1,
1528
0
     OPC_CheckValueType, MVT::i32,
1529
0
     OPC_MoveParent,
1530
0
     OPC_CheckPatternPredicate6,
1531
0
     OPC_Scope, 30, 
1532
0
      OPC_EmitInteger64, 6, 
1533
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1534
0
                    MVT::i64, 3, 0, 0, 1, 
1535
0
      OPC_EmitInteger64, 6, 
1536
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1537
0
                    MVT::i64, 3, 0, 0, 3, 
1538
0
      OPC_EmitInteger64, 8, 
1539
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1540
0
                    MVT::i64, 3, 2, 4, 5, 
1541
0
     30, 
1542
0
      OPC_EmitInteger64, 8, 
1543
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1544
0
                    MVT::i64, 3, 0, 0, 1, 
1545
0
      OPC_EmitInteger64, 8, 
1546
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1547
0
                    MVT::i64, 3, 0, 0, 3, 
1548
0
      OPC_EmitInteger64, 6, 
1549
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1550
0
                    MVT::i64, 3, 2, 4, 5, 
1551
0
     0, 
1552
0
    40, 
1553
0
     OPC_CheckChild1Integer, 66|128,4, 
1554
0
     OPC_CheckPredicate, 12,
1555
0
     OPC_MoveSibling1,
1556
0
     OPC_CheckValueType, MVT::i32,
1557
0
     OPC_MoveParent,
1558
0
     OPC_CheckPatternPredicate6,
1559
0
     OPC_EmitInteger64, 8, 
1560
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1561
0
                   MVT::i64, 3, 0, 0, 1, 
1562
0
     OPC_EmitInteger64, 8, 
1563
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1564
0
                   MVT::i64, 3, 0, 0, 3, 
1565
0
     OPC_EmitInteger64, 8, 
1566
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1567
0
                   MVT::i64, 3, 2, 4, 5, 
1568
0
    36, 
1569
0
     OPC_RecordChild1,
1570
0
     OPC_MoveChild1,
1571
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1572
0
     OPC_CheckPredicate, 52,
1573
0
     OPC_MoveParent,
1574
0
     OPC_MoveSibling1,
1575
0
     OPC_CheckValueType, MVT::i32,
1576
0
     OPC_MoveParent,
1577
0
     OPC_CheckPatternPredicate6,
1578
0
     OPC_EmitConvertToTarget1,
1579
0
     OPC_EmitNodeXForm, 0, 2,
1580
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1581
0
                   MVT::i64, 3, 0, 0, 3, 
1582
0
     OPC_EmitConvertToTarget1,
1583
0
     OPC_EmitNodeXForm, 1, 5,
1584
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
1585
0
                   MVT::i64, 2, 4, 6, 
1586
0
    0, 
1587
0
   23, TARGET_VAL(ISD::ROTR),
1588
0
    OPC_RecordChild0,
1589
0
    OPC_RecordChild1,
1590
0
    OPC_MoveChild1,
1591
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1592
0
    OPC_CheckPredicate, 24,
1593
0
    OPC_CheckTypeI64,
1594
0
    OPC_MoveParent,
1595
0
    OPC_MoveSibling1,
1596
0
    OPC_CheckValueType, MVT::i32,
1597
0
    OPC_MoveParent,
1598
0
    OPC_CheckPatternPredicate6,
1599
0
    OPC_EmitConvertToTarget1,
1600
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
1601
0
                  MVT::i64, 2, 0, 2, 
1602
0
   25, TARGET_VAL(LoongArchISD::ROTL_W),
1603
0
    OPC_RecordChild0,
1604
0
    OPC_RecordChild1,
1605
0
    OPC_MoveChild1,
1606
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1607
0
    OPC_CheckPredicate, 24,
1608
0
    OPC_MoveParent,
1609
0
    OPC_MoveSibling1,
1610
0
    OPC_CheckValueType, MVT::i32,
1611
0
    OPC_MoveParent,
1612
0
    OPC_CheckPatternPredicate6,
1613
0
    OPC_EmitConvertToTarget1,
1614
0
    OPC_EmitNodeXForm, 6, 2,
1615
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
1616
0
                  MVT::i64, 2, 0, 3, 
1617
0
   14, TARGET_VAL(ISD::SUB),
1618
0
    OPC_RecordChild0,
1619
0
    OPC_RecordChild1,
1620
0
    OPC_MoveSibling1,
1621
0
    OPC_CheckValueType, MVT::i32,
1622
0
    OPC_MoveParent,
1623
0
    OPC_CheckPatternPredicate6,
1624
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
1625
0
                  MVT::i64, 2, 0, 1, 
1626
0
   0,
1627
0
  68, 
1628
0
   OPC_RecordChild0,
1629
0
   OPC_MoveChild1,
1630
0
   OPC_Scope, 24, 
1631
0
    OPC_CheckValueType, MVT::i8,
1632
0
    OPC_MoveParent,
1633
0
    OPC_SwitchType , 7, MVT::i64,
1634
0
     OPC_CheckPatternPredicate7,
1635
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
1636
0
                   MVT::i64, 1, 0, 
1637
0
    8, MVT::i32,
1638
0
     OPC_CheckPatternPredicate, 8,
1639
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
1640
0
                   MVT::i32, 1, 0, 
1641
0
    0,
1642
0
   24, 
1643
0
    OPC_CheckValueType, MVT::i16,
1644
0
    OPC_MoveParent,
1645
0
    OPC_SwitchType , 7, MVT::i64,
1646
0
     OPC_CheckPatternPredicate7,
1647
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
1648
0
                   MVT::i64, 1, 0, 
1649
0
    8, MVT::i32,
1650
0
     OPC_CheckPatternPredicate, 8,
1651
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
1652
0
                   MVT::i32, 1, 0, 
1653
0
    0,
1654
0
   13, 
1655
0
    OPC_CheckValueType, MVT::i32,
1656
0
    OPC_MoveParent,
1657
0
    OPC_CheckPatternPredicate6,
1658
0
    OPC_EmitInteger64, 0, 
1659
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1660
0
                  MVT::i64, 2, 0, 1, 
1661
0
   0, 
1662
0
  0, 
1663
0
 110|128,1, TARGET_VAL(LoongArchISD::BSTRPICK),
1664
0
  OPC_Scope, 125, 
1665
0
   OPC_MoveChild0,
1666
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1667
0
   OPC_Scope, 58, 
1668
0
    OPC_RecordChild0,
1669
0
    OPC_MoveChild1,
1670
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1671
0
    OPC_RecordChild0,
1672
0
    OPC_RecordChild1,
1673
0
    OPC_MoveChild1,
1674
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1675
0
    OPC_CheckPredicate, 35,
1676
0
    OPC_SwitchType , 19, MVT::i64,
1677
0
     OPC_MoveParent,
1678
0
     OPC_MoveParent,
1679
0
     OPC_MoveParent,
1680
0
     OPC_CheckChild1Integer, 62, 
1681
0
     OPC_CheckChild1TypeI64,
1682
0
     OPC_CheckChild2Integer, 0, 
1683
0
     OPC_CheckTypeI64,
1684
0
     OPC_CheckPatternPredicate6,
1685
0
     OPC_EmitConvertToTarget2,
1686
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1687
0
                   MVT::i64, 3, 1, 0, 3, 
1688
0
    20, MVT::i32,
1689
0
     OPC_MoveParent,
1690
0
     OPC_MoveParent,
1691
0
     OPC_MoveParent,
1692
0
     OPC_CheckChild1Integer, 62, 
1693
0
     OPC_CheckChild1TypeI64,
1694
0
     OPC_CheckChild2Integer, 0, 
1695
0
     OPC_CheckTypeI32,
1696
0
     OPC_CheckPatternPredicate, 10,
1697
0
     OPC_EmitConvertToTarget2,
1698
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1699
0
                   MVT::i32, 3, 1, 0, 3, 
1700
0
    0,
1701
0
   59, 
1702
0
    OPC_MoveChild0,
1703
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1704
0
    OPC_RecordChild0,
1705
0
    OPC_RecordChild1,
1706
0
    OPC_MoveChild1,
1707
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1708
0
    OPC_CheckPredicate, 35,
1709
0
    OPC_SwitchType , 20, MVT::i64,
1710
0
     OPC_MoveParent,
1711
0
     OPC_MoveParent,
1712
0
     OPC_RecordChild1,
1713
0
     OPC_MoveParent,
1714
0
     OPC_CheckChild1Integer, 62, 
1715
0
     OPC_CheckChild1TypeI64,
1716
0
     OPC_CheckChild2Integer, 0, 
1717
0
     OPC_CheckTypeI64,
1718
0
     OPC_CheckPatternPredicate6,
1719
0
     OPC_EmitConvertToTarget1,
1720
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1721
0
                   MVT::i64, 3, 0, 2, 3, 
1722
0
    21, MVT::i32,
1723
0
     OPC_MoveParent,
1724
0
     OPC_MoveParent,
1725
0
     OPC_RecordChild1,
1726
0
     OPC_MoveParent,
1727
0
     OPC_CheckChild1Integer, 62, 
1728
0
     OPC_CheckChild1TypeI64,
1729
0
     OPC_CheckChild2Integer, 0, 
1730
0
     OPC_CheckTypeI32,
1731
0
     OPC_CheckPatternPredicate, 10,
1732
0
     OPC_EmitConvertToTarget1,
1733
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1734
0
                   MVT::i32, 3, 0, 2, 3, 
1735
0
    0,
1736
0
   0, 
1737
0
  109, 
1738
0
   OPC_RecordChild0,
1739
0
   OPC_RecordChild1,
1740
0
   OPC_MoveChild1,
1741
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1742
0
   OPC_Scope, 50, 
1743
0
    OPC_CheckPredicate, 24,
1744
0
    OPC_SwitchType , 21, MVT::i64,
1745
0
     OPC_MoveSibling2,
1746
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1747
0
     OPC_RecordNode,
1748
0
     OPC_CheckPredicate, 24,
1749
0
     OPC_MoveParent,
1750
0
     OPC_CheckTypeI64,
1751
0
     OPC_CheckPatternPredicate, 15,
1752
0
     OPC_EmitConvertToTarget1,
1753
0
     OPC_EmitConvertToTarget2,
1754
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
1755
0
                   MVT::i64, 3, 0, 3, 4, 
1756
0
    21, MVT::i32,
1757
0
     OPC_MoveSibling2,
1758
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1759
0
     OPC_RecordNode,
1760
0
     OPC_CheckPredicate, 24,
1761
0
     OPC_MoveParent,
1762
0
     OPC_CheckTypeI32,
1763
0
     OPC_CheckPatternPredicate, 9,
1764
0
     OPC_EmitConvertToTarget1,
1765
0
     OPC_EmitConvertToTarget2,
1766
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
1767
0
                   MVT::i32, 3, 0, 3, 4, 
1768
0
    0,
1769
0
   49, 
1770
0
    OPC_CheckPredicate, 31,
1771
0
    OPC_SwitchType , 20, MVT::i64,
1772
0
     OPC_MoveSibling2,
1773
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1774
0
     OPC_RecordNode,
1775
0
     OPC_CheckPredicate, 31,
1776
0
     OPC_MoveParent,
1777
0
     OPC_CheckTypeI64,
1778
0
     OPC_CheckPatternPredicate6,
1779
0
     OPC_EmitConvertToTarget1,
1780
0
     OPC_EmitConvertToTarget2,
1781
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
1782
0
                   MVT::i64, 3, 0, 3, 4, 
1783
0
    21, MVT::i32,
1784
0
     OPC_MoveSibling2,
1785
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1786
0
     OPC_RecordNode,
1787
0
     OPC_CheckPredicate, 31,
1788
0
     OPC_MoveParent,
1789
0
     OPC_CheckTypeI32,
1790
0
     OPC_CheckPatternPredicate, 10,
1791
0
     OPC_EmitConvertToTarget1,
1792
0
     OPC_EmitConvertToTarget2,
1793
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
1794
0
                   MVT::i32, 3, 0, 3, 4, 
1795
0
    0,
1796
0
   0, 
1797
0
  0, 
1798
0
 25|128,37, TARGET_VAL(ISD::OR),
1799
0
  OPC_Scope, 101|128,6, 
1800
0
   OPC_MoveChild0,
1801
0
   OPC_SwitchOpcode , 45|128,3, TARGET_VAL(ISD::SHL),
1802
0
    OPC_RecordChild0,
1803
0
    OPC_Scope, 85, 
1804
0
     OPC_CheckChild1Integer, 16, 
1805
0
     OPC_Scope, 40, 
1806
0
      OPC_CheckChild1TypeI32,
1807
0
      OPC_MoveSibling1,
1808
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1809
0
      OPC_RecordChild0,
1810
0
      OPC_CheckChild1Integer, 48, 
1811
0
      OPC_CheckChild1TypeI32,
1812
0
      OPC_MoveParent,
1813
0
      OPC_SwitchType , 12, MVT::i64,
1814
0
       OPC_CheckPatternPredicate, 15,
1815
0
       OPC_EmitInteger64, 2, 
1816
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1817
0
                     MVT::i64, 3, 1, 0, 2, 
1818
0
      12, MVT::i32,
1819
0
       OPC_CheckPatternPredicate, 9,
1820
0
       OPC_EmitInteger32, 2, 
1821
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1822
0
                     MVT::i32, 3, 1, 0, 2, 
1823
0
      0,
1824
0
     39, 
1825
0
      OPC_CheckChild1TypeI64,
1826
0
      OPC_MoveSibling1,
1827
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1828
0
      OPC_RecordChild0,
1829
0
      OPC_CheckChild1Integer, 112, 
1830
0
      OPC_CheckChild1TypeI64,
1831
0
      OPC_MoveParent,
1832
0
      OPC_SwitchType , 11, MVT::i64,
1833
0
       OPC_CheckPatternPredicate6,
1834
0
       OPC_EmitInteger64, 2, 
1835
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1836
0
                     MVT::i64, 3, 1, 0, 2, 
1837
0
      12, MVT::i32,
1838
0
       OPC_CheckPatternPredicate, 10,
1839
0
       OPC_EmitInteger32, 2, 
1840
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1841
0
                     MVT::i32, 3, 1, 0, 2, 
1842
0
      0,
1843
0
     0, 
1844
0
    85, 
1845
0
     OPC_CheckChild1Integer, 32, 
1846
0
     OPC_Scope, 40, 
1847
0
      OPC_CheckChild1TypeI32,
1848
0
      OPC_MoveSibling1,
1849
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1850
0
      OPC_RecordChild0,
1851
0
      OPC_CheckChild1Integer, 32, 
1852
0
      OPC_CheckChild1TypeI32,
1853
0
      OPC_MoveParent,
1854
0
      OPC_SwitchType , 12, MVT::i64,
1855
0
       OPC_CheckPatternPredicate, 15,
1856
0
       OPC_EmitInteger64, 4, 
1857
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1858
0
                     MVT::i64, 3, 1, 0, 2, 
1859
0
      12, MVT::i32,
1860
0
       OPC_CheckPatternPredicate, 9,
1861
0
       OPC_EmitInteger32, 4, 
1862
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1863
0
                     MVT::i32, 3, 1, 0, 2, 
1864
0
      0,
1865
0
     39, 
1866
0
      OPC_CheckChild1TypeI64,
1867
0
      OPC_MoveSibling1,
1868
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1869
0
      OPC_RecordChild0,
1870
0
      OPC_CheckChild1Integer, 96, 
1871
0
      OPC_CheckChild1TypeI64,
1872
0
      OPC_MoveParent,
1873
0
      OPC_SwitchType , 11, MVT::i64,
1874
0
       OPC_CheckPatternPredicate6,
1875
0
       OPC_EmitInteger64, 4, 
1876
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1877
0
                     MVT::i64, 3, 1, 0, 2, 
1878
0
      12, MVT::i32,
1879
0
       OPC_CheckPatternPredicate, 10,
1880
0
       OPC_EmitInteger32, 4, 
1881
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1882
0
                     MVT::i32, 3, 1, 0, 2, 
1883
0
      0,
1884
0
     0, 
1885
0
    85, 
1886
0
     OPC_CheckChild1Integer, 48, 
1887
0
     OPC_Scope, 40, 
1888
0
      OPC_CheckChild1TypeI32,
1889
0
      OPC_MoveSibling1,
1890
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1891
0
      OPC_RecordChild0,
1892
0
      OPC_CheckChild1Integer, 16, 
1893
0
      OPC_CheckChild1TypeI32,
1894
0
      OPC_MoveParent,
1895
0
      OPC_SwitchType , 12, MVT::i64,
1896
0
       OPC_CheckPatternPredicate, 15,
1897
0
       OPC_EmitInteger64, 6, 
1898
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1899
0
                     MVT::i64, 3, 1, 0, 2, 
1900
0
      12, MVT::i32,
1901
0
       OPC_CheckPatternPredicate, 9,
1902
0
       OPC_EmitInteger32, 6, 
1903
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1904
0
                     MVT::i32, 3, 1, 0, 2, 
1905
0
      0,
1906
0
     39, 
1907
0
      OPC_CheckChild1TypeI64,
1908
0
      OPC_MoveSibling1,
1909
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1910
0
      OPC_RecordChild0,
1911
0
      OPC_CheckChild1Integer, 80, 
1912
0
      OPC_CheckChild1TypeI64,
1913
0
      OPC_MoveParent,
1914
0
      OPC_SwitchType , 11, MVT::i64,
1915
0
       OPC_CheckPatternPredicate6,
1916
0
       OPC_EmitInteger64, 6, 
1917
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1918
0
                     MVT::i64, 3, 1, 0, 2, 
1919
0
      12, MVT::i32,
1920
0
       OPC_CheckPatternPredicate, 10,
1921
0
       OPC_EmitInteger32, 6, 
1922
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1923
0
                     MVT::i32, 3, 1, 0, 2, 
1924
0
      0,
1925
0
     0, 
1926
0
    41, 
1927
0
     OPC_CheckChild1Integer, 64, 
1928
0
     OPC_CheckChild1TypeI64,
1929
0
     OPC_MoveSibling1,
1930
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1931
0
     OPC_RecordChild0,
1932
0
     OPC_CheckChild1Integer, 64, 
1933
0
     OPC_CheckChild1TypeI64,
1934
0
     OPC_MoveParent,
1935
0
     OPC_SwitchType , 11, MVT::i64,
1936
0
      OPC_CheckPatternPredicate6,
1937
0
      OPC_EmitInteger64, 8, 
1938
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1939
0
                    MVT::i64, 3, 1, 0, 2, 
1940
0
     12, MVT::i32,
1941
0
      OPC_CheckPatternPredicate, 10,
1942
0
      OPC_EmitInteger32, 8, 
1943
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1944
0
                    MVT::i32, 3, 1, 0, 2, 
1945
0
     0,
1946
0
    41, 
1947
0
     OPC_CheckChild1Integer, 80, 
1948
0
     OPC_CheckChild1TypeI64,
1949
0
     OPC_MoveSibling1,
1950
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1951
0
     OPC_RecordChild0,
1952
0
     OPC_CheckChild1Integer, 48, 
1953
0
     OPC_CheckChild1TypeI64,
1954
0
     OPC_MoveParent,
1955
0
     OPC_SwitchType , 11, MVT::i64,
1956
0
      OPC_CheckPatternPredicate6,
1957
0
      OPC_EmitInteger64, 10, 
1958
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1959
0
                    MVT::i64, 3, 1, 0, 2, 
1960
0
     12, MVT::i32,
1961
0
      OPC_CheckPatternPredicate, 10,
1962
0
      OPC_EmitInteger32, 10, 
1963
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1964
0
                    MVT::i32, 3, 1, 0, 2, 
1965
0
     0,
1966
0
    41, 
1967
0
     OPC_CheckChild1Integer, 96, 
1968
0
     OPC_CheckChild1TypeI64,
1969
0
     OPC_MoveSibling1,
1970
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1971
0
     OPC_RecordChild0,
1972
0
     OPC_CheckChild1Integer, 32, 
1973
0
     OPC_CheckChild1TypeI64,
1974
0
     OPC_MoveParent,
1975
0
     OPC_SwitchType , 11, MVT::i64,
1976
0
      OPC_CheckPatternPredicate6,
1977
0
      OPC_EmitInteger64, 12, 
1978
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1979
0
                    MVT::i64, 3, 1, 0, 2, 
1980
0
     12, MVT::i32,
1981
0
      OPC_CheckPatternPredicate, 10,
1982
0
      OPC_EmitInteger32, 12, 
1983
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1984
0
                    MVT::i32, 3, 1, 0, 2, 
1985
0
     0,
1986
0
    41, 
1987
0
     OPC_CheckChild1Integer, 112, 
1988
0
     OPC_CheckChild1TypeI64,
1989
0
     OPC_MoveSibling1,
1990
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1991
0
     OPC_RecordChild0,
1992
0
     OPC_CheckChild1Integer, 16, 
1993
0
     OPC_CheckChild1TypeI64,
1994
0
     OPC_MoveParent,
1995
0
     OPC_SwitchType , 11, MVT::i64,
1996
0
      OPC_CheckPatternPredicate6,
1997
0
      OPC_EmitInteger64, 14, 
1998
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1999
0
                    MVT::i64, 3, 1, 0, 2, 
2000
0
     12, MVT::i32,
2001
0
      OPC_CheckPatternPredicate, 10,
2002
0
      OPC_EmitInteger32, 14, 
2003
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2004
0
                    MVT::i32, 3, 1, 0, 2, 
2005
0
     0,
2006
0
    0, 
2007
0
   45|128,3, TARGET_VAL(ISD::SRL),
2008
0
    OPC_RecordChild0,
2009
0
    OPC_Scope, 85, 
2010
0
     OPC_CheckChild1Integer, 48, 
2011
0
     OPC_Scope, 40, 
2012
0
      OPC_CheckChild1TypeI32,
2013
0
      OPC_MoveSibling1,
2014
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2015
0
      OPC_RecordChild0,
2016
0
      OPC_CheckChild1Integer, 16, 
2017
0
      OPC_CheckChild1TypeI32,
2018
0
      OPC_MoveParent,
2019
0
      OPC_SwitchType , 12, MVT::i64,
2020
0
       OPC_CheckPatternPredicate, 15,
2021
0
       OPC_EmitInteger64, 2, 
2022
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2023
0
                     MVT::i64, 3, 0, 1, 2, 
2024
0
      12, MVT::i32,
2025
0
       OPC_CheckPatternPredicate, 9,
2026
0
       OPC_EmitInteger32, 2, 
2027
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2028
0
                     MVT::i32, 3, 0, 1, 2, 
2029
0
      0,
2030
0
     39, 
2031
0
      OPC_CheckChild1TypeI64,
2032
0
      OPC_MoveSibling1,
2033
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2034
0
      OPC_RecordChild0,
2035
0
      OPC_CheckChild1Integer, 80, 
2036
0
      OPC_CheckChild1TypeI64,
2037
0
      OPC_MoveParent,
2038
0
      OPC_SwitchType , 11, MVT::i64,
2039
0
       OPC_CheckPatternPredicate6,
2040
0
       OPC_EmitInteger64, 10, 
2041
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2042
0
                     MVT::i64, 3, 0, 1, 2, 
2043
0
      12, MVT::i32,
2044
0
       OPC_CheckPatternPredicate, 10,
2045
0
       OPC_EmitInteger32, 10, 
2046
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2047
0
                     MVT::i32, 3, 0, 1, 2, 
2048
0
      0,
2049
0
     0, 
2050
0
    85, 
2051
0
     OPC_CheckChild1Integer, 32, 
2052
0
     OPC_Scope, 40, 
2053
0
      OPC_CheckChild1TypeI32,
2054
0
      OPC_MoveSibling1,
2055
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2056
0
      OPC_RecordChild0,
2057
0
      OPC_CheckChild1Integer, 32, 
2058
0
      OPC_CheckChild1TypeI32,
2059
0
      OPC_MoveParent,
2060
0
      OPC_SwitchType , 12, MVT::i64,
2061
0
       OPC_CheckPatternPredicate, 15,
2062
0
       OPC_EmitInteger64, 4, 
2063
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2064
0
                     MVT::i64, 3, 0, 1, 2, 
2065
0
      12, MVT::i32,
2066
0
       OPC_CheckPatternPredicate, 9,
2067
0
       OPC_EmitInteger32, 4, 
2068
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2069
0
                     MVT::i32, 3, 0, 1, 2, 
2070
0
      0,
2071
0
     39, 
2072
0
      OPC_CheckChild1TypeI64,
2073
0
      OPC_MoveSibling1,
2074
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2075
0
      OPC_RecordChild0,
2076
0
      OPC_CheckChild1Integer, 96, 
2077
0
      OPC_CheckChild1TypeI64,
2078
0
      OPC_MoveParent,
2079
0
      OPC_SwitchType , 11, MVT::i64,
2080
0
       OPC_CheckPatternPredicate6,
2081
0
       OPC_EmitInteger64, 12, 
2082
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2083
0
                     MVT::i64, 3, 0, 1, 2, 
2084
0
      12, MVT::i32,
2085
0
       OPC_CheckPatternPredicate, 10,
2086
0
       OPC_EmitInteger32, 12, 
2087
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2088
0
                     MVT::i32, 3, 0, 1, 2, 
2089
0
      0,
2090
0
     0, 
2091
0
    85, 
2092
0
     OPC_CheckChild1Integer, 16, 
2093
0
     OPC_Scope, 40, 
2094
0
      OPC_CheckChild1TypeI32,
2095
0
      OPC_MoveSibling1,
2096
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2097
0
      OPC_RecordChild0,
2098
0
      OPC_CheckChild1Integer, 48, 
2099
0
      OPC_CheckChild1TypeI32,
2100
0
      OPC_MoveParent,
2101
0
      OPC_SwitchType , 12, MVT::i64,
2102
0
       OPC_CheckPatternPredicate, 15,
2103
0
       OPC_EmitInteger64, 6, 
2104
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2105
0
                     MVT::i64, 3, 0, 1, 2, 
2106
0
      12, MVT::i32,
2107
0
       OPC_CheckPatternPredicate, 9,
2108
0
       OPC_EmitInteger32, 6, 
2109
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2110
0
                     MVT::i32, 3, 0, 1, 2, 
2111
0
      0,
2112
0
     39, 
2113
0
      OPC_CheckChild1TypeI64,
2114
0
      OPC_MoveSibling1,
2115
0
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2116
0
      OPC_RecordChild0,
2117
0
      OPC_CheckChild1Integer, 112, 
2118
0
      OPC_CheckChild1TypeI64,
2119
0
      OPC_MoveParent,
2120
0
      OPC_SwitchType , 11, MVT::i64,
2121
0
       OPC_CheckPatternPredicate6,
2122
0
       OPC_EmitInteger64, 14, 
2123
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2124
0
                     MVT::i64, 3, 0, 1, 2, 
2125
0
      12, MVT::i32,
2126
0
       OPC_CheckPatternPredicate, 10,
2127
0
       OPC_EmitInteger32, 14, 
2128
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2129
0
                     MVT::i32, 3, 0, 1, 2, 
2130
0
      0,
2131
0
     0, 
2132
0
    41, 
2133
0
     OPC_CheckChild1Integer, 112, 
2134
0
     OPC_CheckChild1TypeI64,
2135
0
     OPC_MoveSibling1,
2136
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2137
0
     OPC_RecordChild0,
2138
0
     OPC_CheckChild1Integer, 16, 
2139
0
     OPC_CheckChild1TypeI64,
2140
0
     OPC_MoveParent,
2141
0
     OPC_SwitchType , 11, MVT::i64,
2142
0
      OPC_CheckPatternPredicate6,
2143
0
      OPC_EmitInteger64, 2, 
2144
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2145
0
                    MVT::i64, 3, 0, 1, 2, 
2146
0
     12, MVT::i32,
2147
0
      OPC_CheckPatternPredicate, 10,
2148
0
      OPC_EmitInteger32, 2, 
2149
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2150
0
                    MVT::i32, 3, 0, 1, 2, 
2151
0
     0,
2152
0
    41, 
2153
0
     OPC_CheckChild1Integer, 96, 
2154
0
     OPC_CheckChild1TypeI64,
2155
0
     OPC_MoveSibling1,
2156
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2157
0
     OPC_RecordChild0,
2158
0
     OPC_CheckChild1Integer, 32, 
2159
0
     OPC_CheckChild1TypeI64,
2160
0
     OPC_MoveParent,
2161
0
     OPC_SwitchType , 11, MVT::i64,
2162
0
      OPC_CheckPatternPredicate6,
2163
0
      OPC_EmitInteger64, 4, 
2164
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2165
0
                    MVT::i64, 3, 0, 1, 2, 
2166
0
     12, MVT::i32,
2167
0
      OPC_CheckPatternPredicate, 10,
2168
0
      OPC_EmitInteger32, 4, 
2169
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2170
0
                    MVT::i32, 3, 0, 1, 2, 
2171
0
     0,
2172
0
    41, 
2173
0
     OPC_CheckChild1Integer, 80, 
2174
0
     OPC_CheckChild1TypeI64,
2175
0
     OPC_MoveSibling1,
2176
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2177
0
     OPC_RecordChild0,
2178
0
     OPC_CheckChild1Integer, 48, 
2179
0
     OPC_CheckChild1TypeI64,
2180
0
     OPC_MoveParent,
2181
0
     OPC_SwitchType , 11, MVT::i64,
2182
0
      OPC_CheckPatternPredicate6,
2183
0
      OPC_EmitInteger64, 6, 
2184
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2185
0
                    MVT::i64, 3, 0, 1, 2, 
2186
0
     12, MVT::i32,
2187
0
      OPC_CheckPatternPredicate, 10,
2188
0
      OPC_EmitInteger32, 6, 
2189
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2190
0
                    MVT::i32, 3, 0, 1, 2, 
2191
0
     0,
2192
0
    41, 
2193
0
     OPC_CheckChild1Integer, 64, 
2194
0
     OPC_CheckChild1TypeI64,
2195
0
     OPC_MoveSibling1,
2196
0
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2197
0
     OPC_RecordChild0,
2198
0
     OPC_CheckChild1Integer, 64, 
2199
0
     OPC_CheckChild1TypeI64,
2200
0
     OPC_MoveParent,
2201
0
     OPC_SwitchType , 11, MVT::i64,
2202
0
      OPC_CheckPatternPredicate6,
2203
0
      OPC_EmitInteger64, 8, 
2204
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2205
0
                    MVT::i64, 3, 0, 1, 2, 
2206
0
     12, MVT::i32,
2207
0
      OPC_CheckPatternPredicate, 10,
2208
0
      OPC_EmitInteger32, 8, 
2209
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2210
0
                    MVT::i32, 3, 0, 1, 2, 
2211
0
     0,
2212
0
    0, 
2213
0
   0,
2214
0
  75, 
2215
0
   OPC_RecordChild0,
2216
0
   OPC_Scope, 39, 
2217
0
    OPC_RecordChild1,
2218
0
    OPC_MoveChild1,
2219
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2220
0
    OPC_CheckPredicate, 10,
2221
0
    OPC_MoveParent,
2222
0
    OPC_CheckPredicate, 11,
2223
0
    OPC_SwitchType , 12, MVT::i32,
2224
0
     OPC_CheckPatternPredicate, 9,
2225
0
     OPC_CheckComplexPat0, /*#*/0,
2226
0
     OPC_EmitConvertToTarget1,
2227
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
2228
0
                   MVT::i32, 2, 2, 3, 
2229
0
    11, MVT::i64,
2230
0
     OPC_CheckPatternPredicate6,
2231
0
     OPC_CheckComplexPat0, /*#*/0,
2232
0
     OPC_EmitConvertToTarget1,
2233
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
2234
0
                   MVT::i64, 2, 2, 3, 
2235
0
    0,
2236
0
   31, 
2237
0
    OPC_MoveChild1,
2238
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2239
0
    OPC_RecordChild0,
2240
0
    OPC_CheckChild1Integer, 3, 
2241
0
    OPC_MoveParent,
2242
0
    OPC_SwitchType , 8, MVT::i64,
2243
0
     OPC_CheckPatternPredicate7,
2244
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2245
0
                   MVT::i64, 2, 0, 1, 
2246
0
    9, MVT::i32,
2247
0
     OPC_CheckPatternPredicate, 8,
2248
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2249
0
                   MVT::i32, 2, 0, 1, 
2250
0
    0,
2251
0
   0, 
2252
0
  32, 
2253
0
   OPC_MoveChild0,
2254
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2255
0
   OPC_RecordChild0,
2256
0
   OPC_CheckChild1Integer, 3, 
2257
0
   OPC_MoveParent,
2258
0
   OPC_RecordChild1,
2259
0
   OPC_SwitchType , 8, MVT::i64,
2260
0
    OPC_CheckPatternPredicate7,
2261
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2262
0
                  MVT::i64, 2, 1, 0, 
2263
0
   9, MVT::i32,
2264
0
    OPC_CheckPatternPredicate, 8,
2265
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2266
0
                  MVT::i32, 2, 1, 0, 
2267
0
   0,
2268
0
  30|128,1, 
2269
0
   OPC_RecordChild0,
2270
0
   OPC_Scope, 57, 
2271
0
    OPC_RecordChild1,
2272
0
    OPC_Scope, 32, 
2273
0
     OPC_MoveChild1,
2274
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2275
0
     OPC_CheckPredicate, 45,
2276
0
     OPC_MoveParent,
2277
0
     OPC_SwitchType , 9, MVT::i64,
2278
0
      OPC_CheckPatternPredicate7,
2279
0
      OPC_EmitConvertToTarget1,
2280
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
2281
0
                    MVT::i64, 2, 0, 2, 
2282
0
     10, MVT::i32,
2283
0
      OPC_CheckPatternPredicate, 8,
2284
0
      OPC_EmitConvertToTarget1,
2285
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
2286
0
                    MVT::i32, 2, 0, 2, 
2287
0
     0,
2288
0
    9, 
2289
0
     OPC_CheckTypeI64,
2290
0
     OPC_CheckPatternPredicate7,
2291
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
2292
0
                   MVT::i64, 2, 0, 1, 
2293
0
    10, 
2294
0
     OPC_CheckTypeI32,
2295
0
     OPC_CheckPatternPredicate, 8,
2296
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
2297
0
                   MVT::i32, 2, 0, 1, 
2298
0
    0, 
2299
0
   96, 
2300
0
    OPC_MoveChild1,
2301
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2302
0
    OPC_MoveChild0,
2303
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2304
0
    OPC_MoveChild0,
2305
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2306
0
    OPC_CheckType, MVT::v4i32,
2307
0
    OPC_MoveParent,
2308
0
    OPC_CheckPredicate0, 
2309
0
    OPC_MoveSibling1,
2310
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2311
0
    OPC_Scope, 44, 
2312
0
     OPC_RecordChild0,
2313
0
     OPC_MoveChild1,
2314
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2315
0
     OPC_MoveChild0,
2316
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2317
0
     OPC_CheckType, MVT::v4i32,
2318
0
     OPC_MoveParent,
2319
0
     OPC_CheckPredicate3, 
2320
0
     OPC_MoveParent,
2321
0
     OPC_SwitchType , 12, MVT::v2i64,
2322
0
      OPC_MoveParent,
2323
0
      OPC_MoveParent,
2324
0
      OPC_CheckType, MVT::v2i64,
2325
0
      OPC_CheckPatternPredicate1,
2326
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2327
0
                    MVT::v2i64, 2, 0, 1, 
2328
0
     12, MVT::v4i64,
2329
0
      OPC_MoveParent,
2330
0
      OPC_MoveParent,
2331
0
      OPC_CheckType, MVT::v4i64,
2332
0
      OPC_CheckPatternPredicate0,
2333
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2334
0
                    MVT::v4i64, 2, 0, 1, 
2335
0
     0,
2336
0
    28, 
2337
0
     OPC_MoveChild0,
2338
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2339
0
     OPC_MoveChild0,
2340
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2341
0
     OPC_CheckType, MVT::v4i32,
2342
0
     OPC_MoveParent,
2343
0
     OPC_CheckPredicate3, 
2344
0
     OPC_MoveParent,
2345
0
     OPC_RecordChild1,
2346
0
     OPC_CheckType, MVT::v2i64,
2347
0
     OPC_MoveParent,
2348
0
     OPC_MoveParent,
2349
0
     OPC_CheckType, MVT::v2i64,
2350
0
     OPC_CheckPatternPredicate1,
2351
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2352
0
                   MVT::v2i64, 2, 0, 1, 
2353
0
    0, 
2354
0
   0, 
2355
0
  82, 
2356
0
   OPC_MoveChild0,
2357
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2358
0
   OPC_MoveChild0,
2359
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2360
0
   OPC_MoveChild0,
2361
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2362
0
   OPC_CheckType, MVT::v4i32,
2363
0
   OPC_MoveParent,
2364
0
   OPC_CheckPredicate0, 
2365
0
   OPC_MoveSibling1,
2366
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2367
0
   OPC_Scope, 29, 
2368
0
    OPC_RecordChild0,
2369
0
    OPC_MoveChild1,
2370
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2371
0
    OPC_MoveChild0,
2372
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2373
0
    OPC_CheckType, MVT::v4i32,
2374
0
    OPC_MoveParent,
2375
0
    OPC_CheckPredicate3, 
2376
0
    OPC_MoveParent,
2377
0
    OPC_CheckType, MVT::v2i64,
2378
0
    OPC_MoveParent,
2379
0
    OPC_MoveParent,
2380
0
    OPC_RecordChild1,
2381
0
    OPC_CheckType, MVT::v2i64,
2382
0
    OPC_CheckPatternPredicate1,
2383
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2384
0
                  MVT::v2i64, 2, 1, 0, 
2385
0
   29, 
2386
0
    OPC_MoveChild0,
2387
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2388
0
    OPC_MoveChild0,
2389
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2390
0
    OPC_CheckType, MVT::v4i32,
2391
0
    OPC_MoveParent,
2392
0
    OPC_CheckPredicate3, 
2393
0
    OPC_MoveParent,
2394
0
    OPC_RecordChild1,
2395
0
    OPC_CheckType, MVT::v2i64,
2396
0
    OPC_MoveParent,
2397
0
    OPC_MoveParent,
2398
0
    OPC_RecordChild1,
2399
0
    OPC_CheckType, MVT::v2i64,
2400
0
    OPC_CheckPatternPredicate1,
2401
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2402
0
                  MVT::v2i64, 2, 1, 0, 
2403
0
   0, 
2404
0
  49, 
2405
0
   OPC_RecordChild0,
2406
0
   OPC_MoveChild1,
2407
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2408
0
   OPC_MoveChild0,
2409
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2410
0
   OPC_MoveChild0,
2411
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2412
0
   OPC_CheckType, MVT::v4i32,
2413
0
   OPC_MoveParent,
2414
0
   OPC_CheckPredicate0, 
2415
0
   OPC_MoveSibling1,
2416
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2417
0
   OPC_MoveChild0,
2418
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2419
0
   OPC_MoveChild0,
2420
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2421
0
   OPC_CheckType, MVT::v4i32,
2422
0
   OPC_MoveParent,
2423
0
   OPC_CheckPredicate3, 
2424
0
   OPC_MoveParent,
2425
0
   OPC_RecordChild1,
2426
0
   OPC_CheckType, MVT::v4i64,
2427
0
   OPC_MoveParent,
2428
0
   OPC_MoveParent,
2429
0
   OPC_CheckType, MVT::v4i64,
2430
0
   OPC_CheckPatternPredicate0,
2431
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2432
0
                 MVT::v4i64, 2, 0, 1, 
2433
0
  82, 
2434
0
   OPC_MoveChild0,
2435
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2436
0
   OPC_MoveChild0,
2437
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2438
0
   OPC_MoveChild0,
2439
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2440
0
   OPC_CheckType, MVT::v4i32,
2441
0
   OPC_MoveParent,
2442
0
   OPC_CheckPredicate0, 
2443
0
   OPC_MoveSibling1,
2444
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2445
0
   OPC_Scope, 29, 
2446
0
    OPC_RecordChild0,
2447
0
    OPC_MoveChild1,
2448
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2449
0
    OPC_MoveChild0,
2450
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2451
0
    OPC_CheckType, MVT::v4i32,
2452
0
    OPC_MoveParent,
2453
0
    OPC_CheckPredicate3, 
2454
0
    OPC_MoveParent,
2455
0
    OPC_CheckType, MVT::v4i64,
2456
0
    OPC_MoveParent,
2457
0
    OPC_MoveParent,
2458
0
    OPC_RecordChild1,
2459
0
    OPC_CheckType, MVT::v4i64,
2460
0
    OPC_CheckPatternPredicate0,
2461
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2462
0
                  MVT::v4i64, 2, 1, 0, 
2463
0
   29, 
2464
0
    OPC_MoveChild0,
2465
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2466
0
    OPC_MoveChild0,
2467
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2468
0
    OPC_CheckType, MVT::v4i32,
2469
0
    OPC_MoveParent,
2470
0
    OPC_CheckPredicate3, 
2471
0
    OPC_MoveParent,
2472
0
    OPC_RecordChild1,
2473
0
    OPC_CheckType, MVT::v4i64,
2474
0
    OPC_MoveParent,
2475
0
    OPC_MoveParent,
2476
0
    OPC_RecordChild1,
2477
0
    OPC_CheckType, MVT::v4i64,
2478
0
    OPC_CheckPatternPredicate0,
2479
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2480
0
                  MVT::v4i64, 2, 1, 0, 
2481
0
   0, 
2482
0
  103|128,1, 
2483
0
   OPC_RecordChild0,
2484
0
   OPC_MoveChild1,
2485
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2486
0
   OPC_MoveChild0,
2487
0
   OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::BITCAST),
2488
0
    OPC_MoveChild0,
2489
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2490
0
    OPC_CheckType, MVT::v4i32,
2491
0
    OPC_MoveParent,
2492
0
    OPC_CheckPredicate0, 
2493
0
    OPC_MoveSibling1,
2494
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2495
0
    OPC_Scope, 1|128,1, 
2496
0
     OPC_RecordChild0,
2497
0
     OPC_MoveChild1,
2498
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2499
0
     OPC_Scope, 16, 
2500
0
      OPC_CheckPredicate7, 
2501
0
      OPC_MoveParent,
2502
0
      OPC_CheckType, MVT::v16i8,
2503
0
      OPC_MoveParent,
2504
0
      OPC_MoveParent,
2505
0
      OPC_CheckType, MVT::v16i8,
2506
0
      OPC_CheckPatternPredicate1,
2507
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2508
0
                    MVT::v16i8, 2, 0, 1, 
2509
0
     17, 
2510
0
      OPC_CheckPredicate, 9,
2511
0
      OPC_MoveParent,
2512
0
      OPC_CheckType, MVT::v8i16,
2513
0
      OPC_MoveParent,
2514
0
      OPC_MoveParent,
2515
0
      OPC_CheckType, MVT::v8i16,
2516
0
      OPC_CheckPatternPredicate1,
2517
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2518
0
                    MVT::v8i16, 2, 0, 1, 
2519
0
     16, 
2520
0
      OPC_CheckPredicate3, 
2521
0
      OPC_MoveParent,
2522
0
      OPC_CheckType, MVT::v2i64,
2523
0
      OPC_MoveParent,
2524
0
      OPC_MoveParent,
2525
0
      OPC_CheckType, MVT::v2i64,
2526
0
      OPC_CheckPatternPredicate1,
2527
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2528
0
                    MVT::v2i64, 2, 0, 1, 
2529
0
     16, 
2530
0
      OPC_CheckPredicate7, 
2531
0
      OPC_MoveParent,
2532
0
      OPC_CheckType, MVT::v32i8,
2533
0
      OPC_MoveParent,
2534
0
      OPC_MoveParent,
2535
0
      OPC_CheckType, MVT::v32i8,
2536
0
      OPC_CheckPatternPredicate0,
2537
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2538
0
                    MVT::v32i8, 2, 0, 1, 
2539
0
     17, 
2540
0
      OPC_CheckPredicate, 9,
2541
0
      OPC_MoveParent,
2542
0
      OPC_CheckType, MVT::v16i16,
2543
0
      OPC_MoveParent,
2544
0
      OPC_MoveParent,
2545
0
      OPC_CheckType, MVT::v16i16,
2546
0
      OPC_CheckPatternPredicate0,
2547
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2548
0
                    MVT::v16i16, 2, 0, 1, 
2549
0
     17, 
2550
0
      OPC_CheckPredicate, 8,
2551
0
      OPC_MoveParent,
2552
0
      OPC_CheckType, MVT::v8i32,
2553
0
      OPC_MoveParent,
2554
0
      OPC_MoveParent,
2555
0
      OPC_CheckType, MVT::v8i32,
2556
0
      OPC_CheckPatternPredicate0,
2557
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
2558
0
                    MVT::v8i32, 2, 0, 1, 
2559
0
     16, 
2560
0
      OPC_CheckPredicate3, 
2561
0
      OPC_MoveParent,
2562
0
      OPC_CheckType, MVT::v4i64,
2563
0
      OPC_MoveParent,
2564
0
      OPC_MoveParent,
2565
0
      OPC_CheckType, MVT::v4i64,
2566
0
      OPC_CheckPatternPredicate0,
2567
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2568
0
                    MVT::v4i64, 2, 0, 1, 
2569
0
     0, 
2570
0
    21, 
2571
0
     OPC_MoveChild0,
2572
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2573
0
     OPC_CheckPredicate7, 
2574
0
     OPC_MoveParent,
2575
0
     OPC_RecordChild1,
2576
0
     OPC_CheckType, MVT::v16i8,
2577
0
     OPC_MoveParent,
2578
0
     OPC_MoveParent,
2579
0
     OPC_CheckType, MVT::v16i8,
2580
0
     OPC_CheckPatternPredicate1,
2581
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2582
0
                   MVT::v16i8, 2, 0, 1, 
2583
0
    0, 
2584
0
   49, TARGET_VAL(ISD::BUILD_VECTOR),
2585
0
    OPC_CheckPredicate0, 
2586
0
    OPC_MoveSibling1,
2587
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2588
0
    OPC_RecordChild0,
2589
0
    OPC_MoveChild1,
2590
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2591
0
    OPC_MoveChild0,
2592
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2593
0
    OPC_CheckType, MVT::v4i32,
2594
0
    OPC_MoveParent,
2595
0
    OPC_CheckPredicate3, 
2596
0
    OPC_MoveParent,
2597
0
    OPC_SwitchType , 12, MVT::v2i64,
2598
0
     OPC_MoveParent,
2599
0
     OPC_MoveParent,
2600
0
     OPC_CheckType, MVT::v2i64,
2601
0
     OPC_CheckPatternPredicate1,
2602
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2603
0
                   MVT::v2i64, 2, 0, 1, 
2604
0
    12, MVT::v4i64,
2605
0
     OPC_MoveParent,
2606
0
     OPC_MoveParent,
2607
0
     OPC_CheckType, MVT::v4i64,
2608
0
     OPC_CheckPatternPredicate0,
2609
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2610
0
                   MVT::v4i64, 2, 0, 1, 
2611
0
    0,
2612
0
   0,
2613
0
  68, 
2614
0
   OPC_MoveChild0,
2615
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2616
0
   OPC_MoveChild0,
2617
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2618
0
   OPC_MoveChild0,
2619
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2620
0
   OPC_CheckType, MVT::v4i32,
2621
0
   OPC_MoveParent,
2622
0
   OPC_CheckPredicate0, 
2623
0
   OPC_MoveSibling1,
2624
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2625
0
   OPC_Scope, 22, 
2626
0
    OPC_RecordChild0,
2627
0
    OPC_MoveChild1,
2628
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2629
0
    OPC_CheckPredicate7, 
2630
0
    OPC_MoveParent,
2631
0
    OPC_CheckType, MVT::v16i8,
2632
0
    OPC_MoveParent,
2633
0
    OPC_MoveParent,
2634
0
    OPC_RecordChild1,
2635
0
    OPC_CheckType, MVT::v16i8,
2636
0
    OPC_CheckPatternPredicate1,
2637
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2638
0
                  MVT::v16i8, 2, 1, 0, 
2639
0
   22, 
2640
0
    OPC_MoveChild0,
2641
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2642
0
    OPC_CheckPredicate7, 
2643
0
    OPC_MoveParent,
2644
0
    OPC_RecordChild1,
2645
0
    OPC_CheckType, MVT::v16i8,
2646
0
    OPC_MoveParent,
2647
0
    OPC_MoveParent,
2648
0
    OPC_RecordChild1,
2649
0
    OPC_CheckType, MVT::v16i8,
2650
0
    OPC_CheckPatternPredicate1,
2651
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2652
0
                  MVT::v16i8, 2, 1, 0, 
2653
0
   0, 
2654
0
  43, 
2655
0
   OPC_RecordChild0,
2656
0
   OPC_MoveChild1,
2657
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2658
0
   OPC_MoveChild0,
2659
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2660
0
   OPC_MoveChild0,
2661
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2662
0
   OPC_CheckType, MVT::v4i32,
2663
0
   OPC_MoveParent,
2664
0
   OPC_CheckPredicate0, 
2665
0
   OPC_MoveSibling1,
2666
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2667
0
   OPC_MoveChild0,
2668
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2669
0
   OPC_CheckPredicate, 9,
2670
0
   OPC_MoveParent,
2671
0
   OPC_RecordChild1,
2672
0
   OPC_CheckType, MVT::v8i16,
2673
0
   OPC_MoveParent,
2674
0
   OPC_MoveParent,
2675
0
   OPC_CheckType, MVT::v8i16,
2676
0
   OPC_CheckPatternPredicate1,
2677
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2678
0
                 MVT::v8i16, 2, 0, 1, 
2679
0
  70, 
2680
0
   OPC_MoveChild0,
2681
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2682
0
   OPC_MoveChild0,
2683
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2684
0
   OPC_MoveChild0,
2685
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2686
0
   OPC_CheckType, MVT::v4i32,
2687
0
   OPC_MoveParent,
2688
0
   OPC_CheckPredicate0, 
2689
0
   OPC_MoveSibling1,
2690
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2691
0
   OPC_Scope, 23, 
2692
0
    OPC_RecordChild0,
2693
0
    OPC_MoveChild1,
2694
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2695
0
    OPC_CheckPredicate, 9,
2696
0
    OPC_MoveParent,
2697
0
    OPC_CheckType, MVT::v8i16,
2698
0
    OPC_MoveParent,
2699
0
    OPC_MoveParent,
2700
0
    OPC_RecordChild1,
2701
0
    OPC_CheckType, MVT::v8i16,
2702
0
    OPC_CheckPatternPredicate1,
2703
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2704
0
                  MVT::v8i16, 2, 1, 0, 
2705
0
   23, 
2706
0
    OPC_MoveChild0,
2707
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2708
0
    OPC_CheckPredicate, 9,
2709
0
    OPC_MoveParent,
2710
0
    OPC_RecordChild1,
2711
0
    OPC_CheckType, MVT::v8i16,
2712
0
    OPC_MoveParent,
2713
0
    OPC_MoveParent,
2714
0
    OPC_RecordChild1,
2715
0
    OPC_CheckType, MVT::v8i16,
2716
0
    OPC_CheckPatternPredicate1,
2717
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2718
0
                  MVT::v8i16, 2, 1, 0, 
2719
0
   0, 
2720
0
  42, 
2721
0
   OPC_RecordChild0,
2722
0
   OPC_MoveChild1,
2723
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2724
0
   OPC_MoveChild0,
2725
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2726
0
   OPC_CheckPredicate0, 
2727
0
   OPC_MoveSibling1,
2728
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2729
0
   OPC_MoveChild0,
2730
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2731
0
   OPC_MoveChild0,
2732
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2733
0
   OPC_CheckType, MVT::v4i32,
2734
0
   OPC_MoveParent,
2735
0
   OPC_CheckPredicate3, 
2736
0
   OPC_MoveParent,
2737
0
   OPC_RecordChild1,
2738
0
   OPC_CheckType, MVT::v2i64,
2739
0
   OPC_MoveParent,
2740
0
   OPC_MoveParent,
2741
0
   OPC_CheckType, MVT::v2i64,
2742
0
   OPC_CheckPatternPredicate1,
2743
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2744
0
                 MVT::v2i64, 2, 0, 1, 
2745
0
  75, 
2746
0
   OPC_MoveChild0,
2747
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2748
0
   OPC_MoveChild0,
2749
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2750
0
   OPC_CheckPredicate0, 
2751
0
   OPC_MoveSibling1,
2752
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2753
0
   OPC_Scope, 29, 
2754
0
    OPC_RecordChild0,
2755
0
    OPC_MoveChild1,
2756
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2757
0
    OPC_MoveChild0,
2758
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2759
0
    OPC_CheckType, MVT::v4i32,
2760
0
    OPC_MoveParent,
2761
0
    OPC_CheckPredicate3, 
2762
0
    OPC_MoveParent,
2763
0
    OPC_CheckType, MVT::v2i64,
2764
0
    OPC_MoveParent,
2765
0
    OPC_MoveParent,
2766
0
    OPC_RecordChild1,
2767
0
    OPC_CheckType, MVT::v2i64,
2768
0
    OPC_CheckPatternPredicate1,
2769
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2770
0
                  MVT::v2i64, 2, 1, 0, 
2771
0
   29, 
2772
0
    OPC_MoveChild0,
2773
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2774
0
    OPC_MoveChild0,
2775
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2776
0
    OPC_CheckType, MVT::v4i32,
2777
0
    OPC_MoveParent,
2778
0
    OPC_CheckPredicate3, 
2779
0
    OPC_MoveParent,
2780
0
    OPC_RecordChild1,
2781
0
    OPC_CheckType, MVT::v2i64,
2782
0
    OPC_MoveParent,
2783
0
    OPC_MoveParent,
2784
0
    OPC_RecordChild1,
2785
0
    OPC_CheckType, MVT::v2i64,
2786
0
    OPC_CheckPatternPredicate1,
2787
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2788
0
                  MVT::v2i64, 2, 1, 0, 
2789
0
   0, 
2790
0
  42, 
2791
0
   OPC_RecordChild0,
2792
0
   OPC_MoveChild1,
2793
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2794
0
   OPC_MoveChild0,
2795
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2796
0
   OPC_MoveChild0,
2797
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2798
0
   OPC_CheckType, MVT::v4i32,
2799
0
   OPC_MoveParent,
2800
0
   OPC_CheckPredicate0, 
2801
0
   OPC_MoveSibling1,
2802
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2803
0
   OPC_MoveChild0,
2804
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2805
0
   OPC_CheckPredicate3, 
2806
0
   OPC_MoveParent,
2807
0
   OPC_RecordChild1,
2808
0
   OPC_CheckType, MVT::v2i64,
2809
0
   OPC_MoveParent,
2810
0
   OPC_MoveParent,
2811
0
   OPC_CheckType, MVT::v2i64,
2812
0
   OPC_CheckPatternPredicate1,
2813
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2814
0
                 MVT::v2i64, 2, 0, 1, 
2815
0
  68, 
2816
0
   OPC_MoveChild0,
2817
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2818
0
   OPC_MoveChild0,
2819
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2820
0
   OPC_MoveChild0,
2821
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2822
0
   OPC_CheckType, MVT::v4i32,
2823
0
   OPC_MoveParent,
2824
0
   OPC_CheckPredicate0, 
2825
0
   OPC_MoveSibling1,
2826
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2827
0
   OPC_Scope, 22, 
2828
0
    OPC_RecordChild0,
2829
0
    OPC_MoveChild1,
2830
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2831
0
    OPC_CheckPredicate3, 
2832
0
    OPC_MoveParent,
2833
0
    OPC_CheckType, MVT::v2i64,
2834
0
    OPC_MoveParent,
2835
0
    OPC_MoveParent,
2836
0
    OPC_RecordChild1,
2837
0
    OPC_CheckType, MVT::v2i64,
2838
0
    OPC_CheckPatternPredicate1,
2839
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2840
0
                  MVT::v2i64, 2, 1, 0, 
2841
0
   22, 
2842
0
    OPC_MoveChild0,
2843
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2844
0
    OPC_CheckPredicate3, 
2845
0
    OPC_MoveParent,
2846
0
    OPC_RecordChild1,
2847
0
    OPC_CheckType, MVT::v2i64,
2848
0
    OPC_MoveParent,
2849
0
    OPC_MoveParent,
2850
0
    OPC_RecordChild1,
2851
0
    OPC_CheckType, MVT::v2i64,
2852
0
    OPC_CheckPatternPredicate1,
2853
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2854
0
                  MVT::v2i64, 2, 1, 0, 
2855
0
   0, 
2856
0
  42, 
2857
0
   OPC_RecordChild0,
2858
0
   OPC_MoveChild1,
2859
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2860
0
   OPC_MoveChild0,
2861
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2862
0
   OPC_MoveChild0,
2863
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2864
0
   OPC_CheckType, MVT::v4i32,
2865
0
   OPC_MoveParent,
2866
0
   OPC_CheckPredicate0, 
2867
0
   OPC_MoveSibling1,
2868
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2869
0
   OPC_MoveChild0,
2870
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2871
0
   OPC_CheckPredicate7, 
2872
0
   OPC_MoveParent,
2873
0
   OPC_RecordChild1,
2874
0
   OPC_CheckType, MVT::v32i8,
2875
0
   OPC_MoveParent,
2876
0
   OPC_MoveParent,
2877
0
   OPC_CheckType, MVT::v32i8,
2878
0
   OPC_CheckPatternPredicate0,
2879
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2880
0
                 MVT::v32i8, 2, 0, 1, 
2881
0
  68, 
2882
0
   OPC_MoveChild0,
2883
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2884
0
   OPC_MoveChild0,
2885
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2886
0
   OPC_MoveChild0,
2887
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2888
0
   OPC_CheckType, MVT::v4i32,
2889
0
   OPC_MoveParent,
2890
0
   OPC_CheckPredicate0, 
2891
0
   OPC_MoveSibling1,
2892
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2893
0
   OPC_Scope, 22, 
2894
0
    OPC_RecordChild0,
2895
0
    OPC_MoveChild1,
2896
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2897
0
    OPC_CheckPredicate7, 
2898
0
    OPC_MoveParent,
2899
0
    OPC_CheckType, MVT::v32i8,
2900
0
    OPC_MoveParent,
2901
0
    OPC_MoveParent,
2902
0
    OPC_RecordChild1,
2903
0
    OPC_CheckType, MVT::v32i8,
2904
0
    OPC_CheckPatternPredicate0,
2905
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2906
0
                  MVT::v32i8, 2, 1, 0, 
2907
0
   22, 
2908
0
    OPC_MoveChild0,
2909
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2910
0
    OPC_CheckPredicate7, 
2911
0
    OPC_MoveParent,
2912
0
    OPC_RecordChild1,
2913
0
    OPC_CheckType, MVT::v32i8,
2914
0
    OPC_MoveParent,
2915
0
    OPC_MoveParent,
2916
0
    OPC_RecordChild1,
2917
0
    OPC_CheckType, MVT::v32i8,
2918
0
    OPC_CheckPatternPredicate0,
2919
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2920
0
                  MVT::v32i8, 2, 1, 0, 
2921
0
   0, 
2922
0
  43, 
2923
0
   OPC_RecordChild0,
2924
0
   OPC_MoveChild1,
2925
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2926
0
   OPC_MoveChild0,
2927
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2928
0
   OPC_MoveChild0,
2929
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2930
0
   OPC_CheckType, MVT::v4i32,
2931
0
   OPC_MoveParent,
2932
0
   OPC_CheckPredicate0, 
2933
0
   OPC_MoveSibling1,
2934
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2935
0
   OPC_MoveChild0,
2936
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2937
0
   OPC_CheckPredicate, 9,
2938
0
   OPC_MoveParent,
2939
0
   OPC_RecordChild1,
2940
0
   OPC_CheckType, MVT::v16i16,
2941
0
   OPC_MoveParent,
2942
0
   OPC_MoveParent,
2943
0
   OPC_CheckType, MVT::v16i16,
2944
0
   OPC_CheckPatternPredicate0,
2945
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2946
0
                 MVT::v16i16, 2, 0, 1, 
2947
0
  70, 
2948
0
   OPC_MoveChild0,
2949
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2950
0
   OPC_MoveChild0,
2951
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2952
0
   OPC_MoveChild0,
2953
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2954
0
   OPC_CheckType, MVT::v4i32,
2955
0
   OPC_MoveParent,
2956
0
   OPC_CheckPredicate0, 
2957
0
   OPC_MoveSibling1,
2958
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2959
0
   OPC_Scope, 23, 
2960
0
    OPC_RecordChild0,
2961
0
    OPC_MoveChild1,
2962
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2963
0
    OPC_CheckPredicate, 9,
2964
0
    OPC_MoveParent,
2965
0
    OPC_CheckType, MVT::v16i16,
2966
0
    OPC_MoveParent,
2967
0
    OPC_MoveParent,
2968
0
    OPC_RecordChild1,
2969
0
    OPC_CheckType, MVT::v16i16,
2970
0
    OPC_CheckPatternPredicate0,
2971
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2972
0
                  MVT::v16i16, 2, 1, 0, 
2973
0
   23, 
2974
0
    OPC_MoveChild0,
2975
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2976
0
    OPC_CheckPredicate, 9,
2977
0
    OPC_MoveParent,
2978
0
    OPC_RecordChild1,
2979
0
    OPC_CheckType, MVT::v16i16,
2980
0
    OPC_MoveParent,
2981
0
    OPC_MoveParent,
2982
0
    OPC_RecordChild1,
2983
0
    OPC_CheckType, MVT::v16i16,
2984
0
    OPC_CheckPatternPredicate0,
2985
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2986
0
                  MVT::v16i16, 2, 1, 0, 
2987
0
   0, 
2988
0
  43, 
2989
0
   OPC_RecordChild0,
2990
0
   OPC_MoveChild1,
2991
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2992
0
   OPC_MoveChild0,
2993
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2994
0
   OPC_MoveChild0,
2995
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2996
0
   OPC_CheckType, MVT::v4i32,
2997
0
   OPC_MoveParent,
2998
0
   OPC_CheckPredicate0, 
2999
0
   OPC_MoveSibling1,
3000
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3001
0
   OPC_MoveChild0,
3002
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3003
0
   OPC_CheckPredicate, 8,
3004
0
   OPC_MoveParent,
3005
0
   OPC_RecordChild1,
3006
0
   OPC_CheckType, MVT::v8i32,
3007
0
   OPC_MoveParent,
3008
0
   OPC_MoveParent,
3009
0
   OPC_CheckType, MVT::v8i32,
3010
0
   OPC_CheckPatternPredicate0,
3011
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3012
0
                 MVT::v8i32, 2, 0, 1, 
3013
0
  70, 
3014
0
   OPC_MoveChild0,
3015
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3016
0
   OPC_MoveChild0,
3017
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3018
0
   OPC_MoveChild0,
3019
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3020
0
   OPC_CheckType, MVT::v4i32,
3021
0
   OPC_MoveParent,
3022
0
   OPC_CheckPredicate0, 
3023
0
   OPC_MoveSibling1,
3024
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3025
0
   OPC_Scope, 23, 
3026
0
    OPC_RecordChild0,
3027
0
    OPC_MoveChild1,
3028
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3029
0
    OPC_CheckPredicate, 8,
3030
0
    OPC_MoveParent,
3031
0
    OPC_CheckType, MVT::v8i32,
3032
0
    OPC_MoveParent,
3033
0
    OPC_MoveParent,
3034
0
    OPC_RecordChild1,
3035
0
    OPC_CheckType, MVT::v8i32,
3036
0
    OPC_CheckPatternPredicate0,
3037
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3038
0
                  MVT::v8i32, 2, 1, 0, 
3039
0
   23, 
3040
0
    OPC_MoveChild0,
3041
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3042
0
    OPC_CheckPredicate, 8,
3043
0
    OPC_MoveParent,
3044
0
    OPC_RecordChild1,
3045
0
    OPC_CheckType, MVT::v8i32,
3046
0
    OPC_MoveParent,
3047
0
    OPC_MoveParent,
3048
0
    OPC_RecordChild1,
3049
0
    OPC_CheckType, MVT::v8i32,
3050
0
    OPC_CheckPatternPredicate0,
3051
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3052
0
                  MVT::v8i32, 2, 1, 0, 
3053
0
   0, 
3054
0
  42, 
3055
0
   OPC_RecordChild0,
3056
0
   OPC_MoveChild1,
3057
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3058
0
   OPC_MoveChild0,
3059
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3060
0
   OPC_CheckPredicate0, 
3061
0
   OPC_MoveSibling1,
3062
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3063
0
   OPC_MoveChild0,
3064
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3065
0
   OPC_MoveChild0,
3066
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3067
0
   OPC_CheckType, MVT::v4i32,
3068
0
   OPC_MoveParent,
3069
0
   OPC_CheckPredicate3, 
3070
0
   OPC_MoveParent,
3071
0
   OPC_RecordChild1,
3072
0
   OPC_CheckType, MVT::v4i64,
3073
0
   OPC_MoveParent,
3074
0
   OPC_MoveParent,
3075
0
   OPC_CheckType, MVT::v4i64,
3076
0
   OPC_CheckPatternPredicate0,
3077
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3078
0
                 MVT::v4i64, 2, 0, 1, 
3079
0
  75, 
3080
0
   OPC_MoveChild0,
3081
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3082
0
   OPC_MoveChild0,
3083
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3084
0
   OPC_CheckPredicate0, 
3085
0
   OPC_MoveSibling1,
3086
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3087
0
   OPC_Scope, 29, 
3088
0
    OPC_RecordChild0,
3089
0
    OPC_MoveChild1,
3090
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3091
0
    OPC_MoveChild0,
3092
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3093
0
    OPC_CheckType, MVT::v4i32,
3094
0
    OPC_MoveParent,
3095
0
    OPC_CheckPredicate3, 
3096
0
    OPC_MoveParent,
3097
0
    OPC_CheckType, MVT::v4i64,
3098
0
    OPC_MoveParent,
3099
0
    OPC_MoveParent,
3100
0
    OPC_RecordChild1,
3101
0
    OPC_CheckType, MVT::v4i64,
3102
0
    OPC_CheckPatternPredicate0,
3103
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3104
0
                  MVT::v4i64, 2, 1, 0, 
3105
0
   29, 
3106
0
    OPC_MoveChild0,
3107
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3108
0
    OPC_MoveChild0,
3109
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3110
0
    OPC_CheckType, MVT::v4i32,
3111
0
    OPC_MoveParent,
3112
0
    OPC_CheckPredicate3, 
3113
0
    OPC_MoveParent,
3114
0
    OPC_RecordChild1,
3115
0
    OPC_CheckType, MVT::v4i64,
3116
0
    OPC_MoveParent,
3117
0
    OPC_MoveParent,
3118
0
    OPC_RecordChild1,
3119
0
    OPC_CheckType, MVT::v4i64,
3120
0
    OPC_CheckPatternPredicate0,
3121
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3122
0
                  MVT::v4i64, 2, 1, 0, 
3123
0
   0, 
3124
0
  42, 
3125
0
   OPC_RecordChild0,
3126
0
   OPC_MoveChild1,
3127
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3128
0
   OPC_MoveChild0,
3129
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3130
0
   OPC_MoveChild0,
3131
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3132
0
   OPC_CheckType, MVT::v4i32,
3133
0
   OPC_MoveParent,
3134
0
   OPC_CheckPredicate0, 
3135
0
   OPC_MoveSibling1,
3136
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3137
0
   OPC_MoveChild0,
3138
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3139
0
   OPC_CheckPredicate3, 
3140
0
   OPC_MoveParent,
3141
0
   OPC_RecordChild1,
3142
0
   OPC_CheckType, MVT::v4i64,
3143
0
   OPC_MoveParent,
3144
0
   OPC_MoveParent,
3145
0
   OPC_CheckType, MVT::v4i64,
3146
0
   OPC_CheckPatternPredicate0,
3147
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3148
0
                 MVT::v4i64, 2, 0, 1, 
3149
0
  68, 
3150
0
   OPC_MoveChild0,
3151
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3152
0
   OPC_MoveChild0,
3153
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3154
0
   OPC_MoveChild0,
3155
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3156
0
   OPC_CheckType, MVT::v4i32,
3157
0
   OPC_MoveParent,
3158
0
   OPC_CheckPredicate0, 
3159
0
   OPC_MoveSibling1,
3160
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3161
0
   OPC_Scope, 22, 
3162
0
    OPC_RecordChild0,
3163
0
    OPC_MoveChild1,
3164
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3165
0
    OPC_CheckPredicate3, 
3166
0
    OPC_MoveParent,
3167
0
    OPC_CheckType, MVT::v4i64,
3168
0
    OPC_MoveParent,
3169
0
    OPC_MoveParent,
3170
0
    OPC_RecordChild1,
3171
0
    OPC_CheckType, MVT::v4i64,
3172
0
    OPC_CheckPatternPredicate0,
3173
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3174
0
                  MVT::v4i64, 2, 1, 0, 
3175
0
   22, 
3176
0
    OPC_MoveChild0,
3177
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3178
0
    OPC_CheckPredicate3, 
3179
0
    OPC_MoveParent,
3180
0
    OPC_RecordChild1,
3181
0
    OPC_CheckType, MVT::v4i64,
3182
0
    OPC_MoveParent,
3183
0
    OPC_MoveParent,
3184
0
    OPC_RecordChild1,
3185
0
    OPC_CheckType, MVT::v4i64,
3186
0
    OPC_CheckPatternPredicate0,
3187
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3188
0
                  MVT::v4i64, 2, 1, 0, 
3189
0
   0, 
3190
0
  59|128,1, 
3191
0
   OPC_RecordChild0,
3192
0
   OPC_MoveChild1,
3193
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3194
0
   OPC_MoveChild0,
3195
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3196
0
   OPC_CheckPredicate0, 
3197
0
   OPC_MoveSibling1,
3198
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3199
0
   OPC_Scope, 19|128,1, 
3200
0
    OPC_RecordChild0,
3201
0
    OPC_MoveChild1,
3202
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3203
0
    OPC_Scope, 16, 
3204
0
     OPC_CheckPredicate7, 
3205
0
     OPC_MoveParent,
3206
0
     OPC_CheckType, MVT::v16i8,
3207
0
     OPC_MoveParent,
3208
0
     OPC_MoveParent,
3209
0
     OPC_CheckType, MVT::v16i8,
3210
0
     OPC_CheckPatternPredicate1,
3211
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3212
0
                   MVT::v16i8, 2, 0, 1, 
3213
0
    17, 
3214
0
     OPC_CheckPredicate, 9,
3215
0
     OPC_MoveParent,
3216
0
     OPC_CheckType, MVT::v8i16,
3217
0
     OPC_MoveParent,
3218
0
     OPC_MoveParent,
3219
0
     OPC_CheckType, MVT::v8i16,
3220
0
     OPC_CheckPatternPredicate1,
3221
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3222
0
                   MVT::v8i16, 2, 0, 1, 
3223
0
    17, 
3224
0
     OPC_CheckPredicate, 8,
3225
0
     OPC_MoveParent,
3226
0
     OPC_CheckType, MVT::v4i32,
3227
0
     OPC_MoveParent,
3228
0
     OPC_MoveParent,
3229
0
     OPC_CheckType, MVT::v4i32,
3230
0
     OPC_CheckPatternPredicate1,
3231
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3232
0
                   MVT::v4i32, 2, 0, 1, 
3233
0
    16, 
3234
0
     OPC_CheckPredicate3, 
3235
0
     OPC_MoveParent,
3236
0
     OPC_CheckType, MVT::v2i64,
3237
0
     OPC_MoveParent,
3238
0
     OPC_MoveParent,
3239
0
     OPC_CheckType, MVT::v2i64,
3240
0
     OPC_CheckPatternPredicate1,
3241
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3242
0
                   MVT::v2i64, 2, 0, 1, 
3243
0
    16, 
3244
0
     OPC_CheckPredicate7, 
3245
0
     OPC_MoveParent,
3246
0
     OPC_CheckType, MVT::v32i8,
3247
0
     OPC_MoveParent,
3248
0
     OPC_MoveParent,
3249
0
     OPC_CheckType, MVT::v32i8,
3250
0
     OPC_CheckPatternPredicate0,
3251
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3252
0
                   MVT::v32i8, 2, 0, 1, 
3253
0
    17, 
3254
0
     OPC_CheckPredicate, 9,
3255
0
     OPC_MoveParent,
3256
0
     OPC_CheckType, MVT::v16i16,
3257
0
     OPC_MoveParent,
3258
0
     OPC_MoveParent,
3259
0
     OPC_CheckType, MVT::v16i16,
3260
0
     OPC_CheckPatternPredicate0,
3261
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3262
0
                   MVT::v16i16, 2, 0, 1, 
3263
0
    17, 
3264
0
     OPC_CheckPredicate, 8,
3265
0
     OPC_MoveParent,
3266
0
     OPC_CheckType, MVT::v8i32,
3267
0
     OPC_MoveParent,
3268
0
     OPC_MoveParent,
3269
0
     OPC_CheckType, MVT::v8i32,
3270
0
     OPC_CheckPatternPredicate0,
3271
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3272
0
                   MVT::v8i32, 2, 0, 1, 
3273
0
    16, 
3274
0
     OPC_CheckPredicate3, 
3275
0
     OPC_MoveParent,
3276
0
     OPC_CheckType, MVT::v4i64,
3277
0
     OPC_MoveParent,
3278
0
     OPC_MoveParent,
3279
0
     OPC_CheckType, MVT::v4i64,
3280
0
     OPC_CheckPatternPredicate0,
3281
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3282
0
                   MVT::v4i64, 2, 0, 1, 
3283
0
    0, 
3284
0
   21, 
3285
0
    OPC_MoveChild0,
3286
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3287
0
    OPC_CheckPredicate7, 
3288
0
    OPC_MoveParent,
3289
0
    OPC_RecordChild1,
3290
0
    OPC_CheckType, MVT::v16i8,
3291
0
    OPC_MoveParent,
3292
0
    OPC_MoveParent,
3293
0
    OPC_CheckType, MVT::v16i8,
3294
0
    OPC_CheckPatternPredicate1,
3295
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3296
0
                  MVT::v16i8, 2, 0, 1, 
3297
0
   0, 
3298
0
  61, 
3299
0
   OPC_MoveChild0,
3300
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3301
0
   OPC_MoveChild0,
3302
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3303
0
   OPC_CheckPredicate0, 
3304
0
   OPC_MoveSibling1,
3305
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3306
0
   OPC_Scope, 22, 
3307
0
    OPC_RecordChild0,
3308
0
    OPC_MoveChild1,
3309
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3310
0
    OPC_CheckPredicate7, 
3311
0
    OPC_MoveParent,
3312
0
    OPC_CheckType, MVT::v16i8,
3313
0
    OPC_MoveParent,
3314
0
    OPC_MoveParent,
3315
0
    OPC_RecordChild1,
3316
0
    OPC_CheckType, MVT::v16i8,
3317
0
    OPC_CheckPatternPredicate1,
3318
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3319
0
                  MVT::v16i8, 2, 1, 0, 
3320
0
   22, 
3321
0
    OPC_MoveChild0,
3322
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3323
0
    OPC_CheckPredicate7, 
3324
0
    OPC_MoveParent,
3325
0
    OPC_RecordChild1,
3326
0
    OPC_CheckType, MVT::v16i8,
3327
0
    OPC_MoveParent,
3328
0
    OPC_MoveParent,
3329
0
    OPC_RecordChild1,
3330
0
    OPC_CheckType, MVT::v16i8,
3331
0
    OPC_CheckPatternPredicate1,
3332
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3333
0
                  MVT::v16i8, 2, 1, 0, 
3334
0
   0, 
3335
0
  36, 
3336
0
   OPC_RecordChild0,
3337
0
   OPC_MoveChild1,
3338
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3339
0
   OPC_MoveChild0,
3340
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3341
0
   OPC_CheckPredicate0, 
3342
0
   OPC_MoveSibling1,
3343
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3344
0
   OPC_MoveChild0,
3345
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3346
0
   OPC_CheckPredicate, 9,
3347
0
   OPC_MoveParent,
3348
0
   OPC_RecordChild1,
3349
0
   OPC_CheckType, MVT::v8i16,
3350
0
   OPC_MoveParent,
3351
0
   OPC_MoveParent,
3352
0
   OPC_CheckType, MVT::v8i16,
3353
0
   OPC_CheckPatternPredicate1,
3354
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3355
0
                 MVT::v8i16, 2, 0, 1, 
3356
0
  63, 
3357
0
   OPC_MoveChild0,
3358
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3359
0
   OPC_MoveChild0,
3360
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3361
0
   OPC_CheckPredicate0, 
3362
0
   OPC_MoveSibling1,
3363
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3364
0
   OPC_Scope, 23, 
3365
0
    OPC_RecordChild0,
3366
0
    OPC_MoveChild1,
3367
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3368
0
    OPC_CheckPredicate, 9,
3369
0
    OPC_MoveParent,
3370
0
    OPC_CheckType, MVT::v8i16,
3371
0
    OPC_MoveParent,
3372
0
    OPC_MoveParent,
3373
0
    OPC_RecordChild1,
3374
0
    OPC_CheckType, MVT::v8i16,
3375
0
    OPC_CheckPatternPredicate1,
3376
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3377
0
                  MVT::v8i16, 2, 1, 0, 
3378
0
   23, 
3379
0
    OPC_MoveChild0,
3380
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3381
0
    OPC_CheckPredicate, 9,
3382
0
    OPC_MoveParent,
3383
0
    OPC_RecordChild1,
3384
0
    OPC_CheckType, MVT::v8i16,
3385
0
    OPC_MoveParent,
3386
0
    OPC_MoveParent,
3387
0
    OPC_RecordChild1,
3388
0
    OPC_CheckType, MVT::v8i16,
3389
0
    OPC_CheckPatternPredicate1,
3390
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3391
0
                  MVT::v8i16, 2, 1, 0, 
3392
0
   0, 
3393
0
  36, 
3394
0
   OPC_RecordChild0,
3395
0
   OPC_MoveChild1,
3396
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3397
0
   OPC_MoveChild0,
3398
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3399
0
   OPC_CheckPredicate0, 
3400
0
   OPC_MoveSibling1,
3401
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3402
0
   OPC_MoveChild0,
3403
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3404
0
   OPC_CheckPredicate, 8,
3405
0
   OPC_MoveParent,
3406
0
   OPC_RecordChild1,
3407
0
   OPC_CheckType, MVT::v4i32,
3408
0
   OPC_MoveParent,
3409
0
   OPC_MoveParent,
3410
0
   OPC_CheckType, MVT::v4i32,
3411
0
   OPC_CheckPatternPredicate1,
3412
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3413
0
                 MVT::v4i32, 2, 0, 1, 
3414
0
  63, 
3415
0
   OPC_MoveChild0,
3416
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3417
0
   OPC_MoveChild0,
3418
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3419
0
   OPC_CheckPredicate0, 
3420
0
   OPC_MoveSibling1,
3421
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3422
0
   OPC_Scope, 23, 
3423
0
    OPC_RecordChild0,
3424
0
    OPC_MoveChild1,
3425
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3426
0
    OPC_CheckPredicate, 8,
3427
0
    OPC_MoveParent,
3428
0
    OPC_CheckType, MVT::v4i32,
3429
0
    OPC_MoveParent,
3430
0
    OPC_MoveParent,
3431
0
    OPC_RecordChild1,
3432
0
    OPC_CheckType, MVT::v4i32,
3433
0
    OPC_CheckPatternPredicate1,
3434
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3435
0
                  MVT::v4i32, 2, 1, 0, 
3436
0
   23, 
3437
0
    OPC_MoveChild0,
3438
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3439
0
    OPC_CheckPredicate, 8,
3440
0
    OPC_MoveParent,
3441
0
    OPC_RecordChild1,
3442
0
    OPC_CheckType, MVT::v4i32,
3443
0
    OPC_MoveParent,
3444
0
    OPC_MoveParent,
3445
0
    OPC_RecordChild1,
3446
0
    OPC_CheckType, MVT::v4i32,
3447
0
    OPC_CheckPatternPredicate1,
3448
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3449
0
                  MVT::v4i32, 2, 1, 0, 
3450
0
   0, 
3451
0
  35, 
3452
0
   OPC_RecordChild0,
3453
0
   OPC_MoveChild1,
3454
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3455
0
   OPC_MoveChild0,
3456
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3457
0
   OPC_CheckPredicate0, 
3458
0
   OPC_MoveSibling1,
3459
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3460
0
   OPC_MoveChild0,
3461
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3462
0
   OPC_CheckPredicate3, 
3463
0
   OPC_MoveParent,
3464
0
   OPC_RecordChild1,
3465
0
   OPC_CheckType, MVT::v2i64,
3466
0
   OPC_MoveParent,
3467
0
   OPC_MoveParent,
3468
0
   OPC_CheckType, MVT::v2i64,
3469
0
   OPC_CheckPatternPredicate1,
3470
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3471
0
                 MVT::v2i64, 2, 0, 1, 
3472
0
  61, 
3473
0
   OPC_MoveChild0,
3474
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3475
0
   OPC_MoveChild0,
3476
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3477
0
   OPC_CheckPredicate0, 
3478
0
   OPC_MoveSibling1,
3479
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3480
0
   OPC_Scope, 22, 
3481
0
    OPC_RecordChild0,
3482
0
    OPC_MoveChild1,
3483
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3484
0
    OPC_CheckPredicate3, 
3485
0
    OPC_MoveParent,
3486
0
    OPC_CheckType, MVT::v2i64,
3487
0
    OPC_MoveParent,
3488
0
    OPC_MoveParent,
3489
0
    OPC_RecordChild1,
3490
0
    OPC_CheckType, MVT::v2i64,
3491
0
    OPC_CheckPatternPredicate1,
3492
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3493
0
                  MVT::v2i64, 2, 1, 0, 
3494
0
   22, 
3495
0
    OPC_MoveChild0,
3496
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3497
0
    OPC_CheckPredicate3, 
3498
0
    OPC_MoveParent,
3499
0
    OPC_RecordChild1,
3500
0
    OPC_CheckType, MVT::v2i64,
3501
0
    OPC_MoveParent,
3502
0
    OPC_MoveParent,
3503
0
    OPC_RecordChild1,
3504
0
    OPC_CheckType, MVT::v2i64,
3505
0
    OPC_CheckPatternPredicate1,
3506
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3507
0
                  MVT::v2i64, 2, 1, 0, 
3508
0
   0, 
3509
0
  35, 
3510
0
   OPC_RecordChild0,
3511
0
   OPC_MoveChild1,
3512
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3513
0
   OPC_MoveChild0,
3514
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3515
0
   OPC_CheckPredicate0, 
3516
0
   OPC_MoveSibling1,
3517
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3518
0
   OPC_MoveChild0,
3519
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3520
0
   OPC_CheckPredicate7, 
3521
0
   OPC_MoveParent,
3522
0
   OPC_RecordChild1,
3523
0
   OPC_CheckType, MVT::v32i8,
3524
0
   OPC_MoveParent,
3525
0
   OPC_MoveParent,
3526
0
   OPC_CheckType, MVT::v32i8,
3527
0
   OPC_CheckPatternPredicate0,
3528
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3529
0
                 MVT::v32i8, 2, 0, 1, 
3530
0
  61, 
3531
0
   OPC_MoveChild0,
3532
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3533
0
   OPC_MoveChild0,
3534
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3535
0
   OPC_CheckPredicate0, 
3536
0
   OPC_MoveSibling1,
3537
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3538
0
   OPC_Scope, 22, 
3539
0
    OPC_RecordChild0,
3540
0
    OPC_MoveChild1,
3541
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3542
0
    OPC_CheckPredicate7, 
3543
0
    OPC_MoveParent,
3544
0
    OPC_CheckType, MVT::v32i8,
3545
0
    OPC_MoveParent,
3546
0
    OPC_MoveParent,
3547
0
    OPC_RecordChild1,
3548
0
    OPC_CheckType, MVT::v32i8,
3549
0
    OPC_CheckPatternPredicate0,
3550
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3551
0
                  MVT::v32i8, 2, 1, 0, 
3552
0
   22, 
3553
0
    OPC_MoveChild0,
3554
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3555
0
    OPC_CheckPredicate7, 
3556
0
    OPC_MoveParent,
3557
0
    OPC_RecordChild1,
3558
0
    OPC_CheckType, MVT::v32i8,
3559
0
    OPC_MoveParent,
3560
0
    OPC_MoveParent,
3561
0
    OPC_RecordChild1,
3562
0
    OPC_CheckType, MVT::v32i8,
3563
0
    OPC_CheckPatternPredicate0,
3564
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3565
0
                  MVT::v32i8, 2, 1, 0, 
3566
0
   0, 
3567
0
  36, 
3568
0
   OPC_RecordChild0,
3569
0
   OPC_MoveChild1,
3570
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3571
0
   OPC_MoveChild0,
3572
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3573
0
   OPC_CheckPredicate0, 
3574
0
   OPC_MoveSibling1,
3575
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3576
0
   OPC_MoveChild0,
3577
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3578
0
   OPC_CheckPredicate, 9,
3579
0
   OPC_MoveParent,
3580
0
   OPC_RecordChild1,
3581
0
   OPC_CheckType, MVT::v16i16,
3582
0
   OPC_MoveParent,
3583
0
   OPC_MoveParent,
3584
0
   OPC_CheckType, MVT::v16i16,
3585
0
   OPC_CheckPatternPredicate0,
3586
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3587
0
                 MVT::v16i16, 2, 0, 1, 
3588
0
  63, 
3589
0
   OPC_MoveChild0,
3590
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3591
0
   OPC_MoveChild0,
3592
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3593
0
   OPC_CheckPredicate0, 
3594
0
   OPC_MoveSibling1,
3595
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3596
0
   OPC_Scope, 23, 
3597
0
    OPC_RecordChild0,
3598
0
    OPC_MoveChild1,
3599
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3600
0
    OPC_CheckPredicate, 9,
3601
0
    OPC_MoveParent,
3602
0
    OPC_CheckType, MVT::v16i16,
3603
0
    OPC_MoveParent,
3604
0
    OPC_MoveParent,
3605
0
    OPC_RecordChild1,
3606
0
    OPC_CheckType, MVT::v16i16,
3607
0
    OPC_CheckPatternPredicate0,
3608
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3609
0
                  MVT::v16i16, 2, 1, 0, 
3610
0
   23, 
3611
0
    OPC_MoveChild0,
3612
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3613
0
    OPC_CheckPredicate, 9,
3614
0
    OPC_MoveParent,
3615
0
    OPC_RecordChild1,
3616
0
    OPC_CheckType, MVT::v16i16,
3617
0
    OPC_MoveParent,
3618
0
    OPC_MoveParent,
3619
0
    OPC_RecordChild1,
3620
0
    OPC_CheckType, MVT::v16i16,
3621
0
    OPC_CheckPatternPredicate0,
3622
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3623
0
                  MVT::v16i16, 2, 1, 0, 
3624
0
   0, 
3625
0
  36, 
3626
0
   OPC_RecordChild0,
3627
0
   OPC_MoveChild1,
3628
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3629
0
   OPC_MoveChild0,
3630
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3631
0
   OPC_CheckPredicate0, 
3632
0
   OPC_MoveSibling1,
3633
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3634
0
   OPC_MoveChild0,
3635
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3636
0
   OPC_CheckPredicate, 8,
3637
0
   OPC_MoveParent,
3638
0
   OPC_RecordChild1,
3639
0
   OPC_CheckType, MVT::v8i32,
3640
0
   OPC_MoveParent,
3641
0
   OPC_MoveParent,
3642
0
   OPC_CheckType, MVT::v8i32,
3643
0
   OPC_CheckPatternPredicate0,
3644
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3645
0
                 MVT::v8i32, 2, 0, 1, 
3646
0
  63, 
3647
0
   OPC_MoveChild0,
3648
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3649
0
   OPC_MoveChild0,
3650
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3651
0
   OPC_CheckPredicate0, 
3652
0
   OPC_MoveSibling1,
3653
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3654
0
   OPC_Scope, 23, 
3655
0
    OPC_RecordChild0,
3656
0
    OPC_MoveChild1,
3657
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3658
0
    OPC_CheckPredicate, 8,
3659
0
    OPC_MoveParent,
3660
0
    OPC_CheckType, MVT::v8i32,
3661
0
    OPC_MoveParent,
3662
0
    OPC_MoveParent,
3663
0
    OPC_RecordChild1,
3664
0
    OPC_CheckType, MVT::v8i32,
3665
0
    OPC_CheckPatternPredicate0,
3666
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3667
0
                  MVT::v8i32, 2, 1, 0, 
3668
0
   23, 
3669
0
    OPC_MoveChild0,
3670
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3671
0
    OPC_CheckPredicate, 8,
3672
0
    OPC_MoveParent,
3673
0
    OPC_RecordChild1,
3674
0
    OPC_CheckType, MVT::v8i32,
3675
0
    OPC_MoveParent,
3676
0
    OPC_MoveParent,
3677
0
    OPC_RecordChild1,
3678
0
    OPC_CheckType, MVT::v8i32,
3679
0
    OPC_CheckPatternPredicate0,
3680
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3681
0
                  MVT::v8i32, 2, 1, 0, 
3682
0
   0, 
3683
0
  35, 
3684
0
   OPC_RecordChild0,
3685
0
   OPC_MoveChild1,
3686
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3687
0
   OPC_MoveChild0,
3688
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3689
0
   OPC_CheckPredicate0, 
3690
0
   OPC_MoveSibling1,
3691
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3692
0
   OPC_MoveChild0,
3693
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3694
0
   OPC_CheckPredicate3, 
3695
0
   OPC_MoveParent,
3696
0
   OPC_RecordChild1,
3697
0
   OPC_CheckType, MVT::v4i64,
3698
0
   OPC_MoveParent,
3699
0
   OPC_MoveParent,
3700
0
   OPC_CheckType, MVT::v4i64,
3701
0
   OPC_CheckPatternPredicate0,
3702
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3703
0
                 MVT::v4i64, 2, 0, 1, 
3704
0
  61, 
3705
0
   OPC_MoveChild0,
3706
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3707
0
   OPC_MoveChild0,
3708
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3709
0
   OPC_CheckPredicate0, 
3710
0
   OPC_MoveSibling1,
3711
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3712
0
   OPC_Scope, 22, 
3713
0
    OPC_RecordChild0,
3714
0
    OPC_MoveChild1,
3715
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3716
0
    OPC_CheckPredicate3, 
3717
0
    OPC_MoveParent,
3718
0
    OPC_CheckType, MVT::v4i64,
3719
0
    OPC_MoveParent,
3720
0
    OPC_MoveParent,
3721
0
    OPC_RecordChild1,
3722
0
    OPC_CheckType, MVT::v4i64,
3723
0
    OPC_CheckPatternPredicate0,
3724
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3725
0
                  MVT::v4i64, 2, 1, 0, 
3726
0
   22, 
3727
0
    OPC_MoveChild0,
3728
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3729
0
    OPC_CheckPredicate3, 
3730
0
    OPC_MoveParent,
3731
0
    OPC_RecordChild1,
3732
0
    OPC_CheckType, MVT::v4i64,
3733
0
    OPC_MoveParent,
3734
0
    OPC_MoveParent,
3735
0
    OPC_RecordChild1,
3736
0
    OPC_CheckType, MVT::v4i64,
3737
0
    OPC_CheckPatternPredicate0,
3738
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3739
0
                  MVT::v4i64, 2, 1, 0, 
3740
0
   0, 
3741
0
  61, 
3742
0
   OPC_RecordChild0,
3743
0
   OPC_MoveChild1,
3744
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3745
0
   OPC_MoveChild0,
3746
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3747
0
   OPC_MoveSibling1,
3748
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3749
0
   OPC_Scope, 22, 
3750
0
    OPC_RecordChild0,
3751
0
    OPC_MoveChild1,
3752
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3753
0
    OPC_CheckPredicate, 8,
3754
0
    OPC_MoveParent,
3755
0
    OPC_CheckType, MVT::v4i32,
3756
0
    OPC_MoveParent,
3757
0
    OPC_MoveParent,
3758
0
    OPC_CheckType, MVT::v4i32,
3759
0
    OPC_CheckPatternPredicate1,
3760
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3761
0
                  MVT::v4i32, 2, 0, 1, 
3762
0
   22, 
3763
0
    OPC_MoveChild0,
3764
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3765
0
    OPC_CheckPredicate, 8,
3766
0
    OPC_MoveParent,
3767
0
    OPC_RecordChild1,
3768
0
    OPC_CheckType, MVT::v4i32,
3769
0
    OPC_MoveParent,
3770
0
    OPC_MoveParent,
3771
0
    OPC_CheckType, MVT::v4i32,
3772
0
    OPC_CheckPatternPredicate1,
3773
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3774
0
                  MVT::v4i32, 2, 0, 1, 
3775
0
   0, 
3776
0
  62, 
3777
0
   OPC_MoveChild0,
3778
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3779
0
   OPC_MoveChild0,
3780
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3781
0
   OPC_MoveSibling1,
3782
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3783
0
   OPC_Scope, 23, 
3784
0
    OPC_RecordChild0,
3785
0
    OPC_MoveChild1,
3786
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3787
0
    OPC_CheckPredicate, 8,
3788
0
    OPC_MoveParent,
3789
0
    OPC_CheckType, MVT::v4i32,
3790
0
    OPC_MoveParent,
3791
0
    OPC_MoveParent,
3792
0
    OPC_RecordChild1,
3793
0
    OPC_CheckType, MVT::v4i32,
3794
0
    OPC_CheckPatternPredicate1,
3795
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3796
0
                  MVT::v4i32, 2, 1, 0, 
3797
0
   23, 
3798
0
    OPC_MoveChild0,
3799
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3800
0
    OPC_CheckPredicate, 8,
3801
0
    OPC_MoveParent,
3802
0
    OPC_RecordChild1,
3803
0
    OPC_CheckType, MVT::v4i32,
3804
0
    OPC_MoveParent,
3805
0
    OPC_MoveParent,
3806
0
    OPC_RecordChild1,
3807
0
    OPC_CheckType, MVT::v4i32,
3808
0
    OPC_CheckPatternPredicate1,
3809
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3810
0
                  MVT::v4i32, 2, 1, 0, 
3811
0
   0, 
3812
0
  119, 
3813
0
   OPC_RecordChild0,
3814
0
   OPC_MoveChild1,
3815
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3816
0
   OPC_MoveChild0,
3817
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3818
0
   OPC_MoveChild0,
3819
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3820
0
   OPC_CheckType, MVT::v4i32,
3821
0
   OPC_MoveParent,
3822
0
   OPC_CheckPredicate0, 
3823
0
   OPC_MoveParent,
3824
0
   OPC_RecordChild1,
3825
0
   OPC_Scope, 13, 
3826
0
    OPC_CheckChild1Type, MVT::v16i8,
3827
0
    OPC_MoveParent,
3828
0
    OPC_CheckType, MVT::v16i8,
3829
0
    OPC_CheckPatternPredicate1,
3830
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3831
0
                  MVT::v16i8, 2, 0, 1, 
3832
0
   13, 
3833
0
    OPC_CheckChild1Type, MVT::v8i16,
3834
0
    OPC_MoveParent,
3835
0
    OPC_CheckType, MVT::v8i16,
3836
0
    OPC_CheckPatternPredicate1,
3837
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3838
0
                  MVT::v8i16, 2, 0, 1, 
3839
0
   13, 
3840
0
    OPC_CheckChild1Type, MVT::v2i64,
3841
0
    OPC_MoveParent,
3842
0
    OPC_CheckType, MVT::v2i64,
3843
0
    OPC_CheckPatternPredicate1,
3844
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3845
0
                  MVT::v2i64, 2, 0, 1, 
3846
0
   13, 
3847
0
    OPC_CheckChild1Type, MVT::v32i8,
3848
0
    OPC_MoveParent,
3849
0
    OPC_CheckType, MVT::v32i8,
3850
0
    OPC_CheckPatternPredicate0,
3851
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3852
0
                  MVT::v32i8, 2, 0, 1, 
3853
0
   13, 
3854
0
    OPC_CheckChild1Type, MVT::v16i16,
3855
0
    OPC_MoveParent,
3856
0
    OPC_CheckType, MVT::v16i16,
3857
0
    OPC_CheckPatternPredicate0,
3858
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3859
0
                  MVT::v16i16, 2, 0, 1, 
3860
0
   13, 
3861
0
    OPC_CheckChild1Type, MVT::v8i32,
3862
0
    OPC_MoveParent,
3863
0
    OPC_CheckType, MVT::v8i32,
3864
0
    OPC_CheckPatternPredicate0,
3865
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3866
0
                  MVT::v8i32, 2, 0, 1, 
3867
0
   13, 
3868
0
    OPC_CheckChild1Type, MVT::v4i64,
3869
0
    OPC_MoveParent,
3870
0
    OPC_CheckType, MVT::v4i64,
3871
0
    OPC_CheckPatternPredicate0,
3872
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3873
0
                  MVT::v4i64, 2, 0, 1, 
3874
0
   0, 
3875
0
  125, 
3876
0
   OPC_MoveChild0,
3877
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3878
0
   OPC_MoveChild0,
3879
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3880
0
   OPC_MoveChild0,
3881
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3882
0
   OPC_CheckType, MVT::v4i32,
3883
0
   OPC_MoveParent,
3884
0
   OPC_CheckPredicate0, 
3885
0
   OPC_MoveParent,
3886
0
   OPC_RecordChild1,
3887
0
   OPC_Scope, 14, 
3888
0
    OPC_CheckChild1Type, MVT::v16i8,
3889
0
    OPC_MoveParent,
3890
0
    OPC_RecordChild1,
3891
0
    OPC_CheckType, MVT::v16i8,
3892
0
    OPC_CheckPatternPredicate1,
3893
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3894
0
                  MVT::v16i8, 2, 1, 0, 
3895
0
   14, 
3896
0
    OPC_CheckChild1Type, MVT::v8i16,
3897
0
    OPC_MoveParent,
3898
0
    OPC_RecordChild1,
3899
0
    OPC_CheckType, MVT::v8i16,
3900
0
    OPC_CheckPatternPredicate1,
3901
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3902
0
                  MVT::v8i16, 2, 1, 0, 
3903
0
   14, 
3904
0
    OPC_CheckChild1Type, MVT::v2i64,
3905
0
    OPC_MoveParent,
3906
0
    OPC_RecordChild1,
3907
0
    OPC_CheckType, MVT::v2i64,
3908
0
    OPC_CheckPatternPredicate1,
3909
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3910
0
                  MVT::v2i64, 2, 1, 0, 
3911
0
   14, 
3912
0
    OPC_CheckChild1Type, MVT::v32i8,
3913
0
    OPC_MoveParent,
3914
0
    OPC_RecordChild1,
3915
0
    OPC_CheckType, MVT::v32i8,
3916
0
    OPC_CheckPatternPredicate0,
3917
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3918
0
                  MVT::v32i8, 2, 1, 0, 
3919
0
   14, 
3920
0
    OPC_CheckChild1Type, MVT::v16i16,
3921
0
    OPC_MoveParent,
3922
0
    OPC_RecordChild1,
3923
0
    OPC_CheckType, MVT::v16i16,
3924
0
    OPC_CheckPatternPredicate0,
3925
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3926
0
                  MVT::v16i16, 2, 1, 0, 
3927
0
   14, 
3928
0
    OPC_CheckChild1Type, MVT::v8i32,
3929
0
    OPC_MoveParent,
3930
0
    OPC_RecordChild1,
3931
0
    OPC_CheckType, MVT::v8i32,
3932
0
    OPC_CheckPatternPredicate0,
3933
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3934
0
                  MVT::v8i32, 2, 1, 0, 
3935
0
   14, 
3936
0
    OPC_CheckChild1Type, MVT::v4i64,
3937
0
    OPC_MoveParent,
3938
0
    OPC_RecordChild1,
3939
0
    OPC_CheckType, MVT::v4i64,
3940
0
    OPC_CheckPatternPredicate0,
3941
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3942
0
                  MVT::v4i64, 2, 1, 0, 
3943
0
   0, 
3944
0
  126, 
3945
0
   OPC_RecordChild0,
3946
0
   OPC_MoveChild1,
3947
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3948
0
   OPC_MoveChild0,
3949
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3950
0
   OPC_CheckPredicate0, 
3951
0
   OPC_MoveParent,
3952
0
   OPC_RecordChild1,
3953
0
   OPC_Scope, 13, 
3954
0
    OPC_CheckChild1Type, MVT::v16i8,
3955
0
    OPC_MoveParent,
3956
0
    OPC_CheckType, MVT::v16i8,
3957
0
    OPC_CheckPatternPredicate1,
3958
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3959
0
                  MVT::v16i8, 2, 0, 1, 
3960
0
   13, 
3961
0
    OPC_CheckChild1Type, MVT::v8i16,
3962
0
    OPC_MoveParent,
3963
0
    OPC_CheckType, MVT::v8i16,
3964
0
    OPC_CheckPatternPredicate1,
3965
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3966
0
                  MVT::v8i16, 2, 0, 1, 
3967
0
   13, 
3968
0
    OPC_CheckChild1Type, MVT::v4i32,
3969
0
    OPC_MoveParent,
3970
0
    OPC_CheckType, MVT::v4i32,
3971
0
    OPC_CheckPatternPredicate1,
3972
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3973
0
                  MVT::v4i32, 2, 0, 1, 
3974
0
   13, 
3975
0
    OPC_CheckChild1Type, MVT::v2i64,
3976
0
    OPC_MoveParent,
3977
0
    OPC_CheckType, MVT::v2i64,
3978
0
    OPC_CheckPatternPredicate1,
3979
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3980
0
                  MVT::v2i64, 2, 0, 1, 
3981
0
   13, 
3982
0
    OPC_CheckChild1Type, MVT::v32i8,
3983
0
    OPC_MoveParent,
3984
0
    OPC_CheckType, MVT::v32i8,
3985
0
    OPC_CheckPatternPredicate0,
3986
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3987
0
                  MVT::v32i8, 2, 0, 1, 
3988
0
   13, 
3989
0
    OPC_CheckChild1Type, MVT::v16i16,
3990
0
    OPC_MoveParent,
3991
0
    OPC_CheckType, MVT::v16i16,
3992
0
    OPC_CheckPatternPredicate0,
3993
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3994
0
                  MVT::v16i16, 2, 0, 1, 
3995
0
   13, 
3996
0
    OPC_CheckChild1Type, MVT::v8i32,
3997
0
    OPC_MoveParent,
3998
0
    OPC_CheckType, MVT::v8i32,
3999
0
    OPC_CheckPatternPredicate0,
4000
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
4001
0
                  MVT::v8i32, 2, 0, 1, 
4002
0
   13, 
4003
0
    OPC_CheckChild1Type, MVT::v4i64,
4004
0
    OPC_MoveParent,
4005
0
    OPC_CheckType, MVT::v4i64,
4006
0
    OPC_CheckPatternPredicate0,
4007
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
4008
0
                  MVT::v4i64, 2, 0, 1, 
4009
0
   0, 
4010
0
  5|128,1, 
4011
0
   OPC_MoveChild0,
4012
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4013
0
   OPC_MoveChild0,
4014
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4015
0
   OPC_CheckPredicate0, 
4016
0
   OPC_MoveParent,
4017
0
   OPC_RecordChild1,
4018
0
   OPC_Scope, 14, 
4019
0
    OPC_CheckChild1Type, MVT::v16i8,
4020
0
    OPC_MoveParent,
4021
0
    OPC_RecordChild1,
4022
0
    OPC_CheckType, MVT::v16i8,
4023
0
    OPC_CheckPatternPredicate1,
4024
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
4025
0
                  MVT::v16i8, 2, 1, 0, 
4026
0
   14, 
4027
0
    OPC_CheckChild1Type, MVT::v8i16,
4028
0
    OPC_MoveParent,
4029
0
    OPC_RecordChild1,
4030
0
    OPC_CheckType, MVT::v8i16,
4031
0
    OPC_CheckPatternPredicate1,
4032
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
4033
0
                  MVT::v8i16, 2, 1, 0, 
4034
0
   14, 
4035
0
    OPC_CheckChild1Type, MVT::v4i32,
4036
0
    OPC_MoveParent,
4037
0
    OPC_RecordChild1,
4038
0
    OPC_CheckType, MVT::v4i32,
4039
0
    OPC_CheckPatternPredicate1,
4040
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4041
0
                  MVT::v4i32, 2, 1, 0, 
4042
0
   14, 
4043
0
    OPC_CheckChild1Type, MVT::v2i64,
4044
0
    OPC_MoveParent,
4045
0
    OPC_RecordChild1,
4046
0
    OPC_CheckType, MVT::v2i64,
4047
0
    OPC_CheckPatternPredicate1,
4048
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
4049
0
                  MVT::v2i64, 2, 1, 0, 
4050
0
   14, 
4051
0
    OPC_CheckChild1Type, MVT::v32i8,
4052
0
    OPC_MoveParent,
4053
0
    OPC_RecordChild1,
4054
0
    OPC_CheckType, MVT::v32i8,
4055
0
    OPC_CheckPatternPredicate0,
4056
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
4057
0
                  MVT::v32i8, 2, 1, 0, 
4058
0
   14, 
4059
0
    OPC_CheckChild1Type, MVT::v16i16,
4060
0
    OPC_MoveParent,
4061
0
    OPC_RecordChild1,
4062
0
    OPC_CheckType, MVT::v16i16,
4063
0
    OPC_CheckPatternPredicate0,
4064
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
4065
0
                  MVT::v16i16, 2, 1, 0, 
4066
0
   14, 
4067
0
    OPC_CheckChild1Type, MVT::v8i32,
4068
0
    OPC_MoveParent,
4069
0
    OPC_RecordChild1,
4070
0
    OPC_CheckType, MVT::v8i32,
4071
0
    OPC_CheckPatternPredicate0,
4072
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
4073
0
                  MVT::v8i32, 2, 1, 0, 
4074
0
   14, 
4075
0
    OPC_CheckChild1Type, MVT::v4i64,
4076
0
    OPC_MoveParent,
4077
0
    OPC_RecordChild1,
4078
0
    OPC_CheckType, MVT::v4i64,
4079
0
    OPC_CheckPatternPredicate0,
4080
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
4081
0
                  MVT::v4i64, 2, 1, 0, 
4082
0
   0, 
4083
0
  24, 
4084
0
   OPC_RecordChild0,
4085
0
   OPC_MoveChild1,
4086
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4087
0
   OPC_MoveChild0,
4088
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4089
0
   OPC_MoveParent,
4090
0
   OPC_RecordChild1,
4091
0
   OPC_CheckChild1Type, MVT::v4i32,
4092
0
   OPC_MoveParent,
4093
0
   OPC_CheckType, MVT::v4i32,
4094
0
   OPC_CheckPatternPredicate1,
4095
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4096
0
                 MVT::v4i32, 2, 0, 1, 
4097
0
  24, 
4098
0
   OPC_MoveChild0,
4099
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4100
0
   OPC_MoveChild0,
4101
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4102
0
   OPC_MoveParent,
4103
0
   OPC_RecordChild1,
4104
0
   OPC_CheckChild1Type, MVT::v4i32,
4105
0
   OPC_MoveParent,
4106
0
   OPC_RecordChild1,
4107
0
   OPC_CheckType, MVT::v4i32,
4108
0
   OPC_CheckPatternPredicate1,
4109
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4110
0
                 MVT::v4i32, 2, 1, 0, 
4111
0
  36|128,4, 
4112
0
   OPC_RecordChild0,
4113
0
   OPC_RecordChild1,
4114
0
   OPC_SwitchType , 99, MVT::v16i8,
4115
0
    OPC_Scope, 10, 
4116
0
     OPC_CheckPatternPredicate2,
4117
0
     OPC_CheckComplexPat5, /*#*/1,
4118
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4119
0
                   MVT::v16i8, 2, 0, 2, 
4120
0
    10, 
4121
0
     OPC_CheckPatternPredicate4,
4122
0
     OPC_CheckComplexPat5, /*#*/1,
4123
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4124
0
                   MVT::v16i8, 2, 0, 2, 
4125
0
    10, 
4126
0
     OPC_CheckPatternPredicate2,
4127
0
     OPC_CheckComplexPat5, /*#*/0,
4128
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4129
0
                   MVT::v16i8, 2, 1, 2, 
4130
0
    10, 
4131
0
     OPC_CheckPatternPredicate4,
4132
0
     OPC_CheckComplexPat5, /*#*/0,
4133
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4134
0
                   MVT::v16i8, 2, 1, 2, 
4135
0
    10, 
4136
0
     OPC_CheckPatternPredicate2,
4137
0
     OPC_CheckComplexPat7, /*#*/1,
4138
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4139
0
                   MVT::v16i8, 2, 0, 2, 
4140
0
    10, 
4141
0
     OPC_CheckPatternPredicate4,
4142
0
     OPC_CheckComplexPat7, /*#*/1,
4143
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4144
0
                   MVT::v16i8, 2, 0, 2, 
4145
0
    10, 
4146
0
     OPC_CheckPatternPredicate2,
4147
0
     OPC_CheckComplexPat7, /*#*/0,
4148
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4149
0
                   MVT::v16i8, 2, 1, 2, 
4150
0
    10, 
4151
0
     OPC_CheckPatternPredicate4,
4152
0
     OPC_CheckComplexPat7, /*#*/0,
4153
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4154
0
                   MVT::v16i8, 2, 1, 2, 
4155
0
    8, 
4156
0
     OPC_CheckPatternPredicate1,
4157
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4158
0
                   MVT::v16i8, 2, 0, 1, 
4159
0
    0, 
4160
0
   55, MVT::v8i16,
4161
0
    OPC_Scope, 10, 
4162
0
     OPC_CheckPatternPredicate2,
4163
0
     OPC_CheckComplexPat5, /*#*/1,
4164
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4165
0
                   MVT::v8i16, 2, 0, 2, 
4166
0
    10, 
4167
0
     OPC_CheckPatternPredicate4,
4168
0
     OPC_CheckComplexPat5, /*#*/1,
4169
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4170
0
                   MVT::v8i16, 2, 0, 2, 
4171
0
    10, 
4172
0
     OPC_CheckPatternPredicate2,
4173
0
     OPC_CheckComplexPat5, /*#*/0,
4174
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4175
0
                   MVT::v8i16, 2, 1, 2, 
4176
0
    10, 
4177
0
     OPC_CheckPatternPredicate4,
4178
0
     OPC_CheckComplexPat5, /*#*/0,
4179
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4180
0
                   MVT::v8i16, 2, 1, 2, 
4181
0
    8, 
4182
0
     OPC_CheckPatternPredicate1,
4183
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4184
0
                   MVT::v8i16, 2, 0, 1, 
4185
0
    0, 
4186
0
   55, MVT::v4i32,
4187
0
    OPC_Scope, 10, 
4188
0
     OPC_CheckPatternPredicate2,
4189
0
     OPC_CheckComplexPat5, /*#*/1,
4190
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4191
0
                   MVT::v4i32, 2, 0, 2, 
4192
0
    10, 
4193
0
     OPC_CheckPatternPredicate4,
4194
0
     OPC_CheckComplexPat5, /*#*/1,
4195
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4196
0
                   MVT::v4i32, 2, 0, 2, 
4197
0
    10, 
4198
0
     OPC_CheckPatternPredicate2,
4199
0
     OPC_CheckComplexPat5, /*#*/0,
4200
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4201
0
                   MVT::v4i32, 2, 1, 2, 
4202
0
    10, 
4203
0
     OPC_CheckPatternPredicate4,
4204
0
     OPC_CheckComplexPat5, /*#*/0,
4205
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4206
0
                   MVT::v4i32, 2, 1, 2, 
4207
0
    8, 
4208
0
     OPC_CheckPatternPredicate1,
4209
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4210
0
                   MVT::v4i32, 2, 0, 1, 
4211
0
    0, 
4212
0
   55, MVT::v2i64,
4213
0
    OPC_Scope, 10, 
4214
0
     OPC_CheckPatternPredicate2,
4215
0
     OPC_CheckComplexPat5, /*#*/1,
4216
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4217
0
                   MVT::v2i64, 2, 0, 2, 
4218
0
    10, 
4219
0
     OPC_CheckPatternPredicate4,
4220
0
     OPC_CheckComplexPat5, /*#*/1,
4221
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4222
0
                   MVT::v2i64, 2, 0, 2, 
4223
0
    10, 
4224
0
     OPC_CheckPatternPredicate2,
4225
0
     OPC_CheckComplexPat5, /*#*/0,
4226
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4227
0
                   MVT::v2i64, 2, 1, 2, 
4228
0
    10, 
4229
0
     OPC_CheckPatternPredicate4,
4230
0
     OPC_CheckComplexPat5, /*#*/0,
4231
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4232
0
                   MVT::v2i64, 2, 1, 2, 
4233
0
    8, 
4234
0
     OPC_CheckPatternPredicate1,
4235
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4236
0
                   MVT::v2i64, 2, 0, 1, 
4237
0
    0, 
4238
0
   99, MVT::v32i8,
4239
0
    OPC_Scope, 10, 
4240
0
     OPC_CheckPatternPredicate3,
4241
0
     OPC_CheckComplexPat5, /*#*/1,
4242
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4243
0
                   MVT::v32i8, 2, 0, 2, 
4244
0
    10, 
4245
0
     OPC_CheckPatternPredicate5,
4246
0
     OPC_CheckComplexPat5, /*#*/1,
4247
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4248
0
                   MVT::v32i8, 2, 0, 2, 
4249
0
    10, 
4250
0
     OPC_CheckPatternPredicate3,
4251
0
     OPC_CheckComplexPat5, /*#*/0,
4252
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4253
0
                   MVT::v32i8, 2, 1, 2, 
4254
0
    10, 
4255
0
     OPC_CheckPatternPredicate5,
4256
0
     OPC_CheckComplexPat5, /*#*/0,
4257
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4258
0
                   MVT::v32i8, 2, 1, 2, 
4259
0
    10, 
4260
0
     OPC_CheckPatternPredicate3,
4261
0
     OPC_CheckComplexPat7, /*#*/1,
4262
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4263
0
                   MVT::v32i8, 2, 0, 2, 
4264
0
    10, 
4265
0
     OPC_CheckPatternPredicate5,
4266
0
     OPC_CheckComplexPat7, /*#*/1,
4267
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4268
0
                   MVT::v32i8, 2, 0, 2, 
4269
0
    10, 
4270
0
     OPC_CheckPatternPredicate3,
4271
0
     OPC_CheckComplexPat7, /*#*/0,
4272
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4273
0
                   MVT::v32i8, 2, 1, 2, 
4274
0
    10, 
4275
0
     OPC_CheckPatternPredicate5,
4276
0
     OPC_CheckComplexPat7, /*#*/0,
4277
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4278
0
                   MVT::v32i8, 2, 1, 2, 
4279
0
    8, 
4280
0
     OPC_CheckPatternPredicate0,
4281
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4282
0
                   MVT::v32i8, 2, 0, 1, 
4283
0
    0, 
4284
0
   55, MVT::v16i16,
4285
0
    OPC_Scope, 10, 
4286
0
     OPC_CheckPatternPredicate3,
4287
0
     OPC_CheckComplexPat5, /*#*/1,
4288
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4289
0
                   MVT::v16i16, 2, 0, 2, 
4290
0
    10, 
4291
0
     OPC_CheckPatternPredicate5,
4292
0
     OPC_CheckComplexPat5, /*#*/1,
4293
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4294
0
                   MVT::v16i16, 2, 0, 2, 
4295
0
    10, 
4296
0
     OPC_CheckPatternPredicate3,
4297
0
     OPC_CheckComplexPat5, /*#*/0,
4298
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4299
0
                   MVT::v16i16, 2, 1, 2, 
4300
0
    10, 
4301
0
     OPC_CheckPatternPredicate5,
4302
0
     OPC_CheckComplexPat5, /*#*/0,
4303
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4304
0
                   MVT::v16i16, 2, 1, 2, 
4305
0
    8, 
4306
0
     OPC_CheckPatternPredicate0,
4307
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4308
0
                   MVT::v16i16, 2, 0, 1, 
4309
0
    0, 
4310
0
   55, MVT::v8i32,
4311
0
    OPC_Scope, 10, 
4312
0
     OPC_CheckPatternPredicate3,
4313
0
     OPC_CheckComplexPat5, /*#*/1,
4314
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4315
0
                   MVT::v8i32, 2, 0, 2, 
4316
0
    10, 
4317
0
     OPC_CheckPatternPredicate5,
4318
0
     OPC_CheckComplexPat5, /*#*/1,
4319
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4320
0
                   MVT::v8i32, 2, 0, 2, 
4321
0
    10, 
4322
0
     OPC_CheckPatternPredicate3,
4323
0
     OPC_CheckComplexPat5, /*#*/0,
4324
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4325
0
                   MVT::v8i32, 2, 1, 2, 
4326
0
    10, 
4327
0
     OPC_CheckPatternPredicate5,
4328
0
     OPC_CheckComplexPat5, /*#*/0,
4329
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4330
0
                   MVT::v8i32, 2, 1, 2, 
4331
0
    8, 
4332
0
     OPC_CheckPatternPredicate0,
4333
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4334
0
                   MVT::v8i32, 2, 0, 1, 
4335
0
    0, 
4336
0
   55, MVT::v4i64,
4337
0
    OPC_Scope, 10, 
4338
0
     OPC_CheckPatternPredicate3,
4339
0
     OPC_CheckComplexPat5, /*#*/1,
4340
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4341
0
                   MVT::v4i64, 2, 0, 2, 
4342
0
    10, 
4343
0
     OPC_CheckPatternPredicate5,
4344
0
     OPC_CheckComplexPat5, /*#*/1,
4345
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4346
0
                   MVT::v4i64, 2, 0, 2, 
4347
0
    10, 
4348
0
     OPC_CheckPatternPredicate3,
4349
0
     OPC_CheckComplexPat5, /*#*/0,
4350
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4351
0
                   MVT::v4i64, 2, 1, 2, 
4352
0
    10, 
4353
0
     OPC_CheckPatternPredicate5,
4354
0
     OPC_CheckComplexPat5, /*#*/0,
4355
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4356
0
                   MVT::v4i64, 2, 1, 2, 
4357
0
    8, 
4358
0
     OPC_CheckPatternPredicate0,
4359
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4360
0
                   MVT::v4i64, 2, 0, 1, 
4361
0
    0, 
4362
0
   0,
4363
0
  0, 
4364
0
 56|128,38, TARGET_VAL(ISD::LOAD),
4365
0
  OPC_RecordMemRef,
4366
0
  OPC_RecordNode,
4367
0
  OPC_Scope, 41|128,6, 
4368
0
   OPC_MoveChild1,
4369
0
   OPC_SwitchOpcode , 15|128,3, TARGET_VAL(ISD::ADD),
4370
0
    OPC_RecordChild0,
4371
0
    OPC_RecordChild1,
4372
0
    OPC_MoveChild1,
4373
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4374
0
    OPC_Scope, 89|128,2, 
4375
0
     OPC_CheckPredicate, 10,
4376
0
     OPC_MoveParent,
4377
0
     OPC_CheckPredicate, 11,
4378
0
     OPC_SwitchType , 68|128,1, MVT::i64,
4379
0
      OPC_MoveParent,
4380
0
      OPC_CheckPredicate6, 
4381
0
      OPC_CheckTypeI64,
4382
0
      OPC_Scope, 17, 
4383
0
       OPC_CheckPredicate, 16,
4384
0
       OPC_CheckPredicate, 14,
4385
0
       OPC_CheckPatternPredicate7,
4386
0
       OPC_CheckComplexPat0, /*#*/1,
4387
0
       OPC_EmitMergeInputChains1_0,
4388
0
       OPC_EmitConvertToTarget2,
4389
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4390
0
                     MVT::i64, 2, 3, 4, 
4391
0
      17, 
4392
0
       OPC_CheckPredicate, 17,
4393
0
       OPC_CheckPredicate, 14,
4394
0
       OPC_CheckPatternPredicate7,
4395
0
       OPC_CheckComplexPat0, /*#*/1,
4396
0
       OPC_EmitMergeInputChains1_0,
4397
0
       OPC_EmitConvertToTarget2,
4398
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4399
0
                     MVT::i64, 2, 3, 4, 
4400
0
      17, 
4401
0
       OPC_CheckPredicate, 16,
4402
0
       OPC_CheckPredicate, 13,
4403
0
       OPC_CheckPatternPredicate7,
4404
0
       OPC_CheckComplexPat0, /*#*/1,
4405
0
       OPC_EmitMergeInputChains1_0,
4406
0
       OPC_EmitConvertToTarget2,
4407
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4408
0
                     MVT::i64, 2, 3, 4, 
4409
0
      17, 
4410
0
       OPC_CheckPredicate, 17,
4411
0
       OPC_CheckPredicate, 13,
4412
0
       OPC_CheckPatternPredicate7,
4413
0
       OPC_CheckComplexPat0, /*#*/1,
4414
0
       OPC_EmitMergeInputChains1_0,
4415
0
       OPC_EmitConvertToTarget2,
4416
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4417
0
                     MVT::i64, 2, 3, 4, 
4418
0
      15, 
4419
0
       OPC_CheckPredicate4, 
4420
0
       OPC_CheckPatternPredicate, 15,
4421
0
       OPC_CheckComplexPat0, /*#*/1,
4422
0
       OPC_EmitMergeInputChains1_0,
4423
0
       OPC_EmitConvertToTarget2,
4424
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4425
0
                     MVT::i64, 2, 3, 4, 
4426
0
      36, 
4427
0
       OPC_CheckPredicate, 23,
4428
0
       OPC_Scope, 15, 
4429
0
        OPC_CheckPredicate, 14,
4430
0
        OPC_CheckPatternPredicate7,
4431
0
        OPC_CheckComplexPat0, /*#*/1,
4432
0
        OPC_EmitMergeInputChains1_0,
4433
0
        OPC_EmitConvertToTarget2,
4434
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4435
0
                      MVT::i64, 2, 3, 4, 
4436
0
       15, 
4437
0
        OPC_CheckPredicate, 13,
4438
0
        OPC_CheckPatternPredicate7,
4439
0
        OPC_CheckComplexPat0, /*#*/1,
4440
0
        OPC_EmitMergeInputChains1_0,
4441
0
        OPC_EmitConvertToTarget2,
4442
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4443
0
                      MVT::i64, 2, 3, 4, 
4444
0
       0, 
4445
0
      16, 
4446
0
       OPC_CheckPredicate, 16,
4447
0
       OPC_CheckPredicate5, 
4448
0
       OPC_CheckPatternPredicate6,
4449
0
       OPC_CheckComplexPat0, /*#*/1,
4450
0
       OPC_EmitMergeInputChains1_0,
4451
0
       OPC_EmitConvertToTarget2,
4452
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4453
0
                     MVT::i64, 2, 3, 4, 
4454
0
      16, 
4455
0
       OPC_CheckPredicate, 17,
4456
0
       OPC_CheckPredicate5, 
4457
0
       OPC_CheckPatternPredicate6,
4458
0
       OPC_CheckComplexPat0, /*#*/1,
4459
0
       OPC_EmitMergeInputChains1_0,
4460
0
       OPC_EmitConvertToTarget2,
4461
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4462
0
                     MVT::i64, 2, 3, 4, 
4463
0
      16, 
4464
0
       OPC_CheckPredicate, 23,
4465
0
       OPC_CheckPredicate5, 
4466
0
       OPC_CheckPatternPredicate6,
4467
0
       OPC_CheckComplexPat0, /*#*/1,
4468
0
       OPC_EmitMergeInputChains1_0,
4469
0
       OPC_EmitConvertToTarget2,
4470
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4471
0
                     MVT::i64, 2, 3, 4, 
4472
0
      14, 
4473
0
       OPC_CheckPredicate4, 
4474
0
       OPC_CheckPatternPredicate6,
4475
0
       OPC_CheckComplexPat0, /*#*/1,
4476
0
       OPC_EmitMergeInputChains1_0,
4477
0
       OPC_EmitConvertToTarget2,
4478
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4479
0
                     MVT::i64, 2, 3, 4, 
4480
0
      0, 
4481
0
     8|128,1, MVT::i32,
4482
0
      OPC_MoveParent,
4483
0
      OPC_CheckPredicate6, 
4484
0
      OPC_CheckTypeI32,
4485
0
      OPC_Scope, 18, 
4486
0
       OPC_CheckPredicate, 16,
4487
0
       OPC_CheckPredicate, 14,
4488
0
       OPC_CheckPatternPredicate, 8,
4489
0
       OPC_CheckComplexPat0, /*#*/1,
4490
0
       OPC_EmitMergeInputChains1_0,
4491
0
       OPC_EmitConvertToTarget2,
4492
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4493
0
                     MVT::i32, 2, 3, 4, 
4494
0
      18, 
4495
0
       OPC_CheckPredicate, 17,
4496
0
       OPC_CheckPredicate, 14,
4497
0
       OPC_CheckPatternPredicate, 8,
4498
0
       OPC_CheckComplexPat0, /*#*/1,
4499
0
       OPC_EmitMergeInputChains1_0,
4500
0
       OPC_EmitConvertToTarget2,
4501
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4502
0
                     MVT::i32, 2, 3, 4, 
4503
0
      18, 
4504
0
       OPC_CheckPredicate, 16,
4505
0
       OPC_CheckPredicate, 13,
4506
0
       OPC_CheckPatternPredicate, 8,
4507
0
       OPC_CheckComplexPat0, /*#*/1,
4508
0
       OPC_EmitMergeInputChains1_0,
4509
0
       OPC_EmitConvertToTarget2,
4510
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4511
0
                     MVT::i32, 2, 3, 4, 
4512
0
      18, 
4513
0
       OPC_CheckPredicate, 17,
4514
0
       OPC_CheckPredicate, 13,
4515
0
       OPC_CheckPatternPredicate, 8,
4516
0
       OPC_CheckComplexPat0, /*#*/1,
4517
0
       OPC_EmitMergeInputChains1_0,
4518
0
       OPC_EmitConvertToTarget2,
4519
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4520
0
                     MVT::i32, 2, 3, 4, 
4521
0
      15, 
4522
0
       OPC_CheckPredicate4, 
4523
0
       OPC_CheckPatternPredicate, 9,
4524
0
       OPC_CheckComplexPat0, /*#*/1,
4525
0
       OPC_EmitMergeInputChains1_0,
4526
0
       OPC_EmitConvertToTarget2,
4527
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4528
0
                     MVT::i32, 2, 3, 4, 
4529
0
      38, 
4530
0
       OPC_CheckPredicate, 23,
4531
0
       OPC_Scope, 16, 
4532
0
        OPC_CheckPredicate, 14,
4533
0
        OPC_CheckPatternPredicate, 8,
4534
0
        OPC_CheckComplexPat0, /*#*/1,
4535
0
        OPC_EmitMergeInputChains1_0,
4536
0
        OPC_EmitConvertToTarget2,
4537
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4538
0
                      MVT::i32, 2, 3, 4, 
4539
0
       16, 
4540
0
        OPC_CheckPredicate, 13,
4541
0
        OPC_CheckPatternPredicate, 8,
4542
0
        OPC_CheckComplexPat0, /*#*/1,
4543
0
        OPC_EmitMergeInputChains1_0,
4544
0
        OPC_EmitConvertToTarget2,
4545
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4546
0
                      MVT::i32, 2, 3, 4, 
4547
0
       0, 
4548
0
      0, 
4549
0
     0,
4550
0
    43, 
4551
0
     OPC_CheckPredicate, 37,
4552
0
     OPC_MoveParent,
4553
0
     OPC_CheckPredicate, 11,
4554
0
     OPC_CheckTypeI64,
4555
0
     OPC_MoveParent,
4556
0
     OPC_CheckPredicate6, 
4557
0
     OPC_CheckTypeI64,
4558
0
     OPC_Scope, 16, 
4559
0
      OPC_CheckPredicate, 16,
4560
0
      OPC_CheckPredicate5, 
4561
0
      OPC_CheckPatternPredicate6,
4562
0
      OPC_CheckComplexPat0, /*#*/1,
4563
0
      OPC_EmitMergeInputChains1_0,
4564
0
      OPC_EmitConvertToTarget2,
4565
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
4566
0
                    MVT::i64, 2, 3, 4, 
4567
0
     14, 
4568
0
      OPC_CheckPredicate4, 
4569
0
      OPC_CheckPatternPredicate6,
4570
0
      OPC_CheckComplexPat0, /*#*/1,
4571
0
      OPC_EmitMergeInputChains1_0,
4572
0
      OPC_EmitConvertToTarget2,
4573
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
4574
0
                    MVT::i64, 2, 3, 4, 
4575
0
     0, 
4576
0
    0, 
4577
0
   15|128,3, TARGET_VAL(ISD::OR),
4578
0
    OPC_RecordChild0,
4579
0
    OPC_RecordChild1,
4580
0
    OPC_MoveChild1,
4581
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4582
0
    OPC_Scope, 89|128,2, 
4583
0
     OPC_CheckPredicate, 10,
4584
0
     OPC_MoveParent,
4585
0
     OPC_CheckPredicate, 11,
4586
0
     OPC_SwitchType , 68|128,1, MVT::i64,
4587
0
      OPC_MoveParent,
4588
0
      OPC_CheckPredicate6, 
4589
0
      OPC_CheckTypeI64,
4590
0
      OPC_Scope, 17, 
4591
0
       OPC_CheckPredicate, 16,
4592
0
       OPC_CheckPredicate, 14,
4593
0
       OPC_CheckPatternPredicate7,
4594
0
       OPC_CheckComplexPat0, /*#*/1,
4595
0
       OPC_EmitMergeInputChains1_0,
4596
0
       OPC_EmitConvertToTarget2,
4597
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4598
0
                     MVT::i64, 2, 3, 4, 
4599
0
      17, 
4600
0
       OPC_CheckPredicate, 17,
4601
0
       OPC_CheckPredicate, 14,
4602
0
       OPC_CheckPatternPredicate7,
4603
0
       OPC_CheckComplexPat0, /*#*/1,
4604
0
       OPC_EmitMergeInputChains1_0,
4605
0
       OPC_EmitConvertToTarget2,
4606
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4607
0
                     MVT::i64, 2, 3, 4, 
4608
0
      17, 
4609
0
       OPC_CheckPredicate, 16,
4610
0
       OPC_CheckPredicate, 13,
4611
0
       OPC_CheckPatternPredicate7,
4612
0
       OPC_CheckComplexPat0, /*#*/1,
4613
0
       OPC_EmitMergeInputChains1_0,
4614
0
       OPC_EmitConvertToTarget2,
4615
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4616
0
                     MVT::i64, 2, 3, 4, 
4617
0
      17, 
4618
0
       OPC_CheckPredicate, 17,
4619
0
       OPC_CheckPredicate, 13,
4620
0
       OPC_CheckPatternPredicate7,
4621
0
       OPC_CheckComplexPat0, /*#*/1,
4622
0
       OPC_EmitMergeInputChains1_0,
4623
0
       OPC_EmitConvertToTarget2,
4624
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4625
0
                     MVT::i64, 2, 3, 4, 
4626
0
      15, 
4627
0
       OPC_CheckPredicate4, 
4628
0
       OPC_CheckPatternPredicate, 15,
4629
0
       OPC_CheckComplexPat0, /*#*/1,
4630
0
       OPC_EmitMergeInputChains1_0,
4631
0
       OPC_EmitConvertToTarget2,
4632
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4633
0
                     MVT::i64, 2, 3, 4, 
4634
0
      36, 
4635
0
       OPC_CheckPredicate, 23,
4636
0
       OPC_Scope, 15, 
4637
0
        OPC_CheckPredicate, 14,
4638
0
        OPC_CheckPatternPredicate7,
4639
0
        OPC_CheckComplexPat0, /*#*/1,
4640
0
        OPC_EmitMergeInputChains1_0,
4641
0
        OPC_EmitConvertToTarget2,
4642
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4643
0
                      MVT::i64, 2, 3, 4, 
4644
0
       15, 
4645
0
        OPC_CheckPredicate, 13,
4646
0
        OPC_CheckPatternPredicate7,
4647
0
        OPC_CheckComplexPat0, /*#*/1,
4648
0
        OPC_EmitMergeInputChains1_0,
4649
0
        OPC_EmitConvertToTarget2,
4650
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4651
0
                      MVT::i64, 2, 3, 4, 
4652
0
       0, 
4653
0
      16, 
4654
0
       OPC_CheckPredicate, 16,
4655
0
       OPC_CheckPredicate5, 
4656
0
       OPC_CheckPatternPredicate6,
4657
0
       OPC_CheckComplexPat0, /*#*/1,
4658
0
       OPC_EmitMergeInputChains1_0,
4659
0
       OPC_EmitConvertToTarget2,
4660
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4661
0
                     MVT::i64, 2, 3, 4, 
4662
0
      16, 
4663
0
       OPC_CheckPredicate, 17,
4664
0
       OPC_CheckPredicate5, 
4665
0
       OPC_CheckPatternPredicate6,
4666
0
       OPC_CheckComplexPat0, /*#*/1,
4667
0
       OPC_EmitMergeInputChains1_0,
4668
0
       OPC_EmitConvertToTarget2,
4669
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4670
0
                     MVT::i64, 2, 3, 4, 
4671
0
      16, 
4672
0
       OPC_CheckPredicate, 23,
4673
0
       OPC_CheckPredicate5, 
4674
0
       OPC_CheckPatternPredicate6,
4675
0
       OPC_CheckComplexPat0, /*#*/1,
4676
0
       OPC_EmitMergeInputChains1_0,
4677
0
       OPC_EmitConvertToTarget2,
4678
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4679
0
                     MVT::i64, 2, 3, 4, 
4680
0
      14, 
4681
0
       OPC_CheckPredicate4, 
4682
0
       OPC_CheckPatternPredicate6,
4683
0
       OPC_CheckComplexPat0, /*#*/1,
4684
0
       OPC_EmitMergeInputChains1_0,
4685
0
       OPC_EmitConvertToTarget2,
4686
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4687
0
                     MVT::i64, 2, 3, 4, 
4688
0
      0, 
4689
0
     8|128,1, MVT::i32,
4690
0
      OPC_MoveParent,
4691
0
      OPC_CheckPredicate6, 
4692
0
      OPC_CheckTypeI32,
4693
0
      OPC_Scope, 18, 
4694
0
       OPC_CheckPredicate, 16,
4695
0
       OPC_CheckPredicate, 14,
4696
0
       OPC_CheckPatternPredicate, 8,
4697
0
       OPC_CheckComplexPat0, /*#*/1,
4698
0
       OPC_EmitMergeInputChains1_0,
4699
0
       OPC_EmitConvertToTarget2,
4700
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4701
0
                     MVT::i32, 2, 3, 4, 
4702
0
      18, 
4703
0
       OPC_CheckPredicate, 17,
4704
0
       OPC_CheckPredicate, 14,
4705
0
       OPC_CheckPatternPredicate, 8,
4706
0
       OPC_CheckComplexPat0, /*#*/1,
4707
0
       OPC_EmitMergeInputChains1_0,
4708
0
       OPC_EmitConvertToTarget2,
4709
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4710
0
                     MVT::i32, 2, 3, 4, 
4711
0
      18, 
4712
0
       OPC_CheckPredicate, 16,
4713
0
       OPC_CheckPredicate, 13,
4714
0
       OPC_CheckPatternPredicate, 8,
4715
0
       OPC_CheckComplexPat0, /*#*/1,
4716
0
       OPC_EmitMergeInputChains1_0,
4717
0
       OPC_EmitConvertToTarget2,
4718
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4719
0
                     MVT::i32, 2, 3, 4, 
4720
0
      18, 
4721
0
       OPC_CheckPredicate, 17,
4722
0
       OPC_CheckPredicate, 13,
4723
0
       OPC_CheckPatternPredicate, 8,
4724
0
       OPC_CheckComplexPat0, /*#*/1,
4725
0
       OPC_EmitMergeInputChains1_0,
4726
0
       OPC_EmitConvertToTarget2,
4727
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4728
0
                     MVT::i32, 2, 3, 4, 
4729
0
      15, 
4730
0
       OPC_CheckPredicate4, 
4731
0
       OPC_CheckPatternPredicate, 9,
4732
0
       OPC_CheckComplexPat0, /*#*/1,
4733
0
       OPC_EmitMergeInputChains1_0,
4734
0
       OPC_EmitConvertToTarget2,
4735
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4736
0
                     MVT::i32, 2, 3, 4, 
4737
0
      38, 
4738
0
       OPC_CheckPredicate, 23,
4739
0
       OPC_Scope, 16, 
4740
0
        OPC_CheckPredicate, 14,
4741
0
        OPC_CheckPatternPredicate, 8,
4742
0
        OPC_CheckComplexPat0, /*#*/1,
4743
0
        OPC_EmitMergeInputChains1_0,
4744
0
        OPC_EmitConvertToTarget2,
4745
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4746
0
                      MVT::i32, 2, 3, 4, 
4747
0
       16, 
4748
0
        OPC_CheckPredicate, 13,
4749
0
        OPC_CheckPatternPredicate, 8,
4750
0
        OPC_CheckComplexPat0, /*#*/1,
4751
0
        OPC_EmitMergeInputChains1_0,
4752
0
        OPC_EmitConvertToTarget2,
4753
0
        OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4754
0
                      MVT::i32, 2, 3, 4, 
4755
0
       0, 
4756
0
      0, 
4757
0
     0,
4758
0
    43, 
4759
0
     OPC_CheckPredicate, 37,
4760
0
     OPC_MoveParent,
4761
0
     OPC_CheckPredicate, 11,
4762
0
     OPC_CheckTypeI64,
4763
0
     OPC_MoveParent,
4764
0
     OPC_CheckPredicate6, 
4765
0
     OPC_CheckTypeI64,
4766
0
     OPC_Scope, 16, 
4767
0
      OPC_CheckPredicate, 16,
4768
0
      OPC_CheckPredicate5, 
4769
0
      OPC_CheckPatternPredicate6,
4770
0
      OPC_CheckComplexPat0, /*#*/1,
4771
0
      OPC_EmitMergeInputChains1_0,
4772
0
      OPC_EmitConvertToTarget2,
4773
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
4774
0
                    MVT::i64, 2, 3, 4, 
4775
0
     14, 
4776
0
      OPC_CheckPredicate4, 
4777
0
      OPC_CheckPatternPredicate6,
4778
0
      OPC_CheckComplexPat0, /*#*/1,
4779
0
      OPC_EmitMergeInputChains1_0,
4780
0
      OPC_EmitConvertToTarget2,
4781
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
4782
0
                    MVT::i64, 2, 3, 4, 
4783
0
     0, 
4784
0
    0, 
4785
0
   0,
4786
0
  65|128,2, 
4787
0
   OPC_RecordChild1,
4788
0
   OPC_CheckPredicate6, 
4789
0
   OPC_Scope, 35, 
4790
0
    OPC_CheckPredicate, 16,
4791
0
    OPC_CheckPredicate, 14,
4792
0
    OPC_SwitchType , 12, MVT::i64,
4793
0
     OPC_CheckPatternPredicate7,
4794
0
     OPC_CheckComplexPat4, /*#*/1,
4795
0
     OPC_EmitMergeInputChains1_0,
4796
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4797
0
                   MVT::i64, 2, 2, 3, 
4798
0
    13, MVT::i32,
4799
0
     OPC_CheckPatternPredicate, 8,
4800
0
     OPC_CheckComplexPat4, /*#*/1,
4801
0
     OPC_EmitMergeInputChains1_0,
4802
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4803
0
                   MVT::i32, 2, 2, 3, 
4804
0
    0,
4805
0
   35, 
4806
0
    OPC_CheckPredicate, 17,
4807
0
    OPC_CheckPredicate, 14,
4808
0
    OPC_SwitchType , 12, MVT::i64,
4809
0
     OPC_CheckPatternPredicate7,
4810
0
     OPC_CheckComplexPat4, /*#*/1,
4811
0
     OPC_EmitMergeInputChains1_0,
4812
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4813
0
                   MVT::i64, 2, 2, 3, 
4814
0
    13, MVT::i32,
4815
0
     OPC_CheckPatternPredicate, 8,
4816
0
     OPC_CheckComplexPat4, /*#*/1,
4817
0
     OPC_EmitMergeInputChains1_0,
4818
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4819
0
                   MVT::i32, 2, 2, 3, 
4820
0
    0,
4821
0
   35, 
4822
0
    OPC_CheckPredicate, 16,
4823
0
    OPC_CheckPredicate, 13,
4824
0
    OPC_SwitchType , 12, MVT::i64,
4825
0
     OPC_CheckPatternPredicate7,
4826
0
     OPC_CheckComplexPat4, /*#*/1,
4827
0
     OPC_EmitMergeInputChains1_0,
4828
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4829
0
                   MVT::i64, 2, 2, 3, 
4830
0
    13, MVT::i32,
4831
0
     OPC_CheckPatternPredicate, 8,
4832
0
     OPC_CheckComplexPat4, /*#*/1,
4833
0
     OPC_EmitMergeInputChains1_0,
4834
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4835
0
                   MVT::i32, 2, 2, 3, 
4836
0
    0,
4837
0
   35, 
4838
0
    OPC_CheckPredicate, 17,
4839
0
    OPC_CheckPredicate, 13,
4840
0
    OPC_SwitchType , 12, MVT::i64,
4841
0
     OPC_CheckPatternPredicate7,
4842
0
     OPC_CheckComplexPat4, /*#*/1,
4843
0
     OPC_EmitMergeInputChains1_0,
4844
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4845
0
                   MVT::i64, 2, 2, 3, 
4846
0
    13, MVT::i32,
4847
0
     OPC_CheckPatternPredicate, 8,
4848
0
     OPC_CheckComplexPat4, /*#*/1,
4849
0
     OPC_EmitMergeInputChains1_0,
4850
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4851
0
                   MVT::i32, 2, 2, 3, 
4852
0
    0,
4853
0
   33, 
4854
0
    OPC_CheckPredicate4, 
4855
0
    OPC_SwitchType , 13, MVT::i64,
4856
0
     OPC_CheckPatternPredicate, 15,
4857
0
     OPC_CheckComplexPat4, /*#*/1,
4858
0
     OPC_EmitMergeInputChains1_0,
4859
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4860
0
                   MVT::i64, 2, 2, 3, 
4861
0
    13, MVT::i32,
4862
0
     OPC_CheckPatternPredicate, 9,
4863
0
     OPC_CheckComplexPat4, /*#*/1,
4864
0
     OPC_EmitMergeInputChains1_0,
4865
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4866
0
                   MVT::i32, 2, 2, 3, 
4867
0
    0,
4868
0
   72, 
4869
0
    OPC_CheckPredicate, 23,
4870
0
    OPC_Scope, 33, 
4871
0
     OPC_CheckPredicate, 14,
4872
0
     OPC_SwitchType , 12, MVT::i64,
4873
0
      OPC_CheckPatternPredicate7,
4874
0
      OPC_CheckComplexPat4, /*#*/1,
4875
0
      OPC_EmitMergeInputChains1_0,
4876
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4877
0
                    MVT::i64, 2, 2, 3, 
4878
0
     13, MVT::i32,
4879
0
      OPC_CheckPatternPredicate, 8,
4880
0
      OPC_CheckComplexPat4, /*#*/1,
4881
0
      OPC_EmitMergeInputChains1_0,
4882
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4883
0
                    MVT::i32, 2, 2, 3, 
4884
0
     0,
4885
0
    33, 
4886
0
     OPC_CheckPredicate, 13,
4887
0
     OPC_SwitchType , 12, MVT::i64,
4888
0
      OPC_CheckPatternPredicate7,
4889
0
      OPC_CheckComplexPat4, /*#*/1,
4890
0
      OPC_EmitMergeInputChains1_0,
4891
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4892
0
                    MVT::i64, 2, 2, 3, 
4893
0
     13, MVT::i32,
4894
0
      OPC_CheckPatternPredicate, 8,
4895
0
      OPC_CheckComplexPat4, /*#*/1,
4896
0
      OPC_EmitMergeInputChains1_0,
4897
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4898
0
                    MVT::i32, 2, 2, 3, 
4899
0
     0,
4900
0
    0, 
4901
0
   16, 
4902
0
    OPC_CheckPredicate, 16,
4903
0
    OPC_CheckPredicate5, 
4904
0
    OPC_CheckTypeI64,
4905
0
    OPC_CheckPatternPredicate6,
4906
0
    OPC_CheckComplexPat4, /*#*/1,
4907
0
    OPC_EmitMergeInputChains1_0,
4908
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4909
0
                  MVT::i64, 2, 2, 3, 
4910
0
   16, 
4911
0
    OPC_CheckPredicate, 17,
4912
0
    OPC_CheckPredicate5, 
4913
0
    OPC_CheckTypeI64,
4914
0
    OPC_CheckPatternPredicate6,
4915
0
    OPC_CheckComplexPat4, /*#*/1,
4916
0
    OPC_EmitMergeInputChains1_0,
4917
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4918
0
                  MVT::i64, 2, 2, 3, 
4919
0
   16, 
4920
0
    OPC_CheckPredicate, 23,
4921
0
    OPC_CheckPredicate5, 
4922
0
    OPC_CheckTypeI64,
4923
0
    OPC_CheckPatternPredicate6,
4924
0
    OPC_CheckComplexPat4, /*#*/1,
4925
0
    OPC_EmitMergeInputChains1_0,
4926
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4927
0
                  MVT::i64, 2, 2, 3, 
4928
0
   14, 
4929
0
    OPC_CheckPredicate4, 
4930
0
    OPC_CheckTypeI64,
4931
0
    OPC_CheckPatternPredicate6,
4932
0
    OPC_CheckComplexPat4, /*#*/1,
4933
0
    OPC_EmitMergeInputChains1_0,
4934
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4935
0
                  MVT::i64, 2, 2, 3, 
4936
0
   0, 
4937
0
  84|128,2, 
4938
0
   OPC_MoveChild1,
4939
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4940
0
   OPC_RecordChild0,
4941
0
   OPC_RecordChild1,
4942
0
   OPC_CheckTypeI64,
4943
0
   OPC_MoveParent,
4944
0
   OPC_CheckPredicate6, 
4945
0
   OPC_CheckTypeI64,
4946
0
   OPC_Scope, 16, 
4947
0
    OPC_CheckPredicate, 17,
4948
0
    OPC_CheckPredicate, 14,
4949
0
    OPC_CheckPatternPredicate6,
4950
0
    OPC_CheckComplexPat2, /*#*/1,
4951
0
    OPC_EmitMergeInputChains1_0,
4952
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
4953
0
                  MVT::i64, 2, 3, 2, 
4954
0
   16, 
4955
0
    OPC_CheckPredicate, 16,
4956
0
    OPC_CheckPredicate, 14,
4957
0
    OPC_CheckPatternPredicate6,
4958
0
    OPC_CheckComplexPat2, /*#*/1,
4959
0
    OPC_EmitMergeInputChains1_0,
4960
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
4961
0
                  MVT::i64, 2, 3, 2, 
4962
0
   16, 
4963
0
    OPC_CheckPredicate, 23,
4964
0
    OPC_CheckPredicate, 14,
4965
0
    OPC_CheckPatternPredicate6,
4966
0
    OPC_CheckComplexPat2, /*#*/1,
4967
0
    OPC_EmitMergeInputChains1_0,
4968
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
4969
0
                  MVT::i64, 2, 3, 2, 
4970
0
   16, 
4971
0
    OPC_CheckPredicate, 17,
4972
0
    OPC_CheckPredicate, 13,
4973
0
    OPC_CheckPatternPredicate6,
4974
0
    OPC_CheckComplexPat2, /*#*/1,
4975
0
    OPC_EmitMergeInputChains1_0,
4976
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
4977
0
                  MVT::i64, 2, 3, 2, 
4978
0
   16, 
4979
0
    OPC_CheckPredicate, 16,
4980
0
    OPC_CheckPredicate, 13,
4981
0
    OPC_CheckPatternPredicate6,
4982
0
    OPC_CheckComplexPat2, /*#*/1,
4983
0
    OPC_EmitMergeInputChains1_0,
4984
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
4985
0
                  MVT::i64, 2, 3, 2, 
4986
0
   16, 
4987
0
    OPC_CheckPredicate, 23,
4988
0
    OPC_CheckPredicate, 13,
4989
0
    OPC_CheckPatternPredicate6,
4990
0
    OPC_CheckComplexPat2, /*#*/1,
4991
0
    OPC_EmitMergeInputChains1_0,
4992
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
4993
0
                  MVT::i64, 2, 3, 2, 
4994
0
   15, 
4995
0
    OPC_CheckPredicate, 17,
4996
0
    OPC_CheckPredicate5, 
4997
0
    OPC_CheckPatternPredicate6,
4998
0
    OPC_CheckComplexPat2, /*#*/1,
4999
0
    OPC_EmitMergeInputChains1_0,
5000
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5001
0
                  MVT::i64, 2, 3, 2, 
5002
0
   15, 
5003
0
    OPC_CheckPredicate, 16,
5004
0
    OPC_CheckPredicate5, 
5005
0
    OPC_CheckPatternPredicate6,
5006
0
    OPC_CheckComplexPat2, /*#*/1,
5007
0
    OPC_EmitMergeInputChains1_0,
5008
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5009
0
                  MVT::i64, 2, 3, 2, 
5010
0
   15, 
5011
0
    OPC_CheckPredicate, 23,
5012
0
    OPC_CheckPredicate5, 
5013
0
    OPC_CheckPatternPredicate6,
5014
0
    OPC_CheckComplexPat2, /*#*/1,
5015
0
    OPC_EmitMergeInputChains1_0,
5016
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
5017
0
                  MVT::i64, 2, 3, 2, 
5018
0
   13, 
5019
0
    OPC_CheckPredicate4, 
5020
0
    OPC_CheckPatternPredicate6,
5021
0
    OPC_CheckComplexPat2, /*#*/1,
5022
0
    OPC_EmitMergeInputChains1_0,
5023
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5024
0
                  MVT::i64, 2, 3, 2, 
5025
0
   16, 
5026
0
    OPC_CheckPredicate, 17,
5027
0
    OPC_CheckPredicate, 14,
5028
0
    OPC_CheckPatternPredicate6,
5029
0
    OPC_CheckComplexPat2, /*#*/2,
5030
0
    OPC_EmitMergeInputChains1_0,
5031
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
5032
0
                  MVT::i64, 2, 3, 1, 
5033
0
   16, 
5034
0
    OPC_CheckPredicate, 16,
5035
0
    OPC_CheckPredicate, 14,
5036
0
    OPC_CheckPatternPredicate6,
5037
0
    OPC_CheckComplexPat2, /*#*/2,
5038
0
    OPC_EmitMergeInputChains1_0,
5039
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
5040
0
                  MVT::i64, 2, 3, 1, 
5041
0
   16, 
5042
0
    OPC_CheckPredicate, 23,
5043
0
    OPC_CheckPredicate, 14,
5044
0
    OPC_CheckPatternPredicate6,
5045
0
    OPC_CheckComplexPat2, /*#*/2,
5046
0
    OPC_EmitMergeInputChains1_0,
5047
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
5048
0
                  MVT::i64, 2, 3, 1, 
5049
0
   16, 
5050
0
    OPC_CheckPredicate, 17,
5051
0
    OPC_CheckPredicate, 13,
5052
0
    OPC_CheckPatternPredicate6,
5053
0
    OPC_CheckComplexPat2, /*#*/2,
5054
0
    OPC_EmitMergeInputChains1_0,
5055
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
5056
0
                  MVT::i64, 2, 3, 1, 
5057
0
   16, 
5058
0
    OPC_CheckPredicate, 16,
5059
0
    OPC_CheckPredicate, 13,
5060
0
    OPC_CheckPatternPredicate6,
5061
0
    OPC_CheckComplexPat2, /*#*/2,
5062
0
    OPC_EmitMergeInputChains1_0,
5063
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
5064
0
                  MVT::i64, 2, 3, 1, 
5065
0
   16, 
5066
0
    OPC_CheckPredicate, 23,
5067
0
    OPC_CheckPredicate, 13,
5068
0
    OPC_CheckPatternPredicate6,
5069
0
    OPC_CheckComplexPat2, /*#*/2,
5070
0
    OPC_EmitMergeInputChains1_0,
5071
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
5072
0
                  MVT::i64, 2, 3, 1, 
5073
0
   15, 
5074
0
    OPC_CheckPredicate, 17,
5075
0
    OPC_CheckPredicate5, 
5076
0
    OPC_CheckPatternPredicate6,
5077
0
    OPC_CheckComplexPat2, /*#*/2,
5078
0
    OPC_EmitMergeInputChains1_0,
5079
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5080
0
                  MVT::i64, 2, 3, 1, 
5081
0
   15, 
5082
0
    OPC_CheckPredicate, 16,
5083
0
    OPC_CheckPredicate5, 
5084
0
    OPC_CheckPatternPredicate6,
5085
0
    OPC_CheckComplexPat2, /*#*/2,
5086
0
    OPC_EmitMergeInputChains1_0,
5087
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5088
0
                  MVT::i64, 2, 3, 1, 
5089
0
   15, 
5090
0
    OPC_CheckPredicate, 23,
5091
0
    OPC_CheckPredicate5, 
5092
0
    OPC_CheckPatternPredicate6,
5093
0
    OPC_CheckComplexPat2, /*#*/2,
5094
0
    OPC_EmitMergeInputChains1_0,
5095
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
5096
0
                  MVT::i64, 2, 3, 1, 
5097
0
   13, 
5098
0
    OPC_CheckPredicate4, 
5099
0
    OPC_CheckPatternPredicate6,
5100
0
    OPC_CheckComplexPat2, /*#*/2,
5101
0
    OPC_EmitMergeInputChains1_0,
5102
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5103
0
                  MVT::i64, 2, 3, 1, 
5104
0
   0, 
5105
0
  101|128,2, 
5106
0
   OPC_RecordChild1,
5107
0
   OPC_CheckPredicate6, 
5108
0
   OPC_Scope, 39, 
5109
0
    OPC_CheckPredicate, 16,
5110
0
    OPC_CheckPredicate, 14,
5111
0
    OPC_SwitchType , 14, MVT::i64,
5112
0
     OPC_CheckPatternPredicate7,
5113
0
     OPC_CheckComplexPat0, /*#*/1,
5114
0
     OPC_EmitMergeInputChains1_0,
5115
0
     OPC_EmitInteger64, 0, 
5116
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5117
0
                   MVT::i64, 2, 2, 3, 
5118
0
    15, MVT::i32,
5119
0
     OPC_CheckPatternPredicate, 8,
5120
0
     OPC_CheckComplexPat0, /*#*/1,
5121
0
     OPC_EmitMergeInputChains1_0,
5122
0
     OPC_EmitInteger32, 0, 
5123
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5124
0
                   MVT::i32, 2, 2, 3, 
5125
0
    0,
5126
0
   39, 
5127
0
    OPC_CheckPredicate, 17,
5128
0
    OPC_CheckPredicate, 14,
5129
0
    OPC_SwitchType , 14, MVT::i64,
5130
0
     OPC_CheckPatternPredicate7,
5131
0
     OPC_CheckComplexPat0, /*#*/1,
5132
0
     OPC_EmitMergeInputChains1_0,
5133
0
     OPC_EmitInteger64, 0, 
5134
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5135
0
                   MVT::i64, 2, 2, 3, 
5136
0
    15, MVT::i32,
5137
0
     OPC_CheckPatternPredicate, 8,
5138
0
     OPC_CheckComplexPat0, /*#*/1,
5139
0
     OPC_EmitMergeInputChains1_0,
5140
0
     OPC_EmitInteger32, 0, 
5141
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5142
0
                   MVT::i32, 2, 2, 3, 
5143
0
    0,
5144
0
   39, 
5145
0
    OPC_CheckPredicate, 16,
5146
0
    OPC_CheckPredicate, 13,
5147
0
    OPC_SwitchType , 14, MVT::i64,
5148
0
     OPC_CheckPatternPredicate7,
5149
0
     OPC_CheckComplexPat0, /*#*/1,
5150
0
     OPC_EmitMergeInputChains1_0,
5151
0
     OPC_EmitInteger64, 0, 
5152
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5153
0
                   MVT::i64, 2, 2, 3, 
5154
0
    15, MVT::i32,
5155
0
     OPC_CheckPatternPredicate, 8,
5156
0
     OPC_CheckComplexPat0, /*#*/1,
5157
0
     OPC_EmitMergeInputChains1_0,
5158
0
     OPC_EmitInteger32, 0, 
5159
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5160
0
                   MVT::i32, 2, 2, 3, 
5161
0
    0,
5162
0
   39, 
5163
0
    OPC_CheckPredicate, 17,
5164
0
    OPC_CheckPredicate, 13,
5165
0
    OPC_SwitchType , 14, MVT::i64,
5166
0
     OPC_CheckPatternPredicate7,
5167
0
     OPC_CheckComplexPat0, /*#*/1,
5168
0
     OPC_EmitMergeInputChains1_0,
5169
0
     OPC_EmitInteger64, 0, 
5170
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5171
0
                   MVT::i64, 2, 2, 3, 
5172
0
    15, MVT::i32,
5173
0
     OPC_CheckPatternPredicate, 8,
5174
0
     OPC_CheckComplexPat0, /*#*/1,
5175
0
     OPC_EmitMergeInputChains1_0,
5176
0
     OPC_EmitInteger32, 0, 
5177
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5178
0
                   MVT::i32, 2, 2, 3, 
5179
0
    0,
5180
0
   37, 
5181
0
    OPC_CheckPredicate4, 
5182
0
    OPC_SwitchType , 15, MVT::i64,
5183
0
     OPC_CheckPatternPredicate, 15,
5184
0
     OPC_CheckComplexPat0, /*#*/1,
5185
0
     OPC_EmitMergeInputChains1_0,
5186
0
     OPC_EmitInteger64, 0, 
5187
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5188
0
                   MVT::i64, 2, 2, 3, 
5189
0
    15, MVT::i32,
5190
0
     OPC_CheckPatternPredicate, 9,
5191
0
     OPC_CheckComplexPat0, /*#*/1,
5192
0
     OPC_EmitMergeInputChains1_0,
5193
0
     OPC_EmitInteger32, 0, 
5194
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5195
0
                   MVT::i32, 2, 2, 3, 
5196
0
    0,
5197
0
   80, 
5198
0
    OPC_CheckPredicate, 23,
5199
0
    OPC_Scope, 37, 
5200
0
     OPC_CheckPredicate, 14,
5201
0
     OPC_SwitchType , 14, MVT::i64,
5202
0
      OPC_CheckPatternPredicate7,
5203
0
      OPC_CheckComplexPat0, /*#*/1,
5204
0
      OPC_EmitMergeInputChains1_0,
5205
0
      OPC_EmitInteger64, 0, 
5206
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
5207
0
                    MVT::i64, 2, 2, 3, 
5208
0
     15, MVT::i32,
5209
0
      OPC_CheckPatternPredicate, 8,
5210
0
      OPC_CheckComplexPat0, /*#*/1,
5211
0
      OPC_EmitMergeInputChains1_0,
5212
0
      OPC_EmitInteger32, 0, 
5213
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
5214
0
                    MVT::i32, 2, 2, 3, 
5215
0
     0,
5216
0
    37, 
5217
0
     OPC_CheckPredicate, 13,
5218
0
     OPC_SwitchType , 14, MVT::i64,
5219
0
      OPC_CheckPatternPredicate7,
5220
0
      OPC_CheckComplexPat0, /*#*/1,
5221
0
      OPC_EmitMergeInputChains1_0,
5222
0
      OPC_EmitInteger64, 0, 
5223
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
5224
0
                    MVT::i64, 2, 2, 3, 
5225
0
     15, MVT::i32,
5226
0
      OPC_CheckPatternPredicate, 8,
5227
0
      OPC_CheckComplexPat0, /*#*/1,
5228
0
      OPC_EmitMergeInputChains1_0,
5229
0
      OPC_EmitInteger32, 0, 
5230
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
5231
0
                    MVT::i32, 2, 2, 3, 
5232
0
     0,
5233
0
    0, 
5234
0
   18, 
5235
0
    OPC_CheckPredicate, 16,
5236
0
    OPC_CheckPredicate5, 
5237
0
    OPC_CheckTypeI64,
5238
0
    OPC_CheckPatternPredicate6,
5239
0
    OPC_CheckComplexPat0, /*#*/1,
5240
0
    OPC_EmitMergeInputChains1_0,
5241
0
    OPC_EmitInteger64, 0, 
5242
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5243
0
                  MVT::i64, 2, 2, 3, 
5244
0
   18, 
5245
0
    OPC_CheckPredicate, 17,
5246
0
    OPC_CheckPredicate5, 
5247
0
    OPC_CheckTypeI64,
5248
0
    OPC_CheckPatternPredicate6,
5249
0
    OPC_CheckComplexPat0, /*#*/1,
5250
0
    OPC_EmitMergeInputChains1_0,
5251
0
    OPC_EmitInteger64, 0, 
5252
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5253
0
                  MVT::i64, 2, 2, 3, 
5254
0
   18, 
5255
0
    OPC_CheckPredicate, 23,
5256
0
    OPC_CheckPredicate5, 
5257
0
    OPC_CheckTypeI64,
5258
0
    OPC_CheckPatternPredicate6,
5259
0
    OPC_CheckComplexPat0, /*#*/1,
5260
0
    OPC_EmitMergeInputChains1_0,
5261
0
    OPC_EmitInteger64, 0, 
5262
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
5263
0
                  MVT::i64, 2, 2, 3, 
5264
0
   16, 
5265
0
    OPC_CheckPredicate4, 
5266
0
    OPC_CheckTypeI64,
5267
0
    OPC_CheckPatternPredicate6,
5268
0
    OPC_CheckComplexPat0, /*#*/1,
5269
0
    OPC_EmitMergeInputChains1_0,
5270
0
    OPC_EmitInteger64, 0, 
5271
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
5272
0
                  MVT::i64, 2, 2, 3, 
5273
0
   0, 
5274
0
  63|128,1, 
5275
0
   OPC_MoveChild1,
5276
0
   OPC_SwitchOpcode , 91, TARGET_VAL(ISD::ADD),
5277
0
    OPC_RecordChild0,
5278
0
    OPC_RecordChild1,
5279
0
    OPC_MoveChild1,
5280
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5281
0
    OPC_CheckPredicate, 10,
5282
0
    OPC_MoveParent,
5283
0
    OPC_CheckPredicate, 11,
5284
0
    OPC_SwitchType , 37, MVT::i64,
5285
0
     OPC_MoveParent,
5286
0
     OPC_CheckPredicate6, 
5287
0
     OPC_CheckPredicate4, 
5288
0
     OPC_SwitchType , 14, MVT::f32,
5289
0
      OPC_CheckPatternPredicate, 11,
5290
0
      OPC_CheckComplexPat0, /*#*/1,
5291
0
      OPC_EmitMergeInputChains1_0,
5292
0
      OPC_EmitConvertToTarget2,
5293
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5294
0
                    MVT::f32, 2, 3, 4, 
5295
0
     14, MVT::f64,
5296
0
      OPC_CheckPatternPredicate, 13,
5297
0
      OPC_CheckComplexPat0, /*#*/1,
5298
0
      OPC_EmitMergeInputChains1_0,
5299
0
      OPC_EmitConvertToTarget2,
5300
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5301
0
                    MVT::f64, 2, 3, 4, 
5302
0
     0,
5303
0
    37, MVT::i32,
5304
0
     OPC_MoveParent,
5305
0
     OPC_CheckPredicate6, 
5306
0
     OPC_CheckPredicate4, 
5307
0
     OPC_SwitchType , 14, MVT::f32,
5308
0
      OPC_CheckPatternPredicate, 12,
5309
0
      OPC_CheckComplexPat0, /*#*/1,
5310
0
      OPC_EmitMergeInputChains1_0,
5311
0
      OPC_EmitConvertToTarget2,
5312
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5313
0
                    MVT::f32, 2, 3, 4, 
5314
0
     14, MVT::f64,
5315
0
      OPC_CheckPatternPredicate, 14,
5316
0
      OPC_CheckComplexPat0, /*#*/1,
5317
0
      OPC_EmitMergeInputChains1_0,
5318
0
      OPC_EmitConvertToTarget2,
5319
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5320
0
                    MVT::f64, 2, 3, 4, 
5321
0
     0,
5322
0
    0,
5323
0
   91, TARGET_VAL(ISD::OR),
5324
0
    OPC_RecordChild0,
5325
0
    OPC_RecordChild1,
5326
0
    OPC_MoveChild1,
5327
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5328
0
    OPC_CheckPredicate, 10,
5329
0
    OPC_MoveParent,
5330
0
    OPC_CheckPredicate, 11,
5331
0
    OPC_SwitchType , 37, MVT::i64,
5332
0
     OPC_MoveParent,
5333
0
     OPC_CheckPredicate6, 
5334
0
     OPC_CheckPredicate4, 
5335
0
     OPC_SwitchType , 14, MVT::f32,
5336
0
      OPC_CheckPatternPredicate, 11,
5337
0
      OPC_CheckComplexPat0, /*#*/1,
5338
0
      OPC_EmitMergeInputChains1_0,
5339
0
      OPC_EmitConvertToTarget2,
5340
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5341
0
                    MVT::f32, 2, 3, 4, 
5342
0
     14, MVT::f64,
5343
0
      OPC_CheckPatternPredicate, 13,
5344
0
      OPC_CheckComplexPat0, /*#*/1,
5345
0
      OPC_EmitMergeInputChains1_0,
5346
0
      OPC_EmitConvertToTarget2,
5347
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5348
0
                    MVT::f64, 2, 3, 4, 
5349
0
     0,
5350
0
    37, MVT::i32,
5351
0
     OPC_MoveParent,
5352
0
     OPC_CheckPredicate6, 
5353
0
     OPC_CheckPredicate4, 
5354
0
     OPC_SwitchType , 14, MVT::f32,
5355
0
      OPC_CheckPatternPredicate, 12,
5356
0
      OPC_CheckComplexPat0, /*#*/1,
5357
0
      OPC_EmitMergeInputChains1_0,
5358
0
      OPC_EmitConvertToTarget2,
5359
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5360
0
                    MVT::f32, 2, 3, 4, 
5361
0
     14, MVT::f64,
5362
0
      OPC_CheckPatternPredicate, 14,
5363
0
      OPC_CheckComplexPat0, /*#*/1,
5364
0
      OPC_EmitMergeInputChains1_0,
5365
0
      OPC_EmitConvertToTarget2,
5366
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5367
0
                    MVT::f64, 2, 3, 4, 
5368
0
     0,
5369
0
    0,
5370
0
   0,
5371
0
  35, 
5372
0
   OPC_RecordChild1,
5373
0
   OPC_CheckPredicate6, 
5374
0
   OPC_CheckPredicate4, 
5375
0
   OPC_CheckType, MVT::f32,
5376
0
   OPC_Scope, 13, 
5377
0
    OPC_CheckPatternPredicate, 11,
5378
0
    OPC_CheckComplexPat4, /*#*/1,
5379
0
    OPC_EmitMergeInputChains1_0,
5380
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5381
0
                  MVT::f32, 2, 2, 3, 
5382
0
   13, 
5383
0
    OPC_CheckPatternPredicate, 12,
5384
0
    OPC_CheckComplexPat4, /*#*/1,
5385
0
    OPC_EmitMergeInputChains1_0,
5386
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5387
0
                  MVT::f32, 2, 2, 3, 
5388
0
   0, 
5389
0
  48, 
5390
0
   OPC_MoveChild1,
5391
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5392
0
   OPC_RecordChild0,
5393
0
   OPC_RecordChild1,
5394
0
   OPC_SwitchType , 18, MVT::i64,
5395
0
    OPC_MoveParent,
5396
0
    OPC_CheckPredicate6, 
5397
0
    OPC_CheckPredicate4, 
5398
0
    OPC_CheckType, MVT::f32,
5399
0
    OPC_CheckPatternPredicate, 11,
5400
0
    OPC_CheckComplexPat2, /*#*/1,
5401
0
    OPC_EmitMergeInputChains1_0,
5402
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5403
0
                  MVT::f32, 2, 3, 2, 
5404
0
   18, MVT::i32,
5405
0
    OPC_MoveParent,
5406
0
    OPC_CheckPredicate6, 
5407
0
    OPC_CheckPredicate4, 
5408
0
    OPC_CheckType, MVT::f32,
5409
0
    OPC_CheckPatternPredicate, 12,
5410
0
    OPC_CheckComplexPat2, /*#*/1,
5411
0
    OPC_EmitMergeInputChains1_0,
5412
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5413
0
                  MVT::f32, 2, 3, 2, 
5414
0
   0,
5415
0
  35, 
5416
0
   OPC_RecordChild1,
5417
0
   OPC_CheckPredicate6, 
5418
0
   OPC_CheckPredicate4, 
5419
0
   OPC_CheckType, MVT::f64,
5420
0
   OPC_Scope, 13, 
5421
0
    OPC_CheckPatternPredicate, 13,
5422
0
    OPC_CheckComplexPat4, /*#*/1,
5423
0
    OPC_EmitMergeInputChains1_0,
5424
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5425
0
                  MVT::f64, 2, 2, 3, 
5426
0
   13, 
5427
0
    OPC_CheckPatternPredicate, 14,
5428
0
    OPC_CheckComplexPat4, /*#*/1,
5429
0
    OPC_EmitMergeInputChains1_0,
5430
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5431
0
                  MVT::f64, 2, 2, 3, 
5432
0
   0, 
5433
0
  112, 
5434
0
   OPC_MoveChild1,
5435
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5436
0
   OPC_RecordChild0,
5437
0
   OPC_RecordChild1,
5438
0
   OPC_SwitchType , 50, MVT::i64,
5439
0
    OPC_MoveParent,
5440
0
    OPC_CheckPredicate6, 
5441
0
    OPC_CheckPredicate4, 
5442
0
    OPC_SwitchType , 28, MVT::f64,
5443
0
     OPC_CheckPatternPredicate, 13,
5444
0
     OPC_Scope, 11, 
5445
0
      OPC_CheckComplexPat2, /*#*/1,
5446
0
      OPC_EmitMergeInputChains1_0,
5447
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5448
0
                    MVT::f64, 2, 3, 2, 
5449
0
     11, 
5450
0
      OPC_CheckComplexPat2, /*#*/2,
5451
0
      OPC_EmitMergeInputChains1_0,
5452
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5453
0
                    MVT::f64, 2, 3, 1, 
5454
0
     0, 
5455
0
    13, MVT::f32,
5456
0
     OPC_CheckPatternPredicate, 11,
5457
0
     OPC_CheckComplexPat2, /*#*/2,
5458
0
     OPC_EmitMergeInputChains1_0,
5459
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5460
0
                   MVT::f32, 2, 3, 1, 
5461
0
    0,
5462
0
   50, MVT::i32,
5463
0
    OPC_MoveParent,
5464
0
    OPC_CheckPredicate6, 
5465
0
    OPC_CheckPredicate4, 
5466
0
    OPC_SwitchType , 28, MVT::f64,
5467
0
     OPC_CheckPatternPredicate, 14,
5468
0
     OPC_Scope, 11, 
5469
0
      OPC_CheckComplexPat2, /*#*/1,
5470
0
      OPC_EmitMergeInputChains1_0,
5471
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5472
0
                    MVT::f64, 2, 3, 2, 
5473
0
     11, 
5474
0
      OPC_CheckComplexPat2, /*#*/2,
5475
0
      OPC_EmitMergeInputChains1_0,
5476
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5477
0
                    MVT::f64, 2, 3, 1, 
5478
0
     0, 
5479
0
    13, MVT::f32,
5480
0
     OPC_CheckPatternPredicate, 12,
5481
0
     OPC_CheckComplexPat2, /*#*/2,
5482
0
     OPC_EmitMergeInputChains1_0,
5483
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5484
0
                   MVT::f32, 2, 3, 1, 
5485
0
    0,
5486
0
   0,
5487
0
  77, 
5488
0
   OPC_RecordChild1,
5489
0
   OPC_CheckPredicate6, 
5490
0
   OPC_CheckPredicate4, 
5491
0
   OPC_SwitchType , 34, MVT::f32,
5492
0
    OPC_Scope, 15, 
5493
0
     OPC_CheckPatternPredicate, 11,
5494
0
     OPC_CheckComplexPat0, /*#*/1,
5495
0
     OPC_EmitMergeInputChains1_0,
5496
0
     OPC_EmitInteger64, 0, 
5497
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5498
0
                   MVT::f32, 2, 2, 3, 
5499
0
    15, 
5500
0
     OPC_CheckPatternPredicate, 12,
5501
0
     OPC_CheckComplexPat0, /*#*/1,
5502
0
     OPC_EmitMergeInputChains1_0,
5503
0
     OPC_EmitInteger32, 0, 
5504
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5505
0
                   MVT::f32, 2, 2, 3, 
5506
0
    0, 
5507
0
   34, MVT::f64,
5508
0
    OPC_Scope, 15, 
5509
0
     OPC_CheckPatternPredicate, 13,
5510
0
     OPC_CheckComplexPat0, /*#*/1,
5511
0
     OPC_EmitMergeInputChains1_0,
5512
0
     OPC_EmitInteger64, 0, 
5513
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5514
0
                   MVT::f64, 2, 2, 3, 
5515
0
    15, 
5516
0
     OPC_CheckPatternPredicate, 14,
5517
0
     OPC_CheckComplexPat0, /*#*/1,
5518
0
     OPC_EmitMergeInputChains1_0,
5519
0
     OPC_EmitInteger32, 0, 
5520
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5521
0
                   MVT::f64, 2, 2, 3, 
5522
0
    0, 
5523
0
   0,
5524
0
  75|128,4, 
5525
0
   OPC_MoveChild1,
5526
0
   OPC_SwitchOpcode , 53|128,2, TARGET_VAL(ISD::ADD),
5527
0
    OPC_RecordChild0,
5528
0
    OPC_RecordChild1,
5529
0
    OPC_Scope, 9|128,2, 
5530
0
     OPC_MoveChild1,
5531
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5532
0
     OPC_CheckPredicate, 10,
5533
0
     OPC_MoveParent,
5534
0
     OPC_CheckPredicate, 11,
5535
0
     OPC_SwitchType , 125, MVT::i64,
5536
0
      OPC_MoveParent,
5537
0
      OPC_CheckPredicate6, 
5538
0
      OPC_CheckPredicate4, 
5539
0
      OPC_SwitchType , 13, MVT::v16i8,
5540
0
       OPC_CheckPatternPredicate2,
5541
0
       OPC_CheckComplexPat0, /*#*/1,
5542
0
       OPC_EmitMergeInputChains1_0,
5543
0
       OPC_EmitConvertToTarget2,
5544
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5545
0
                     MVT::v16i8, 2, 3, 4, 
5546
0
      13, MVT::v8i16,
5547
0
       OPC_CheckPatternPredicate2,
5548
0
       OPC_CheckComplexPat0, /*#*/1,
5549
0
       OPC_EmitMergeInputChains1_0,
5550
0
       OPC_EmitConvertToTarget2,
5551
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5552
0
                     MVT::v8i16, 2, 3, 4, 
5553
0
      13, MVT::v4i32,
5554
0
       OPC_CheckPatternPredicate2,
5555
0
       OPC_CheckComplexPat0, /*#*/1,
5556
0
       OPC_EmitMergeInputChains1_0,
5557
0
       OPC_EmitConvertToTarget2,
5558
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5559
0
                     MVT::v4i32, 2, 3, 4, 
5560
0
      13, MVT::v2i64,
5561
0
       OPC_CheckPatternPredicate2,
5562
0
       OPC_CheckComplexPat0, /*#*/1,
5563
0
       OPC_EmitMergeInputChains1_0,
5564
0
       OPC_EmitConvertToTarget2,
5565
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5566
0
                     MVT::v2i64, 2, 3, 4, 
5567
0
      13, MVT::v32i8,
5568
0
       OPC_CheckPatternPredicate3,
5569
0
       OPC_CheckComplexPat0, /*#*/1,
5570
0
       OPC_EmitMergeInputChains1_0,
5571
0
       OPC_EmitConvertToTarget2,
5572
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5573
0
                     MVT::v32i8, 2, 3, 4, 
5574
0
      13, MVT::v16i16,
5575
0
       OPC_CheckPatternPredicate3,
5576
0
       OPC_CheckComplexPat0, /*#*/1,
5577
0
       OPC_EmitMergeInputChains1_0,
5578
0
       OPC_EmitConvertToTarget2,
5579
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5580
0
                     MVT::v16i16, 2, 3, 4, 
5581
0
      13, MVT::v8i32,
5582
0
       OPC_CheckPatternPredicate3,
5583
0
       OPC_CheckComplexPat0, /*#*/1,
5584
0
       OPC_EmitMergeInputChains1_0,
5585
0
       OPC_EmitConvertToTarget2,
5586
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5587
0
                     MVT::v8i32, 2, 3, 4, 
5588
0
      13, MVT::v4i64,
5589
0
       OPC_CheckPatternPredicate3,
5590
0
       OPC_CheckComplexPat0, /*#*/1,
5591
0
       OPC_EmitMergeInputChains1_0,
5592
0
       OPC_EmitConvertToTarget2,
5593
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5594
0
                     MVT::v4i64, 2, 3, 4, 
5595
0
      0,
5596
0
     125, MVT::i32,
5597
0
      OPC_MoveParent,
5598
0
      OPC_CheckPredicate6, 
5599
0
      OPC_CheckPredicate4, 
5600
0
      OPC_SwitchType , 13, MVT::v16i8,
5601
0
       OPC_CheckPatternPredicate4,
5602
0
       OPC_CheckComplexPat0, /*#*/1,
5603
0
       OPC_EmitMergeInputChains1_0,
5604
0
       OPC_EmitConvertToTarget2,
5605
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5606
0
                     MVT::v16i8, 2, 3, 4, 
5607
0
      13, MVT::v8i16,
5608
0
       OPC_CheckPatternPredicate4,
5609
0
       OPC_CheckComplexPat0, /*#*/1,
5610
0
       OPC_EmitMergeInputChains1_0,
5611
0
       OPC_EmitConvertToTarget2,
5612
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5613
0
                     MVT::v8i16, 2, 3, 4, 
5614
0
      13, MVT::v4i32,
5615
0
       OPC_CheckPatternPredicate4,
5616
0
       OPC_CheckComplexPat0, /*#*/1,
5617
0
       OPC_EmitMergeInputChains1_0,
5618
0
       OPC_EmitConvertToTarget2,
5619
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5620
0
                     MVT::v4i32, 2, 3, 4, 
5621
0
      13, MVT::v2i64,
5622
0
       OPC_CheckPatternPredicate4,
5623
0
       OPC_CheckComplexPat0, /*#*/1,
5624
0
       OPC_EmitMergeInputChains1_0,
5625
0
       OPC_EmitConvertToTarget2,
5626
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5627
0
                     MVT::v2i64, 2, 3, 4, 
5628
0
      13, MVT::v32i8,
5629
0
       OPC_CheckPatternPredicate5,
5630
0
       OPC_CheckComplexPat0, /*#*/1,
5631
0
       OPC_EmitMergeInputChains1_0,
5632
0
       OPC_EmitConvertToTarget2,
5633
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5634
0
                     MVT::v32i8, 2, 3, 4, 
5635
0
      13, MVT::v16i16,
5636
0
       OPC_CheckPatternPredicate5,
5637
0
       OPC_CheckComplexPat0, /*#*/1,
5638
0
       OPC_EmitMergeInputChains1_0,
5639
0
       OPC_EmitConvertToTarget2,
5640
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5641
0
                     MVT::v16i16, 2, 3, 4, 
5642
0
      13, MVT::v8i32,
5643
0
       OPC_CheckPatternPredicate5,
5644
0
       OPC_CheckComplexPat0, /*#*/1,
5645
0
       OPC_EmitMergeInputChains1_0,
5646
0
       OPC_EmitConvertToTarget2,
5647
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5648
0
                     MVT::v8i32, 2, 3, 4, 
5649
0
      13, MVT::v4i64,
5650
0
       OPC_CheckPatternPredicate5,
5651
0
       OPC_CheckComplexPat0, /*#*/1,
5652
0
       OPC_EmitMergeInputChains1_0,
5653
0
       OPC_EmitConvertToTarget2,
5654
0
       OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5655
0
                     MVT::v4i64, 2, 3, 4, 
5656
0
      0,
5657
0
     0,
5658
0
    18, 
5659
0
     OPC_CheckTypeI64,
5660
0
     OPC_MoveParent,
5661
0
     OPC_CheckPredicate6, 
5662
0
     OPC_CheckPredicate4, 
5663
0
     OPC_CheckType, MVT::v16i8,
5664
0
     OPC_CheckPatternPredicate2,
5665
0
     OPC_CheckComplexPat2, /*#*/1,
5666
0
     OPC_EmitMergeInputChains1_0,
5667
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5668
0
                   MVT::v16i8, 2, 3, 2, 
5669
0
    18, 
5670
0
     OPC_CheckTypeI32,
5671
0
     OPC_MoveParent,
5672
0
     OPC_CheckPredicate6, 
5673
0
     OPC_CheckPredicate4, 
5674
0
     OPC_CheckType, MVT::v16i8,
5675
0
     OPC_CheckPatternPredicate4,
5676
0
     OPC_CheckComplexPat2, /*#*/1,
5677
0
     OPC_EmitMergeInputChains1_0,
5678
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5679
0
                   MVT::v16i8, 2, 3, 2, 
5680
0
    0, 
5681
0
   11|128,2, TARGET_VAL(ISD::OR),
5682
0
    OPC_RecordChild0,
5683
0
    OPC_RecordChild1,
5684
0
    OPC_MoveChild1,
5685
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5686
0
    OPC_CheckPredicate, 10,
5687
0
    OPC_MoveParent,
5688
0
    OPC_CheckPredicate, 11,
5689
0
    OPC_SwitchType , 125, MVT::i64,
5690
0
     OPC_MoveParent,
5691
0
     OPC_CheckPredicate6, 
5692
0
     OPC_CheckPredicate4, 
5693
0
     OPC_SwitchType , 13, MVT::v16i8,
5694
0
      OPC_CheckPatternPredicate2,
5695
0
      OPC_CheckComplexPat0, /*#*/1,
5696
0
      OPC_EmitMergeInputChains1_0,
5697
0
      OPC_EmitConvertToTarget2,
5698
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5699
0
                    MVT::v16i8, 2, 3, 4, 
5700
0
     13, MVT::v8i16,
5701
0
      OPC_CheckPatternPredicate2,
5702
0
      OPC_CheckComplexPat0, /*#*/1,
5703
0
      OPC_EmitMergeInputChains1_0,
5704
0
      OPC_EmitConvertToTarget2,
5705
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5706
0
                    MVT::v8i16, 2, 3, 4, 
5707
0
     13, MVT::v4i32,
5708
0
      OPC_CheckPatternPredicate2,
5709
0
      OPC_CheckComplexPat0, /*#*/1,
5710
0
      OPC_EmitMergeInputChains1_0,
5711
0
      OPC_EmitConvertToTarget2,
5712
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5713
0
                    MVT::v4i32, 2, 3, 4, 
5714
0
     13, MVT::v2i64,
5715
0
      OPC_CheckPatternPredicate2,
5716
0
      OPC_CheckComplexPat0, /*#*/1,
5717
0
      OPC_EmitMergeInputChains1_0,
5718
0
      OPC_EmitConvertToTarget2,
5719
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5720
0
                    MVT::v2i64, 2, 3, 4, 
5721
0
     13, MVT::v32i8,
5722
0
      OPC_CheckPatternPredicate3,
5723
0
      OPC_CheckComplexPat0, /*#*/1,
5724
0
      OPC_EmitMergeInputChains1_0,
5725
0
      OPC_EmitConvertToTarget2,
5726
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5727
0
                    MVT::v32i8, 2, 3, 4, 
5728
0
     13, MVT::v16i16,
5729
0
      OPC_CheckPatternPredicate3,
5730
0
      OPC_CheckComplexPat0, /*#*/1,
5731
0
      OPC_EmitMergeInputChains1_0,
5732
0
      OPC_EmitConvertToTarget2,
5733
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5734
0
                    MVT::v16i16, 2, 3, 4, 
5735
0
     13, MVT::v8i32,
5736
0
      OPC_CheckPatternPredicate3,
5737
0
      OPC_CheckComplexPat0, /*#*/1,
5738
0
      OPC_EmitMergeInputChains1_0,
5739
0
      OPC_EmitConvertToTarget2,
5740
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5741
0
                    MVT::v8i32, 2, 3, 4, 
5742
0
     13, MVT::v4i64,
5743
0
      OPC_CheckPatternPredicate3,
5744
0
      OPC_CheckComplexPat0, /*#*/1,
5745
0
      OPC_EmitMergeInputChains1_0,
5746
0
      OPC_EmitConvertToTarget2,
5747
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5748
0
                    MVT::v4i64, 2, 3, 4, 
5749
0
     0,
5750
0
    125, MVT::i32,
5751
0
     OPC_MoveParent,
5752
0
     OPC_CheckPredicate6, 
5753
0
     OPC_CheckPredicate4, 
5754
0
     OPC_SwitchType , 13, MVT::v16i8,
5755
0
      OPC_CheckPatternPredicate4,
5756
0
      OPC_CheckComplexPat0, /*#*/1,
5757
0
      OPC_EmitMergeInputChains1_0,
5758
0
      OPC_EmitConvertToTarget2,
5759
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5760
0
                    MVT::v16i8, 2, 3, 4, 
5761
0
     13, MVT::v8i16,
5762
0
      OPC_CheckPatternPredicate4,
5763
0
      OPC_CheckComplexPat0, /*#*/1,
5764
0
      OPC_EmitMergeInputChains1_0,
5765
0
      OPC_EmitConvertToTarget2,
5766
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5767
0
                    MVT::v8i16, 2, 3, 4, 
5768
0
     13, MVT::v4i32,
5769
0
      OPC_CheckPatternPredicate4,
5770
0
      OPC_CheckComplexPat0, /*#*/1,
5771
0
      OPC_EmitMergeInputChains1_0,
5772
0
      OPC_EmitConvertToTarget2,
5773
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5774
0
                    MVT::v4i32, 2, 3, 4, 
5775
0
     13, MVT::v2i64,
5776
0
      OPC_CheckPatternPredicate4,
5777
0
      OPC_CheckComplexPat0, /*#*/1,
5778
0
      OPC_EmitMergeInputChains1_0,
5779
0
      OPC_EmitConvertToTarget2,
5780
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5781
0
                    MVT::v2i64, 2, 3, 4, 
5782
0
     13, MVT::v32i8,
5783
0
      OPC_CheckPatternPredicate5,
5784
0
      OPC_CheckComplexPat0, /*#*/1,
5785
0
      OPC_EmitMergeInputChains1_0,
5786
0
      OPC_EmitConvertToTarget2,
5787
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5788
0
                    MVT::v32i8, 2, 3, 4, 
5789
0
     13, MVT::v16i16,
5790
0
      OPC_CheckPatternPredicate5,
5791
0
      OPC_CheckComplexPat0, /*#*/1,
5792
0
      OPC_EmitMergeInputChains1_0,
5793
0
      OPC_EmitConvertToTarget2,
5794
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5795
0
                    MVT::v16i16, 2, 3, 4, 
5796
0
     13, MVT::v8i32,
5797
0
      OPC_CheckPatternPredicate5,
5798
0
      OPC_CheckComplexPat0, /*#*/1,
5799
0
      OPC_EmitMergeInputChains1_0,
5800
0
      OPC_EmitConvertToTarget2,
5801
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5802
0
                    MVT::v8i32, 2, 3, 4, 
5803
0
     13, MVT::v4i64,
5804
0
      OPC_CheckPatternPredicate5,
5805
0
      OPC_CheckComplexPat0, /*#*/1,
5806
0
      OPC_EmitMergeInputChains1_0,
5807
0
      OPC_EmitConvertToTarget2,
5808
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5809
0
                    MVT::v4i64, 2, 3, 4, 
5810
0
     0,
5811
0
    0,
5812
0
   0,
5813
0
  65, 
5814
0
   OPC_RecordChild1,
5815
0
   OPC_CheckPredicate6, 
5816
0
   OPC_CheckPredicate4, 
5817
0
   OPC_SwitchType , 28, MVT::v16i8,
5818
0
    OPC_Scope, 12, 
5819
0
     OPC_CheckPatternPredicate2,
5820
0
     OPC_CheckComplexPat4, /*#*/1,
5821
0
     OPC_EmitMergeInputChains1_0,
5822
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5823
0
                   MVT::v16i8, 2, 2, 3, 
5824
0
    12, 
5825
0
     OPC_CheckPatternPredicate4,
5826
0
     OPC_CheckComplexPat4, /*#*/1,
5827
0
     OPC_EmitMergeInputChains1_0,
5828
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5829
0
                   MVT::v16i8, 2, 2, 3, 
5830
0
    0, 
5831
0
   28, MVT::v8i16,
5832
0
    OPC_Scope, 12, 
5833
0
     OPC_CheckPatternPredicate2,
5834
0
     OPC_CheckComplexPat4, /*#*/1,
5835
0
     OPC_EmitMergeInputChains1_0,
5836
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5837
0
                   MVT::v8i16, 2, 2, 3, 
5838
0
    12, 
5839
0
     OPC_CheckPatternPredicate4,
5840
0
     OPC_CheckComplexPat4, /*#*/1,
5841
0
     OPC_EmitMergeInputChains1_0,
5842
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5843
0
                   MVT::v8i16, 2, 2, 3, 
5844
0
    0, 
5845
0
   0,
5846
0
  46, 
5847
0
   OPC_MoveChild1,
5848
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5849
0
   OPC_RecordChild0,
5850
0
   OPC_RecordChild1,
5851
0
   OPC_SwitchType , 17, MVT::i64,
5852
0
    OPC_MoveParent,
5853
0
    OPC_CheckPredicate6, 
5854
0
    OPC_CheckPredicate4, 
5855
0
    OPC_CheckType, MVT::v8i16,
5856
0
    OPC_CheckPatternPredicate2,
5857
0
    OPC_CheckComplexPat2, /*#*/1,
5858
0
    OPC_EmitMergeInputChains1_0,
5859
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5860
0
                  MVT::v8i16, 2, 3, 2, 
5861
0
   17, MVT::i32,
5862
0
    OPC_MoveParent,
5863
0
    OPC_CheckPredicate6, 
5864
0
    OPC_CheckPredicate4, 
5865
0
    OPC_CheckType, MVT::v8i16,
5866
0
    OPC_CheckPatternPredicate4,
5867
0
    OPC_CheckComplexPat2, /*#*/1,
5868
0
    OPC_EmitMergeInputChains1_0,
5869
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5870
0
                  MVT::v8i16, 2, 3, 2, 
5871
0
   0,
5872
0
  33, 
5873
0
   OPC_RecordChild1,
5874
0
   OPC_CheckPredicate6, 
5875
0
   OPC_CheckPredicate4, 
5876
0
   OPC_CheckType, MVT::v4i32,
5877
0
   OPC_Scope, 12, 
5878
0
    OPC_CheckPatternPredicate2,
5879
0
    OPC_CheckComplexPat4, /*#*/1,
5880
0
    OPC_EmitMergeInputChains1_0,
5881
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5882
0
                  MVT::v4i32, 2, 2, 3, 
5883
0
   12, 
5884
0
    OPC_CheckPatternPredicate4,
5885
0
    OPC_CheckComplexPat4, /*#*/1,
5886
0
    OPC_EmitMergeInputChains1_0,
5887
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5888
0
                  MVT::v4i32, 2, 2, 3, 
5889
0
   0, 
5890
0
  46, 
5891
0
   OPC_MoveChild1,
5892
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5893
0
   OPC_RecordChild0,
5894
0
   OPC_RecordChild1,
5895
0
   OPC_SwitchType , 17, MVT::i64,
5896
0
    OPC_MoveParent,
5897
0
    OPC_CheckPredicate6, 
5898
0
    OPC_CheckPredicate4, 
5899
0
    OPC_CheckType, MVT::v4i32,
5900
0
    OPC_CheckPatternPredicate2,
5901
0
    OPC_CheckComplexPat2, /*#*/1,
5902
0
    OPC_EmitMergeInputChains1_0,
5903
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5904
0
                  MVT::v4i32, 2, 3, 2, 
5905
0
   17, MVT::i32,
5906
0
    OPC_MoveParent,
5907
0
    OPC_CheckPredicate6, 
5908
0
    OPC_CheckPredicate4, 
5909
0
    OPC_CheckType, MVT::v4i32,
5910
0
    OPC_CheckPatternPredicate4,
5911
0
    OPC_CheckComplexPat2, /*#*/1,
5912
0
    OPC_EmitMergeInputChains1_0,
5913
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5914
0
                  MVT::v4i32, 2, 3, 2, 
5915
0
   0,
5916
0
  33, 
5917
0
   OPC_RecordChild1,
5918
0
   OPC_CheckPredicate6, 
5919
0
   OPC_CheckPredicate4, 
5920
0
   OPC_CheckType, MVT::v2i64,
5921
0
   OPC_Scope, 12, 
5922
0
    OPC_CheckPatternPredicate2,
5923
0
    OPC_CheckComplexPat4, /*#*/1,
5924
0
    OPC_EmitMergeInputChains1_0,
5925
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5926
0
                  MVT::v2i64, 2, 2, 3, 
5927
0
   12, 
5928
0
    OPC_CheckPatternPredicate4,
5929
0
    OPC_CheckComplexPat4, /*#*/1,
5930
0
    OPC_EmitMergeInputChains1_0,
5931
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5932
0
                  MVT::v2i64, 2, 2, 3, 
5933
0
   0, 
5934
0
  78, 
5935
0
   OPC_MoveChild1,
5936
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5937
0
   OPC_RecordChild0,
5938
0
   OPC_RecordChild1,
5939
0
   OPC_SwitchType , 33, MVT::i64,
5940
0
    OPC_MoveParent,
5941
0
    OPC_CheckPredicate6, 
5942
0
    OPC_CheckPredicate4, 
5943
0
    OPC_SwitchType , 12, MVT::v2i64,
5944
0
     OPC_CheckPatternPredicate2,
5945
0
     OPC_CheckComplexPat2, /*#*/1,
5946
0
     OPC_EmitMergeInputChains1_0,
5947
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5948
0
                   MVT::v2i64, 2, 3, 2, 
5949
0
    12, MVT::v32i8,
5950
0
     OPC_CheckPatternPredicate3,
5951
0
     OPC_CheckComplexPat2, /*#*/1,
5952
0
     OPC_EmitMergeInputChains1_0,
5953
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
5954
0
                   MVT::v32i8, 2, 3, 2, 
5955
0
    0,
5956
0
   33, MVT::i32,
5957
0
    OPC_MoveParent,
5958
0
    OPC_CheckPredicate6, 
5959
0
    OPC_CheckPredicate4, 
5960
0
    OPC_SwitchType , 12, MVT::v2i64,
5961
0
     OPC_CheckPatternPredicate4,
5962
0
     OPC_CheckComplexPat2, /*#*/1,
5963
0
     OPC_EmitMergeInputChains1_0,
5964
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5965
0
                   MVT::v2i64, 2, 3, 2, 
5966
0
    12, MVT::v32i8,
5967
0
     OPC_CheckPatternPredicate5,
5968
0
     OPC_CheckComplexPat2, /*#*/1,
5969
0
     OPC_EmitMergeInputChains1_0,
5970
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
5971
0
                   MVT::v32i8, 2, 3, 2, 
5972
0
    0,
5973
0
   0,
5974
0
  65, 
5975
0
   OPC_RecordChild1,
5976
0
   OPC_CheckPredicate6, 
5977
0
   OPC_CheckPredicate4, 
5978
0
   OPC_SwitchType , 28, MVT::v32i8,
5979
0
    OPC_Scope, 12, 
5980
0
     OPC_CheckPatternPredicate3,
5981
0
     OPC_CheckComplexPat4, /*#*/1,
5982
0
     OPC_EmitMergeInputChains1_0,
5983
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5984
0
                   MVT::v32i8, 2, 2, 3, 
5985
0
    12, 
5986
0
     OPC_CheckPatternPredicate5,
5987
0
     OPC_CheckComplexPat4, /*#*/1,
5988
0
     OPC_EmitMergeInputChains1_0,
5989
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5990
0
                   MVT::v32i8, 2, 2, 3, 
5991
0
    0, 
5992
0
   28, MVT::v16i16,
5993
0
    OPC_Scope, 12, 
5994
0
     OPC_CheckPatternPredicate3,
5995
0
     OPC_CheckComplexPat4, /*#*/1,
5996
0
     OPC_EmitMergeInputChains1_0,
5997
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5998
0
                   MVT::v16i16, 2, 2, 3, 
5999
0
    12, 
6000
0
     OPC_CheckPatternPredicate5,
6001
0
     OPC_CheckComplexPat4, /*#*/1,
6002
0
     OPC_EmitMergeInputChains1_0,
6003
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6004
0
                   MVT::v16i16, 2, 2, 3, 
6005
0
    0, 
6006
0
   0,
6007
0
  46, 
6008
0
   OPC_MoveChild1,
6009
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6010
0
   OPC_RecordChild0,
6011
0
   OPC_RecordChild1,
6012
0
   OPC_SwitchType , 17, MVT::i64,
6013
0
    OPC_MoveParent,
6014
0
    OPC_CheckPredicate6, 
6015
0
    OPC_CheckPredicate4, 
6016
0
    OPC_CheckType, MVT::v16i16,
6017
0
    OPC_CheckPatternPredicate3,
6018
0
    OPC_CheckComplexPat2, /*#*/1,
6019
0
    OPC_EmitMergeInputChains1_0,
6020
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6021
0
                  MVT::v16i16, 2, 3, 2, 
6022
0
   17, MVT::i32,
6023
0
    OPC_MoveParent,
6024
0
    OPC_CheckPredicate6, 
6025
0
    OPC_CheckPredicate4, 
6026
0
    OPC_CheckType, MVT::v16i16,
6027
0
    OPC_CheckPatternPredicate5,
6028
0
    OPC_CheckComplexPat2, /*#*/1,
6029
0
    OPC_EmitMergeInputChains1_0,
6030
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6031
0
                  MVT::v16i16, 2, 3, 2, 
6032
0
   0,
6033
0
  33, 
6034
0
   OPC_RecordChild1,
6035
0
   OPC_CheckPredicate6, 
6036
0
   OPC_CheckPredicate4, 
6037
0
   OPC_CheckType, MVT::v8i32,
6038
0
   OPC_Scope, 12, 
6039
0
    OPC_CheckPatternPredicate3,
6040
0
    OPC_CheckComplexPat4, /*#*/1,
6041
0
    OPC_EmitMergeInputChains1_0,
6042
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6043
0
                  MVT::v8i32, 2, 2, 3, 
6044
0
   12, 
6045
0
    OPC_CheckPatternPredicate5,
6046
0
    OPC_CheckComplexPat4, /*#*/1,
6047
0
    OPC_EmitMergeInputChains1_0,
6048
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6049
0
                  MVT::v8i32, 2, 2, 3, 
6050
0
   0, 
6051
0
  46, 
6052
0
   OPC_MoveChild1,
6053
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6054
0
   OPC_RecordChild0,
6055
0
   OPC_RecordChild1,
6056
0
   OPC_SwitchType , 17, MVT::i64,
6057
0
    OPC_MoveParent,
6058
0
    OPC_CheckPredicate6, 
6059
0
    OPC_CheckPredicate4, 
6060
0
    OPC_CheckType, MVT::v8i32,
6061
0
    OPC_CheckPatternPredicate3,
6062
0
    OPC_CheckComplexPat2, /*#*/1,
6063
0
    OPC_EmitMergeInputChains1_0,
6064
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6065
0
                  MVT::v8i32, 2, 3, 2, 
6066
0
   17, MVT::i32,
6067
0
    OPC_MoveParent,
6068
0
    OPC_CheckPredicate6, 
6069
0
    OPC_CheckPredicate4, 
6070
0
    OPC_CheckType, MVT::v8i32,
6071
0
    OPC_CheckPatternPredicate5,
6072
0
    OPC_CheckComplexPat2, /*#*/1,
6073
0
    OPC_EmitMergeInputChains1_0,
6074
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6075
0
                  MVT::v8i32, 2, 3, 2, 
6076
0
   0,
6077
0
  33, 
6078
0
   OPC_RecordChild1,
6079
0
   OPC_CheckPredicate6, 
6080
0
   OPC_CheckPredicate4, 
6081
0
   OPC_CheckType, MVT::v4i64,
6082
0
   OPC_Scope, 12, 
6083
0
    OPC_CheckPatternPredicate3,
6084
0
    OPC_CheckComplexPat4, /*#*/1,
6085
0
    OPC_EmitMergeInputChains1_0,
6086
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6087
0
                  MVT::v4i64, 2, 2, 3, 
6088
0
   12, 
6089
0
    OPC_CheckPatternPredicate5,
6090
0
    OPC_CheckComplexPat4, /*#*/1,
6091
0
    OPC_EmitMergeInputChains1_0,
6092
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6093
0
                  MVT::v4i64, 2, 2, 3, 
6094
0
   0, 
6095
0
  22|128,2, 
6096
0
   OPC_MoveChild1,
6097
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6098
0
   OPC_RecordChild0,
6099
0
   OPC_RecordChild1,
6100
0
   OPC_SwitchType , 4|128,1, MVT::i64,
6101
0
    OPC_MoveParent,
6102
0
    OPC_CheckPredicate6, 
6103
0
    OPC_CheckPredicate4, 
6104
0
    OPC_SwitchType , 27, MVT::v4i64,
6105
0
     OPC_CheckPatternPredicate3,
6106
0
     OPC_Scope, 11, 
6107
0
      OPC_CheckComplexPat2, /*#*/1,
6108
0
      OPC_EmitMergeInputChains1_0,
6109
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6110
0
                    MVT::v4i64, 2, 3, 2, 
6111
0
     11, 
6112
0
      OPC_CheckComplexPat2, /*#*/2,
6113
0
      OPC_EmitMergeInputChains1_0,
6114
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6115
0
                    MVT::v4i64, 2, 3, 1, 
6116
0
     0, 
6117
0
    12, MVT::v16i8,
6118
0
     OPC_CheckPatternPredicate2,
6119
0
     OPC_CheckComplexPat2, /*#*/2,
6120
0
     OPC_EmitMergeInputChains1_0,
6121
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6122
0
                   MVT::v16i8, 2, 3, 1, 
6123
0
    12, MVT::v8i16,
6124
0
     OPC_CheckPatternPredicate2,
6125
0
     OPC_CheckComplexPat2, /*#*/2,
6126
0
     OPC_EmitMergeInputChains1_0,
6127
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6128
0
                   MVT::v8i16, 2, 3, 1, 
6129
0
    12, MVT::v4i32,
6130
0
     OPC_CheckPatternPredicate2,
6131
0
     OPC_CheckComplexPat2, /*#*/2,
6132
0
     OPC_EmitMergeInputChains1_0,
6133
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6134
0
                   MVT::v4i32, 2, 3, 1, 
6135
0
    12, MVT::v2i64,
6136
0
     OPC_CheckPatternPredicate2,
6137
0
     OPC_CheckComplexPat2, /*#*/2,
6138
0
     OPC_EmitMergeInputChains1_0,
6139
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6140
0
                   MVT::v2i64, 2, 3, 1, 
6141
0
    12, MVT::v32i8,
6142
0
     OPC_CheckPatternPredicate3,
6143
0
     OPC_CheckComplexPat2, /*#*/2,
6144
0
     OPC_EmitMergeInputChains1_0,
6145
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6146
0
                   MVT::v32i8, 2, 3, 1, 
6147
0
    12, MVT::v16i16,
6148
0
     OPC_CheckPatternPredicate3,
6149
0
     OPC_CheckComplexPat2, /*#*/2,
6150
0
     OPC_EmitMergeInputChains1_0,
6151
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6152
0
                   MVT::v16i16, 2, 3, 1, 
6153
0
    12, MVT::v8i32,
6154
0
     OPC_CheckPatternPredicate3,
6155
0
     OPC_CheckComplexPat2, /*#*/2,
6156
0
     OPC_EmitMergeInputChains1_0,
6157
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6158
0
                   MVT::v8i32, 2, 3, 1, 
6159
0
    0,
6160
0
   4|128,1, MVT::i32,
6161
0
    OPC_MoveParent,
6162
0
    OPC_CheckPredicate6, 
6163
0
    OPC_CheckPredicate4, 
6164
0
    OPC_SwitchType , 27, MVT::v4i64,
6165
0
     OPC_CheckPatternPredicate5,
6166
0
     OPC_Scope, 11, 
6167
0
      OPC_CheckComplexPat2, /*#*/1,
6168
0
      OPC_EmitMergeInputChains1_0,
6169
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6170
0
                    MVT::v4i64, 2, 3, 2, 
6171
0
     11, 
6172
0
      OPC_CheckComplexPat2, /*#*/2,
6173
0
      OPC_EmitMergeInputChains1_0,
6174
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6175
0
                    MVT::v4i64, 2, 3, 1, 
6176
0
     0, 
6177
0
    12, MVT::v16i8,
6178
0
     OPC_CheckPatternPredicate4,
6179
0
     OPC_CheckComplexPat2, /*#*/2,
6180
0
     OPC_EmitMergeInputChains1_0,
6181
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6182
0
                   MVT::v16i8, 2, 3, 1, 
6183
0
    12, MVT::v8i16,
6184
0
     OPC_CheckPatternPredicate4,
6185
0
     OPC_CheckComplexPat2, /*#*/2,
6186
0
     OPC_EmitMergeInputChains1_0,
6187
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6188
0
                   MVT::v8i16, 2, 3, 1, 
6189
0
    12, MVT::v4i32,
6190
0
     OPC_CheckPatternPredicate4,
6191
0
     OPC_CheckComplexPat2, /*#*/2,
6192
0
     OPC_EmitMergeInputChains1_0,
6193
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6194
0
                   MVT::v4i32, 2, 3, 1, 
6195
0
    12, MVT::v2i64,
6196
0
     OPC_CheckPatternPredicate4,
6197
0
     OPC_CheckComplexPat2, /*#*/2,
6198
0
     OPC_EmitMergeInputChains1_0,
6199
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6200
0
                   MVT::v2i64, 2, 3, 1, 
6201
0
    12, MVT::v32i8,
6202
0
     OPC_CheckPatternPredicate5,
6203
0
     OPC_CheckComplexPat2, /*#*/2,
6204
0
     OPC_EmitMergeInputChains1_0,
6205
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6206
0
                   MVT::v32i8, 2, 3, 1, 
6207
0
    12, MVT::v16i16,
6208
0
     OPC_CheckPatternPredicate5,
6209
0
     OPC_CheckComplexPat2, /*#*/2,
6210
0
     OPC_EmitMergeInputChains1_0,
6211
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6212
0
                   MVT::v16i16, 2, 3, 1, 
6213
0
    12, MVT::v8i32,
6214
0
     OPC_CheckPatternPredicate5,
6215
0
     OPC_CheckComplexPat2, /*#*/2,
6216
0
     OPC_EmitMergeInputChains1_0,
6217
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6218
0
                   MVT::v8i32, 2, 3, 1, 
6219
0
    0,
6220
0
   0,
6221
0
  21|128,2, 
6222
0
   OPC_RecordChild1,
6223
0
   OPC_CheckPredicate6, 
6224
0
   OPC_CheckPredicate4, 
6225
0
   OPC_SwitchType , 32, MVT::v16i8,
6226
0
    OPC_Scope, 14, 
6227
0
     OPC_CheckPatternPredicate2,
6228
0
     OPC_CheckComplexPat0, /*#*/1,
6229
0
     OPC_EmitMergeInputChains1_0,
6230
0
     OPC_EmitInteger64, 0, 
6231
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6232
0
                   MVT::v16i8, 2, 2, 3, 
6233
0
    14, 
6234
0
     OPC_CheckPatternPredicate4,
6235
0
     OPC_CheckComplexPat0, /*#*/1,
6236
0
     OPC_EmitMergeInputChains1_0,
6237
0
     OPC_EmitInteger32, 0, 
6238
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6239
0
                   MVT::v16i8, 2, 2, 3, 
6240
0
    0, 
6241
0
   32, MVT::v8i16,
6242
0
    OPC_Scope, 14, 
6243
0
     OPC_CheckPatternPredicate2,
6244
0
     OPC_CheckComplexPat0, /*#*/1,
6245
0
     OPC_EmitMergeInputChains1_0,
6246
0
     OPC_EmitInteger64, 0, 
6247
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6248
0
                   MVT::v8i16, 2, 2, 3, 
6249
0
    14, 
6250
0
     OPC_CheckPatternPredicate4,
6251
0
     OPC_CheckComplexPat0, /*#*/1,
6252
0
     OPC_EmitMergeInputChains1_0,
6253
0
     OPC_EmitInteger32, 0, 
6254
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6255
0
                   MVT::v8i16, 2, 2, 3, 
6256
0
    0, 
6257
0
   32, MVT::v4i32,
6258
0
    OPC_Scope, 14, 
6259
0
     OPC_CheckPatternPredicate2,
6260
0
     OPC_CheckComplexPat0, /*#*/1,
6261
0
     OPC_EmitMergeInputChains1_0,
6262
0
     OPC_EmitInteger64, 0, 
6263
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6264
0
                   MVT::v4i32, 2, 2, 3, 
6265
0
    14, 
6266
0
     OPC_CheckPatternPredicate4,
6267
0
     OPC_CheckComplexPat0, /*#*/1,
6268
0
     OPC_EmitMergeInputChains1_0,
6269
0
     OPC_EmitInteger32, 0, 
6270
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6271
0
                   MVT::v4i32, 2, 2, 3, 
6272
0
    0, 
6273
0
   32, MVT::v2i64,
6274
0
    OPC_Scope, 14, 
6275
0
     OPC_CheckPatternPredicate2,
6276
0
     OPC_CheckComplexPat0, /*#*/1,
6277
0
     OPC_EmitMergeInputChains1_0,
6278
0
     OPC_EmitInteger64, 0, 
6279
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6280
0
                   MVT::v2i64, 2, 2, 3, 
6281
0
    14, 
6282
0
     OPC_CheckPatternPredicate4,
6283
0
     OPC_CheckComplexPat0, /*#*/1,
6284
0
     OPC_EmitMergeInputChains1_0,
6285
0
     OPC_EmitInteger32, 0, 
6286
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6287
0
                   MVT::v2i64, 2, 2, 3, 
6288
0
    0, 
6289
0
   32, MVT::v32i8,
6290
0
    OPC_Scope, 14, 
6291
0
     OPC_CheckPatternPredicate3,
6292
0
     OPC_CheckComplexPat0, /*#*/1,
6293
0
     OPC_EmitMergeInputChains1_0,
6294
0
     OPC_EmitInteger64, 0, 
6295
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6296
0
                   MVT::v32i8, 2, 2, 3, 
6297
0
    14, 
6298
0
     OPC_CheckPatternPredicate5,
6299
0
     OPC_CheckComplexPat0, /*#*/1,
6300
0
     OPC_EmitMergeInputChains1_0,
6301
0
     OPC_EmitInteger32, 0, 
6302
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6303
0
                   MVT::v32i8, 2, 2, 3, 
6304
0
    0, 
6305
0
   32, MVT::v16i16,
6306
0
    OPC_Scope, 14, 
6307
0
     OPC_CheckPatternPredicate3,
6308
0
     OPC_CheckComplexPat0, /*#*/1,
6309
0
     OPC_EmitMergeInputChains1_0,
6310
0
     OPC_EmitInteger64, 0, 
6311
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6312
0
                   MVT::v16i16, 2, 2, 3, 
6313
0
    14, 
6314
0
     OPC_CheckPatternPredicate5,
6315
0
     OPC_CheckComplexPat0, /*#*/1,
6316
0
     OPC_EmitMergeInputChains1_0,
6317
0
     OPC_EmitInteger32, 0, 
6318
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6319
0
                   MVT::v16i16, 2, 2, 3, 
6320
0
    0, 
6321
0
   32, MVT::v8i32,
6322
0
    OPC_Scope, 14, 
6323
0
     OPC_CheckPatternPredicate3,
6324
0
     OPC_CheckComplexPat0, /*#*/1,
6325
0
     OPC_EmitMergeInputChains1_0,
6326
0
     OPC_EmitInteger64, 0, 
6327
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6328
0
                   MVT::v8i32, 2, 2, 3, 
6329
0
    14, 
6330
0
     OPC_CheckPatternPredicate5,
6331
0
     OPC_CheckComplexPat0, /*#*/1,
6332
0
     OPC_EmitMergeInputChains1_0,
6333
0
     OPC_EmitInteger32, 0, 
6334
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6335
0
                   MVT::v8i32, 2, 2, 3, 
6336
0
    0, 
6337
0
   32, MVT::v4i64,
6338
0
    OPC_Scope, 14, 
6339
0
     OPC_CheckPatternPredicate3,
6340
0
     OPC_CheckComplexPat0, /*#*/1,
6341
0
     OPC_EmitMergeInputChains1_0,
6342
0
     OPC_EmitInteger64, 0, 
6343
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6344
0
                   MVT::v4i64, 2, 2, 3, 
6345
0
    14, 
6346
0
     OPC_CheckPatternPredicate5,
6347
0
     OPC_CheckComplexPat0, /*#*/1,
6348
0
     OPC_EmitMergeInputChains1_0,
6349
0
     OPC_EmitInteger32, 0, 
6350
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6351
0
                   MVT::v4i64, 2, 2, 3, 
6352
0
    0, 
6353
0
   0,
6354
0
  49|128,2, 
6355
0
   OPC_MoveChild1,
6356
0
   OPC_SwitchOpcode , 19|128,1, TARGET_VAL(ISD::ADD),
6357
0
    OPC_RecordChild0,
6358
0
    OPC_RecordChild1,
6359
0
    OPC_MoveChild1,
6360
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6361
0
    OPC_CheckPredicate, 10,
6362
0
    OPC_MoveParent,
6363
0
    OPC_CheckPredicate, 11,
6364
0
    OPC_SwitchType , 65, MVT::i64,
6365
0
     OPC_MoveParent,
6366
0
     OPC_CheckPredicate6, 
6367
0
     OPC_CheckPredicate4, 
6368
0
     OPC_SwitchType , 13, MVT::v4f32,
6369
0
      OPC_CheckPatternPredicate2,
6370
0
      OPC_CheckComplexPat0, /*#*/1,
6371
0
      OPC_EmitMergeInputChains1_0,
6372
0
      OPC_EmitConvertToTarget2,
6373
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6374
0
                    MVT::v4f32, 2, 3, 4, 
6375
0
     13, MVT::v2f64,
6376
0
      OPC_CheckPatternPredicate2,
6377
0
      OPC_CheckComplexPat0, /*#*/1,
6378
0
      OPC_EmitMergeInputChains1_0,
6379
0
      OPC_EmitConvertToTarget2,
6380
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6381
0
                    MVT::v2f64, 2, 3, 4, 
6382
0
     13, MVT::v8f32,
6383
0
      OPC_CheckPatternPredicate3,
6384
0
      OPC_CheckComplexPat0, /*#*/1,
6385
0
      OPC_EmitMergeInputChains1_0,
6386
0
      OPC_EmitConvertToTarget2,
6387
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6388
0
                    MVT::v8f32, 2, 3, 4, 
6389
0
     13, MVT::v4f64,
6390
0
      OPC_CheckPatternPredicate3,
6391
0
      OPC_CheckComplexPat0, /*#*/1,
6392
0
      OPC_EmitMergeInputChains1_0,
6393
0
      OPC_EmitConvertToTarget2,
6394
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6395
0
                    MVT::v4f64, 2, 3, 4, 
6396
0
     0,
6397
0
    65, MVT::i32,
6398
0
     OPC_MoveParent,
6399
0
     OPC_CheckPredicate6, 
6400
0
     OPC_CheckPredicate4, 
6401
0
     OPC_SwitchType , 13, MVT::v4f32,
6402
0
      OPC_CheckPatternPredicate4,
6403
0
      OPC_CheckComplexPat0, /*#*/1,
6404
0
      OPC_EmitMergeInputChains1_0,
6405
0
      OPC_EmitConvertToTarget2,
6406
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6407
0
                    MVT::v4f32, 2, 3, 4, 
6408
0
     13, MVT::v2f64,
6409
0
      OPC_CheckPatternPredicate4,
6410
0
      OPC_CheckComplexPat0, /*#*/1,
6411
0
      OPC_EmitMergeInputChains1_0,
6412
0
      OPC_EmitConvertToTarget2,
6413
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6414
0
                    MVT::v2f64, 2, 3, 4, 
6415
0
     13, MVT::v8f32,
6416
0
      OPC_CheckPatternPredicate5,
6417
0
      OPC_CheckComplexPat0, /*#*/1,
6418
0
      OPC_EmitMergeInputChains1_0,
6419
0
      OPC_EmitConvertToTarget2,
6420
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6421
0
                    MVT::v8f32, 2, 3, 4, 
6422
0
     13, MVT::v4f64,
6423
0
      OPC_CheckPatternPredicate5,
6424
0
      OPC_CheckComplexPat0, /*#*/1,
6425
0
      OPC_EmitMergeInputChains1_0,
6426
0
      OPC_EmitConvertToTarget2,
6427
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6428
0
                    MVT::v4f64, 2, 3, 4, 
6429
0
     0,
6430
0
    0,
6431
0
   19|128,1, TARGET_VAL(ISD::OR),
6432
0
    OPC_RecordChild0,
6433
0
    OPC_RecordChild1,
6434
0
    OPC_MoveChild1,
6435
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6436
0
    OPC_CheckPredicate, 10,
6437
0
    OPC_MoveParent,
6438
0
    OPC_CheckPredicate, 11,
6439
0
    OPC_SwitchType , 65, MVT::i64,
6440
0
     OPC_MoveParent,
6441
0
     OPC_CheckPredicate6, 
6442
0
     OPC_CheckPredicate4, 
6443
0
     OPC_SwitchType , 13, MVT::v4f32,
6444
0
      OPC_CheckPatternPredicate2,
6445
0
      OPC_CheckComplexPat0, /*#*/1,
6446
0
      OPC_EmitMergeInputChains1_0,
6447
0
      OPC_EmitConvertToTarget2,
6448
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6449
0
                    MVT::v4f32, 2, 3, 4, 
6450
0
     13, MVT::v2f64,
6451
0
      OPC_CheckPatternPredicate2,
6452
0
      OPC_CheckComplexPat0, /*#*/1,
6453
0
      OPC_EmitMergeInputChains1_0,
6454
0
      OPC_EmitConvertToTarget2,
6455
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6456
0
                    MVT::v2f64, 2, 3, 4, 
6457
0
     13, MVT::v8f32,
6458
0
      OPC_CheckPatternPredicate3,
6459
0
      OPC_CheckComplexPat0, /*#*/1,
6460
0
      OPC_EmitMergeInputChains1_0,
6461
0
      OPC_EmitConvertToTarget2,
6462
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6463
0
                    MVT::v8f32, 2, 3, 4, 
6464
0
     13, MVT::v4f64,
6465
0
      OPC_CheckPatternPredicate3,
6466
0
      OPC_CheckComplexPat0, /*#*/1,
6467
0
      OPC_EmitMergeInputChains1_0,
6468
0
      OPC_EmitConvertToTarget2,
6469
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6470
0
                    MVT::v4f64, 2, 3, 4, 
6471
0
     0,
6472
0
    65, MVT::i32,
6473
0
     OPC_MoveParent,
6474
0
     OPC_CheckPredicate6, 
6475
0
     OPC_CheckPredicate4, 
6476
0
     OPC_SwitchType , 13, MVT::v4f32,
6477
0
      OPC_CheckPatternPredicate4,
6478
0
      OPC_CheckComplexPat0, /*#*/1,
6479
0
      OPC_EmitMergeInputChains1_0,
6480
0
      OPC_EmitConvertToTarget2,
6481
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6482
0
                    MVT::v4f32, 2, 3, 4, 
6483
0
     13, MVT::v2f64,
6484
0
      OPC_CheckPatternPredicate4,
6485
0
      OPC_CheckComplexPat0, /*#*/1,
6486
0
      OPC_EmitMergeInputChains1_0,
6487
0
      OPC_EmitConvertToTarget2,
6488
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6489
0
                    MVT::v2f64, 2, 3, 4, 
6490
0
     13, MVT::v8f32,
6491
0
      OPC_CheckPatternPredicate5,
6492
0
      OPC_CheckComplexPat0, /*#*/1,
6493
0
      OPC_EmitMergeInputChains1_0,
6494
0
      OPC_EmitConvertToTarget2,
6495
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6496
0
                    MVT::v8f32, 2, 3, 4, 
6497
0
     13, MVT::v4f64,
6498
0
      OPC_CheckPatternPredicate5,
6499
0
      OPC_CheckComplexPat0, /*#*/1,
6500
0
      OPC_EmitMergeInputChains1_0,
6501
0
      OPC_EmitConvertToTarget2,
6502
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6503
0
                    MVT::v4f64, 2, 3, 4, 
6504
0
     0,
6505
0
    0,
6506
0
   0,
6507
0
  33, 
6508
0
   OPC_RecordChild1,
6509
0
   OPC_CheckPredicate6, 
6510
0
   OPC_CheckPredicate4, 
6511
0
   OPC_CheckType, MVT::v4f32,
6512
0
   OPC_Scope, 12, 
6513
0
    OPC_CheckPatternPredicate2,
6514
0
    OPC_CheckComplexPat4, /*#*/1,
6515
0
    OPC_EmitMergeInputChains1_0,
6516
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6517
0
                  MVT::v4f32, 2, 2, 3, 
6518
0
   12, 
6519
0
    OPC_CheckPatternPredicate4,
6520
0
    OPC_CheckComplexPat4, /*#*/1,
6521
0
    OPC_EmitMergeInputChains1_0,
6522
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6523
0
                  MVT::v4f32, 2, 2, 3, 
6524
0
   0, 
6525
0
  46, 
6526
0
   OPC_MoveChild1,
6527
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6528
0
   OPC_RecordChild0,
6529
0
   OPC_RecordChild1,
6530
0
   OPC_SwitchType , 17, MVT::i64,
6531
0
    OPC_MoveParent,
6532
0
    OPC_CheckPredicate6, 
6533
0
    OPC_CheckPredicate4, 
6534
0
    OPC_CheckType, MVT::v4f32,
6535
0
    OPC_CheckPatternPredicate2,
6536
0
    OPC_CheckComplexPat2, /*#*/1,
6537
0
    OPC_EmitMergeInputChains1_0,
6538
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6539
0
                  MVT::v4f32, 2, 3, 2, 
6540
0
   17, MVT::i32,
6541
0
    OPC_MoveParent,
6542
0
    OPC_CheckPredicate6, 
6543
0
    OPC_CheckPredicate4, 
6544
0
    OPC_CheckType, MVT::v4f32,
6545
0
    OPC_CheckPatternPredicate4,
6546
0
    OPC_CheckComplexPat2, /*#*/1,
6547
0
    OPC_EmitMergeInputChains1_0,
6548
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6549
0
                  MVT::v4f32, 2, 3, 2, 
6550
0
   0,
6551
0
  33, 
6552
0
   OPC_RecordChild1,
6553
0
   OPC_CheckPredicate6, 
6554
0
   OPC_CheckPredicate4, 
6555
0
   OPC_CheckType, MVT::v2f64,
6556
0
   OPC_Scope, 12, 
6557
0
    OPC_CheckPatternPredicate2,
6558
0
    OPC_CheckComplexPat4, /*#*/1,
6559
0
    OPC_EmitMergeInputChains1_0,
6560
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6561
0
                  MVT::v2f64, 2, 2, 3, 
6562
0
   12, 
6563
0
    OPC_CheckPatternPredicate4,
6564
0
    OPC_CheckComplexPat4, /*#*/1,
6565
0
    OPC_EmitMergeInputChains1_0,
6566
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6567
0
                  MVT::v2f64, 2, 2, 3, 
6568
0
   0, 
6569
0
  46, 
6570
0
   OPC_MoveChild1,
6571
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6572
0
   OPC_RecordChild0,
6573
0
   OPC_RecordChild1,
6574
0
   OPC_SwitchType , 17, MVT::i64,
6575
0
    OPC_MoveParent,
6576
0
    OPC_CheckPredicate6, 
6577
0
    OPC_CheckPredicate4, 
6578
0
    OPC_CheckType, MVT::v2f64,
6579
0
    OPC_CheckPatternPredicate2,
6580
0
    OPC_CheckComplexPat2, /*#*/1,
6581
0
    OPC_EmitMergeInputChains1_0,
6582
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6583
0
                  MVT::v2f64, 2, 3, 2, 
6584
0
   17, MVT::i32,
6585
0
    OPC_MoveParent,
6586
0
    OPC_CheckPredicate6, 
6587
0
    OPC_CheckPredicate4, 
6588
0
    OPC_CheckType, MVT::v2f64,
6589
0
    OPC_CheckPatternPredicate4,
6590
0
    OPC_CheckComplexPat2, /*#*/1,
6591
0
    OPC_EmitMergeInputChains1_0,
6592
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6593
0
                  MVT::v2f64, 2, 3, 2, 
6594
0
   0,
6595
0
  33, 
6596
0
   OPC_RecordChild1,
6597
0
   OPC_CheckPredicate6, 
6598
0
   OPC_CheckPredicate4, 
6599
0
   OPC_CheckType, MVT::v8f32,
6600
0
   OPC_Scope, 12, 
6601
0
    OPC_CheckPatternPredicate3,
6602
0
    OPC_CheckComplexPat4, /*#*/1,
6603
0
    OPC_EmitMergeInputChains1_0,
6604
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6605
0
                  MVT::v8f32, 2, 2, 3, 
6606
0
   12, 
6607
0
    OPC_CheckPatternPredicate5,
6608
0
    OPC_CheckComplexPat4, /*#*/1,
6609
0
    OPC_EmitMergeInputChains1_0,
6610
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6611
0
                  MVT::v8f32, 2, 2, 3, 
6612
0
   0, 
6613
0
  46, 
6614
0
   OPC_MoveChild1,
6615
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6616
0
   OPC_RecordChild0,
6617
0
   OPC_RecordChild1,
6618
0
   OPC_SwitchType , 17, MVT::i64,
6619
0
    OPC_MoveParent,
6620
0
    OPC_CheckPredicate6, 
6621
0
    OPC_CheckPredicate4, 
6622
0
    OPC_CheckType, MVT::v8f32,
6623
0
    OPC_CheckPatternPredicate3,
6624
0
    OPC_CheckComplexPat2, /*#*/1,
6625
0
    OPC_EmitMergeInputChains1_0,
6626
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6627
0
                  MVT::v8f32, 2, 3, 2, 
6628
0
   17, MVT::i32,
6629
0
    OPC_MoveParent,
6630
0
    OPC_CheckPredicate6, 
6631
0
    OPC_CheckPredicate4, 
6632
0
    OPC_CheckType, MVT::v8f32,
6633
0
    OPC_CheckPatternPredicate5,
6634
0
    OPC_CheckComplexPat2, /*#*/1,
6635
0
    OPC_EmitMergeInputChains1_0,
6636
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6637
0
                  MVT::v8f32, 2, 3, 2, 
6638
0
   0,
6639
0
  33, 
6640
0
   OPC_RecordChild1,
6641
0
   OPC_CheckPredicate6, 
6642
0
   OPC_CheckPredicate4, 
6643
0
   OPC_CheckType, MVT::v4f64,
6644
0
   OPC_Scope, 12, 
6645
0
    OPC_CheckPatternPredicate3,
6646
0
    OPC_CheckComplexPat4, /*#*/1,
6647
0
    OPC_EmitMergeInputChains1_0,
6648
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6649
0
                  MVT::v4f64, 2, 2, 3, 
6650
0
   12, 
6651
0
    OPC_CheckPatternPredicate5,
6652
0
    OPC_CheckComplexPat4, /*#*/1,
6653
0
    OPC_EmitMergeInputChains1_0,
6654
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6655
0
                  MVT::v4f64, 2, 2, 3, 
6656
0
   0, 
6657
0
  36|128,1, 
6658
0
   OPC_MoveChild1,
6659
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6660
0
   OPC_RecordChild0,
6661
0
   OPC_RecordChild1,
6662
0
   OPC_SwitchType , 76, MVT::i64,
6663
0
    OPC_MoveParent,
6664
0
    OPC_CheckPredicate6, 
6665
0
    OPC_CheckPredicate4, 
6666
0
    OPC_SwitchType , 27, MVT::v4f64,
6667
0
     OPC_CheckPatternPredicate3,
6668
0
     OPC_Scope, 11, 
6669
0
      OPC_CheckComplexPat2, /*#*/1,
6670
0
      OPC_EmitMergeInputChains1_0,
6671
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6672
0
                    MVT::v4f64, 2, 3, 2, 
6673
0
     11, 
6674
0
      OPC_CheckComplexPat2, /*#*/2,
6675
0
      OPC_EmitMergeInputChains1_0,
6676
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6677
0
                    MVT::v4f64, 2, 3, 1, 
6678
0
     0, 
6679
0
    12, MVT::v4f32,
6680
0
     OPC_CheckPatternPredicate2,
6681
0
     OPC_CheckComplexPat2, /*#*/2,
6682
0
     OPC_EmitMergeInputChains1_0,
6683
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6684
0
                   MVT::v4f32, 2, 3, 1, 
6685
0
    12, MVT::v2f64,
6686
0
     OPC_CheckPatternPredicate2,
6687
0
     OPC_CheckComplexPat2, /*#*/2,
6688
0
     OPC_EmitMergeInputChains1_0,
6689
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6690
0
                   MVT::v2f64, 2, 3, 1, 
6691
0
    12, MVT::v8f32,
6692
0
     OPC_CheckPatternPredicate3,
6693
0
     OPC_CheckComplexPat2, /*#*/2,
6694
0
     OPC_EmitMergeInputChains1_0,
6695
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6696
0
                   MVT::v8f32, 2, 3, 1, 
6697
0
    0,
6698
0
   76, MVT::i32,
6699
0
    OPC_MoveParent,
6700
0
    OPC_CheckPredicate6, 
6701
0
    OPC_CheckPredicate4, 
6702
0
    OPC_SwitchType , 27, MVT::v4f64,
6703
0
     OPC_CheckPatternPredicate5,
6704
0
     OPC_Scope, 11, 
6705
0
      OPC_CheckComplexPat2, /*#*/1,
6706
0
      OPC_EmitMergeInputChains1_0,
6707
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6708
0
                    MVT::v4f64, 2, 3, 2, 
6709
0
     11, 
6710
0
      OPC_CheckComplexPat2, /*#*/2,
6711
0
      OPC_EmitMergeInputChains1_0,
6712
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6713
0
                    MVT::v4f64, 2, 3, 1, 
6714
0
     0, 
6715
0
    12, MVT::v4f32,
6716
0
     OPC_CheckPatternPredicate4,
6717
0
     OPC_CheckComplexPat2, /*#*/2,
6718
0
     OPC_EmitMergeInputChains1_0,
6719
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6720
0
                   MVT::v4f32, 2, 3, 1, 
6721
0
    12, MVT::v2f64,
6722
0
     OPC_CheckPatternPredicate4,
6723
0
     OPC_CheckComplexPat2, /*#*/2,
6724
0
     OPC_EmitMergeInputChains1_0,
6725
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6726
0
                   MVT::v2f64, 2, 3, 1, 
6727
0
    12, MVT::v8f32,
6728
0
     OPC_CheckPatternPredicate5,
6729
0
     OPC_CheckComplexPat2, /*#*/2,
6730
0
     OPC_EmitMergeInputChains1_0,
6731
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6732
0
                   MVT::v8f32, 2, 3, 1, 
6733
0
    0,
6734
0
   0,
6735
0
  13|128,1, 
6736
0
   OPC_RecordChild1,
6737
0
   OPC_CheckPredicate6, 
6738
0
   OPC_CheckPredicate4, 
6739
0
   OPC_SwitchType , 32, MVT::v4f32,
6740
0
    OPC_Scope, 14, 
6741
0
     OPC_CheckPatternPredicate2,
6742
0
     OPC_CheckComplexPat0, /*#*/1,
6743
0
     OPC_EmitMergeInputChains1_0,
6744
0
     OPC_EmitInteger64, 0, 
6745
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6746
0
                   MVT::v4f32, 2, 2, 3, 
6747
0
    14, 
6748
0
     OPC_CheckPatternPredicate4,
6749
0
     OPC_CheckComplexPat0, /*#*/1,
6750
0
     OPC_EmitMergeInputChains1_0,
6751
0
     OPC_EmitInteger32, 0, 
6752
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6753
0
                   MVT::v4f32, 2, 2, 3, 
6754
0
    0, 
6755
0
   32, MVT::v2f64,
6756
0
    OPC_Scope, 14, 
6757
0
     OPC_CheckPatternPredicate2,
6758
0
     OPC_CheckComplexPat0, /*#*/1,
6759
0
     OPC_EmitMergeInputChains1_0,
6760
0
     OPC_EmitInteger64, 0, 
6761
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6762
0
                   MVT::v2f64, 2, 2, 3, 
6763
0
    14, 
6764
0
     OPC_CheckPatternPredicate4,
6765
0
     OPC_CheckComplexPat0, /*#*/1,
6766
0
     OPC_EmitMergeInputChains1_0,
6767
0
     OPC_EmitInteger32, 0, 
6768
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6769
0
                   MVT::v2f64, 2, 2, 3, 
6770
0
    0, 
6771
0
   32, MVT::v8f32,
6772
0
    OPC_Scope, 14, 
6773
0
     OPC_CheckPatternPredicate3,
6774
0
     OPC_CheckComplexPat0, /*#*/1,
6775
0
     OPC_EmitMergeInputChains1_0,
6776
0
     OPC_EmitInteger64, 0, 
6777
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6778
0
                   MVT::v8f32, 2, 2, 3, 
6779
0
    14, 
6780
0
     OPC_CheckPatternPredicate5,
6781
0
     OPC_CheckComplexPat0, /*#*/1,
6782
0
     OPC_EmitMergeInputChains1_0,
6783
0
     OPC_EmitInteger32, 0, 
6784
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6785
0
                   MVT::v8f32, 2, 2, 3, 
6786
0
    0, 
6787
0
   32, MVT::v4f64,
6788
0
    OPC_Scope, 14, 
6789
0
     OPC_CheckPatternPredicate3,
6790
0
     OPC_CheckComplexPat0, /*#*/1,
6791
0
     OPC_EmitMergeInputChains1_0,
6792
0
     OPC_EmitInteger64, 0, 
6793
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6794
0
                   MVT::v4f64, 2, 2, 3, 
6795
0
    14, 
6796
0
     OPC_CheckPatternPredicate5,
6797
0
     OPC_CheckComplexPat0, /*#*/1,
6798
0
     OPC_EmitMergeInputChains1_0,
6799
0
     OPC_EmitInteger32, 0, 
6800
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6801
0
                   MVT::v4f64, 2, 2, 3, 
6802
0
    0, 
6803
0
   0,
6804
0
  0, 
6805
0
 99|128,34, TARGET_VAL(ISD::STORE),
6806
0
  OPC_RecordMemRef,
6807
0
  OPC_RecordNode,
6808
0
  OPC_RecordChild1,
6809
0
  OPC_Scope, 53|128,4, 
6810
0
   OPC_CheckChild1TypeI64,
6811
0
   OPC_Scope, 17|128,2, 
6812
0
    OPC_MoveChild2,
6813
0
    OPC_SwitchOpcode , 3|128,1, TARGET_VAL(ISD::ADD),
6814
0
     OPC_RecordChild0,
6815
0
     OPC_RecordChild1,
6816
0
     OPC_MoveChild1,
6817
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6818
0
     OPC_Scope, 78, 
6819
0
      OPC_CheckPredicate, 10,
6820
0
      OPC_MoveParent,
6821
0
      OPC_CheckPredicate, 11,
6822
0
      OPC_CheckTypeI64,
6823
0
      OPC_MoveParent,
6824
0
      OPC_CheckPredicate2, 
6825
0
      OPC_Scope, 52, 
6826
0
       OPC_CheckPredicate, 28,
6827
0
       OPC_Scope, 15, 
6828
0
        OPC_CheckPredicate, 30,
6829
0
        OPC_CheckPatternPredicate7,
6830
0
        OPC_CheckComplexPat0, /*#*/2,
6831
0
        OPC_EmitMergeInputChains1_0,
6832
0
        OPC_EmitConvertToTarget3,
6833
0
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6834
0
                      3, 1, 4, 5, 
6835
0
       15, 
6836
0
        OPC_CheckPredicate, 29,
6837
0
        OPC_CheckPatternPredicate7,
6838
0
        OPC_CheckComplexPat0, /*#*/2,
6839
0
        OPC_EmitMergeInputChains1_0,
6840
0
        OPC_EmitConvertToTarget3,
6841
0
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6842
0
                      3, 1, 4, 5, 
6843
0
       15, 
6844
0
        OPC_CheckPredicate, 33,
6845
0
        OPC_CheckPatternPredicate6,
6846
0
        OPC_CheckComplexPat0, /*#*/2,
6847
0
        OPC_EmitMergeInputChains1_0,
6848
0
        OPC_EmitConvertToTarget3,
6849
0
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6850
0
                      3, 1, 4, 5, 
6851
0
       0, 
6852
0
      14, 
6853
0
       OPC_CheckPredicate1, 
6854
0
       OPC_CheckPatternPredicate6,
6855
0
       OPC_CheckComplexPat0, /*#*/2,
6856
0
       OPC_EmitMergeInputChains1_0,
6857
0
       OPC_EmitConvertToTarget3,
6858
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6859
0
                     3, 1, 4, 5, 
6860
0
      0, 
6861
0
     43, 
6862
0
      OPC_CheckPredicate, 37,
6863
0
      OPC_MoveParent,
6864
0
      OPC_CheckPredicate, 11,
6865
0
      OPC_CheckTypeI64,
6866
0
      OPC_MoveParent,
6867
0
      OPC_CheckPredicate2, 
6868
0
      OPC_Scope, 17, 
6869
0
       OPC_CheckPredicate, 28,
6870
0
       OPC_CheckPredicate, 33,
6871
0
       OPC_CheckPatternPredicate6,
6872
0
       OPC_CheckComplexPat0, /*#*/2,
6873
0
       OPC_EmitMergeInputChains1_0,
6874
0
       OPC_EmitConvertToTarget3,
6875
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6876
0
                     3, 1, 4, 5, 
6877
0
      14, 
6878
0
       OPC_CheckPredicate1, 
6879
0
       OPC_CheckPatternPredicate6,
6880
0
       OPC_CheckComplexPat0, /*#*/2,
6881
0
       OPC_EmitMergeInputChains1_0,
6882
0
       OPC_EmitConvertToTarget3,
6883
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6884
0
                     3, 1, 4, 5, 
6885
0
      0, 
6886
0
     0, 
6887
0
    3|128,1, TARGET_VAL(ISD::OR),
6888
0
     OPC_RecordChild0,
6889
0
     OPC_RecordChild1,
6890
0
     OPC_MoveChild1,
6891
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6892
0
     OPC_Scope, 78, 
6893
0
      OPC_CheckPredicate, 10,
6894
0
      OPC_MoveParent,
6895
0
      OPC_CheckPredicate, 11,
6896
0
      OPC_CheckTypeI64,
6897
0
      OPC_MoveParent,
6898
0
      OPC_CheckPredicate2, 
6899
0
      OPC_Scope, 52, 
6900
0
       OPC_CheckPredicate, 28,
6901
0
       OPC_Scope, 15, 
6902
0
        OPC_CheckPredicate, 30,
6903
0
        OPC_CheckPatternPredicate7,
6904
0
        OPC_CheckComplexPat0, /*#*/2,
6905
0
        OPC_EmitMergeInputChains1_0,
6906
0
        OPC_EmitConvertToTarget3,
6907
0
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6908
0
                      3, 1, 4, 5, 
6909
0
       15, 
6910
0
        OPC_CheckPredicate, 29,
6911
0
        OPC_CheckPatternPredicate7,
6912
0
        OPC_CheckComplexPat0, /*#*/2,
6913
0
        OPC_EmitMergeInputChains1_0,
6914
0
        OPC_EmitConvertToTarget3,
6915
0
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6916
0
                      3, 1, 4, 5, 
6917
0
       15, 
6918
0
        OPC_CheckPredicate, 33,
6919
0
        OPC_CheckPatternPredicate6,
6920
0
        OPC_CheckComplexPat0, /*#*/2,
6921
0
        OPC_EmitMergeInputChains1_0,
6922
0
        OPC_EmitConvertToTarget3,
6923
0
        OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6924
0
                      3, 1, 4, 5, 
6925
0
       0, 
6926
0
      14, 
6927
0
       OPC_CheckPredicate1, 
6928
0
       OPC_CheckPatternPredicate6,
6929
0
       OPC_CheckComplexPat0, /*#*/2,
6930
0
       OPC_EmitMergeInputChains1_0,
6931
0
       OPC_EmitConvertToTarget3,
6932
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6933
0
                     3, 1, 4, 5, 
6934
0
      0, 
6935
0
     43, 
6936
0
      OPC_CheckPredicate, 37,
6937
0
      OPC_MoveParent,
6938
0
      OPC_CheckPredicate, 11,
6939
0
      OPC_CheckTypeI64,
6940
0
      OPC_MoveParent,
6941
0
      OPC_CheckPredicate2, 
6942
0
      OPC_Scope, 17, 
6943
0
       OPC_CheckPredicate, 28,
6944
0
       OPC_CheckPredicate, 33,
6945
0
       OPC_CheckPatternPredicate6,
6946
0
       OPC_CheckComplexPat0, /*#*/2,
6947
0
       OPC_EmitMergeInputChains1_0,
6948
0
       OPC_EmitConvertToTarget3,
6949
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6950
0
                     3, 1, 4, 5, 
6951
0
      14, 
6952
0
       OPC_CheckPredicate1, 
6953
0
       OPC_CheckPatternPredicate6,
6954
0
       OPC_CheckComplexPat0, /*#*/2,
6955
0
       OPC_EmitMergeInputChains1_0,
6956
0
       OPC_EmitConvertToTarget3,
6957
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6958
0
                     3, 1, 4, 5, 
6959
0
      0, 
6960
0
     0, 
6961
0
    0,
6962
0
   68, 
6963
0
    OPC_RecordChild2,
6964
0
    OPC_CheckPredicate2, 
6965
0
    OPC_Scope, 49, 
6966
0
     OPC_CheckPredicate, 28,
6967
0
     OPC_Scope, 14, 
6968
0
      OPC_CheckPredicate, 30,
6969
0
      OPC_CheckPatternPredicate7,
6970
0
      OPC_CheckComplexPat4, /*#*/2,
6971
0
      OPC_EmitMergeInputChains1_0,
6972
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6973
0
                    3, 1, 3, 4, 
6974
0
     14, 
6975
0
      OPC_CheckPredicate, 29,
6976
0
      OPC_CheckPatternPredicate7,
6977
0
      OPC_CheckComplexPat4, /*#*/2,
6978
0
      OPC_EmitMergeInputChains1_0,
6979
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6980
0
                    3, 1, 3, 4, 
6981
0
     14, 
6982
0
      OPC_CheckPredicate, 33,
6983
0
      OPC_CheckPatternPredicate6,
6984
0
      OPC_CheckComplexPat4, /*#*/2,
6985
0
      OPC_EmitMergeInputChains1_0,
6986
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6987
0
                    3, 1, 3, 4, 
6988
0
     0, 
6989
0
    13, 
6990
0
     OPC_CheckPredicate1, 
6991
0
     OPC_CheckPatternPredicate6,
6992
0
     OPC_CheckComplexPat4, /*#*/2,
6993
0
     OPC_EmitMergeInputChains1_0,
6994
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6995
0
                   3, 1, 3, 4, 
6996
0
    0, 
6997
0
   11|128,1, 
6998
0
    OPC_MoveChild2,
6999
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7000
0
    OPC_RecordChild0,
7001
0
    OPC_RecordChild1,
7002
0
    OPC_CheckTypeI64,
7003
0
    OPC_MoveParent,
7004
0
    OPC_CheckPredicate2, 
7005
0
    OPC_Scope, 49, 
7006
0
     OPC_CheckPredicate, 28,
7007
0
     OPC_Scope, 14, 
7008
0
      OPC_CheckPredicate, 30,
7009
0
      OPC_CheckPatternPredicate6,
7010
0
      OPC_CheckComplexPat2, /*#*/2,
7011
0
      OPC_EmitMergeInputChains1_0,
7012
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
7013
0
                    3, 1, 4, 3, 
7014
0
     14, 
7015
0
      OPC_CheckPredicate, 29,
7016
0
      OPC_CheckPatternPredicate6,
7017
0
      OPC_CheckComplexPat2, /*#*/2,
7018
0
      OPC_EmitMergeInputChains1_0,
7019
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
7020
0
                    3, 1, 4, 3, 
7021
0
     14, 
7022
0
      OPC_CheckPredicate, 33,
7023
0
      OPC_CheckPatternPredicate6,
7024
0
      OPC_CheckComplexPat2, /*#*/2,
7025
0
      OPC_EmitMergeInputChains1_0,
7026
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
7027
0
                    3, 1, 4, 3, 
7028
0
     0, 
7029
0
    13, 
7030
0
     OPC_CheckPredicate1, 
7031
0
     OPC_CheckPatternPredicate6,
7032
0
     OPC_CheckComplexPat2, /*#*/2,
7033
0
     OPC_EmitMergeInputChains1_0,
7034
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
7035
0
                   3, 1, 4, 3, 
7036
0
    49, 
7037
0
     OPC_CheckPredicate, 28,
7038
0
     OPC_Scope, 14, 
7039
0
      OPC_CheckPredicate, 30,
7040
0
      OPC_CheckPatternPredicate6,
7041
0
      OPC_CheckComplexPat2, /*#*/3,
7042
0
      OPC_EmitMergeInputChains1_0,
7043
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
7044
0
                    3, 1, 4, 2, 
7045
0
     14, 
7046
0
      OPC_CheckPredicate, 29,
7047
0
      OPC_CheckPatternPredicate6,
7048
0
      OPC_CheckComplexPat2, /*#*/3,
7049
0
      OPC_EmitMergeInputChains1_0,
7050
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
7051
0
                    3, 1, 4, 2, 
7052
0
     14, 
7053
0
      OPC_CheckPredicate, 33,
7054
0
      OPC_CheckPatternPredicate6,
7055
0
      OPC_CheckComplexPat2, /*#*/3,
7056
0
      OPC_EmitMergeInputChains1_0,
7057
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
7058
0
                    3, 1, 4, 2, 
7059
0
     0, 
7060
0
    13, 
7061
0
     OPC_CheckPredicate1, 
7062
0
     OPC_CheckPatternPredicate6,
7063
0
     OPC_CheckComplexPat2, /*#*/3,
7064
0
     OPC_EmitMergeInputChains1_0,
7065
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
7066
0
                   3, 1, 4, 2, 
7067
0
    0, 
7068
0
   76, 
7069
0
    OPC_RecordChild2,
7070
0
    OPC_CheckPredicate2, 
7071
0
    OPC_Scope, 55, 
7072
0
     OPC_CheckPredicate, 28,
7073
0
     OPC_Scope, 16, 
7074
0
      OPC_CheckPredicate, 30,
7075
0
      OPC_CheckPatternPredicate7,
7076
0
      OPC_CheckComplexPat0, /*#*/2,
7077
0
      OPC_EmitMergeInputChains1_0,
7078
0
      OPC_EmitInteger64, 0, 
7079
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7080
0
                    3, 1, 3, 4, 
7081
0
     16, 
7082
0
      OPC_CheckPredicate, 29,
7083
0
      OPC_CheckPatternPredicate7,
7084
0
      OPC_CheckComplexPat0, /*#*/2,
7085
0
      OPC_EmitMergeInputChains1_0,
7086
0
      OPC_EmitInteger64, 0, 
7087
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7088
0
                    3, 1, 3, 4, 
7089
0
     16, 
7090
0
      OPC_CheckPredicate, 33,
7091
0
      OPC_CheckPatternPredicate6,
7092
0
      OPC_CheckComplexPat0, /*#*/2,
7093
0
      OPC_EmitMergeInputChains1_0,
7094
0
      OPC_EmitInteger64, 0, 
7095
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7096
0
                    3, 1, 3, 4, 
7097
0
     0, 
7098
0
    15, 
7099
0
     OPC_CheckPredicate1, 
7100
0
     OPC_CheckPatternPredicate6,
7101
0
     OPC_CheckComplexPat0, /*#*/2,
7102
0
     OPC_EmitMergeInputChains1_0,
7103
0
     OPC_EmitInteger64, 0, 
7104
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
7105
0
                   3, 1, 3, 4, 
7106
0
    0, 
7107
0
   0, 
7108
0
  15|128,2, 
7109
0
   OPC_CheckChild1TypeI32,
7110
0
   OPC_Scope, 23|128,1, 
7111
0
    OPC_MoveChild2,
7112
0
    OPC_SwitchOpcode , 71, TARGET_VAL(ISD::ADD),
7113
0
     OPC_RecordChild0,
7114
0
     OPC_RecordChild1,
7115
0
     OPC_MoveChild1,
7116
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7117
0
     OPC_CheckPredicate, 10,
7118
0
     OPC_MoveParent,
7119
0
     OPC_CheckPredicate, 11,
7120
0
     OPC_CheckTypeI32,
7121
0
     OPC_MoveParent,
7122
0
     OPC_CheckPredicate2, 
7123
0
     OPC_Scope, 38, 
7124
0
      OPC_CheckPredicate, 28,
7125
0
      OPC_Scope, 16, 
7126
0
       OPC_CheckPredicate, 30,
7127
0
       OPC_CheckPatternPredicate, 8,
7128
0
       OPC_CheckComplexPat0, /*#*/2,
7129
0
       OPC_EmitMergeInputChains1_0,
7130
0
       OPC_EmitConvertToTarget3,
7131
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7132
0
                     3, 1, 4, 5, 
7133
0
      16, 
7134
0
       OPC_CheckPredicate, 29,
7135
0
       OPC_CheckPatternPredicate, 8,
7136
0
       OPC_CheckComplexPat0, /*#*/2,
7137
0
       OPC_EmitMergeInputChains1_0,
7138
0
       OPC_EmitConvertToTarget3,
7139
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7140
0
                     3, 1, 4, 5, 
7141
0
      0, 
7142
0
     15, 
7143
0
      OPC_CheckPredicate1, 
7144
0
      OPC_CheckPatternPredicate, 9,
7145
0
      OPC_CheckComplexPat0, /*#*/2,
7146
0
      OPC_EmitMergeInputChains1_0,
7147
0
      OPC_EmitConvertToTarget3,
7148
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7149
0
                    3, 1, 4, 5, 
7150
0
     0, 
7151
0
    71, TARGET_VAL(ISD::OR),
7152
0
     OPC_RecordChild0,
7153
0
     OPC_RecordChild1,
7154
0
     OPC_MoveChild1,
7155
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7156
0
     OPC_CheckPredicate, 10,
7157
0
     OPC_MoveParent,
7158
0
     OPC_CheckPredicate, 11,
7159
0
     OPC_CheckTypeI32,
7160
0
     OPC_MoveParent,
7161
0
     OPC_CheckPredicate2, 
7162
0
     OPC_Scope, 38, 
7163
0
      OPC_CheckPredicate, 28,
7164
0
      OPC_Scope, 16, 
7165
0
       OPC_CheckPredicate, 30,
7166
0
       OPC_CheckPatternPredicate, 8,
7167
0
       OPC_CheckComplexPat0, /*#*/2,
7168
0
       OPC_EmitMergeInputChains1_0,
7169
0
       OPC_EmitConvertToTarget3,
7170
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7171
0
                     3, 1, 4, 5, 
7172
0
      16, 
7173
0
       OPC_CheckPredicate, 29,
7174
0
       OPC_CheckPatternPredicate, 8,
7175
0
       OPC_CheckComplexPat0, /*#*/2,
7176
0
       OPC_EmitMergeInputChains1_0,
7177
0
       OPC_EmitConvertToTarget3,
7178
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7179
0
                     3, 1, 4, 5, 
7180
0
      0, 
7181
0
     15, 
7182
0
      OPC_CheckPredicate1, 
7183
0
      OPC_CheckPatternPredicate, 9,
7184
0
      OPC_CheckComplexPat0, /*#*/2,
7185
0
      OPC_EmitMergeInputChains1_0,
7186
0
      OPC_EmitConvertToTarget3,
7187
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7188
0
                    3, 1, 4, 5, 
7189
0
     0, 
7190
0
    0,
7191
0
   114, 
7192
0
    OPC_RecordChild2,
7193
0
    OPC_CheckPredicate2, 
7194
0
    OPC_Scope, 36, 
7195
0
     OPC_CheckPredicate, 28,
7196
0
     OPC_Scope, 15, 
7197
0
      OPC_CheckPredicate, 30,
7198
0
      OPC_CheckPatternPredicate, 8,
7199
0
      OPC_CheckComplexPat4, /*#*/2,
7200
0
      OPC_EmitMergeInputChains1_0,
7201
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7202
0
                    3, 1, 3, 4, 
7203
0
     15, 
7204
0
      OPC_CheckPredicate, 29,
7205
0
      OPC_CheckPatternPredicate, 8,
7206
0
      OPC_CheckComplexPat4, /*#*/2,
7207
0
      OPC_EmitMergeInputChains1_0,
7208
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7209
0
                    3, 1, 3, 4, 
7210
0
     0, 
7211
0
    14, 
7212
0
     OPC_CheckPredicate1, 
7213
0
     OPC_CheckPatternPredicate, 9,
7214
0
     OPC_CheckComplexPat4, /*#*/2,
7215
0
     OPC_EmitMergeInputChains1_0,
7216
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7217
0
                   3, 1, 3, 4, 
7218
0
    40, 
7219
0
     OPC_CheckPredicate, 28,
7220
0
     OPC_Scope, 17, 
7221
0
      OPC_CheckPredicate, 30,
7222
0
      OPC_CheckPatternPredicate, 8,
7223
0
      OPC_CheckComplexPat0, /*#*/2,
7224
0
      OPC_EmitMergeInputChains1_0,
7225
0
      OPC_EmitInteger32, 0, 
7226
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7227
0
                    3, 1, 3, 4, 
7228
0
     17, 
7229
0
      OPC_CheckPredicate, 29,
7230
0
      OPC_CheckPatternPredicate, 8,
7231
0
      OPC_CheckComplexPat0, /*#*/2,
7232
0
      OPC_EmitMergeInputChains1_0,
7233
0
      OPC_EmitInteger32, 0, 
7234
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7235
0
                    3, 1, 3, 4, 
7236
0
     0, 
7237
0
    16, 
7238
0
     OPC_CheckPredicate1, 
7239
0
     OPC_CheckPatternPredicate, 9,
7240
0
     OPC_CheckComplexPat0, /*#*/2,
7241
0
     OPC_EmitMergeInputChains1_0,
7242
0
     OPC_EmitInteger32, 0, 
7243
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7244
0
                   3, 1, 3, 4, 
7245
0
    0, 
7246
0
   0, 
7247
0
  7|128,2, 
7248
0
   OPC_CheckChild1Type, MVT::f32,
7249
0
   OPC_Scope, 111, 
7250
0
    OPC_MoveChild2,
7251
0
    OPC_SwitchOpcode , 51, TARGET_VAL(ISD::ADD),
7252
0
     OPC_RecordChild0,
7253
0
     OPC_RecordChild1,
7254
0
     OPC_MoveChild1,
7255
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7256
0
     OPC_CheckPredicate, 10,
7257
0
     OPC_MoveParent,
7258
0
     OPC_CheckPredicate, 11,
7259
0
     OPC_SwitchType , 17, MVT::i64,
7260
0
      OPC_MoveParent,
7261
0
      OPC_CheckPredicate2, 
7262
0
      OPC_CheckPredicate1, 
7263
0
      OPC_CheckPatternPredicate, 11,
7264
0
      OPC_CheckComplexPat0, /*#*/2,
7265
0
      OPC_EmitMergeInputChains1_0,
7266
0
      OPC_EmitConvertToTarget3,
7267
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7268
0
                    3, 1, 4, 5, 
7269
0
     17, MVT::i32,
7270
0
      OPC_MoveParent,
7271
0
      OPC_CheckPredicate2, 
7272
0
      OPC_CheckPredicate1, 
7273
0
      OPC_CheckPatternPredicate, 12,
7274
0
      OPC_CheckComplexPat0, /*#*/2,
7275
0
      OPC_EmitMergeInputChains1_0,
7276
0
      OPC_EmitConvertToTarget3,
7277
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7278
0
                    3, 1, 4, 5, 
7279
0
     0,
7280
0
    51, TARGET_VAL(ISD::OR),
7281
0
     OPC_RecordChild0,
7282
0
     OPC_RecordChild1,
7283
0
     OPC_MoveChild1,
7284
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7285
0
     OPC_CheckPredicate, 10,
7286
0
     OPC_MoveParent,
7287
0
     OPC_CheckPredicate, 11,
7288
0
     OPC_SwitchType , 17, MVT::i64,
7289
0
      OPC_MoveParent,
7290
0
      OPC_CheckPredicate2, 
7291
0
      OPC_CheckPredicate1, 
7292
0
      OPC_CheckPatternPredicate, 11,
7293
0
      OPC_CheckComplexPat0, /*#*/2,
7294
0
      OPC_EmitMergeInputChains1_0,
7295
0
      OPC_EmitConvertToTarget3,
7296
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7297
0
                    3, 1, 4, 5, 
7298
0
     17, MVT::i32,
7299
0
      OPC_MoveParent,
7300
0
      OPC_CheckPredicate2, 
7301
0
      OPC_CheckPredicate1, 
7302
0
      OPC_CheckPatternPredicate, 12,
7303
0
      OPC_CheckComplexPat0, /*#*/2,
7304
0
      OPC_EmitMergeInputChains1_0,
7305
0
      OPC_EmitConvertToTarget3,
7306
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7307
0
                    3, 1, 4, 5, 
7308
0
     0,
7309
0
    0,
7310
0
   33, 
7311
0
    OPC_RecordChild2,
7312
0
    OPC_CheckPredicate2, 
7313
0
    OPC_CheckPredicate1, 
7314
0
    OPC_Scope, 13, 
7315
0
     OPC_CheckPatternPredicate, 11,
7316
0
     OPC_CheckComplexPat4, /*#*/2,
7317
0
     OPC_EmitMergeInputChains1_0,
7318
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7319
0
                   3, 1, 3, 4, 
7320
0
    13, 
7321
0
     OPC_CheckPatternPredicate, 12,
7322
0
     OPC_CheckComplexPat4, /*#*/2,
7323
0
     OPC_EmitMergeInputChains1_0,
7324
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7325
0
                   3, 1, 3, 4, 
7326
0
    0, 
7327
0
   74, 
7328
0
    OPC_MoveChild2,
7329
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7330
0
    OPC_RecordChild0,
7331
0
    OPC_RecordChild1,
7332
0
    OPC_SwitchType , 31, MVT::i64,
7333
0
     OPC_MoveParent,
7334
0
     OPC_CheckPredicate2, 
7335
0
     OPC_CheckPredicate1, 
7336
0
     OPC_CheckPatternPredicate, 11,
7337
0
     OPC_Scope, 11, 
7338
0
      OPC_CheckComplexPat2, /*#*/2,
7339
0
      OPC_EmitMergeInputChains1_0,
7340
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7341
0
                    3, 1, 4, 3, 
7342
0
     11, 
7343
0
      OPC_CheckComplexPat2, /*#*/3,
7344
0
      OPC_EmitMergeInputChains1_0,
7345
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7346
0
                    3, 1, 4, 2, 
7347
0
     0, 
7348
0
    31, MVT::i32,
7349
0
     OPC_MoveParent,
7350
0
     OPC_CheckPredicate2, 
7351
0
     OPC_CheckPredicate1, 
7352
0
     OPC_CheckPatternPredicate, 12,
7353
0
     OPC_Scope, 11, 
7354
0
      OPC_CheckComplexPat2, /*#*/2,
7355
0
      OPC_EmitMergeInputChains1_0,
7356
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7357
0
                    3, 1, 4, 3, 
7358
0
     11, 
7359
0
      OPC_CheckComplexPat2, /*#*/3,
7360
0
      OPC_EmitMergeInputChains1_0,
7361
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7362
0
                    3, 1, 4, 2, 
7363
0
     0, 
7364
0
    0,
7365
0
   37, 
7366
0
    OPC_RecordChild2,
7367
0
    OPC_CheckPredicate2, 
7368
0
    OPC_CheckPredicate1, 
7369
0
    OPC_Scope, 15, 
7370
0
     OPC_CheckPatternPredicate, 11,
7371
0
     OPC_CheckComplexPat0, /*#*/2,
7372
0
     OPC_EmitMergeInputChains1_0,
7373
0
     OPC_EmitInteger64, 0, 
7374
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7375
0
                   3, 1, 3, 4, 
7376
0
    15, 
7377
0
     OPC_CheckPatternPredicate, 12,
7378
0
     OPC_CheckComplexPat0, /*#*/2,
7379
0
     OPC_EmitMergeInputChains1_0,
7380
0
     OPC_EmitInteger32, 0, 
7381
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7382
0
                   3, 1, 3, 4, 
7383
0
    0, 
7384
0
   0, 
7385
0
  7|128,2, 
7386
0
   OPC_CheckChild1Type, MVT::f64,
7387
0
   OPC_Scope, 111, 
7388
0
    OPC_MoveChild2,
7389
0
    OPC_SwitchOpcode , 51, TARGET_VAL(ISD::ADD),
7390
0
     OPC_RecordChild0,
7391
0
     OPC_RecordChild1,
7392
0
     OPC_MoveChild1,
7393
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7394
0
     OPC_CheckPredicate, 10,
7395
0
     OPC_MoveParent,
7396
0
     OPC_CheckPredicate, 11,
7397
0
     OPC_SwitchType , 17, MVT::i64,
7398
0
      OPC_MoveParent,
7399
0
      OPC_CheckPredicate2, 
7400
0
      OPC_CheckPredicate1, 
7401
0
      OPC_CheckPatternPredicate, 13,
7402
0
      OPC_CheckComplexPat0, /*#*/2,
7403
0
      OPC_EmitMergeInputChains1_0,
7404
0
      OPC_EmitConvertToTarget3,
7405
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7406
0
                    3, 1, 4, 5, 
7407
0
     17, MVT::i32,
7408
0
      OPC_MoveParent,
7409
0
      OPC_CheckPredicate2, 
7410
0
      OPC_CheckPredicate1, 
7411
0
      OPC_CheckPatternPredicate, 14,
7412
0
      OPC_CheckComplexPat0, /*#*/2,
7413
0
      OPC_EmitMergeInputChains1_0,
7414
0
      OPC_EmitConvertToTarget3,
7415
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7416
0
                    3, 1, 4, 5, 
7417
0
     0,
7418
0
    51, TARGET_VAL(ISD::OR),
7419
0
     OPC_RecordChild0,
7420
0
     OPC_RecordChild1,
7421
0
     OPC_MoveChild1,
7422
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7423
0
     OPC_CheckPredicate, 10,
7424
0
     OPC_MoveParent,
7425
0
     OPC_CheckPredicate, 11,
7426
0
     OPC_SwitchType , 17, MVT::i64,
7427
0
      OPC_MoveParent,
7428
0
      OPC_CheckPredicate2, 
7429
0
      OPC_CheckPredicate1, 
7430
0
      OPC_CheckPatternPredicate, 13,
7431
0
      OPC_CheckComplexPat0, /*#*/2,
7432
0
      OPC_EmitMergeInputChains1_0,
7433
0
      OPC_EmitConvertToTarget3,
7434
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7435
0
                    3, 1, 4, 5, 
7436
0
     17, MVT::i32,
7437
0
      OPC_MoveParent,
7438
0
      OPC_CheckPredicate2, 
7439
0
      OPC_CheckPredicate1, 
7440
0
      OPC_CheckPatternPredicate, 14,
7441
0
      OPC_CheckComplexPat0, /*#*/2,
7442
0
      OPC_EmitMergeInputChains1_0,
7443
0
      OPC_EmitConvertToTarget3,
7444
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7445
0
                    3, 1, 4, 5, 
7446
0
     0,
7447
0
    0,
7448
0
   33, 
7449
0
    OPC_RecordChild2,
7450
0
    OPC_CheckPredicate2, 
7451
0
    OPC_CheckPredicate1, 
7452
0
    OPC_Scope, 13, 
7453
0
     OPC_CheckPatternPredicate, 13,
7454
0
     OPC_CheckComplexPat4, /*#*/2,
7455
0
     OPC_EmitMergeInputChains1_0,
7456
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7457
0
                   3, 1, 3, 4, 
7458
0
    13, 
7459
0
     OPC_CheckPatternPredicate, 14,
7460
0
     OPC_CheckComplexPat4, /*#*/2,
7461
0
     OPC_EmitMergeInputChains1_0,
7462
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7463
0
                   3, 1, 3, 4, 
7464
0
    0, 
7465
0
   74, 
7466
0
    OPC_MoveChild2,
7467
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7468
0
    OPC_RecordChild0,
7469
0
    OPC_RecordChild1,
7470
0
    OPC_SwitchType , 31, MVT::i64,
7471
0
     OPC_MoveParent,
7472
0
     OPC_CheckPredicate2, 
7473
0
     OPC_CheckPredicate1, 
7474
0
     OPC_CheckPatternPredicate, 13,
7475
0
     OPC_Scope, 11, 
7476
0
      OPC_CheckComplexPat2, /*#*/2,
7477
0
      OPC_EmitMergeInputChains1_0,
7478
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7479
0
                    3, 1, 4, 3, 
7480
0
     11, 
7481
0
      OPC_CheckComplexPat2, /*#*/3,
7482
0
      OPC_EmitMergeInputChains1_0,
7483
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7484
0
                    3, 1, 4, 2, 
7485
0
     0, 
7486
0
    31, MVT::i32,
7487
0
     OPC_MoveParent,
7488
0
     OPC_CheckPredicate2, 
7489
0
     OPC_CheckPredicate1, 
7490
0
     OPC_CheckPatternPredicate, 14,
7491
0
     OPC_Scope, 11, 
7492
0
      OPC_CheckComplexPat2, /*#*/2,
7493
0
      OPC_EmitMergeInputChains1_0,
7494
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7495
0
                    3, 1, 4, 3, 
7496
0
     11, 
7497
0
      OPC_CheckComplexPat2, /*#*/3,
7498
0
      OPC_EmitMergeInputChains1_0,
7499
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7500
0
                    3, 1, 4, 2, 
7501
0
     0, 
7502
0
    0,
7503
0
   37, 
7504
0
    OPC_RecordChild2,
7505
0
    OPC_CheckPredicate2, 
7506
0
    OPC_CheckPredicate1, 
7507
0
    OPC_Scope, 15, 
7508
0
     OPC_CheckPatternPredicate, 13,
7509
0
     OPC_CheckComplexPat0, /*#*/2,
7510
0
     OPC_EmitMergeInputChains1_0,
7511
0
     OPC_EmitInteger64, 0, 
7512
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7513
0
                   3, 1, 3, 4, 
7514
0
    15, 
7515
0
     OPC_CheckPatternPredicate, 14,
7516
0
     OPC_CheckComplexPat0, /*#*/2,
7517
0
     OPC_EmitMergeInputChains1_0,
7518
0
     OPC_EmitInteger32, 0, 
7519
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7520
0
                   3, 1, 3, 4, 
7521
0
    0, 
7522
0
   0, 
7523
0
  5|128,2, 
7524
0
   OPC_CheckChild1Type, MVT::v16i8,
7525
0
   OPC_Scope, 16|128,1, 
7526
0
    OPC_MoveChild2,
7527
0
    OPC_SwitchOpcode , 86, TARGET_VAL(ISD::ADD),
7528
0
     OPC_RecordChild0,
7529
0
     OPC_RecordChild1,
7530
0
     OPC_Scope, 47, 
7531
0
      OPC_MoveChild1,
7532
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7533
0
      OPC_CheckPredicate, 10,
7534
0
      OPC_MoveParent,
7535
0
      OPC_CheckPredicate, 11,
7536
0
      OPC_SwitchType , 16, MVT::i64,
7537
0
       OPC_MoveParent,
7538
0
       OPC_CheckPredicate2, 
7539
0
       OPC_CheckPredicate1, 
7540
0
       OPC_CheckPatternPredicate2,
7541
0
       OPC_CheckComplexPat0, /*#*/2,
7542
0
       OPC_EmitMergeInputChains1_0,
7543
0
       OPC_EmitConvertToTarget3,
7544
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7545
0
                     3, 1, 4, 5, 
7546
0
      16, MVT::i32,
7547
0
       OPC_MoveParent,
7548
0
       OPC_CheckPredicate2, 
7549
0
       OPC_CheckPredicate1, 
7550
0
       OPC_CheckPatternPredicate4,
7551
0
       OPC_CheckComplexPat0, /*#*/2,
7552
0
       OPC_EmitMergeInputChains1_0,
7553
0
       OPC_EmitConvertToTarget3,
7554
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7555
0
                     3, 1, 4, 5, 
7556
0
      0,
7557
0
     16, 
7558
0
      OPC_CheckTypeI64,
7559
0
      OPC_MoveParent,
7560
0
      OPC_CheckPredicate2, 
7561
0
      OPC_CheckPredicate1, 
7562
0
      OPC_CheckPatternPredicate2,
7563
0
      OPC_CheckComplexPat2, /*#*/2,
7564
0
      OPC_EmitMergeInputChains1_0,
7565
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7566
0
                    3, 1, 4, 3, 
7567
0
     16, 
7568
0
      OPC_CheckTypeI32,
7569
0
      OPC_MoveParent,
7570
0
      OPC_CheckPredicate2, 
7571
0
      OPC_CheckPredicate1, 
7572
0
      OPC_CheckPatternPredicate4,
7573
0
      OPC_CheckComplexPat2, /*#*/2,
7574
0
      OPC_EmitMergeInputChains1_0,
7575
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7576
0
                    3, 1, 4, 3, 
7577
0
     0, 
7578
0
    49, TARGET_VAL(ISD::OR),
7579
0
     OPC_RecordChild0,
7580
0
     OPC_RecordChild1,
7581
0
     OPC_MoveChild1,
7582
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7583
0
     OPC_CheckPredicate, 10,
7584
0
     OPC_MoveParent,
7585
0
     OPC_CheckPredicate, 11,
7586
0
     OPC_SwitchType , 16, MVT::i64,
7587
0
      OPC_MoveParent,
7588
0
      OPC_CheckPredicate2, 
7589
0
      OPC_CheckPredicate1, 
7590
0
      OPC_CheckPatternPredicate2,
7591
0
      OPC_CheckComplexPat0, /*#*/2,
7592
0
      OPC_EmitMergeInputChains1_0,
7593
0
      OPC_EmitConvertToTarget3,
7594
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7595
0
                    3, 1, 4, 5, 
7596
0
     16, MVT::i32,
7597
0
      OPC_MoveParent,
7598
0
      OPC_CheckPredicate2, 
7599
0
      OPC_CheckPredicate1, 
7600
0
      OPC_CheckPatternPredicate4,
7601
0
      OPC_CheckComplexPat0, /*#*/2,
7602
0
      OPC_EmitMergeInputChains1_0,
7603
0
      OPC_EmitConvertToTarget3,
7604
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7605
0
                    3, 1, 4, 5, 
7606
0
     0,
7607
0
    0,
7608
0
   31, 
7609
0
    OPC_RecordChild2,
7610
0
    OPC_CheckPredicate2, 
7611
0
    OPC_CheckPredicate1, 
7612
0
    OPC_Scope, 12, 
7613
0
     OPC_CheckPatternPredicate2,
7614
0
     OPC_CheckComplexPat4, /*#*/2,
7615
0
     OPC_EmitMergeInputChains1_0,
7616
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7617
0
                   3, 1, 3, 4, 
7618
0
    12, 
7619
0
     OPC_CheckPatternPredicate4,
7620
0
     OPC_CheckComplexPat4, /*#*/2,
7621
0
     OPC_EmitMergeInputChains1_0,
7622
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7623
0
                   3, 1, 3, 4, 
7624
0
    0, 
7625
0
   42, 
7626
0
    OPC_MoveChild2,
7627
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7628
0
    OPC_RecordChild0,
7629
0
    OPC_RecordChild1,
7630
0
    OPC_SwitchType , 15, MVT::i64,
7631
0
     OPC_MoveParent,
7632
0
     OPC_CheckPredicate2, 
7633
0
     OPC_CheckPredicate1, 
7634
0
     OPC_CheckPatternPredicate2,
7635
0
     OPC_CheckComplexPat2, /*#*/3,
7636
0
     OPC_EmitMergeInputChains1_0,
7637
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7638
0
                   3, 1, 4, 2, 
7639
0
    15, MVT::i32,
7640
0
     OPC_MoveParent,
7641
0
     OPC_CheckPredicate2, 
7642
0
     OPC_CheckPredicate1, 
7643
0
     OPC_CheckPatternPredicate4,
7644
0
     OPC_CheckComplexPat2, /*#*/3,
7645
0
     OPC_EmitMergeInputChains1_0,
7646
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7647
0
                   3, 1, 4, 2, 
7648
0
    0,
7649
0
   35, 
7650
0
    OPC_RecordChild2,
7651
0
    OPC_CheckPredicate2, 
7652
0
    OPC_CheckPredicate1, 
7653
0
    OPC_Scope, 14, 
7654
0
     OPC_CheckPatternPredicate2,
7655
0
     OPC_CheckComplexPat0, /*#*/2,
7656
0
     OPC_EmitMergeInputChains1_0,
7657
0
     OPC_EmitInteger64, 0, 
7658
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7659
0
                   3, 1, 3, 4, 
7660
0
    14, 
7661
0
     OPC_CheckPatternPredicate4,
7662
0
     OPC_CheckComplexPat0, /*#*/2,
7663
0
     OPC_EmitMergeInputChains1_0,
7664
0
     OPC_EmitInteger32, 0, 
7665
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7666
0
                   3, 1, 3, 4, 
7667
0
    0, 
7668
0
   0, 
7669
0
  125|128,1, 
7670
0
   OPC_CheckChild1Type, MVT::v8i16,
7671
0
   OPC_Scope, 107, 
7672
0
    OPC_MoveChild2,
7673
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7674
0
     OPC_RecordChild0,
7675
0
     OPC_RecordChild1,
7676
0
     OPC_MoveChild1,
7677
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7678
0
     OPC_CheckPredicate, 10,
7679
0
     OPC_MoveParent,
7680
0
     OPC_CheckPredicate, 11,
7681
0
     OPC_SwitchType , 16, MVT::i64,
7682
0
      OPC_MoveParent,
7683
0
      OPC_CheckPredicate2, 
7684
0
      OPC_CheckPredicate1, 
7685
0
      OPC_CheckPatternPredicate2,
7686
0
      OPC_CheckComplexPat0, /*#*/2,
7687
0
      OPC_EmitMergeInputChains1_0,
7688
0
      OPC_EmitConvertToTarget3,
7689
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7690
0
                    3, 1, 4, 5, 
7691
0
     16, MVT::i32,
7692
0
      OPC_MoveParent,
7693
0
      OPC_CheckPredicate2, 
7694
0
      OPC_CheckPredicate1, 
7695
0
      OPC_CheckPatternPredicate4,
7696
0
      OPC_CheckComplexPat0, /*#*/2,
7697
0
      OPC_EmitMergeInputChains1_0,
7698
0
      OPC_EmitConvertToTarget3,
7699
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7700
0
                    3, 1, 4, 5, 
7701
0
     0,
7702
0
    49, TARGET_VAL(ISD::OR),
7703
0
     OPC_RecordChild0,
7704
0
     OPC_RecordChild1,
7705
0
     OPC_MoveChild1,
7706
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7707
0
     OPC_CheckPredicate, 10,
7708
0
     OPC_MoveParent,
7709
0
     OPC_CheckPredicate, 11,
7710
0
     OPC_SwitchType , 16, MVT::i64,
7711
0
      OPC_MoveParent,
7712
0
      OPC_CheckPredicate2, 
7713
0
      OPC_CheckPredicate1, 
7714
0
      OPC_CheckPatternPredicate2,
7715
0
      OPC_CheckComplexPat0, /*#*/2,
7716
0
      OPC_EmitMergeInputChains1_0,
7717
0
      OPC_EmitConvertToTarget3,
7718
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7719
0
                    3, 1, 4, 5, 
7720
0
     16, MVT::i32,
7721
0
      OPC_MoveParent,
7722
0
      OPC_CheckPredicate2, 
7723
0
      OPC_CheckPredicate1, 
7724
0
      OPC_CheckPatternPredicate4,
7725
0
      OPC_CheckComplexPat0, /*#*/2,
7726
0
      OPC_EmitMergeInputChains1_0,
7727
0
      OPC_EmitConvertToTarget3,
7728
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7729
0
                    3, 1, 4, 5, 
7730
0
     0,
7731
0
    0,
7732
0
   31, 
7733
0
    OPC_RecordChild2,
7734
0
    OPC_CheckPredicate2, 
7735
0
    OPC_CheckPredicate1, 
7736
0
    OPC_Scope, 12, 
7737
0
     OPC_CheckPatternPredicate2,
7738
0
     OPC_CheckComplexPat4, /*#*/2,
7739
0
     OPC_EmitMergeInputChains1_0,
7740
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7741
0
                   3, 1, 3, 4, 
7742
0
    12, 
7743
0
     OPC_CheckPatternPredicate4,
7744
0
     OPC_CheckComplexPat4, /*#*/2,
7745
0
     OPC_EmitMergeInputChains1_0,
7746
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7747
0
                   3, 1, 3, 4, 
7748
0
    0, 
7749
0
   72, 
7750
0
    OPC_MoveChild2,
7751
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7752
0
    OPC_RecordChild0,
7753
0
    OPC_RecordChild1,
7754
0
    OPC_SwitchType , 30, MVT::i64,
7755
0
     OPC_MoveParent,
7756
0
     OPC_CheckPredicate2, 
7757
0
     OPC_CheckPredicate1, 
7758
0
     OPC_CheckPatternPredicate2,
7759
0
     OPC_Scope, 11, 
7760
0
      OPC_CheckComplexPat2, /*#*/2,
7761
0
      OPC_EmitMergeInputChains1_0,
7762
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7763
0
                    3, 1, 4, 3, 
7764
0
     11, 
7765
0
      OPC_CheckComplexPat2, /*#*/3,
7766
0
      OPC_EmitMergeInputChains1_0,
7767
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7768
0
                    3, 1, 4, 2, 
7769
0
     0, 
7770
0
    30, MVT::i32,
7771
0
     OPC_MoveParent,
7772
0
     OPC_CheckPredicate2, 
7773
0
     OPC_CheckPredicate1, 
7774
0
     OPC_CheckPatternPredicate4,
7775
0
     OPC_Scope, 11, 
7776
0
      OPC_CheckComplexPat2, /*#*/2,
7777
0
      OPC_EmitMergeInputChains1_0,
7778
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7779
0
                    3, 1, 4, 3, 
7780
0
     11, 
7781
0
      OPC_CheckComplexPat2, /*#*/3,
7782
0
      OPC_EmitMergeInputChains1_0,
7783
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7784
0
                    3, 1, 4, 2, 
7785
0
     0, 
7786
0
    0,
7787
0
   35, 
7788
0
    OPC_RecordChild2,
7789
0
    OPC_CheckPredicate2, 
7790
0
    OPC_CheckPredicate1, 
7791
0
    OPC_Scope, 14, 
7792
0
     OPC_CheckPatternPredicate2,
7793
0
     OPC_CheckComplexPat0, /*#*/2,
7794
0
     OPC_EmitMergeInputChains1_0,
7795
0
     OPC_EmitInteger64, 0, 
7796
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7797
0
                   3, 1, 3, 4, 
7798
0
    14, 
7799
0
     OPC_CheckPatternPredicate4,
7800
0
     OPC_CheckComplexPat0, /*#*/2,
7801
0
     OPC_EmitMergeInputChains1_0,
7802
0
     OPC_EmitInteger32, 0, 
7803
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7804
0
                   3, 1, 3, 4, 
7805
0
    0, 
7806
0
   0, 
7807
0
  125|128,1, 
7808
0
   OPC_CheckChild1Type, MVT::v4i32,
7809
0
   OPC_Scope, 107, 
7810
0
    OPC_MoveChild2,
7811
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7812
0
     OPC_RecordChild0,
7813
0
     OPC_RecordChild1,
7814
0
     OPC_MoveChild1,
7815
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7816
0
     OPC_CheckPredicate, 10,
7817
0
     OPC_MoveParent,
7818
0
     OPC_CheckPredicate, 11,
7819
0
     OPC_SwitchType , 16, MVT::i64,
7820
0
      OPC_MoveParent,
7821
0
      OPC_CheckPredicate2, 
7822
0
      OPC_CheckPredicate1, 
7823
0
      OPC_CheckPatternPredicate2,
7824
0
      OPC_CheckComplexPat0, /*#*/2,
7825
0
      OPC_EmitMergeInputChains1_0,
7826
0
      OPC_EmitConvertToTarget3,
7827
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7828
0
                    3, 1, 4, 5, 
7829
0
     16, MVT::i32,
7830
0
      OPC_MoveParent,
7831
0
      OPC_CheckPredicate2, 
7832
0
      OPC_CheckPredicate1, 
7833
0
      OPC_CheckPatternPredicate4,
7834
0
      OPC_CheckComplexPat0, /*#*/2,
7835
0
      OPC_EmitMergeInputChains1_0,
7836
0
      OPC_EmitConvertToTarget3,
7837
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7838
0
                    3, 1, 4, 5, 
7839
0
     0,
7840
0
    49, TARGET_VAL(ISD::OR),
7841
0
     OPC_RecordChild0,
7842
0
     OPC_RecordChild1,
7843
0
     OPC_MoveChild1,
7844
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7845
0
     OPC_CheckPredicate, 10,
7846
0
     OPC_MoveParent,
7847
0
     OPC_CheckPredicate, 11,
7848
0
     OPC_SwitchType , 16, MVT::i64,
7849
0
      OPC_MoveParent,
7850
0
      OPC_CheckPredicate2, 
7851
0
      OPC_CheckPredicate1, 
7852
0
      OPC_CheckPatternPredicate2,
7853
0
      OPC_CheckComplexPat0, /*#*/2,
7854
0
      OPC_EmitMergeInputChains1_0,
7855
0
      OPC_EmitConvertToTarget3,
7856
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7857
0
                    3, 1, 4, 5, 
7858
0
     16, MVT::i32,
7859
0
      OPC_MoveParent,
7860
0
      OPC_CheckPredicate2, 
7861
0
      OPC_CheckPredicate1, 
7862
0
      OPC_CheckPatternPredicate4,
7863
0
      OPC_CheckComplexPat0, /*#*/2,
7864
0
      OPC_EmitMergeInputChains1_0,
7865
0
      OPC_EmitConvertToTarget3,
7866
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7867
0
                    3, 1, 4, 5, 
7868
0
     0,
7869
0
    0,
7870
0
   31, 
7871
0
    OPC_RecordChild2,
7872
0
    OPC_CheckPredicate2, 
7873
0
    OPC_CheckPredicate1, 
7874
0
    OPC_Scope, 12, 
7875
0
     OPC_CheckPatternPredicate2,
7876
0
     OPC_CheckComplexPat4, /*#*/2,
7877
0
     OPC_EmitMergeInputChains1_0,
7878
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7879
0
                   3, 1, 3, 4, 
7880
0
    12, 
7881
0
     OPC_CheckPatternPredicate4,
7882
0
     OPC_CheckComplexPat4, /*#*/2,
7883
0
     OPC_EmitMergeInputChains1_0,
7884
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7885
0
                   3, 1, 3, 4, 
7886
0
    0, 
7887
0
   72, 
7888
0
    OPC_MoveChild2,
7889
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7890
0
    OPC_RecordChild0,
7891
0
    OPC_RecordChild1,
7892
0
    OPC_SwitchType , 30, MVT::i64,
7893
0
     OPC_MoveParent,
7894
0
     OPC_CheckPredicate2, 
7895
0
     OPC_CheckPredicate1, 
7896
0
     OPC_CheckPatternPredicate2,
7897
0
     OPC_Scope, 11, 
7898
0
      OPC_CheckComplexPat2, /*#*/2,
7899
0
      OPC_EmitMergeInputChains1_0,
7900
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7901
0
                    3, 1, 4, 3, 
7902
0
     11, 
7903
0
      OPC_CheckComplexPat2, /*#*/3,
7904
0
      OPC_EmitMergeInputChains1_0,
7905
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7906
0
                    3, 1, 4, 2, 
7907
0
     0, 
7908
0
    30, MVT::i32,
7909
0
     OPC_MoveParent,
7910
0
     OPC_CheckPredicate2, 
7911
0
     OPC_CheckPredicate1, 
7912
0
     OPC_CheckPatternPredicate4,
7913
0
     OPC_Scope, 11, 
7914
0
      OPC_CheckComplexPat2, /*#*/2,
7915
0
      OPC_EmitMergeInputChains1_0,
7916
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7917
0
                    3, 1, 4, 3, 
7918
0
     11, 
7919
0
      OPC_CheckComplexPat2, /*#*/3,
7920
0
      OPC_EmitMergeInputChains1_0,
7921
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7922
0
                    3, 1, 4, 2, 
7923
0
     0, 
7924
0
    0,
7925
0
   35, 
7926
0
    OPC_RecordChild2,
7927
0
    OPC_CheckPredicate2, 
7928
0
    OPC_CheckPredicate1, 
7929
0
    OPC_Scope, 14, 
7930
0
     OPC_CheckPatternPredicate2,
7931
0
     OPC_CheckComplexPat0, /*#*/2,
7932
0
     OPC_EmitMergeInputChains1_0,
7933
0
     OPC_EmitInteger64, 0, 
7934
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7935
0
                   3, 1, 3, 4, 
7936
0
    14, 
7937
0
     OPC_CheckPatternPredicate4,
7938
0
     OPC_CheckComplexPat0, /*#*/2,
7939
0
     OPC_EmitMergeInputChains1_0,
7940
0
     OPC_EmitInteger32, 0, 
7941
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7942
0
                   3, 1, 3, 4, 
7943
0
    0, 
7944
0
   0, 
7945
0
  125|128,1, 
7946
0
   OPC_CheckChild1Type, MVT::v2i64,
7947
0
   OPC_Scope, 107, 
7948
0
    OPC_MoveChild2,
7949
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7950
0
     OPC_RecordChild0,
7951
0
     OPC_RecordChild1,
7952
0
     OPC_MoveChild1,
7953
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7954
0
     OPC_CheckPredicate, 10,
7955
0
     OPC_MoveParent,
7956
0
     OPC_CheckPredicate, 11,
7957
0
     OPC_SwitchType , 16, MVT::i64,
7958
0
      OPC_MoveParent,
7959
0
      OPC_CheckPredicate2, 
7960
0
      OPC_CheckPredicate1, 
7961
0
      OPC_CheckPatternPredicate2,
7962
0
      OPC_CheckComplexPat0, /*#*/2,
7963
0
      OPC_EmitMergeInputChains1_0,
7964
0
      OPC_EmitConvertToTarget3,
7965
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7966
0
                    3, 1, 4, 5, 
7967
0
     16, MVT::i32,
7968
0
      OPC_MoveParent,
7969
0
      OPC_CheckPredicate2, 
7970
0
      OPC_CheckPredicate1, 
7971
0
      OPC_CheckPatternPredicate4,
7972
0
      OPC_CheckComplexPat0, /*#*/2,
7973
0
      OPC_EmitMergeInputChains1_0,
7974
0
      OPC_EmitConvertToTarget3,
7975
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7976
0
                    3, 1, 4, 5, 
7977
0
     0,
7978
0
    49, TARGET_VAL(ISD::OR),
7979
0
     OPC_RecordChild0,
7980
0
     OPC_RecordChild1,
7981
0
     OPC_MoveChild1,
7982
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7983
0
     OPC_CheckPredicate, 10,
7984
0
     OPC_MoveParent,
7985
0
     OPC_CheckPredicate, 11,
7986
0
     OPC_SwitchType , 16, MVT::i64,
7987
0
      OPC_MoveParent,
7988
0
      OPC_CheckPredicate2, 
7989
0
      OPC_CheckPredicate1, 
7990
0
      OPC_CheckPatternPredicate2,
7991
0
      OPC_CheckComplexPat0, /*#*/2,
7992
0
      OPC_EmitMergeInputChains1_0,
7993
0
      OPC_EmitConvertToTarget3,
7994
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7995
0
                    3, 1, 4, 5, 
7996
0
     16, MVT::i32,
7997
0
      OPC_MoveParent,
7998
0
      OPC_CheckPredicate2, 
7999
0
      OPC_CheckPredicate1, 
8000
0
      OPC_CheckPatternPredicate4,
8001
0
      OPC_CheckComplexPat0, /*#*/2,
8002
0
      OPC_EmitMergeInputChains1_0,
8003
0
      OPC_EmitConvertToTarget3,
8004
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8005
0
                    3, 1, 4, 5, 
8006
0
     0,
8007
0
    0,
8008
0
   31, 
8009
0
    OPC_RecordChild2,
8010
0
    OPC_CheckPredicate2, 
8011
0
    OPC_CheckPredicate1, 
8012
0
    OPC_Scope, 12, 
8013
0
     OPC_CheckPatternPredicate2,
8014
0
     OPC_CheckComplexPat4, /*#*/2,
8015
0
     OPC_EmitMergeInputChains1_0,
8016
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8017
0
                   3, 1, 3, 4, 
8018
0
    12, 
8019
0
     OPC_CheckPatternPredicate4,
8020
0
     OPC_CheckComplexPat4, /*#*/2,
8021
0
     OPC_EmitMergeInputChains1_0,
8022
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8023
0
                   3, 1, 3, 4, 
8024
0
    0, 
8025
0
   72, 
8026
0
    OPC_MoveChild2,
8027
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8028
0
    OPC_RecordChild0,
8029
0
    OPC_RecordChild1,
8030
0
    OPC_SwitchType , 30, MVT::i64,
8031
0
     OPC_MoveParent,
8032
0
     OPC_CheckPredicate2, 
8033
0
     OPC_CheckPredicate1, 
8034
0
     OPC_CheckPatternPredicate2,
8035
0
     OPC_Scope, 11, 
8036
0
      OPC_CheckComplexPat2, /*#*/2,
8037
0
      OPC_EmitMergeInputChains1_0,
8038
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8039
0
                    3, 1, 4, 3, 
8040
0
     11, 
8041
0
      OPC_CheckComplexPat2, /*#*/3,
8042
0
      OPC_EmitMergeInputChains1_0,
8043
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8044
0
                    3, 1, 4, 2, 
8045
0
     0, 
8046
0
    30, MVT::i32,
8047
0
     OPC_MoveParent,
8048
0
     OPC_CheckPredicate2, 
8049
0
     OPC_CheckPredicate1, 
8050
0
     OPC_CheckPatternPredicate4,
8051
0
     OPC_Scope, 11, 
8052
0
      OPC_CheckComplexPat2, /*#*/2,
8053
0
      OPC_EmitMergeInputChains1_0,
8054
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8055
0
                    3, 1, 4, 3, 
8056
0
     11, 
8057
0
      OPC_CheckComplexPat2, /*#*/3,
8058
0
      OPC_EmitMergeInputChains1_0,
8059
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8060
0
                    3, 1, 4, 2, 
8061
0
     0, 
8062
0
    0,
8063
0
   35, 
8064
0
    OPC_RecordChild2,
8065
0
    OPC_CheckPredicate2, 
8066
0
    OPC_CheckPredicate1, 
8067
0
    OPC_Scope, 14, 
8068
0
     OPC_CheckPatternPredicate2,
8069
0
     OPC_CheckComplexPat0, /*#*/2,
8070
0
     OPC_EmitMergeInputChains1_0,
8071
0
     OPC_EmitInteger64, 0, 
8072
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8073
0
                   3, 1, 3, 4, 
8074
0
    14, 
8075
0
     OPC_CheckPatternPredicate4,
8076
0
     OPC_CheckComplexPat0, /*#*/2,
8077
0
     OPC_EmitMergeInputChains1_0,
8078
0
     OPC_EmitInteger32, 0, 
8079
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8080
0
                   3, 1, 3, 4, 
8081
0
    0, 
8082
0
   0, 
8083
0
  125|128,1, 
8084
0
   OPC_CheckChild1Type, MVT::v4f32,
8085
0
   OPC_Scope, 107, 
8086
0
    OPC_MoveChild2,
8087
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8088
0
     OPC_RecordChild0,
8089
0
     OPC_RecordChild1,
8090
0
     OPC_MoveChild1,
8091
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8092
0
     OPC_CheckPredicate, 10,
8093
0
     OPC_MoveParent,
8094
0
     OPC_CheckPredicate, 11,
8095
0
     OPC_SwitchType , 16, MVT::i64,
8096
0
      OPC_MoveParent,
8097
0
      OPC_CheckPredicate2, 
8098
0
      OPC_CheckPredicate1, 
8099
0
      OPC_CheckPatternPredicate2,
8100
0
      OPC_CheckComplexPat0, /*#*/2,
8101
0
      OPC_EmitMergeInputChains1_0,
8102
0
      OPC_EmitConvertToTarget3,
8103
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8104
0
                    3, 1, 4, 5, 
8105
0
     16, MVT::i32,
8106
0
      OPC_MoveParent,
8107
0
      OPC_CheckPredicate2, 
8108
0
      OPC_CheckPredicate1, 
8109
0
      OPC_CheckPatternPredicate4,
8110
0
      OPC_CheckComplexPat0, /*#*/2,
8111
0
      OPC_EmitMergeInputChains1_0,
8112
0
      OPC_EmitConvertToTarget3,
8113
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8114
0
                    3, 1, 4, 5, 
8115
0
     0,
8116
0
    49, TARGET_VAL(ISD::OR),
8117
0
     OPC_RecordChild0,
8118
0
     OPC_RecordChild1,
8119
0
     OPC_MoveChild1,
8120
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8121
0
     OPC_CheckPredicate, 10,
8122
0
     OPC_MoveParent,
8123
0
     OPC_CheckPredicate, 11,
8124
0
     OPC_SwitchType , 16, MVT::i64,
8125
0
      OPC_MoveParent,
8126
0
      OPC_CheckPredicate2, 
8127
0
      OPC_CheckPredicate1, 
8128
0
      OPC_CheckPatternPredicate2,
8129
0
      OPC_CheckComplexPat0, /*#*/2,
8130
0
      OPC_EmitMergeInputChains1_0,
8131
0
      OPC_EmitConvertToTarget3,
8132
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8133
0
                    3, 1, 4, 5, 
8134
0
     16, MVT::i32,
8135
0
      OPC_MoveParent,
8136
0
      OPC_CheckPredicate2, 
8137
0
      OPC_CheckPredicate1, 
8138
0
      OPC_CheckPatternPredicate4,
8139
0
      OPC_CheckComplexPat0, /*#*/2,
8140
0
      OPC_EmitMergeInputChains1_0,
8141
0
      OPC_EmitConvertToTarget3,
8142
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8143
0
                    3, 1, 4, 5, 
8144
0
     0,
8145
0
    0,
8146
0
   31, 
8147
0
    OPC_RecordChild2,
8148
0
    OPC_CheckPredicate2, 
8149
0
    OPC_CheckPredicate1, 
8150
0
    OPC_Scope, 12, 
8151
0
     OPC_CheckPatternPredicate2,
8152
0
     OPC_CheckComplexPat4, /*#*/2,
8153
0
     OPC_EmitMergeInputChains1_0,
8154
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8155
0
                   3, 1, 3, 4, 
8156
0
    12, 
8157
0
     OPC_CheckPatternPredicate4,
8158
0
     OPC_CheckComplexPat4, /*#*/2,
8159
0
     OPC_EmitMergeInputChains1_0,
8160
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8161
0
                   3, 1, 3, 4, 
8162
0
    0, 
8163
0
   72, 
8164
0
    OPC_MoveChild2,
8165
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8166
0
    OPC_RecordChild0,
8167
0
    OPC_RecordChild1,
8168
0
    OPC_SwitchType , 30, MVT::i64,
8169
0
     OPC_MoveParent,
8170
0
     OPC_CheckPredicate2, 
8171
0
     OPC_CheckPredicate1, 
8172
0
     OPC_CheckPatternPredicate2,
8173
0
     OPC_Scope, 11, 
8174
0
      OPC_CheckComplexPat2, /*#*/2,
8175
0
      OPC_EmitMergeInputChains1_0,
8176
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8177
0
                    3, 1, 4, 3, 
8178
0
     11, 
8179
0
      OPC_CheckComplexPat2, /*#*/3,
8180
0
      OPC_EmitMergeInputChains1_0,
8181
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8182
0
                    3, 1, 4, 2, 
8183
0
     0, 
8184
0
    30, MVT::i32,
8185
0
     OPC_MoveParent,
8186
0
     OPC_CheckPredicate2, 
8187
0
     OPC_CheckPredicate1, 
8188
0
     OPC_CheckPatternPredicate4,
8189
0
     OPC_Scope, 11, 
8190
0
      OPC_CheckComplexPat2, /*#*/2,
8191
0
      OPC_EmitMergeInputChains1_0,
8192
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8193
0
                    3, 1, 4, 3, 
8194
0
     11, 
8195
0
      OPC_CheckComplexPat2, /*#*/3,
8196
0
      OPC_EmitMergeInputChains1_0,
8197
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8198
0
                    3, 1, 4, 2, 
8199
0
     0, 
8200
0
    0,
8201
0
   35, 
8202
0
    OPC_RecordChild2,
8203
0
    OPC_CheckPredicate2, 
8204
0
    OPC_CheckPredicate1, 
8205
0
    OPC_Scope, 14, 
8206
0
     OPC_CheckPatternPredicate2,
8207
0
     OPC_CheckComplexPat0, /*#*/2,
8208
0
     OPC_EmitMergeInputChains1_0,
8209
0
     OPC_EmitInteger64, 0, 
8210
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8211
0
                   3, 1, 3, 4, 
8212
0
    14, 
8213
0
     OPC_CheckPatternPredicate4,
8214
0
     OPC_CheckComplexPat0, /*#*/2,
8215
0
     OPC_EmitMergeInputChains1_0,
8216
0
     OPC_EmitInteger32, 0, 
8217
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8218
0
                   3, 1, 3, 4, 
8219
0
    0, 
8220
0
   0, 
8221
0
  125|128,1, 
8222
0
   OPC_CheckChild1Type, MVT::v2f64,
8223
0
   OPC_Scope, 107, 
8224
0
    OPC_MoveChild2,
8225
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8226
0
     OPC_RecordChild0,
8227
0
     OPC_RecordChild1,
8228
0
     OPC_MoveChild1,
8229
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8230
0
     OPC_CheckPredicate, 10,
8231
0
     OPC_MoveParent,
8232
0
     OPC_CheckPredicate, 11,
8233
0
     OPC_SwitchType , 16, MVT::i64,
8234
0
      OPC_MoveParent,
8235
0
      OPC_CheckPredicate2, 
8236
0
      OPC_CheckPredicate1, 
8237
0
      OPC_CheckPatternPredicate2,
8238
0
      OPC_CheckComplexPat0, /*#*/2,
8239
0
      OPC_EmitMergeInputChains1_0,
8240
0
      OPC_EmitConvertToTarget3,
8241
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8242
0
                    3, 1, 4, 5, 
8243
0
     16, MVT::i32,
8244
0
      OPC_MoveParent,
8245
0
      OPC_CheckPredicate2, 
8246
0
      OPC_CheckPredicate1, 
8247
0
      OPC_CheckPatternPredicate4,
8248
0
      OPC_CheckComplexPat0, /*#*/2,
8249
0
      OPC_EmitMergeInputChains1_0,
8250
0
      OPC_EmitConvertToTarget3,
8251
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8252
0
                    3, 1, 4, 5, 
8253
0
     0,
8254
0
    49, TARGET_VAL(ISD::OR),
8255
0
     OPC_RecordChild0,
8256
0
     OPC_RecordChild1,
8257
0
     OPC_MoveChild1,
8258
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8259
0
     OPC_CheckPredicate, 10,
8260
0
     OPC_MoveParent,
8261
0
     OPC_CheckPredicate, 11,
8262
0
     OPC_SwitchType , 16, MVT::i64,
8263
0
      OPC_MoveParent,
8264
0
      OPC_CheckPredicate2, 
8265
0
      OPC_CheckPredicate1, 
8266
0
      OPC_CheckPatternPredicate2,
8267
0
      OPC_CheckComplexPat0, /*#*/2,
8268
0
      OPC_EmitMergeInputChains1_0,
8269
0
      OPC_EmitConvertToTarget3,
8270
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8271
0
                    3, 1, 4, 5, 
8272
0
     16, MVT::i32,
8273
0
      OPC_MoveParent,
8274
0
      OPC_CheckPredicate2, 
8275
0
      OPC_CheckPredicate1, 
8276
0
      OPC_CheckPatternPredicate4,
8277
0
      OPC_CheckComplexPat0, /*#*/2,
8278
0
      OPC_EmitMergeInputChains1_0,
8279
0
      OPC_EmitConvertToTarget3,
8280
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8281
0
                    3, 1, 4, 5, 
8282
0
     0,
8283
0
    0,
8284
0
   31, 
8285
0
    OPC_RecordChild2,
8286
0
    OPC_CheckPredicate2, 
8287
0
    OPC_CheckPredicate1, 
8288
0
    OPC_Scope, 12, 
8289
0
     OPC_CheckPatternPredicate2,
8290
0
     OPC_CheckComplexPat4, /*#*/2,
8291
0
     OPC_EmitMergeInputChains1_0,
8292
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8293
0
                   3, 1, 3, 4, 
8294
0
    12, 
8295
0
     OPC_CheckPatternPredicate4,
8296
0
     OPC_CheckComplexPat4, /*#*/2,
8297
0
     OPC_EmitMergeInputChains1_0,
8298
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8299
0
                   3, 1, 3, 4, 
8300
0
    0, 
8301
0
   72, 
8302
0
    OPC_MoveChild2,
8303
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8304
0
    OPC_RecordChild0,
8305
0
    OPC_RecordChild1,
8306
0
    OPC_SwitchType , 30, MVT::i64,
8307
0
     OPC_MoveParent,
8308
0
     OPC_CheckPredicate2, 
8309
0
     OPC_CheckPredicate1, 
8310
0
     OPC_CheckPatternPredicate2,
8311
0
     OPC_Scope, 11, 
8312
0
      OPC_CheckComplexPat2, /*#*/2,
8313
0
      OPC_EmitMergeInputChains1_0,
8314
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8315
0
                    3, 1, 4, 3, 
8316
0
     11, 
8317
0
      OPC_CheckComplexPat2, /*#*/3,
8318
0
      OPC_EmitMergeInputChains1_0,
8319
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8320
0
                    3, 1, 4, 2, 
8321
0
     0, 
8322
0
    30, MVT::i32,
8323
0
     OPC_MoveParent,
8324
0
     OPC_CheckPredicate2, 
8325
0
     OPC_CheckPredicate1, 
8326
0
     OPC_CheckPatternPredicate4,
8327
0
     OPC_Scope, 11, 
8328
0
      OPC_CheckComplexPat2, /*#*/2,
8329
0
      OPC_EmitMergeInputChains1_0,
8330
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8331
0
                    3, 1, 4, 3, 
8332
0
     11, 
8333
0
      OPC_CheckComplexPat2, /*#*/3,
8334
0
      OPC_EmitMergeInputChains1_0,
8335
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8336
0
                    3, 1, 4, 2, 
8337
0
     0, 
8338
0
    0,
8339
0
   35, 
8340
0
    OPC_RecordChild2,
8341
0
    OPC_CheckPredicate2, 
8342
0
    OPC_CheckPredicate1, 
8343
0
    OPC_Scope, 14, 
8344
0
     OPC_CheckPatternPredicate2,
8345
0
     OPC_CheckComplexPat0, /*#*/2,
8346
0
     OPC_EmitMergeInputChains1_0,
8347
0
     OPC_EmitInteger64, 0, 
8348
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8349
0
                   3, 1, 3, 4, 
8350
0
    14, 
8351
0
     OPC_CheckPatternPredicate4,
8352
0
     OPC_CheckComplexPat0, /*#*/2,
8353
0
     OPC_EmitMergeInputChains1_0,
8354
0
     OPC_EmitInteger32, 0, 
8355
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8356
0
                   3, 1, 3, 4, 
8357
0
    0, 
8358
0
   0, 
8359
0
  5|128,2, 
8360
0
   OPC_CheckChild1Type, MVT::v32i8,
8361
0
   OPC_Scope, 16|128,1, 
8362
0
    OPC_MoveChild2,
8363
0
    OPC_SwitchOpcode , 86, TARGET_VAL(ISD::ADD),
8364
0
     OPC_RecordChild0,
8365
0
     OPC_RecordChild1,
8366
0
     OPC_Scope, 47, 
8367
0
      OPC_MoveChild1,
8368
0
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8369
0
      OPC_CheckPredicate, 10,
8370
0
      OPC_MoveParent,
8371
0
      OPC_CheckPredicate, 11,
8372
0
      OPC_SwitchType , 16, MVT::i64,
8373
0
       OPC_MoveParent,
8374
0
       OPC_CheckPredicate2, 
8375
0
       OPC_CheckPredicate1, 
8376
0
       OPC_CheckPatternPredicate3,
8377
0
       OPC_CheckComplexPat0, /*#*/2,
8378
0
       OPC_EmitMergeInputChains1_0,
8379
0
       OPC_EmitConvertToTarget3,
8380
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8381
0
                     3, 1, 4, 5, 
8382
0
      16, MVT::i32,
8383
0
       OPC_MoveParent,
8384
0
       OPC_CheckPredicate2, 
8385
0
       OPC_CheckPredicate1, 
8386
0
       OPC_CheckPatternPredicate5,
8387
0
       OPC_CheckComplexPat0, /*#*/2,
8388
0
       OPC_EmitMergeInputChains1_0,
8389
0
       OPC_EmitConvertToTarget3,
8390
0
       OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8391
0
                     3, 1, 4, 5, 
8392
0
      0,
8393
0
     16, 
8394
0
      OPC_CheckTypeI64,
8395
0
      OPC_MoveParent,
8396
0
      OPC_CheckPredicate2, 
8397
0
      OPC_CheckPredicate1, 
8398
0
      OPC_CheckPatternPredicate3,
8399
0
      OPC_CheckComplexPat2, /*#*/2,
8400
0
      OPC_EmitMergeInputChains1_0,
8401
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8402
0
                    3, 1, 4, 3, 
8403
0
     16, 
8404
0
      OPC_CheckTypeI32,
8405
0
      OPC_MoveParent,
8406
0
      OPC_CheckPredicate2, 
8407
0
      OPC_CheckPredicate1, 
8408
0
      OPC_CheckPatternPredicate5,
8409
0
      OPC_CheckComplexPat2, /*#*/2,
8410
0
      OPC_EmitMergeInputChains1_0,
8411
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8412
0
                    3, 1, 4, 3, 
8413
0
     0, 
8414
0
    49, TARGET_VAL(ISD::OR),
8415
0
     OPC_RecordChild0,
8416
0
     OPC_RecordChild1,
8417
0
     OPC_MoveChild1,
8418
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8419
0
     OPC_CheckPredicate, 10,
8420
0
     OPC_MoveParent,
8421
0
     OPC_CheckPredicate, 11,
8422
0
     OPC_SwitchType , 16, MVT::i64,
8423
0
      OPC_MoveParent,
8424
0
      OPC_CheckPredicate2, 
8425
0
      OPC_CheckPredicate1, 
8426
0
      OPC_CheckPatternPredicate3,
8427
0
      OPC_CheckComplexPat0, /*#*/2,
8428
0
      OPC_EmitMergeInputChains1_0,
8429
0
      OPC_EmitConvertToTarget3,
8430
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8431
0
                    3, 1, 4, 5, 
8432
0
     16, MVT::i32,
8433
0
      OPC_MoveParent,
8434
0
      OPC_CheckPredicate2, 
8435
0
      OPC_CheckPredicate1, 
8436
0
      OPC_CheckPatternPredicate5,
8437
0
      OPC_CheckComplexPat0, /*#*/2,
8438
0
      OPC_EmitMergeInputChains1_0,
8439
0
      OPC_EmitConvertToTarget3,
8440
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8441
0
                    3, 1, 4, 5, 
8442
0
     0,
8443
0
    0,
8444
0
   31, 
8445
0
    OPC_RecordChild2,
8446
0
    OPC_CheckPredicate2, 
8447
0
    OPC_CheckPredicate1, 
8448
0
    OPC_Scope, 12, 
8449
0
     OPC_CheckPatternPredicate3,
8450
0
     OPC_CheckComplexPat4, /*#*/2,
8451
0
     OPC_EmitMergeInputChains1_0,
8452
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8453
0
                   3, 1, 3, 4, 
8454
0
    12, 
8455
0
     OPC_CheckPatternPredicate5,
8456
0
     OPC_CheckComplexPat4, /*#*/2,
8457
0
     OPC_EmitMergeInputChains1_0,
8458
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8459
0
                   3, 1, 3, 4, 
8460
0
    0, 
8461
0
   42, 
8462
0
    OPC_MoveChild2,
8463
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8464
0
    OPC_RecordChild0,
8465
0
    OPC_RecordChild1,
8466
0
    OPC_SwitchType , 15, MVT::i64,
8467
0
     OPC_MoveParent,
8468
0
     OPC_CheckPredicate2, 
8469
0
     OPC_CheckPredicate1, 
8470
0
     OPC_CheckPatternPredicate3,
8471
0
     OPC_CheckComplexPat2, /*#*/3,
8472
0
     OPC_EmitMergeInputChains1_0,
8473
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8474
0
                   3, 1, 4, 2, 
8475
0
    15, MVT::i32,
8476
0
     OPC_MoveParent,
8477
0
     OPC_CheckPredicate2, 
8478
0
     OPC_CheckPredicate1, 
8479
0
     OPC_CheckPatternPredicate5,
8480
0
     OPC_CheckComplexPat2, /*#*/3,
8481
0
     OPC_EmitMergeInputChains1_0,
8482
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8483
0
                   3, 1, 4, 2, 
8484
0
    0,
8485
0
   35, 
8486
0
    OPC_RecordChild2,
8487
0
    OPC_CheckPredicate2, 
8488
0
    OPC_CheckPredicate1, 
8489
0
    OPC_Scope, 14, 
8490
0
     OPC_CheckPatternPredicate3,
8491
0
     OPC_CheckComplexPat0, /*#*/2,
8492
0
     OPC_EmitMergeInputChains1_0,
8493
0
     OPC_EmitInteger64, 0, 
8494
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8495
0
                   3, 1, 3, 4, 
8496
0
    14, 
8497
0
     OPC_CheckPatternPredicate5,
8498
0
     OPC_CheckComplexPat0, /*#*/2,
8499
0
     OPC_EmitMergeInputChains1_0,
8500
0
     OPC_EmitInteger32, 0, 
8501
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8502
0
                   3, 1, 3, 4, 
8503
0
    0, 
8504
0
   0, 
8505
0
  125|128,1, 
8506
0
   OPC_CheckChild1Type, MVT::v16i16,
8507
0
   OPC_Scope, 107, 
8508
0
    OPC_MoveChild2,
8509
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8510
0
     OPC_RecordChild0,
8511
0
     OPC_RecordChild1,
8512
0
     OPC_MoveChild1,
8513
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8514
0
     OPC_CheckPredicate, 10,
8515
0
     OPC_MoveParent,
8516
0
     OPC_CheckPredicate, 11,
8517
0
     OPC_SwitchType , 16, MVT::i64,
8518
0
      OPC_MoveParent,
8519
0
      OPC_CheckPredicate2, 
8520
0
      OPC_CheckPredicate1, 
8521
0
      OPC_CheckPatternPredicate3,
8522
0
      OPC_CheckComplexPat0, /*#*/2,
8523
0
      OPC_EmitMergeInputChains1_0,
8524
0
      OPC_EmitConvertToTarget3,
8525
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8526
0
                    3, 1, 4, 5, 
8527
0
     16, MVT::i32,
8528
0
      OPC_MoveParent,
8529
0
      OPC_CheckPredicate2, 
8530
0
      OPC_CheckPredicate1, 
8531
0
      OPC_CheckPatternPredicate5,
8532
0
      OPC_CheckComplexPat0, /*#*/2,
8533
0
      OPC_EmitMergeInputChains1_0,
8534
0
      OPC_EmitConvertToTarget3,
8535
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8536
0
                    3, 1, 4, 5, 
8537
0
     0,
8538
0
    49, TARGET_VAL(ISD::OR),
8539
0
     OPC_RecordChild0,
8540
0
     OPC_RecordChild1,
8541
0
     OPC_MoveChild1,
8542
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8543
0
     OPC_CheckPredicate, 10,
8544
0
     OPC_MoveParent,
8545
0
     OPC_CheckPredicate, 11,
8546
0
     OPC_SwitchType , 16, MVT::i64,
8547
0
      OPC_MoveParent,
8548
0
      OPC_CheckPredicate2, 
8549
0
      OPC_CheckPredicate1, 
8550
0
      OPC_CheckPatternPredicate3,
8551
0
      OPC_CheckComplexPat0, /*#*/2,
8552
0
      OPC_EmitMergeInputChains1_0,
8553
0
      OPC_EmitConvertToTarget3,
8554
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8555
0
                    3, 1, 4, 5, 
8556
0
     16, MVT::i32,
8557
0
      OPC_MoveParent,
8558
0
      OPC_CheckPredicate2, 
8559
0
      OPC_CheckPredicate1, 
8560
0
      OPC_CheckPatternPredicate5,
8561
0
      OPC_CheckComplexPat0, /*#*/2,
8562
0
      OPC_EmitMergeInputChains1_0,
8563
0
      OPC_EmitConvertToTarget3,
8564
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8565
0
                    3, 1, 4, 5, 
8566
0
     0,
8567
0
    0,
8568
0
   31, 
8569
0
    OPC_RecordChild2,
8570
0
    OPC_CheckPredicate2, 
8571
0
    OPC_CheckPredicate1, 
8572
0
    OPC_Scope, 12, 
8573
0
     OPC_CheckPatternPredicate3,
8574
0
     OPC_CheckComplexPat4, /*#*/2,
8575
0
     OPC_EmitMergeInputChains1_0,
8576
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8577
0
                   3, 1, 3, 4, 
8578
0
    12, 
8579
0
     OPC_CheckPatternPredicate5,
8580
0
     OPC_CheckComplexPat4, /*#*/2,
8581
0
     OPC_EmitMergeInputChains1_0,
8582
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8583
0
                   3, 1, 3, 4, 
8584
0
    0, 
8585
0
   72, 
8586
0
    OPC_MoveChild2,
8587
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8588
0
    OPC_RecordChild0,
8589
0
    OPC_RecordChild1,
8590
0
    OPC_SwitchType , 30, MVT::i64,
8591
0
     OPC_MoveParent,
8592
0
     OPC_CheckPredicate2, 
8593
0
     OPC_CheckPredicate1, 
8594
0
     OPC_CheckPatternPredicate3,
8595
0
     OPC_Scope, 11, 
8596
0
      OPC_CheckComplexPat2, /*#*/2,
8597
0
      OPC_EmitMergeInputChains1_0,
8598
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8599
0
                    3, 1, 4, 3, 
8600
0
     11, 
8601
0
      OPC_CheckComplexPat2, /*#*/3,
8602
0
      OPC_EmitMergeInputChains1_0,
8603
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8604
0
                    3, 1, 4, 2, 
8605
0
     0, 
8606
0
    30, MVT::i32,
8607
0
     OPC_MoveParent,
8608
0
     OPC_CheckPredicate2, 
8609
0
     OPC_CheckPredicate1, 
8610
0
     OPC_CheckPatternPredicate5,
8611
0
     OPC_Scope, 11, 
8612
0
      OPC_CheckComplexPat2, /*#*/2,
8613
0
      OPC_EmitMergeInputChains1_0,
8614
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8615
0
                    3, 1, 4, 3, 
8616
0
     11, 
8617
0
      OPC_CheckComplexPat2, /*#*/3,
8618
0
      OPC_EmitMergeInputChains1_0,
8619
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8620
0
                    3, 1, 4, 2, 
8621
0
     0, 
8622
0
    0,
8623
0
   35, 
8624
0
    OPC_RecordChild2,
8625
0
    OPC_CheckPredicate2, 
8626
0
    OPC_CheckPredicate1, 
8627
0
    OPC_Scope, 14, 
8628
0
     OPC_CheckPatternPredicate3,
8629
0
     OPC_CheckComplexPat0, /*#*/2,
8630
0
     OPC_EmitMergeInputChains1_0,
8631
0
     OPC_EmitInteger64, 0, 
8632
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8633
0
                   3, 1, 3, 4, 
8634
0
    14, 
8635
0
     OPC_CheckPatternPredicate5,
8636
0
     OPC_CheckComplexPat0, /*#*/2,
8637
0
     OPC_EmitMergeInputChains1_0,
8638
0
     OPC_EmitInteger32, 0, 
8639
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8640
0
                   3, 1, 3, 4, 
8641
0
    0, 
8642
0
   0, 
8643
0
  125|128,1, 
8644
0
   OPC_CheckChild1Type, MVT::v8i32,
8645
0
   OPC_Scope, 107, 
8646
0
    OPC_MoveChild2,
8647
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8648
0
     OPC_RecordChild0,
8649
0
     OPC_RecordChild1,
8650
0
     OPC_MoveChild1,
8651
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8652
0
     OPC_CheckPredicate, 10,
8653
0
     OPC_MoveParent,
8654
0
     OPC_CheckPredicate, 11,
8655
0
     OPC_SwitchType , 16, MVT::i64,
8656
0
      OPC_MoveParent,
8657
0
      OPC_CheckPredicate2, 
8658
0
      OPC_CheckPredicate1, 
8659
0
      OPC_CheckPatternPredicate3,
8660
0
      OPC_CheckComplexPat0, /*#*/2,
8661
0
      OPC_EmitMergeInputChains1_0,
8662
0
      OPC_EmitConvertToTarget3,
8663
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8664
0
                    3, 1, 4, 5, 
8665
0
     16, MVT::i32,
8666
0
      OPC_MoveParent,
8667
0
      OPC_CheckPredicate2, 
8668
0
      OPC_CheckPredicate1, 
8669
0
      OPC_CheckPatternPredicate5,
8670
0
      OPC_CheckComplexPat0, /*#*/2,
8671
0
      OPC_EmitMergeInputChains1_0,
8672
0
      OPC_EmitConvertToTarget3,
8673
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8674
0
                    3, 1, 4, 5, 
8675
0
     0,
8676
0
    49, TARGET_VAL(ISD::OR),
8677
0
     OPC_RecordChild0,
8678
0
     OPC_RecordChild1,
8679
0
     OPC_MoveChild1,
8680
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8681
0
     OPC_CheckPredicate, 10,
8682
0
     OPC_MoveParent,
8683
0
     OPC_CheckPredicate, 11,
8684
0
     OPC_SwitchType , 16, MVT::i64,
8685
0
      OPC_MoveParent,
8686
0
      OPC_CheckPredicate2, 
8687
0
      OPC_CheckPredicate1, 
8688
0
      OPC_CheckPatternPredicate3,
8689
0
      OPC_CheckComplexPat0, /*#*/2,
8690
0
      OPC_EmitMergeInputChains1_0,
8691
0
      OPC_EmitConvertToTarget3,
8692
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8693
0
                    3, 1, 4, 5, 
8694
0
     16, MVT::i32,
8695
0
      OPC_MoveParent,
8696
0
      OPC_CheckPredicate2, 
8697
0
      OPC_CheckPredicate1, 
8698
0
      OPC_CheckPatternPredicate5,
8699
0
      OPC_CheckComplexPat0, /*#*/2,
8700
0
      OPC_EmitMergeInputChains1_0,
8701
0
      OPC_EmitConvertToTarget3,
8702
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8703
0
                    3, 1, 4, 5, 
8704
0
     0,
8705
0
    0,
8706
0
   31, 
8707
0
    OPC_RecordChild2,
8708
0
    OPC_CheckPredicate2, 
8709
0
    OPC_CheckPredicate1, 
8710
0
    OPC_Scope, 12, 
8711
0
     OPC_CheckPatternPredicate3,
8712
0
     OPC_CheckComplexPat4, /*#*/2,
8713
0
     OPC_EmitMergeInputChains1_0,
8714
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8715
0
                   3, 1, 3, 4, 
8716
0
    12, 
8717
0
     OPC_CheckPatternPredicate5,
8718
0
     OPC_CheckComplexPat4, /*#*/2,
8719
0
     OPC_EmitMergeInputChains1_0,
8720
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8721
0
                   3, 1, 3, 4, 
8722
0
    0, 
8723
0
   72, 
8724
0
    OPC_MoveChild2,
8725
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8726
0
    OPC_RecordChild0,
8727
0
    OPC_RecordChild1,
8728
0
    OPC_SwitchType , 30, MVT::i64,
8729
0
     OPC_MoveParent,
8730
0
     OPC_CheckPredicate2, 
8731
0
     OPC_CheckPredicate1, 
8732
0
     OPC_CheckPatternPredicate3,
8733
0
     OPC_Scope, 11, 
8734
0
      OPC_CheckComplexPat2, /*#*/2,
8735
0
      OPC_EmitMergeInputChains1_0,
8736
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8737
0
                    3, 1, 4, 3, 
8738
0
     11, 
8739
0
      OPC_CheckComplexPat2, /*#*/3,
8740
0
      OPC_EmitMergeInputChains1_0,
8741
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8742
0
                    3, 1, 4, 2, 
8743
0
     0, 
8744
0
    30, MVT::i32,
8745
0
     OPC_MoveParent,
8746
0
     OPC_CheckPredicate2, 
8747
0
     OPC_CheckPredicate1, 
8748
0
     OPC_CheckPatternPredicate5,
8749
0
     OPC_Scope, 11, 
8750
0
      OPC_CheckComplexPat2, /*#*/2,
8751
0
      OPC_EmitMergeInputChains1_0,
8752
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8753
0
                    3, 1, 4, 3, 
8754
0
     11, 
8755
0
      OPC_CheckComplexPat2, /*#*/3,
8756
0
      OPC_EmitMergeInputChains1_0,
8757
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8758
0
                    3, 1, 4, 2, 
8759
0
     0, 
8760
0
    0,
8761
0
   35, 
8762
0
    OPC_RecordChild2,
8763
0
    OPC_CheckPredicate2, 
8764
0
    OPC_CheckPredicate1, 
8765
0
    OPC_Scope, 14, 
8766
0
     OPC_CheckPatternPredicate3,
8767
0
     OPC_CheckComplexPat0, /*#*/2,
8768
0
     OPC_EmitMergeInputChains1_0,
8769
0
     OPC_EmitInteger64, 0, 
8770
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8771
0
                   3, 1, 3, 4, 
8772
0
    14, 
8773
0
     OPC_CheckPatternPredicate5,
8774
0
     OPC_CheckComplexPat0, /*#*/2,
8775
0
     OPC_EmitMergeInputChains1_0,
8776
0
     OPC_EmitInteger32, 0, 
8777
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8778
0
                   3, 1, 3, 4, 
8779
0
    0, 
8780
0
   0, 
8781
0
  125|128,1, 
8782
0
   OPC_CheckChild1Type, MVT::v4i64,
8783
0
   OPC_Scope, 107, 
8784
0
    OPC_MoveChild2,
8785
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8786
0
     OPC_RecordChild0,
8787
0
     OPC_RecordChild1,
8788
0
     OPC_MoveChild1,
8789
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8790
0
     OPC_CheckPredicate, 10,
8791
0
     OPC_MoveParent,
8792
0
     OPC_CheckPredicate, 11,
8793
0
     OPC_SwitchType , 16, MVT::i64,
8794
0
      OPC_MoveParent,
8795
0
      OPC_CheckPredicate2, 
8796
0
      OPC_CheckPredicate1, 
8797
0
      OPC_CheckPatternPredicate3,
8798
0
      OPC_CheckComplexPat0, /*#*/2,
8799
0
      OPC_EmitMergeInputChains1_0,
8800
0
      OPC_EmitConvertToTarget3,
8801
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8802
0
                    3, 1, 4, 5, 
8803
0
     16, MVT::i32,
8804
0
      OPC_MoveParent,
8805
0
      OPC_CheckPredicate2, 
8806
0
      OPC_CheckPredicate1, 
8807
0
      OPC_CheckPatternPredicate5,
8808
0
      OPC_CheckComplexPat0, /*#*/2,
8809
0
      OPC_EmitMergeInputChains1_0,
8810
0
      OPC_EmitConvertToTarget3,
8811
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8812
0
                    3, 1, 4, 5, 
8813
0
     0,
8814
0
    49, TARGET_VAL(ISD::OR),
8815
0
     OPC_RecordChild0,
8816
0
     OPC_RecordChild1,
8817
0
     OPC_MoveChild1,
8818
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8819
0
     OPC_CheckPredicate, 10,
8820
0
     OPC_MoveParent,
8821
0
     OPC_CheckPredicate, 11,
8822
0
     OPC_SwitchType , 16, MVT::i64,
8823
0
      OPC_MoveParent,
8824
0
      OPC_CheckPredicate2, 
8825
0
      OPC_CheckPredicate1, 
8826
0
      OPC_CheckPatternPredicate3,
8827
0
      OPC_CheckComplexPat0, /*#*/2,
8828
0
      OPC_EmitMergeInputChains1_0,
8829
0
      OPC_EmitConvertToTarget3,
8830
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8831
0
                    3, 1, 4, 5, 
8832
0
     16, MVT::i32,
8833
0
      OPC_MoveParent,
8834
0
      OPC_CheckPredicate2, 
8835
0
      OPC_CheckPredicate1, 
8836
0
      OPC_CheckPatternPredicate5,
8837
0
      OPC_CheckComplexPat0, /*#*/2,
8838
0
      OPC_EmitMergeInputChains1_0,
8839
0
      OPC_EmitConvertToTarget3,
8840
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8841
0
                    3, 1, 4, 5, 
8842
0
     0,
8843
0
    0,
8844
0
   31, 
8845
0
    OPC_RecordChild2,
8846
0
    OPC_CheckPredicate2, 
8847
0
    OPC_CheckPredicate1, 
8848
0
    OPC_Scope, 12, 
8849
0
     OPC_CheckPatternPredicate3,
8850
0
     OPC_CheckComplexPat4, /*#*/2,
8851
0
     OPC_EmitMergeInputChains1_0,
8852
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8853
0
                   3, 1, 3, 4, 
8854
0
    12, 
8855
0
     OPC_CheckPatternPredicate5,
8856
0
     OPC_CheckComplexPat4, /*#*/2,
8857
0
     OPC_EmitMergeInputChains1_0,
8858
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8859
0
                   3, 1, 3, 4, 
8860
0
    0, 
8861
0
   72, 
8862
0
    OPC_MoveChild2,
8863
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8864
0
    OPC_RecordChild0,
8865
0
    OPC_RecordChild1,
8866
0
    OPC_SwitchType , 30, MVT::i64,
8867
0
     OPC_MoveParent,
8868
0
     OPC_CheckPredicate2, 
8869
0
     OPC_CheckPredicate1, 
8870
0
     OPC_CheckPatternPredicate3,
8871
0
     OPC_Scope, 11, 
8872
0
      OPC_CheckComplexPat2, /*#*/2,
8873
0
      OPC_EmitMergeInputChains1_0,
8874
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8875
0
                    3, 1, 4, 3, 
8876
0
     11, 
8877
0
      OPC_CheckComplexPat2, /*#*/3,
8878
0
      OPC_EmitMergeInputChains1_0,
8879
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8880
0
                    3, 1, 4, 2, 
8881
0
     0, 
8882
0
    30, MVT::i32,
8883
0
     OPC_MoveParent,
8884
0
     OPC_CheckPredicate2, 
8885
0
     OPC_CheckPredicate1, 
8886
0
     OPC_CheckPatternPredicate5,
8887
0
     OPC_Scope, 11, 
8888
0
      OPC_CheckComplexPat2, /*#*/2,
8889
0
      OPC_EmitMergeInputChains1_0,
8890
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8891
0
                    3, 1, 4, 3, 
8892
0
     11, 
8893
0
      OPC_CheckComplexPat2, /*#*/3,
8894
0
      OPC_EmitMergeInputChains1_0,
8895
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8896
0
                    3, 1, 4, 2, 
8897
0
     0, 
8898
0
    0,
8899
0
   35, 
8900
0
    OPC_RecordChild2,
8901
0
    OPC_CheckPredicate2, 
8902
0
    OPC_CheckPredicate1, 
8903
0
    OPC_Scope, 14, 
8904
0
     OPC_CheckPatternPredicate3,
8905
0
     OPC_CheckComplexPat0, /*#*/2,
8906
0
     OPC_EmitMergeInputChains1_0,
8907
0
     OPC_EmitInteger64, 0, 
8908
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8909
0
                   3, 1, 3, 4, 
8910
0
    14, 
8911
0
     OPC_CheckPatternPredicate5,
8912
0
     OPC_CheckComplexPat0, /*#*/2,
8913
0
     OPC_EmitMergeInputChains1_0,
8914
0
     OPC_EmitInteger32, 0, 
8915
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8916
0
                   3, 1, 3, 4, 
8917
0
    0, 
8918
0
   0, 
8919
0
  125|128,1, 
8920
0
   OPC_CheckChild1Type, MVT::v8f32,
8921
0
   OPC_Scope, 107, 
8922
0
    OPC_MoveChild2,
8923
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8924
0
     OPC_RecordChild0,
8925
0
     OPC_RecordChild1,
8926
0
     OPC_MoveChild1,
8927
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8928
0
     OPC_CheckPredicate, 10,
8929
0
     OPC_MoveParent,
8930
0
     OPC_CheckPredicate, 11,
8931
0
     OPC_SwitchType , 16, MVT::i64,
8932
0
      OPC_MoveParent,
8933
0
      OPC_CheckPredicate2, 
8934
0
      OPC_CheckPredicate1, 
8935
0
      OPC_CheckPatternPredicate3,
8936
0
      OPC_CheckComplexPat0, /*#*/2,
8937
0
      OPC_EmitMergeInputChains1_0,
8938
0
      OPC_EmitConvertToTarget3,
8939
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8940
0
                    3, 1, 4, 5, 
8941
0
     16, MVT::i32,
8942
0
      OPC_MoveParent,
8943
0
      OPC_CheckPredicate2, 
8944
0
      OPC_CheckPredicate1, 
8945
0
      OPC_CheckPatternPredicate5,
8946
0
      OPC_CheckComplexPat0, /*#*/2,
8947
0
      OPC_EmitMergeInputChains1_0,
8948
0
      OPC_EmitConvertToTarget3,
8949
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8950
0
                    3, 1, 4, 5, 
8951
0
     0,
8952
0
    49, TARGET_VAL(ISD::OR),
8953
0
     OPC_RecordChild0,
8954
0
     OPC_RecordChild1,
8955
0
     OPC_MoveChild1,
8956
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8957
0
     OPC_CheckPredicate, 10,
8958
0
     OPC_MoveParent,
8959
0
     OPC_CheckPredicate, 11,
8960
0
     OPC_SwitchType , 16, MVT::i64,
8961
0
      OPC_MoveParent,
8962
0
      OPC_CheckPredicate2, 
8963
0
      OPC_CheckPredicate1, 
8964
0
      OPC_CheckPatternPredicate3,
8965
0
      OPC_CheckComplexPat0, /*#*/2,
8966
0
      OPC_EmitMergeInputChains1_0,
8967
0
      OPC_EmitConvertToTarget3,
8968
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8969
0
                    3, 1, 4, 5, 
8970
0
     16, MVT::i32,
8971
0
      OPC_MoveParent,
8972
0
      OPC_CheckPredicate2, 
8973
0
      OPC_CheckPredicate1, 
8974
0
      OPC_CheckPatternPredicate5,
8975
0
      OPC_CheckComplexPat0, /*#*/2,
8976
0
      OPC_EmitMergeInputChains1_0,
8977
0
      OPC_EmitConvertToTarget3,
8978
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8979
0
                    3, 1, 4, 5, 
8980
0
     0,
8981
0
    0,
8982
0
   31, 
8983
0
    OPC_RecordChild2,
8984
0
    OPC_CheckPredicate2, 
8985
0
    OPC_CheckPredicate1, 
8986
0
    OPC_Scope, 12, 
8987
0
     OPC_CheckPatternPredicate3,
8988
0
     OPC_CheckComplexPat4, /*#*/2,
8989
0
     OPC_EmitMergeInputChains1_0,
8990
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8991
0
                   3, 1, 3, 4, 
8992
0
    12, 
8993
0
     OPC_CheckPatternPredicate5,
8994
0
     OPC_CheckComplexPat4, /*#*/2,
8995
0
     OPC_EmitMergeInputChains1_0,
8996
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8997
0
                   3, 1, 3, 4, 
8998
0
    0, 
8999
0
   72, 
9000
0
    OPC_MoveChild2,
9001
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
9002
0
    OPC_RecordChild0,
9003
0
    OPC_RecordChild1,
9004
0
    OPC_SwitchType , 30, MVT::i64,
9005
0
     OPC_MoveParent,
9006
0
     OPC_CheckPredicate2, 
9007
0
     OPC_CheckPredicate1, 
9008
0
     OPC_CheckPatternPredicate3,
9009
0
     OPC_Scope, 11, 
9010
0
      OPC_CheckComplexPat2, /*#*/2,
9011
0
      OPC_EmitMergeInputChains1_0,
9012
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9013
0
                    3, 1, 4, 3, 
9014
0
     11, 
9015
0
      OPC_CheckComplexPat2, /*#*/3,
9016
0
      OPC_EmitMergeInputChains1_0,
9017
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9018
0
                    3, 1, 4, 2, 
9019
0
     0, 
9020
0
    30, MVT::i32,
9021
0
     OPC_MoveParent,
9022
0
     OPC_CheckPredicate2, 
9023
0
     OPC_CheckPredicate1, 
9024
0
     OPC_CheckPatternPredicate5,
9025
0
     OPC_Scope, 11, 
9026
0
      OPC_CheckComplexPat2, /*#*/2,
9027
0
      OPC_EmitMergeInputChains1_0,
9028
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9029
0
                    3, 1, 4, 3, 
9030
0
     11, 
9031
0
      OPC_CheckComplexPat2, /*#*/3,
9032
0
      OPC_EmitMergeInputChains1_0,
9033
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9034
0
                    3, 1, 4, 2, 
9035
0
     0, 
9036
0
    0,
9037
0
   35, 
9038
0
    OPC_RecordChild2,
9039
0
    OPC_CheckPredicate2, 
9040
0
    OPC_CheckPredicate1, 
9041
0
    OPC_Scope, 14, 
9042
0
     OPC_CheckPatternPredicate3,
9043
0
     OPC_CheckComplexPat0, /*#*/2,
9044
0
     OPC_EmitMergeInputChains1_0,
9045
0
     OPC_EmitInteger64, 0, 
9046
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9047
0
                   3, 1, 3, 4, 
9048
0
    14, 
9049
0
     OPC_CheckPatternPredicate5,
9050
0
     OPC_CheckComplexPat0, /*#*/2,
9051
0
     OPC_EmitMergeInputChains1_0,
9052
0
     OPC_EmitInteger32, 0, 
9053
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9054
0
                   3, 1, 3, 4, 
9055
0
    0, 
9056
0
   0, 
9057
0
  125|128,1, 
9058
0
   OPC_CheckChild1Type, MVT::v4f64,
9059
0
   OPC_Scope, 107, 
9060
0
    OPC_MoveChild2,
9061
0
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
9062
0
     OPC_RecordChild0,
9063
0
     OPC_RecordChild1,
9064
0
     OPC_MoveChild1,
9065
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9066
0
     OPC_CheckPredicate, 10,
9067
0
     OPC_MoveParent,
9068
0
     OPC_CheckPredicate, 11,
9069
0
     OPC_SwitchType , 16, MVT::i64,
9070
0
      OPC_MoveParent,
9071
0
      OPC_CheckPredicate2, 
9072
0
      OPC_CheckPredicate1, 
9073
0
      OPC_CheckPatternPredicate3,
9074
0
      OPC_CheckComplexPat0, /*#*/2,
9075
0
      OPC_EmitMergeInputChains1_0,
9076
0
      OPC_EmitConvertToTarget3,
9077
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9078
0
                    3, 1, 4, 5, 
9079
0
     16, MVT::i32,
9080
0
      OPC_MoveParent,
9081
0
      OPC_CheckPredicate2, 
9082
0
      OPC_CheckPredicate1, 
9083
0
      OPC_CheckPatternPredicate5,
9084
0
      OPC_CheckComplexPat0, /*#*/2,
9085
0
      OPC_EmitMergeInputChains1_0,
9086
0
      OPC_EmitConvertToTarget3,
9087
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9088
0
                    3, 1, 4, 5, 
9089
0
     0,
9090
0
    49, TARGET_VAL(ISD::OR),
9091
0
     OPC_RecordChild0,
9092
0
     OPC_RecordChild1,
9093
0
     OPC_MoveChild1,
9094
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9095
0
     OPC_CheckPredicate, 10,
9096
0
     OPC_MoveParent,
9097
0
     OPC_CheckPredicate, 11,
9098
0
     OPC_SwitchType , 16, MVT::i64,
9099
0
      OPC_MoveParent,
9100
0
      OPC_CheckPredicate2, 
9101
0
      OPC_CheckPredicate1, 
9102
0
      OPC_CheckPatternPredicate3,
9103
0
      OPC_CheckComplexPat0, /*#*/2,
9104
0
      OPC_EmitMergeInputChains1_0,
9105
0
      OPC_EmitConvertToTarget3,
9106
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9107
0
                    3, 1, 4, 5, 
9108
0
     16, MVT::i32,
9109
0
      OPC_MoveParent,
9110
0
      OPC_CheckPredicate2, 
9111
0
      OPC_CheckPredicate1, 
9112
0
      OPC_CheckPatternPredicate5,
9113
0
      OPC_CheckComplexPat0, /*#*/2,
9114
0
      OPC_EmitMergeInputChains1_0,
9115
0
      OPC_EmitConvertToTarget3,
9116
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9117
0
                    3, 1, 4, 5, 
9118
0
     0,
9119
0
    0,
9120
0
   31, 
9121
0
    OPC_RecordChild2,
9122
0
    OPC_CheckPredicate2, 
9123
0
    OPC_CheckPredicate1, 
9124
0
    OPC_Scope, 12, 
9125
0
     OPC_CheckPatternPredicate3,
9126
0
     OPC_CheckComplexPat4, /*#*/2,
9127
0
     OPC_EmitMergeInputChains1_0,
9128
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9129
0
                   3, 1, 3, 4, 
9130
0
    12, 
9131
0
     OPC_CheckPatternPredicate5,
9132
0
     OPC_CheckComplexPat4, /*#*/2,
9133
0
     OPC_EmitMergeInputChains1_0,
9134
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9135
0
                   3, 1, 3, 4, 
9136
0
    0, 
9137
0
   72, 
9138
0
    OPC_MoveChild2,
9139
0
    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
9140
0
    OPC_RecordChild0,
9141
0
    OPC_RecordChild1,
9142
0
    OPC_SwitchType , 30, MVT::i64,
9143
0
     OPC_MoveParent,
9144
0
     OPC_CheckPredicate2, 
9145
0
     OPC_CheckPredicate1, 
9146
0
     OPC_CheckPatternPredicate3,
9147
0
     OPC_Scope, 11, 
9148
0
      OPC_CheckComplexPat2, /*#*/2,
9149
0
      OPC_EmitMergeInputChains1_0,
9150
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9151
0
                    3, 1, 4, 3, 
9152
0
     11, 
9153
0
      OPC_CheckComplexPat2, /*#*/3,
9154
0
      OPC_EmitMergeInputChains1_0,
9155
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9156
0
                    3, 1, 4, 2, 
9157
0
     0, 
9158
0
    30, MVT::i32,
9159
0
     OPC_MoveParent,
9160
0
     OPC_CheckPredicate2, 
9161
0
     OPC_CheckPredicate1, 
9162
0
     OPC_CheckPatternPredicate5,
9163
0
     OPC_Scope, 11, 
9164
0
      OPC_CheckComplexPat2, /*#*/2,
9165
0
      OPC_EmitMergeInputChains1_0,
9166
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9167
0
                    3, 1, 4, 3, 
9168
0
     11, 
9169
0
      OPC_CheckComplexPat2, /*#*/3,
9170
0
      OPC_EmitMergeInputChains1_0,
9171
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9172
0
                    3, 1, 4, 2, 
9173
0
     0, 
9174
0
    0,
9175
0
   35, 
9176
0
    OPC_RecordChild2,
9177
0
    OPC_CheckPredicate2, 
9178
0
    OPC_CheckPredicate1, 
9179
0
    OPC_Scope, 14, 
9180
0
     OPC_CheckPatternPredicate3,
9181
0
     OPC_CheckComplexPat0, /*#*/2,
9182
0
     OPC_EmitMergeInputChains1_0,
9183
0
     OPC_EmitInteger64, 0, 
9184
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9185
0
                   3, 1, 3, 4, 
9186
0
    14, 
9187
0
     OPC_CheckPatternPredicate5,
9188
0
     OPC_CheckComplexPat0, /*#*/2,
9189
0
     OPC_EmitMergeInputChains1_0,
9190
0
     OPC_EmitInteger32, 0, 
9191
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9192
0
                   3, 1, 3, 4, 
9193
0
    0, 
9194
0
   0, 
9195
0
  0, 
9196
0
 106|128,4, TARGET_VAL(ISD::ATOMIC_LOAD),
9197
0
  OPC_RecordMemRef,
9198
0
  OPC_RecordNode,
9199
0
  OPC_Scope, 65|128,2, 
9200
0
   OPC_MoveChild1,
9201
0
   OPC_SwitchOpcode , 27|128,1, TARGET_VAL(ISD::ADD),
9202
0
    OPC_RecordChild0,
9203
0
    OPC_RecordChild1,
9204
0
    OPC_MoveChild1,
9205
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9206
0
    OPC_CheckPredicate, 10,
9207
0
    OPC_MoveParent,
9208
0
    OPC_CheckPredicate, 11,
9209
0
    OPC_SwitchType , 67, MVT::i64,
9210
0
     OPC_MoveParent,
9211
0
     OPC_CheckTypeI64,
9212
0
     OPC_Scope, 15, 
9213
0
      OPC_CheckPredicate, 14,
9214
0
      OPC_CheckPatternPredicate7,
9215
0
      OPC_CheckComplexPat0, /*#*/1,
9216
0
      OPC_EmitMergeInputChains1_0,
9217
0
      OPC_EmitConvertToTarget2,
9218
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9219
0
                    MVT::i64, 2, 3, 4, 
9220
0
     15, 
9221
0
      OPC_CheckPredicate, 13,
9222
0
      OPC_CheckPatternPredicate7,
9223
0
      OPC_CheckComplexPat0, /*#*/1,
9224
0
      OPC_EmitMergeInputChains1_0,
9225
0
      OPC_EmitConvertToTarget2,
9226
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9227
0
                    MVT::i64, 2, 3, 4, 
9228
0
     14, 
9229
0
      OPC_CheckPredicate5, 
9230
0
      OPC_CheckPatternPredicate7,
9231
0
      OPC_CheckComplexPat0, /*#*/1,
9232
0
      OPC_EmitMergeInputChains1_0,
9233
0
      OPC_EmitConvertToTarget2,
9234
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9235
0
                    MVT::i64, 2, 3, 4, 
9236
0
     15, 
9237
0
      OPC_CheckPredicate, 15,
9238
0
      OPC_CheckPatternPredicate6,
9239
0
      OPC_CheckComplexPat0, /*#*/1,
9240
0
      OPC_EmitMergeInputChains1_0,
9241
0
      OPC_EmitConvertToTarget2,
9242
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9243
0
                    MVT::i64, 2, 3, 4, 
9244
0
     0, 
9245
0
    71, MVT::i32,
9246
0
     OPC_MoveParent,
9247
0
     OPC_CheckTypeI32,
9248
0
     OPC_Scope, 16, 
9249
0
      OPC_CheckPredicate, 14,
9250
0
      OPC_CheckPatternPredicate, 8,
9251
0
      OPC_CheckComplexPat0, /*#*/1,
9252
0
      OPC_EmitMergeInputChains1_0,
9253
0
      OPC_EmitConvertToTarget2,
9254
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9255
0
                    MVT::i32, 2, 3, 4, 
9256
0
     16, 
9257
0
      OPC_CheckPredicate, 13,
9258
0
      OPC_CheckPatternPredicate, 8,
9259
0
      OPC_CheckComplexPat0, /*#*/1,
9260
0
      OPC_EmitMergeInputChains1_0,
9261
0
      OPC_EmitConvertToTarget2,
9262
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9263
0
                    MVT::i32, 2, 3, 4, 
9264
0
     15, 
9265
0
      OPC_CheckPredicate5, 
9266
0
      OPC_CheckPatternPredicate, 8,
9267
0
      OPC_CheckComplexPat0, /*#*/1,
9268
0
      OPC_EmitMergeInputChains1_0,
9269
0
      OPC_EmitConvertToTarget2,
9270
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9271
0
                    MVT::i32, 2, 3, 4, 
9272
0
     16, 
9273
0
      OPC_CheckPredicate, 15,
9274
0
      OPC_CheckPatternPredicate, 10,
9275
0
      OPC_CheckComplexPat0, /*#*/1,
9276
0
      OPC_EmitMergeInputChains1_0,
9277
0
      OPC_EmitConvertToTarget2,
9278
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9279
0
                    MVT::i32, 2, 3, 4, 
9280
0
     0, 
9281
0
    0,
9282
0
   27|128,1, TARGET_VAL(ISD::OR),
9283
0
    OPC_RecordChild0,
9284
0
    OPC_RecordChild1,
9285
0
    OPC_MoveChild1,
9286
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9287
0
    OPC_CheckPredicate, 10,
9288
0
    OPC_MoveParent,
9289
0
    OPC_CheckPredicate, 11,
9290
0
    OPC_SwitchType , 67, MVT::i64,
9291
0
     OPC_MoveParent,
9292
0
     OPC_CheckTypeI64,
9293
0
     OPC_Scope, 15, 
9294
0
      OPC_CheckPredicate, 14,
9295
0
      OPC_CheckPatternPredicate7,
9296
0
      OPC_CheckComplexPat0, /*#*/1,
9297
0
      OPC_EmitMergeInputChains1_0,
9298
0
      OPC_EmitConvertToTarget2,
9299
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9300
0
                    MVT::i64, 2, 3, 4, 
9301
0
     15, 
9302
0
      OPC_CheckPredicate, 13,
9303
0
      OPC_CheckPatternPredicate7,
9304
0
      OPC_CheckComplexPat0, /*#*/1,
9305
0
      OPC_EmitMergeInputChains1_0,
9306
0
      OPC_EmitConvertToTarget2,
9307
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9308
0
                    MVT::i64, 2, 3, 4, 
9309
0
     14, 
9310
0
      OPC_CheckPredicate5, 
9311
0
      OPC_CheckPatternPredicate7,
9312
0
      OPC_CheckComplexPat0, /*#*/1,
9313
0
      OPC_EmitMergeInputChains1_0,
9314
0
      OPC_EmitConvertToTarget2,
9315
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9316
0
                    MVT::i64, 2, 3, 4, 
9317
0
     15, 
9318
0
      OPC_CheckPredicate, 15,
9319
0
      OPC_CheckPatternPredicate6,
9320
0
      OPC_CheckComplexPat0, /*#*/1,
9321
0
      OPC_EmitMergeInputChains1_0,
9322
0
      OPC_EmitConvertToTarget2,
9323
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9324
0
                    MVT::i64, 2, 3, 4, 
9325
0
     0, 
9326
0
    71, MVT::i32,
9327
0
     OPC_MoveParent,
9328
0
     OPC_CheckTypeI32,
9329
0
     OPC_Scope, 16, 
9330
0
      OPC_CheckPredicate, 14,
9331
0
      OPC_CheckPatternPredicate, 8,
9332
0
      OPC_CheckComplexPat0, /*#*/1,
9333
0
      OPC_EmitMergeInputChains1_0,
9334
0
      OPC_EmitConvertToTarget2,
9335
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9336
0
                    MVT::i32, 2, 3, 4, 
9337
0
     16, 
9338
0
      OPC_CheckPredicate, 13,
9339
0
      OPC_CheckPatternPredicate, 8,
9340
0
      OPC_CheckComplexPat0, /*#*/1,
9341
0
      OPC_EmitMergeInputChains1_0,
9342
0
      OPC_EmitConvertToTarget2,
9343
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9344
0
                    MVT::i32, 2, 3, 4, 
9345
0
     15, 
9346
0
      OPC_CheckPredicate5, 
9347
0
      OPC_CheckPatternPredicate, 8,
9348
0
      OPC_CheckComplexPat0, /*#*/1,
9349
0
      OPC_EmitMergeInputChains1_0,
9350
0
      OPC_EmitConvertToTarget2,
9351
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9352
0
                    MVT::i32, 2, 3, 4, 
9353
0
     16, 
9354
0
      OPC_CheckPredicate, 15,
9355
0
      OPC_CheckPatternPredicate, 10,
9356
0
      OPC_CheckComplexPat0, /*#*/1,
9357
0
      OPC_EmitMergeInputChains1_0,
9358
0
      OPC_EmitConvertToTarget2,
9359
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9360
0
                    MVT::i32, 2, 3, 4, 
9361
0
     0, 
9362
0
    0,
9363
0
   0,
9364
0
  33|128,2, 
9365
0
   OPC_RecordChild1,
9366
0
   OPC_Scope, 33, 
9367
0
    OPC_CheckPredicate, 14,
9368
0
    OPC_SwitchType , 12, MVT::i64,
9369
0
     OPC_CheckPatternPredicate7,
9370
0
     OPC_CheckComplexPat4, /*#*/1,
9371
0
     OPC_EmitMergeInputChains1_0,
9372
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9373
0
                   MVT::i64, 2, 2, 3, 
9374
0
    13, MVT::i32,
9375
0
     OPC_CheckPatternPredicate, 8,
9376
0
     OPC_CheckComplexPat4, /*#*/1,
9377
0
     OPC_EmitMergeInputChains1_0,
9378
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9379
0
                   MVT::i32, 2, 2, 3, 
9380
0
    0,
9381
0
   33, 
9382
0
    OPC_CheckPredicate, 13,
9383
0
    OPC_SwitchType , 12, MVT::i64,
9384
0
     OPC_CheckPatternPredicate7,
9385
0
     OPC_CheckComplexPat4, /*#*/1,
9386
0
     OPC_EmitMergeInputChains1_0,
9387
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9388
0
                   MVT::i64, 2, 2, 3, 
9389
0
    13, MVT::i32,
9390
0
     OPC_CheckPatternPredicate, 8,
9391
0
     OPC_CheckComplexPat4, /*#*/1,
9392
0
     OPC_EmitMergeInputChains1_0,
9393
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9394
0
                   MVT::i32, 2, 2, 3, 
9395
0
    0,
9396
0
   32, 
9397
0
    OPC_CheckPredicate5, 
9398
0
    OPC_SwitchType , 12, MVT::i64,
9399
0
     OPC_CheckPatternPredicate7,
9400
0
     OPC_CheckComplexPat4, /*#*/1,
9401
0
     OPC_EmitMergeInputChains1_0,
9402
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9403
0
                   MVT::i64, 2, 2, 3, 
9404
0
    13, MVT::i32,
9405
0
     OPC_CheckPatternPredicate, 8,
9406
0
     OPC_CheckComplexPat4, /*#*/1,
9407
0
     OPC_EmitMergeInputChains1_0,
9408
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9409
0
                   MVT::i32, 2, 2, 3, 
9410
0
    0,
9411
0
   33, 
9412
0
    OPC_CheckPredicate, 15,
9413
0
    OPC_SwitchType , 12, MVT::i64,
9414
0
     OPC_CheckPatternPredicate6,
9415
0
     OPC_CheckComplexPat4, /*#*/1,
9416
0
     OPC_EmitMergeInputChains1_0,
9417
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9418
0
                   MVT::i64, 2, 2, 3, 
9419
0
    13, MVT::i32,
9420
0
     OPC_CheckPatternPredicate, 10,
9421
0
     OPC_CheckComplexPat4, /*#*/1,
9422
0
     OPC_EmitMergeInputChains1_0,
9423
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9424
0
                   MVT::i32, 2, 2, 3, 
9425
0
    0,
9426
0
   37, 
9427
0
    OPC_CheckPredicate, 14,
9428
0
    OPC_SwitchType , 14, MVT::i64,
9429
0
     OPC_CheckPatternPredicate7,
9430
0
     OPC_CheckComplexPat0, /*#*/1,
9431
0
     OPC_EmitMergeInputChains1_0,
9432
0
     OPC_EmitInteger64, 0, 
9433
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9434
0
                   MVT::i64, 2, 2, 3, 
9435
0
    15, MVT::i32,
9436
0
     OPC_CheckPatternPredicate, 8,
9437
0
     OPC_CheckComplexPat0, /*#*/1,
9438
0
     OPC_EmitMergeInputChains1_0,
9439
0
     OPC_EmitInteger32, 0, 
9440
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9441
0
                   MVT::i32, 2, 2, 3, 
9442
0
    0,
9443
0
   37, 
9444
0
    OPC_CheckPredicate, 13,
9445
0
    OPC_SwitchType , 14, MVT::i64,
9446
0
     OPC_CheckPatternPredicate7,
9447
0
     OPC_CheckComplexPat0, /*#*/1,
9448
0
     OPC_EmitMergeInputChains1_0,
9449
0
     OPC_EmitInteger64, 0, 
9450
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9451
0
                   MVT::i64, 2, 2, 3, 
9452
0
    15, MVT::i32,
9453
0
     OPC_CheckPatternPredicate, 8,
9454
0
     OPC_CheckComplexPat0, /*#*/1,
9455
0
     OPC_EmitMergeInputChains1_0,
9456
0
     OPC_EmitInteger32, 0, 
9457
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9458
0
                   MVT::i32, 2, 2, 3, 
9459
0
    0,
9460
0
   36, 
9461
0
    OPC_CheckPredicate5, 
9462
0
    OPC_SwitchType , 14, MVT::i64,
9463
0
     OPC_CheckPatternPredicate7,
9464
0
     OPC_CheckComplexPat0, /*#*/1,
9465
0
     OPC_EmitMergeInputChains1_0,
9466
0
     OPC_EmitInteger64, 0, 
9467
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9468
0
                   MVT::i64, 2, 2, 3, 
9469
0
    15, MVT::i32,
9470
0
     OPC_CheckPatternPredicate, 8,
9471
0
     OPC_CheckComplexPat0, /*#*/1,
9472
0
     OPC_EmitMergeInputChains1_0,
9473
0
     OPC_EmitInteger32, 0, 
9474
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9475
0
                   MVT::i32, 2, 2, 3, 
9476
0
    0,
9477
0
   37, 
9478
0
    OPC_CheckPredicate, 15,
9479
0
    OPC_SwitchType , 14, MVT::i64,
9480
0
     OPC_CheckPatternPredicate6,
9481
0
     OPC_CheckComplexPat0, /*#*/1,
9482
0
     OPC_EmitMergeInputChains1_0,
9483
0
     OPC_EmitInteger64, 0, 
9484
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9485
0
                   MVT::i64, 2, 2, 3, 
9486
0
    15, MVT::i32,
9487
0
     OPC_CheckPatternPredicate, 10,
9488
0
     OPC_CheckComplexPat0, /*#*/1,
9489
0
     OPC_EmitMergeInputChains1_0,
9490
0
     OPC_EmitInteger32, 0, 
9491
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9492
0
                   MVT::i32, 2, 2, 3, 
9493
0
    0,
9494
0
   0, 
9495
0
  0, 
9496
0
 11|128,5, TARGET_VAL(ISD::ATOMIC_STORE),
9497
0
  OPC_RecordMemRef,
9498
0
  OPC_RecordNode,
9499
0
  OPC_RecordChild1,
9500
0
  OPC_Scope, 94|128,2, 
9501
0
   OPC_CheckChild1TypeI64,
9502
0
   OPC_Scope, 45|128,1, 
9503
0
    OPC_MoveChild2,
9504
0
    OPC_SwitchOpcode , 82, TARGET_VAL(ISD::ADD),
9505
0
     OPC_RecordChild0,
9506
0
     OPC_RecordChild1,
9507
0
     OPC_MoveChild1,
9508
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9509
0
     OPC_CheckPredicate, 10,
9510
0
     OPC_MoveParent,
9511
0
     OPC_CheckPredicate, 11,
9512
0
     OPC_CheckTypeI64,
9513
0
     OPC_MoveParent,
9514
0
     OPC_Scope, 15, 
9515
0
      OPC_CheckPredicate, 14,
9516
0
      OPC_CheckPatternPredicate7,
9517
0
      OPC_CheckComplexPat0, /*#*/2,
9518
0
      OPC_EmitMergeInputChains1_0,
9519
0
      OPC_EmitConvertToTarget3,
9520
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9521
0
                    3, 1, 4, 5, 
9522
0
     15, 
9523
0
      OPC_CheckPredicate, 13,
9524
0
      OPC_CheckPatternPredicate7,
9525
0
      OPC_CheckComplexPat0, /*#*/2,
9526
0
      OPC_EmitMergeInputChains1_0,
9527
0
      OPC_EmitConvertToTarget3,
9528
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9529
0
                    3, 1, 4, 5, 
9530
0
     16, 
9531
0
      OPC_CheckPredicate5, 
9532
0
      OPC_CheckPredicate, 27,
9533
0
      OPC_CheckPatternPredicate6,
9534
0
      OPC_CheckComplexPat0, /*#*/2,
9535
0
      OPC_EmitMergeInputChains1_0,
9536
0
      OPC_EmitConvertToTarget3,
9537
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9538
0
                    3, 1, 4, 5, 
9539
0
     17, 
9540
0
      OPC_CheckPredicate, 15,
9541
0
      OPC_CheckPredicate, 27,
9542
0
      OPC_CheckPatternPredicate6,
9543
0
      OPC_CheckComplexPat0, /*#*/2,
9544
0
      OPC_EmitMergeInputChains1_0,
9545
0
      OPC_EmitConvertToTarget3,
9546
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9547
0
                    3, 1, 4, 5, 
9548
0
     0, 
9549
0
    82, TARGET_VAL(ISD::OR),
9550
0
     OPC_RecordChild0,
9551
0
     OPC_RecordChild1,
9552
0
     OPC_MoveChild1,
9553
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9554
0
     OPC_CheckPredicate, 10,
9555
0
     OPC_MoveParent,
9556
0
     OPC_CheckPredicate, 11,
9557
0
     OPC_CheckTypeI64,
9558
0
     OPC_MoveParent,
9559
0
     OPC_Scope, 15, 
9560
0
      OPC_CheckPredicate, 14,
9561
0
      OPC_CheckPatternPredicate7,
9562
0
      OPC_CheckComplexPat0, /*#*/2,
9563
0
      OPC_EmitMergeInputChains1_0,
9564
0
      OPC_EmitConvertToTarget3,
9565
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9566
0
                    3, 1, 4, 5, 
9567
0
     15, 
9568
0
      OPC_CheckPredicate, 13,
9569
0
      OPC_CheckPatternPredicate7,
9570
0
      OPC_CheckComplexPat0, /*#*/2,
9571
0
      OPC_EmitMergeInputChains1_0,
9572
0
      OPC_EmitConvertToTarget3,
9573
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9574
0
                    3, 1, 4, 5, 
9575
0
     16, 
9576
0
      OPC_CheckPredicate5, 
9577
0
      OPC_CheckPredicate, 27,
9578
0
      OPC_CheckPatternPredicate6,
9579
0
      OPC_CheckComplexPat0, /*#*/2,
9580
0
      OPC_EmitMergeInputChains1_0,
9581
0
      OPC_EmitConvertToTarget3,
9582
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9583
0
                    3, 1, 4, 5, 
9584
0
     17, 
9585
0
      OPC_CheckPredicate, 15,
9586
0
      OPC_CheckPredicate, 27,
9587
0
      OPC_CheckPatternPredicate6,
9588
0
      OPC_CheckComplexPat0, /*#*/2,
9589
0
      OPC_EmitMergeInputChains1_0,
9590
0
      OPC_EmitConvertToTarget3,
9591
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9592
0
                    3, 1, 4, 5, 
9593
0
     0, 
9594
0
    0,
9595
0
   42|128,1, 
9596
0
    OPC_RecordChild2,
9597
0
    OPC_Scope, 14, 
9598
0
     OPC_CheckPredicate, 14,
9599
0
     OPC_CheckPatternPredicate7,
9600
0
     OPC_CheckComplexPat4, /*#*/2,
9601
0
     OPC_EmitMergeInputChains1_0,
9602
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9603
0
                   3, 1, 3, 4, 
9604
0
    14, 
9605
0
     OPC_CheckPredicate, 13,
9606
0
     OPC_CheckPatternPredicate7,
9607
0
     OPC_CheckComplexPat4, /*#*/2,
9608
0
     OPC_EmitMergeInputChains1_0,
9609
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9610
0
                   3, 1, 3, 4, 
9611
0
    15, 
9612
0
     OPC_CheckPredicate5, 
9613
0
     OPC_CheckPredicate, 27,
9614
0
     OPC_CheckPatternPredicate6,
9615
0
     OPC_CheckComplexPat4, /*#*/2,
9616
0
     OPC_EmitMergeInputChains1_0,
9617
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9618
0
                   3, 1, 3, 4, 
9619
0
    16, 
9620
0
     OPC_CheckPredicate, 15,
9621
0
     OPC_CheckPredicate, 27,
9622
0
     OPC_CheckPatternPredicate6,
9623
0
     OPC_CheckComplexPat4, /*#*/2,
9624
0
     OPC_EmitMergeInputChains1_0,
9625
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9626
0
                   3, 1, 3, 4, 
9627
0
    16, 
9628
0
     OPC_CheckPredicate, 14,
9629
0
     OPC_CheckPatternPredicate7,
9630
0
     OPC_CheckComplexPat0, /*#*/2,
9631
0
     OPC_EmitMergeInputChains1_0,
9632
0
     OPC_EmitInteger64, 0, 
9633
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9634
0
                   3, 1, 3, 4, 
9635
0
    16, 
9636
0
     OPC_CheckPredicate, 13,
9637
0
     OPC_CheckPatternPredicate7,
9638
0
     OPC_CheckComplexPat0, /*#*/2,
9639
0
     OPC_EmitMergeInputChains1_0,
9640
0
     OPC_EmitInteger64, 0, 
9641
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9642
0
                   3, 1, 3, 4, 
9643
0
    17, 
9644
0
     OPC_CheckPredicate5, 
9645
0
     OPC_CheckPredicate, 27,
9646
0
     OPC_CheckPatternPredicate6,
9647
0
     OPC_CheckComplexPat0, /*#*/2,
9648
0
     OPC_EmitMergeInputChains1_0,
9649
0
     OPC_EmitInteger64, 0, 
9650
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9651
0
                   3, 1, 3, 4, 
9652
0
    18, 
9653
0
     OPC_CheckPredicate, 15,
9654
0
     OPC_CheckPredicate, 27,
9655
0
     OPC_CheckPatternPredicate6,
9656
0
     OPC_CheckComplexPat0, /*#*/2,
9657
0
     OPC_EmitMergeInputChains1_0,
9658
0
     OPC_EmitInteger64, 0, 
9659
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9660
0
                   3, 1, 3, 4, 
9661
0
    32, 
9662
0
     OPC_CheckChild2TypeI64,
9663
0
     OPC_Scope, 13, 
9664
0
      OPC_CheckPredicate5, 
9665
0
      OPC_CheckPredicate, 38,
9666
0
      OPC_CheckPatternPredicate7,
9667
0
      OPC_EmitMergeInputChains1_0,
9668
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
9669
0
                    MVT::i64, 2, 1, 2, 
9670
0
     14, 
9671
0
      OPC_CheckPredicate, 15,
9672
0
      OPC_CheckPredicate, 38,
9673
0
      OPC_CheckPatternPredicate6,
9674
0
      OPC_EmitMergeInputChains1_0,
9675
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
9676
0
                    MVT::i64, 2, 1, 2, 
9677
0
     0, 
9678
0
    0, 
9679
0
   0, 
9680
0
  36|128,2, 
9681
0
   OPC_CheckChild1TypeI32,
9682
0
   OPC_Scope, 15|128,1, 
9683
0
    OPC_MoveChild2,
9684
0
    OPC_SwitchOpcode , 67, TARGET_VAL(ISD::ADD),
9685
0
     OPC_RecordChild0,
9686
0
     OPC_RecordChild1,
9687
0
     OPC_MoveChild1,
9688
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9689
0
     OPC_CheckPredicate, 10,
9690
0
     OPC_MoveParent,
9691
0
     OPC_CheckPredicate, 11,
9692
0
     OPC_CheckTypeI32,
9693
0
     OPC_MoveParent,
9694
0
     OPC_Scope, 16, 
9695
0
      OPC_CheckPredicate, 14,
9696
0
      OPC_CheckPatternPredicate, 8,
9697
0
      OPC_CheckComplexPat0, /*#*/2,
9698
0
      OPC_EmitMergeInputChains1_0,
9699
0
      OPC_EmitConvertToTarget3,
9700
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9701
0
                    3, 1, 4, 5, 
9702
0
     16, 
9703
0
      OPC_CheckPredicate, 13,
9704
0
      OPC_CheckPatternPredicate, 8,
9705
0
      OPC_CheckComplexPat0, /*#*/2,
9706
0
      OPC_EmitMergeInputChains1_0,
9707
0
      OPC_EmitConvertToTarget3,
9708
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9709
0
                    3, 1, 4, 5, 
9710
0
     17, 
9711
0
      OPC_CheckPredicate5, 
9712
0
      OPC_CheckPredicate, 27,
9713
0
      OPC_CheckPatternPredicate, 9,
9714
0
      OPC_CheckComplexPat0, /*#*/2,
9715
0
      OPC_EmitMergeInputChains1_0,
9716
0
      OPC_EmitConvertToTarget3,
9717
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9718
0
                    3, 1, 4, 5, 
9719
0
     0, 
9720
0
    67, TARGET_VAL(ISD::OR),
9721
0
     OPC_RecordChild0,
9722
0
     OPC_RecordChild1,
9723
0
     OPC_MoveChild1,
9724
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9725
0
     OPC_CheckPredicate, 10,
9726
0
     OPC_MoveParent,
9727
0
     OPC_CheckPredicate, 11,
9728
0
     OPC_CheckTypeI32,
9729
0
     OPC_MoveParent,
9730
0
     OPC_Scope, 16, 
9731
0
      OPC_CheckPredicate, 14,
9732
0
      OPC_CheckPatternPredicate, 8,
9733
0
      OPC_CheckComplexPat0, /*#*/2,
9734
0
      OPC_EmitMergeInputChains1_0,
9735
0
      OPC_EmitConvertToTarget3,
9736
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9737
0
                    3, 1, 4, 5, 
9738
0
     16, 
9739
0
      OPC_CheckPredicate, 13,
9740
0
      OPC_CheckPatternPredicate, 8,
9741
0
      OPC_CheckComplexPat0, /*#*/2,
9742
0
      OPC_EmitMergeInputChains1_0,
9743
0
      OPC_EmitConvertToTarget3,
9744
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9745
0
                    3, 1, 4, 5, 
9746
0
     17, 
9747
0
      OPC_CheckPredicate5, 
9748
0
      OPC_CheckPredicate, 27,
9749
0
      OPC_CheckPatternPredicate, 9,
9750
0
      OPC_CheckComplexPat0, /*#*/2,
9751
0
      OPC_EmitMergeInputChains1_0,
9752
0
      OPC_EmitConvertToTarget3,
9753
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9754
0
                    3, 1, 4, 5, 
9755
0
     0, 
9756
0
    0,
9757
0
   14|128,1, 
9758
0
    OPC_RecordChild2,
9759
0
    OPC_Scope, 15, 
9760
0
     OPC_CheckPredicate, 14,
9761
0
     OPC_CheckPatternPredicate, 8,
9762
0
     OPC_CheckComplexPat4, /*#*/2,
9763
0
     OPC_EmitMergeInputChains1_0,
9764
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9765
0
                   3, 1, 3, 4, 
9766
0
    15, 
9767
0
     OPC_CheckPredicate, 13,
9768
0
     OPC_CheckPatternPredicate, 8,
9769
0
     OPC_CheckComplexPat4, /*#*/2,
9770
0
     OPC_EmitMergeInputChains1_0,
9771
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9772
0
                   3, 1, 3, 4, 
9773
0
    16, 
9774
0
     OPC_CheckPredicate5, 
9775
0
     OPC_CheckPredicate, 27,
9776
0
     OPC_CheckPatternPredicate, 9,
9777
0
     OPC_CheckComplexPat4, /*#*/2,
9778
0
     OPC_EmitMergeInputChains1_0,
9779
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9780
0
                   3, 1, 3, 4, 
9781
0
    17, 
9782
0
     OPC_CheckPredicate, 14,
9783
0
     OPC_CheckPatternPredicate, 8,
9784
0
     OPC_CheckComplexPat0, /*#*/2,
9785
0
     OPC_EmitMergeInputChains1_0,
9786
0
     OPC_EmitInteger32, 0, 
9787
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9788
0
                   3, 1, 3, 4, 
9789
0
    17, 
9790
0
     OPC_CheckPredicate, 13,
9791
0
     OPC_CheckPatternPredicate, 8,
9792
0
     OPC_CheckComplexPat0, /*#*/2,
9793
0
     OPC_EmitMergeInputChains1_0,
9794
0
     OPC_EmitInteger32, 0, 
9795
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9796
0
                   3, 1, 3, 4, 
9797
0
    36, 
9798
0
     OPC_CheckPredicate5, 
9799
0
     OPC_Scope, 17, 
9800
0
      OPC_CheckPredicate, 27,
9801
0
      OPC_CheckPatternPredicate, 9,
9802
0
      OPC_CheckComplexPat0, /*#*/2,
9803
0
      OPC_EmitMergeInputChains1_0,
9804
0
      OPC_EmitInteger32, 0, 
9805
0
      OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9806
0
                    3, 1, 3, 4, 
9807
0
     14, 
9808
0
      OPC_CheckChild2TypeI32,
9809
0
      OPC_CheckPredicate, 38,
9810
0
      OPC_CheckPatternPredicate, 8,
9811
0
      OPC_EmitMergeInputChains1_0,
9812
0
      OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
9813
0
                    MVT::i32, 2, 1, 2, 
9814
0
     0, 
9815
0
    16, 
9816
0
     OPC_CheckChild2TypeI32,
9817
0
     OPC_CheckPredicate, 15,
9818
0
     OPC_CheckPredicate, 38,
9819
0
     OPC_CheckPatternPredicate, 10,
9820
0
     OPC_EmitMergeInputChains1_0,
9821
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
9822
0
                   MVT::i32, 2, 1, 2, 
9823
0
    0, 
9824
0
   0, 
9825
0
  0, 
9826
0
 43|128,9, TARGET_VAL(ISD::ADD),
9827
0
  OPC_Scope, 119, 
9828
0
   OPC_RecordChild0,
9829
0
   OPC_Scope, 39, 
9830
0
    OPC_RecordChild1,
9831
0
    OPC_MoveChild1,
9832
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9833
0
    OPC_CheckPredicate, 10,
9834
0
    OPC_MoveParent,
9835
0
    OPC_CheckPredicate, 11,
9836
0
    OPC_SwitchType , 12, MVT::i32,
9837
0
     OPC_CheckPatternPredicate, 9,
9838
0
     OPC_CheckComplexPat0, /*#*/0,
9839
0
     OPC_EmitConvertToTarget1,
9840
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9841
0
                   MVT::i32, 2, 2, 3, 
9842
0
    11, MVT::i64,
9843
0
     OPC_CheckPatternPredicate6,
9844
0
     OPC_CheckComplexPat0, /*#*/0,
9845
0
     OPC_EmitConvertToTarget1,
9846
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9847
0
                   MVT::i64, 2, 2, 3, 
9848
0
    0,
9849
0
   75, 
9850
0
    OPC_MoveChild1,
9851
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9852
0
    OPC_RecordChild0,
9853
0
    OPC_RecordChild1,
9854
0
    OPC_MoveChild1,
9855
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9856
0
    OPC_CheckPredicate, 35,
9857
0
    OPC_SwitchType , 28, MVT::i64,
9858
0
     OPC_MoveParent,
9859
0
     OPC_MoveParent,
9860
0
     OPC_CheckTypeI64,
9861
0
     OPC_Scope, 11, 
9862
0
      OPC_CheckPatternPredicate, 15,
9863
0
      OPC_EmitConvertToTarget2,
9864
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9865
0
                    MVT::i64, 3, 1, 0, 3, 
9866
0
     10, 
9867
0
      OPC_CheckPatternPredicate6,
9868
0
      OPC_EmitConvertToTarget2,
9869
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9870
0
                    MVT::i64, 3, 1, 0, 3, 
9871
0
     0, 
9872
0
    29, MVT::i32,
9873
0
     OPC_MoveParent,
9874
0
     OPC_MoveParent,
9875
0
     OPC_CheckTypeI32,
9876
0
     OPC_Scope, 11, 
9877
0
      OPC_CheckPatternPredicate, 9,
9878
0
      OPC_EmitConvertToTarget2,
9879
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9880
0
                    MVT::i32, 3, 1, 0, 3, 
9881
0
     11, 
9882
0
      OPC_CheckPatternPredicate, 10,
9883
0
      OPC_EmitConvertToTarget2,
9884
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9885
0
                    MVT::i32, 3, 1, 0, 3, 
9886
0
     0, 
9887
0
    0,
9888
0
   0, 
9889
0
  77, 
9890
0
   OPC_MoveChild0,
9891
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9892
0
   OPC_RecordChild0,
9893
0
   OPC_RecordChild1,
9894
0
   OPC_MoveChild1,
9895
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9896
0
   OPC_CheckPredicate, 35,
9897
0
   OPC_SwitchType , 29, MVT::i64,
9898
0
    OPC_MoveParent,
9899
0
    OPC_MoveParent,
9900
0
    OPC_RecordChild1,
9901
0
    OPC_CheckTypeI64,
9902
0
    OPC_Scope, 11, 
9903
0
     OPC_CheckPatternPredicate, 15,
9904
0
     OPC_EmitConvertToTarget1,
9905
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9906
0
                   MVT::i64, 3, 0, 2, 3, 
9907
0
    10, 
9908
0
     OPC_CheckPatternPredicate6,
9909
0
     OPC_EmitConvertToTarget1,
9910
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9911
0
                   MVT::i64, 3, 0, 2, 3, 
9912
0
    0, 
9913
0
   30, MVT::i32,
9914
0
    OPC_MoveParent,
9915
0
    OPC_MoveParent,
9916
0
    OPC_RecordChild1,
9917
0
    OPC_CheckTypeI32,
9918
0
    OPC_Scope, 11, 
9919
0
     OPC_CheckPatternPredicate, 9,
9920
0
     OPC_EmitConvertToTarget1,
9921
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9922
0
                   MVT::i32, 3, 0, 2, 3, 
9923
0
    11, 
9924
0
     OPC_CheckPatternPredicate, 10,
9925
0
     OPC_EmitConvertToTarget1,
9926
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9927
0
                   MVT::i32, 3, 0, 2, 3, 
9928
0
    0, 
9929
0
   0,
9930
0
  41|128,6, 
9931
0
   OPC_RecordChild0,
9932
0
   OPC_Scope, 66|128,5, 
9933
0
    OPC_RecordChild1,
9934
0
    OPC_Scope, 6|128,2, 
9935
0
     OPC_MoveChild1,
9936
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9937
0
     OPC_Scope, 56, 
9938
0
      OPC_CheckPredicate, 10,
9939
0
      OPC_MoveParent,
9940
0
      OPC_SwitchType , 23, MVT::i64,
9941
0
       OPC_Scope, 10, 
9942
0
        OPC_CheckPatternPredicate, 15,
9943
0
        OPC_EmitConvertToTarget1,
9944
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9945
0
                      MVT::i64, 2, 0, 2, 
9946
0
       9, 
9947
0
        OPC_CheckPatternPredicate6,
9948
0
        OPC_EmitConvertToTarget1,
9949
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9950
0
                      MVT::i64, 2, 0, 2, 
9951
0
       0, 
9952
0
      24, MVT::i32,
9953
0
       OPC_Scope, 10, 
9954
0
        OPC_CheckPatternPredicate, 9,
9955
0
        OPC_EmitConvertToTarget1,
9956
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9957
0
                      MVT::i32, 2, 0, 2, 
9958
0
       10, 
9959
0
        OPC_CheckPatternPredicate, 10,
9960
0
        OPC_EmitConvertToTarget1,
9961
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9962
0
                      MVT::i32, 2, 0, 2, 
9963
0
       0, 
9964
0
      0,
9965
0
     32, 
9966
0
      OPC_CheckPredicate, 56,
9967
0
      OPC_MoveParent,
9968
0
      OPC_SwitchType , 11, MVT::i64,
9969
0
       OPC_CheckPatternPredicate6,
9970
0
       OPC_EmitNodeXForm, 7, 1,
9971
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
9972
0
                     MVT::i64, 2, 0, 2, 
9973
0
      12, MVT::i32,
9974
0
       OPC_CheckPatternPredicate, 10,
9975
0
       OPC_EmitNodeXForm, 7, 1,
9976
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
9977
0
                     MVT::i32, 2, 0, 2, 
9978
0
      0,
9979
0
     52, 
9980
0
      OPC_CheckPredicate, 55,
9981
0
      OPC_MoveParent,
9982
0
      OPC_SwitchType , 21, MVT::i64,
9983
0
       OPC_CheckPatternPredicate6,
9984
0
       OPC_EmitNodeXForm, 2, 1,
9985
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
9986
0
                     MVT::i64, 2, 0, 2, 
9987
0
       OPC_EmitNodeXForm, 3, 1,
9988
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9989
0
                     MVT::i64, 2, 3, 4, 
9990
0
      22, MVT::i32,
9991
0
       OPC_CheckPatternPredicate, 10,
9992
0
       OPC_EmitNodeXForm, 2, 1,
9993
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
9994
0
                     MVT::i32, 2, 0, 2, 
9995
0
       OPC_EmitNodeXForm, 3, 1,
9996
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9997
0
                     MVT::i32, 2, 3, 4, 
9998
0
      0,
9999
0
     112, 
10000
0
      OPC_CheckPredicate, 49,
10001
0
      OPC_MoveParent,
10002
0
      OPC_SwitchType , 51, MVT::i64,
10003
0
       OPC_Scope, 24, 
10004
0
        OPC_CheckPatternPredicate, 15,
10005
0
        OPC_EmitConvertToTarget1,
10006
0
        OPC_EmitNodeXForm, 4, 2,
10007
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
10008
0
                      MVT::i64, 2, 0, 3, 
10009
0
        OPC_EmitConvertToTarget1,
10010
0
        OPC_EmitNodeXForm, 5, 5,
10011
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
10012
0
                      MVT::i64, 2, 4, 6, 
10013
0
       23, 
10014
0
        OPC_CheckPatternPredicate6,
10015
0
        OPC_EmitConvertToTarget1,
10016
0
        OPC_EmitNodeXForm, 4, 2,
10017
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
10018
0
                      MVT::i64, 2, 0, 3, 
10019
0
        OPC_EmitConvertToTarget1,
10020
0
        OPC_EmitNodeXForm, 5, 5,
10021
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
10022
0
                      MVT::i64, 2, 4, 6, 
10023
0
       0, 
10024
0
      52, MVT::i32,
10025
0
       OPC_Scope, 24, 
10026
0
        OPC_CheckPatternPredicate, 9,
10027
0
        OPC_EmitConvertToTarget1,
10028
0
        OPC_EmitNodeXForm, 4, 2,
10029
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
10030
0
                      MVT::i32, 2, 0, 3, 
10031
0
        OPC_EmitConvertToTarget1,
10032
0
        OPC_EmitNodeXForm, 5, 5,
10033
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
10034
0
                      MVT::i32, 2, 4, 6, 
10035
0
       24, 
10036
0
        OPC_CheckPatternPredicate, 10,
10037
0
        OPC_EmitConvertToTarget1,
10038
0
        OPC_EmitNodeXForm, 4, 2,
10039
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
10040
0
                      MVT::i32, 2, 0, 3, 
10041
0
        OPC_EmitConvertToTarget1,
10042
0
        OPC_EmitNodeXForm, 5, 5,
10043
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
10044
0
                      MVT::i32, 2, 4, 6, 
10045
0
       0, 
10046
0
      0,
10047
0
     0, 
10048
0
    22, 
10049
0
     OPC_CheckTypeI64,
10050
0
     OPC_Scope, 9, 
10051
0
      OPC_CheckPatternPredicate, 15,
10052
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
10053
0
                    MVT::i64, 2, 0, 1, 
10054
0
     8, 
10055
0
      OPC_CheckPatternPredicate6,
10056
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
10057
0
                    MVT::i64, 2, 0, 1, 
10058
0
     0, 
10059
0
    23, 
10060
0
     OPC_CheckTypeI32,
10061
0
     OPC_Scope, 9, 
10062
0
      OPC_CheckPatternPredicate, 9,
10063
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
10064
0
                    MVT::i32, 2, 0, 1, 
10065
0
     9, 
10066
0
      OPC_CheckPatternPredicate, 10,
10067
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
10068
0
                    MVT::i32, 2, 0, 1, 
10069
0
     0, 
10070
0
    48, 
10071
0
     OPC_CheckType, MVT::v16i8,
10072
0
     OPC_Scope, 10, 
10073
0
      OPC_CheckPatternPredicate2,
10074
0
      OPC_CheckComplexPat1, /*#*/1,
10075
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10076
0
                    MVT::v16i8, 2, 0, 2, 
10077
0
     10, 
10078
0
      OPC_CheckPatternPredicate4,
10079
0
      OPC_CheckComplexPat1, /*#*/1,
10080
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10081
0
                    MVT::v16i8, 2, 0, 2, 
10082
0
     10, 
10083
0
      OPC_CheckPatternPredicate2,
10084
0
      OPC_CheckComplexPat1, /*#*/0,
10085
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10086
0
                    MVT::v16i8, 2, 1, 2, 
10087
0
     10, 
10088
0
      OPC_CheckPatternPredicate4,
10089
0
      OPC_CheckComplexPat1, /*#*/0,
10090
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10091
0
                    MVT::v16i8, 2, 1, 2, 
10092
0
     0, 
10093
0
    48, 
10094
0
     OPC_CheckType, MVT::v8i16,
10095
0
     OPC_Scope, 10, 
10096
0
      OPC_CheckPatternPredicate2,
10097
0
      OPC_CheckComplexPat1, /*#*/1,
10098
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10099
0
                    MVT::v8i16, 2, 0, 2, 
10100
0
     10, 
10101
0
      OPC_CheckPatternPredicate4,
10102
0
      OPC_CheckComplexPat1, /*#*/1,
10103
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10104
0
                    MVT::v8i16, 2, 0, 2, 
10105
0
     10, 
10106
0
      OPC_CheckPatternPredicate2,
10107
0
      OPC_CheckComplexPat1, /*#*/0,
10108
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10109
0
                    MVT::v8i16, 2, 1, 2, 
10110
0
     10, 
10111
0
      OPC_CheckPatternPredicate4,
10112
0
      OPC_CheckComplexPat1, /*#*/0,
10113
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10114
0
                    MVT::v8i16, 2, 1, 2, 
10115
0
     0, 
10116
0
    48, 
10117
0
     OPC_CheckType, MVT::v4i32,
10118
0
     OPC_Scope, 10, 
10119
0
      OPC_CheckPatternPredicate2,
10120
0
      OPC_CheckComplexPat1, /*#*/1,
10121
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10122
0
                    MVT::v4i32, 2, 0, 2, 
10123
0
     10, 
10124
0
      OPC_CheckPatternPredicate4,
10125
0
      OPC_CheckComplexPat1, /*#*/1,
10126
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10127
0
                    MVT::v4i32, 2, 0, 2, 
10128
0
     10, 
10129
0
      OPC_CheckPatternPredicate2,
10130
0
      OPC_CheckComplexPat1, /*#*/0,
10131
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10132
0
                    MVT::v4i32, 2, 1, 2, 
10133
0
     10, 
10134
0
      OPC_CheckPatternPredicate4,
10135
0
      OPC_CheckComplexPat1, /*#*/0,
10136
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10137
0
                    MVT::v4i32, 2, 1, 2, 
10138
0
     0, 
10139
0
    48, 
10140
0
     OPC_CheckType, MVT::v2i64,
10141
0
     OPC_Scope, 10, 
10142
0
      OPC_CheckPatternPredicate2,
10143
0
      OPC_CheckComplexPat1, /*#*/1,
10144
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10145
0
                    MVT::v2i64, 2, 0, 2, 
10146
0
     10, 
10147
0
      OPC_CheckPatternPredicate4,
10148
0
      OPC_CheckComplexPat1, /*#*/1,
10149
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10150
0
                    MVT::v2i64, 2, 0, 2, 
10151
0
     10, 
10152
0
      OPC_CheckPatternPredicate2,
10153
0
      OPC_CheckComplexPat1, /*#*/0,
10154
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10155
0
                    MVT::v2i64, 2, 1, 2, 
10156
0
     10, 
10157
0
      OPC_CheckPatternPredicate4,
10158
0
      OPC_CheckComplexPat1, /*#*/0,
10159
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10160
0
                    MVT::v2i64, 2, 1, 2, 
10161
0
     0, 
10162
0
    48, 
10163
0
     OPC_CheckType, MVT::v32i8,
10164
0
     OPC_Scope, 10, 
10165
0
      OPC_CheckPatternPredicate3,
10166
0
      OPC_CheckComplexPat1, /*#*/1,
10167
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10168
0
                    MVT::v32i8, 2, 0, 2, 
10169
0
     10, 
10170
0
      OPC_CheckPatternPredicate5,
10171
0
      OPC_CheckComplexPat1, /*#*/1,
10172
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10173
0
                    MVT::v32i8, 2, 0, 2, 
10174
0
     10, 
10175
0
      OPC_CheckPatternPredicate3,
10176
0
      OPC_CheckComplexPat1, /*#*/0,
10177
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10178
0
                    MVT::v32i8, 2, 1, 2, 
10179
0
     10, 
10180
0
      OPC_CheckPatternPredicate5,
10181
0
      OPC_CheckComplexPat1, /*#*/0,
10182
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10183
0
                    MVT::v32i8, 2, 1, 2, 
10184
0
     0, 
10185
0
    48, 
10186
0
     OPC_CheckType, MVT::v16i16,
10187
0
     OPC_Scope, 10, 
10188
0
      OPC_CheckPatternPredicate3,
10189
0
      OPC_CheckComplexPat1, /*#*/1,
10190
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10191
0
                    MVT::v16i16, 2, 0, 2, 
10192
0
     10, 
10193
0
      OPC_CheckPatternPredicate5,
10194
0
      OPC_CheckComplexPat1, /*#*/1,
10195
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10196
0
                    MVT::v16i16, 2, 0, 2, 
10197
0
     10, 
10198
0
      OPC_CheckPatternPredicate3,
10199
0
      OPC_CheckComplexPat1, /*#*/0,
10200
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10201
0
                    MVT::v16i16, 2, 1, 2, 
10202
0
     10, 
10203
0
      OPC_CheckPatternPredicate5,
10204
0
      OPC_CheckComplexPat1, /*#*/0,
10205
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10206
0
                    MVT::v16i16, 2, 1, 2, 
10207
0
     0, 
10208
0
    48, 
10209
0
     OPC_CheckType, MVT::v8i32,
10210
0
     OPC_Scope, 10, 
10211
0
      OPC_CheckPatternPredicate3,
10212
0
      OPC_CheckComplexPat1, /*#*/1,
10213
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10214
0
                    MVT::v8i32, 2, 0, 2, 
10215
0
     10, 
10216
0
      OPC_CheckPatternPredicate5,
10217
0
      OPC_CheckComplexPat1, /*#*/1,
10218
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10219
0
                    MVT::v8i32, 2, 0, 2, 
10220
0
     10, 
10221
0
      OPC_CheckPatternPredicate3,
10222
0
      OPC_CheckComplexPat1, /*#*/0,
10223
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10224
0
                    MVT::v8i32, 2, 1, 2, 
10225
0
     10, 
10226
0
      OPC_CheckPatternPredicate5,
10227
0
      OPC_CheckComplexPat1, /*#*/0,
10228
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10229
0
                    MVT::v8i32, 2, 1, 2, 
10230
0
     0, 
10231
0
    48, 
10232
0
     OPC_CheckType, MVT::v4i64,
10233
0
     OPC_Scope, 10, 
10234
0
      OPC_CheckPatternPredicate3,
10235
0
      OPC_CheckComplexPat1, /*#*/1,
10236
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10237
0
                    MVT::v4i64, 2, 0, 2, 
10238
0
     10, 
10239
0
      OPC_CheckPatternPredicate5,
10240
0
      OPC_CheckComplexPat1, /*#*/1,
10241
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10242
0
                    MVT::v4i64, 2, 0, 2, 
10243
0
     10, 
10244
0
      OPC_CheckPatternPredicate3,
10245
0
      OPC_CheckComplexPat1, /*#*/0,
10246
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10247
0
                    MVT::v4i64, 2, 1, 2, 
10248
0
     10, 
10249
0
      OPC_CheckPatternPredicate5,
10250
0
      OPC_CheckComplexPat1, /*#*/0,
10251
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10252
0
                    MVT::v4i64, 2, 1, 2, 
10253
0
     0, 
10254
0
    0, 
10255
0
   97, 
10256
0
    OPC_MoveChild1,
10257
0
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10258
0
    OPC_RecordChild0,
10259
0
    OPC_RecordChild1,
10260
0
    OPC_MoveParent,
10261
0
    OPC_SwitchType , 9, MVT::v16i8,
10262
0
     OPC_CheckPatternPredicate1,
10263
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10264
0
                   MVT::v16i8, 3, 0, 1, 2, 
10265
0
    9, MVT::v8i16,
10266
0
     OPC_CheckPatternPredicate1,
10267
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10268
0
                   MVT::v8i16, 3, 0, 1, 2, 
10269
0
    9, MVT::v4i32,
10270
0
     OPC_CheckPatternPredicate1,
10271
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10272
0
                   MVT::v4i32, 3, 0, 1, 2, 
10273
0
    9, MVT::v2i64,
10274
0
     OPC_CheckPatternPredicate1,
10275
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10276
0
                   MVT::v2i64, 3, 0, 1, 2, 
10277
0
    9, MVT::v32i8,
10278
0
     OPC_CheckPatternPredicate0,
10279
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10280
0
                   MVT::v32i8, 3, 0, 1, 2, 
10281
0
    9, MVT::v16i16,
10282
0
     OPC_CheckPatternPredicate0,
10283
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10284
0
                   MVT::v16i16, 3, 0, 1, 2, 
10285
0
    9, MVT::v8i32,
10286
0
     OPC_CheckPatternPredicate0,
10287
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10288
0
                   MVT::v8i32, 3, 0, 1, 2, 
10289
0
    9, MVT::v4i64,
10290
0
     OPC_CheckPatternPredicate0,
10291
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10292
0
                   MVT::v4i64, 3, 0, 1, 2, 
10293
0
    0,
10294
0
   0, 
10295
0
  98, 
10296
0
   OPC_MoveChild0,
10297
0
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10298
0
   OPC_RecordChild0,
10299
0
   OPC_RecordChild1,
10300
0
   OPC_MoveParent,
10301
0
   OPC_RecordChild1,
10302
0
   OPC_SwitchType , 9, MVT::v16i8,
10303
0
    OPC_CheckPatternPredicate1,
10304
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10305
0
                  MVT::v16i8, 3, 2, 0, 1, 
10306
0
   9, MVT::v8i16,
10307
0
    OPC_CheckPatternPredicate1,
10308
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10309
0
                  MVT::v8i16, 3, 2, 0, 1, 
10310
0
   9, MVT::v4i32,
10311
0
    OPC_CheckPatternPredicate1,
10312
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10313
0
                  MVT::v4i32, 3, 2, 0, 1, 
10314
0
   9, MVT::v2i64,
10315
0
    OPC_CheckPatternPredicate1,
10316
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10317
0
                  MVT::v2i64, 3, 2, 0, 1, 
10318
0
   9, MVT::v32i8,
10319
0
    OPC_CheckPatternPredicate0,
10320
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10321
0
                  MVT::v32i8, 3, 2, 0, 1, 
10322
0
   9, MVT::v16i16,
10323
0
    OPC_CheckPatternPredicate0,
10324
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10325
0
                  MVT::v16i16, 3, 2, 0, 1, 
10326
0
   9, MVT::v8i32,
10327
0
    OPC_CheckPatternPredicate0,
10328
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10329
0
                  MVT::v8i32, 3, 2, 0, 1, 
10330
0
   9, MVT::v4i64,
10331
0
    OPC_CheckPatternPredicate0,
10332
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10333
0
                  MVT::v4i64, 3, 2, 0, 1, 
10334
0
   0,
10335
0
  84, 
10336
0
   OPC_RecordChild0,
10337
0
   OPC_RecordChild1,
10338
0
   OPC_SwitchType , 8, MVT::v16i8,
10339
0
    OPC_CheckPatternPredicate1,
10340
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_B),
10341
0
                  MVT::v16i8, 2, 0, 1, 
10342
0
   8, MVT::v8i16,
10343
0
    OPC_CheckPatternPredicate1,
10344
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_H),
10345
0
                  MVT::v8i16, 2, 0, 1, 
10346
0
   8, MVT::v4i32,
10347
0
    OPC_CheckPatternPredicate1,
10348
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_W),
10349
0
                  MVT::v4i32, 2, 0, 1, 
10350
0
   8, MVT::v2i64,
10351
0
    OPC_CheckPatternPredicate1,
10352
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_D),
10353
0
                  MVT::v2i64, 2, 0, 1, 
10354
0
   8, MVT::v32i8,
10355
0
    OPC_CheckPatternPredicate0,
10356
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_B),
10357
0
                  MVT::v32i8, 2, 0, 1, 
10358
0
   8, MVT::v16i16,
10359
0
    OPC_CheckPatternPredicate0,
10360
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_H),
10361
0
                  MVT::v16i16, 2, 0, 1, 
10362
0
   8, MVT::v8i32,
10363
0
    OPC_CheckPatternPredicate0,
10364
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_W),
10365
0
                  MVT::v8i32, 2, 0, 1, 
10366
0
   8, MVT::v4i64,
10367
0
    OPC_CheckPatternPredicate0,
10368
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_D),
10369
0
                  MVT::v4i64, 2, 0, 1, 
10370
0
   0,
10371
0
  0, 
10372
0
 111|128,5, TARGET_VAL(ISD::INTRINSIC_VOID),
10373
0
  OPC_RecordNode,
10374
0
  OPC_Scope, 25, 
10375
0
   OPC_CheckChild1Integer, 98|128,82, 
10376
0
   OPC_RecordChild2,
10377
0
   OPC_MoveChild2,
10378
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10379
0
   OPC_MoveParent,
10380
0
   OPC_RecordChild3,
10381
0
   OPC_RecordChild4,
10382
0
   OPC_MoveChild4,
10383
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10384
0
   OPC_MoveParent,
10385
0
   OPC_CheckPatternPredicate7,
10386
0
   OPC_EmitMergeInputChains1_0,
10387
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10388
0
                 3, 1, 2, 3, 
10389
0
  65, 
10390
0
   OPC_CheckChild1Integer, 52|128,105, 
10391
0
   OPC_RecordChild2,
10392
0
   OPC_RecordChild3,
10393
0
   OPC_Scope, 28, 
10394
0
    OPC_CheckChild3TypeI64,
10395
0
    OPC_RecordChild4,
10396
0
    OPC_MoveChild4,
10397
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10398
0
    OPC_MoveSibling5,
10399
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10400
0
    OPC_RecordNode,
10401
0
    OPC_MoveParent,
10402
0
    OPC_CheckPatternPredicate2,
10403
0
    OPC_EmitMergeInputChains1_0,
10404
0
    OPC_EmitNodeXForm, 8, 3,
10405
0
    OPC_EmitNodeXForm, 8, 4,
10406
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
10407
0
                  4, 1, 2, 5, 6, 
10408
0
   28, 
10409
0
    OPC_CheckChild3TypeI32,
10410
0
    OPC_RecordChild4,
10411
0
    OPC_MoveChild4,
10412
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10413
0
    OPC_MoveSibling5,
10414
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10415
0
    OPC_RecordNode,
10416
0
    OPC_MoveParent,
10417
0
    OPC_CheckPatternPredicate4,
10418
0
    OPC_EmitMergeInputChains1_0,
10419
0
    OPC_EmitNodeXForm, 8, 3,
10420
0
    OPC_EmitNodeXForm, 8, 4,
10421
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
10422
0
                  4, 1, 2, 5, 6, 
10423
0
   0, 
10424
0
  65, 
10425
0
   OPC_CheckChild1Integer, 56|128,105, 
10426
0
   OPC_RecordChild2,
10427
0
   OPC_RecordChild3,
10428
0
   OPC_Scope, 28, 
10429
0
    OPC_CheckChild3TypeI64,
10430
0
    OPC_RecordChild4,
10431
0
    OPC_MoveChild4,
10432
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10433
0
    OPC_MoveSibling5,
10434
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10435
0
    OPC_RecordNode,
10436
0
    OPC_MoveParent,
10437
0
    OPC_CheckPatternPredicate2,
10438
0
    OPC_EmitMergeInputChains1_0,
10439
0
    OPC_EmitNodeXForm, 8, 3,
10440
0
    OPC_EmitNodeXForm, 8, 4,
10441
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
10442
0
                  4, 1, 2, 5, 6, 
10443
0
   28, 
10444
0
    OPC_CheckChild3TypeI32,
10445
0
    OPC_RecordChild4,
10446
0
    OPC_MoveChild4,
10447
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10448
0
    OPC_MoveSibling5,
10449
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10450
0
    OPC_RecordNode,
10451
0
    OPC_MoveParent,
10452
0
    OPC_CheckPatternPredicate4,
10453
0
    OPC_EmitMergeInputChains1_0,
10454
0
    OPC_EmitNodeXForm, 8, 3,
10455
0
    OPC_EmitNodeXForm, 8, 4,
10456
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
10457
0
                  4, 1, 2, 5, 6, 
10458
0
   0, 
10459
0
  65, 
10460
0
   OPC_CheckChild1Integer, 58|128,105, 
10461
0
   OPC_RecordChild2,
10462
0
   OPC_RecordChild3,
10463
0
   OPC_Scope, 28, 
10464
0
    OPC_CheckChild3TypeI64,
10465
0
    OPC_RecordChild4,
10466
0
    OPC_MoveChild4,
10467
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10468
0
    OPC_MoveSibling5,
10469
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10470
0
    OPC_RecordNode,
10471
0
    OPC_MoveParent,
10472
0
    OPC_CheckPatternPredicate2,
10473
0
    OPC_EmitMergeInputChains1_0,
10474
0
    OPC_EmitNodeXForm, 8, 3,
10475
0
    OPC_EmitNodeXForm, 8, 4,
10476
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
10477
0
                  4, 1, 2, 5, 6, 
10478
0
   28, 
10479
0
    OPC_CheckChild3TypeI32,
10480
0
    OPC_RecordChild4,
10481
0
    OPC_MoveChild4,
10482
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10483
0
    OPC_MoveSibling5,
10484
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10485
0
    OPC_RecordNode,
10486
0
    OPC_MoveParent,
10487
0
    OPC_CheckPatternPredicate4,
10488
0
    OPC_EmitMergeInputChains1_0,
10489
0
    OPC_EmitNodeXForm, 8, 3,
10490
0
    OPC_EmitNodeXForm, 8, 4,
10491
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
10492
0
                  4, 1, 2, 5, 6, 
10493
0
   0, 
10494
0
  65, 
10495
0
   OPC_CheckChild1Integer, 54|128,105, 
10496
0
   OPC_RecordChild2,
10497
0
   OPC_RecordChild3,
10498
0
   OPC_Scope, 28, 
10499
0
    OPC_CheckChild3TypeI64,
10500
0
    OPC_RecordChild4,
10501
0
    OPC_MoveChild4,
10502
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10503
0
    OPC_MoveSibling5,
10504
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10505
0
    OPC_RecordNode,
10506
0
    OPC_MoveParent,
10507
0
    OPC_CheckPatternPredicate2,
10508
0
    OPC_EmitMergeInputChains1_0,
10509
0
    OPC_EmitNodeXForm, 8, 3,
10510
0
    OPC_EmitNodeXForm, 8, 4,
10511
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
10512
0
                  4, 1, 2, 5, 6, 
10513
0
   28, 
10514
0
    OPC_CheckChild3TypeI32,
10515
0
    OPC_RecordChild4,
10516
0
    OPC_MoveChild4,
10517
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10518
0
    OPC_MoveSibling5,
10519
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10520
0
    OPC_RecordNode,
10521
0
    OPC_MoveParent,
10522
0
    OPC_CheckPatternPredicate4,
10523
0
    OPC_EmitMergeInputChains1_0,
10524
0
    OPC_EmitNodeXForm, 8, 3,
10525
0
    OPC_EmitNodeXForm, 8, 4,
10526
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
10527
0
                  4, 1, 2, 5, 6, 
10528
0
   0, 
10529
0
  65, 
10530
0
   OPC_CheckChild1Integer, 24|128,94, 
10531
0
   OPC_RecordChild2,
10532
0
   OPC_RecordChild3,
10533
0
   OPC_Scope, 28, 
10534
0
    OPC_CheckChild3TypeI64,
10535
0
    OPC_RecordChild4,
10536
0
    OPC_MoveChild4,
10537
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10538
0
    OPC_MoveSibling5,
10539
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10540
0
    OPC_RecordNode,
10541
0
    OPC_MoveParent,
10542
0
    OPC_CheckPatternPredicate3,
10543
0
    OPC_EmitMergeInputChains1_0,
10544
0
    OPC_EmitNodeXForm, 8, 3,
10545
0
    OPC_EmitNodeXForm, 8, 4,
10546
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
10547
0
                  4, 1, 2, 5, 6, 
10548
0
   28, 
10549
0
    OPC_CheckChild3TypeI32,
10550
0
    OPC_RecordChild4,
10551
0
    OPC_MoveChild4,
10552
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10553
0
    OPC_MoveSibling5,
10554
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10555
0
    OPC_RecordNode,
10556
0
    OPC_MoveParent,
10557
0
    OPC_CheckPatternPredicate5,
10558
0
    OPC_EmitMergeInputChains1_0,
10559
0
    OPC_EmitNodeXForm, 8, 3,
10560
0
    OPC_EmitNodeXForm, 8, 4,
10561
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
10562
0
                  4, 1, 2, 5, 6, 
10563
0
   0, 
10564
0
  65, 
10565
0
   OPC_CheckChild1Integer, 28|128,94, 
10566
0
   OPC_RecordChild2,
10567
0
   OPC_RecordChild3,
10568
0
   OPC_Scope, 28, 
10569
0
    OPC_CheckChild3TypeI64,
10570
0
    OPC_RecordChild4,
10571
0
    OPC_MoveChild4,
10572
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10573
0
    OPC_MoveSibling5,
10574
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10575
0
    OPC_RecordNode,
10576
0
    OPC_MoveParent,
10577
0
    OPC_CheckPatternPredicate3,
10578
0
    OPC_EmitMergeInputChains1_0,
10579
0
    OPC_EmitNodeXForm, 8, 3,
10580
0
    OPC_EmitNodeXForm, 8, 4,
10581
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
10582
0
                  4, 1, 2, 5, 6, 
10583
0
   28, 
10584
0
    OPC_CheckChild3TypeI32,
10585
0
    OPC_RecordChild4,
10586
0
    OPC_MoveChild4,
10587
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10588
0
    OPC_MoveSibling5,
10589
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10590
0
    OPC_RecordNode,
10591
0
    OPC_MoveParent,
10592
0
    OPC_CheckPatternPredicate5,
10593
0
    OPC_EmitMergeInputChains1_0,
10594
0
    OPC_EmitNodeXForm, 8, 3,
10595
0
    OPC_EmitNodeXForm, 8, 4,
10596
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
10597
0
                  4, 1, 2, 5, 6, 
10598
0
   0, 
10599
0
  65, 
10600
0
   OPC_CheckChild1Integer, 30|128,94, 
10601
0
   OPC_RecordChild2,
10602
0
   OPC_RecordChild3,
10603
0
   OPC_Scope, 28, 
10604
0
    OPC_CheckChild3TypeI64,
10605
0
    OPC_RecordChild4,
10606
0
    OPC_MoveChild4,
10607
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10608
0
    OPC_MoveSibling5,
10609
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10610
0
    OPC_RecordNode,
10611
0
    OPC_MoveParent,
10612
0
    OPC_CheckPatternPredicate3,
10613
0
    OPC_EmitMergeInputChains1_0,
10614
0
    OPC_EmitNodeXForm, 8, 3,
10615
0
    OPC_EmitNodeXForm, 8, 4,
10616
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
10617
0
                  4, 1, 2, 5, 6, 
10618
0
   28, 
10619
0
    OPC_CheckChild3TypeI32,
10620
0
    OPC_RecordChild4,
10621
0
    OPC_MoveChild4,
10622
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10623
0
    OPC_MoveSibling5,
10624
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10625
0
    OPC_RecordNode,
10626
0
    OPC_MoveParent,
10627
0
    OPC_CheckPatternPredicate5,
10628
0
    OPC_EmitMergeInputChains1_0,
10629
0
    OPC_EmitNodeXForm, 8, 3,
10630
0
    OPC_EmitNodeXForm, 8, 4,
10631
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
10632
0
                  4, 1, 2, 5, 6, 
10633
0
   0, 
10634
0
  65, 
10635
0
   OPC_CheckChild1Integer, 26|128,94, 
10636
0
   OPC_RecordChild2,
10637
0
   OPC_RecordChild3,
10638
0
   OPC_Scope, 28, 
10639
0
    OPC_CheckChild3TypeI64,
10640
0
    OPC_RecordChild4,
10641
0
    OPC_MoveChild4,
10642
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10643
0
    OPC_MoveSibling5,
10644
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10645
0
    OPC_RecordNode,
10646
0
    OPC_MoveParent,
10647
0
    OPC_CheckPatternPredicate3,
10648
0
    OPC_EmitMergeInputChains1_0,
10649
0
    OPC_EmitNodeXForm, 8, 3,
10650
0
    OPC_EmitNodeXForm, 8, 4,
10651
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
10652
0
                  4, 1, 2, 5, 6, 
10653
0
   28, 
10654
0
    OPC_CheckChild3TypeI32,
10655
0
    OPC_RecordChild4,
10656
0
    OPC_MoveChild4,
10657
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10658
0
    OPC_MoveSibling5,
10659
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10660
0
    OPC_RecordNode,
10661
0
    OPC_MoveParent,
10662
0
    OPC_CheckPatternPredicate5,
10663
0
    OPC_EmitMergeInputChains1_0,
10664
0
    OPC_EmitNodeXForm, 8, 3,
10665
0
    OPC_EmitNodeXForm, 8, 4,
10666
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
10667
0
                  4, 1, 2, 5, 6, 
10668
0
   0, 
10669
0
  18, 
10670
0
   OPC_CheckChild1Integer, 90|128,94, 
10671
0
   OPC_RecordChild2,
10672
0
   OPC_RecordChild3,
10673
0
   OPC_MoveChild3,
10674
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10675
0
   OPC_MoveParent,
10676
0
   OPC_CheckPatternPredicate6,
10677
0
   OPC_EmitMergeInputChains1_0,
10678
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::LDPTE),
10679
0
                 2, 1, 2, 
10680
0
  47, 
10681
0
   OPC_CheckChild1Integer, 50|128,105, 
10682
0
   OPC_RecordChild2,
10683
0
   OPC_RecordChild3,
10684
0
   OPC_Scope, 19, 
10685
0
    OPC_CheckChild3TypeI64,
10686
0
    OPC_RecordChild4,
10687
0
    OPC_MoveChild4,
10688
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10689
0
    OPC_MoveParent,
10690
0
    OPC_CheckPatternPredicate2,
10691
0
    OPC_EmitMergeInputChains1_0,
10692
0
    OPC_EmitNodeXForm, 8, 3,
10693
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
10694
0
                  3, 1, 2, 4, 
10695
0
   19, 
10696
0
    OPC_CheckChild3TypeI32,
10697
0
    OPC_RecordChild4,
10698
0
    OPC_MoveChild4,
10699
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10700
0
    OPC_MoveParent,
10701
0
    OPC_CheckPatternPredicate4,
10702
0
    OPC_EmitMergeInputChains1_0,
10703
0
    OPC_EmitNodeXForm, 8, 3,
10704
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
10705
0
                  3, 1, 2, 4, 
10706
0
   0, 
10707
0
  47, 
10708
0
   OPC_CheckChild1Integer, 22|128,94, 
10709
0
   OPC_RecordChild2,
10710
0
   OPC_RecordChild3,
10711
0
   OPC_Scope, 19, 
10712
0
    OPC_CheckChild3TypeI64,
10713
0
    OPC_RecordChild4,
10714
0
    OPC_MoveChild4,
10715
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10716
0
    OPC_MoveParent,
10717
0
    OPC_CheckPatternPredicate3,
10718
0
    OPC_EmitMergeInputChains1_0,
10719
0
    OPC_EmitNodeXForm, 8, 3,
10720
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
10721
0
                  3, 1, 2, 4, 
10722
0
   19, 
10723
0
    OPC_CheckChild3TypeI32,
10724
0
    OPC_RecordChild4,
10725
0
    OPC_MoveChild4,
10726
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10727
0
    OPC_MoveParent,
10728
0
    OPC_CheckPatternPredicate5,
10729
0
    OPC_EmitMergeInputChains1_0,
10730
0
    OPC_EmitNodeXForm, 8, 3,
10731
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
10732
0
                  3, 1, 2, 4, 
10733
0
   0, 
10734
0
  16, 
10735
0
   OPC_CheckChild1Integer, 100|128,82, 
10736
0
   OPC_RecordChild2,
10737
0
   OPC_RecordChild3,
10738
0
   OPC_RecordChild4,
10739
0
   OPC_CheckPatternPredicate, 8,
10740
0
   OPC_EmitMergeInputChains1_0,
10741
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10742
0
                 3, 1, 2, 3, 
10743
0
  13, 
10744
0
   OPC_CheckChild1Integer, 94|128,82, 
10745
0
   OPC_RecordChild2,
10746
0
   OPC_RecordChild3,
10747
0
   OPC_CheckPatternPredicate6,
10748
0
   OPC_EmitMergeInputChains1_0,
10749
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTLE_D),
10750
0
                 2, 1, 2, 
10751
0
  13, 
10752
0
   OPC_CheckChild1Integer, 92|128,82, 
10753
0
   OPC_RecordChild2,
10754
0
   OPC_RecordChild3,
10755
0
   OPC_CheckPatternPredicate6,
10756
0
   OPC_EmitMergeInputChains1_0,
10757
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTGT_D),
10758
0
                 2, 1, 2, 
10759
0
  16, 
10760
0
   OPC_CheckChild1Integer, 60|128,105, 
10761
0
   OPC_RecordChild2,
10762
0
   OPC_RecordChild3,
10763
0
   OPC_CheckChild3TypeI64,
10764
0
   OPC_RecordChild4,
10765
0
   OPC_CheckPatternPredicate2,
10766
0
   OPC_EmitMergeInputChains1_0,
10767
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTX),
10768
0
                 3, 1, 2, 3, 
10769
0
  16, 
10770
0
   OPC_CheckChild1Integer, 32|128,94, 
10771
0
   OPC_RecordChild2,
10772
0
   OPC_RecordChild3,
10773
0
   OPC_CheckChild3TypeI64,
10774
0
   OPC_RecordChild4,
10775
0
   OPC_CheckPatternPredicate3,
10776
0
   OPC_EmitMergeInputChains1_0,
10777
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTX),
10778
0
                 3, 1, 2, 3, 
10779
0
  0, 
10780
0
 17|128,23, TARGET_VAL(ISD::BRCOND),
10781
0
  OPC_RecordNode,
10782
0
  OPC_Scope, 103|128,22, 
10783
0
   OPC_MoveChild1,
10784
0
   OPC_SwitchOpcode , 101|128,9, TARGET_VAL(ISD::XOR),
10785
0
    OPC_MoveChild0,
10786
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
10787
0
    OPC_RecordChild0,
10788
0
    OPC_Scope, 109|128,4, 
10789
0
     OPC_CheckChild0Type, MVT::f32,
10790
0
     OPC_RecordChild1,
10791
0
     OPC_Scope, 55, 
10792
0
      OPC_CheckChild2CondCode, ISD::SETOEQ,
10793
0
      OPC_MoveParent,
10794
0
      OPC_CheckChild1Integer, 3, 
10795
0
      OPC_SwitchType , 22, MVT::i64,
10796
0
       OPC_MoveSibling2,
10797
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10798
0
       OPC_RecordNode,
10799
0
       OPC_MoveParent,
10800
0
       OPC_CheckPatternPredicate, 11,
10801
0
       OPC_EmitMergeInputChains1_0,
10802
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
10803
0
                     MVT::i64, 2, 1, 2, 
10804
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10805
0
                     2, 4, 3, 
10806
0
      22, MVT::i32,
10807
0
       OPC_MoveSibling2,
10808
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10809
0
       OPC_RecordNode,
10810
0
       OPC_MoveParent,
10811
0
       OPC_CheckPatternPredicate, 12,
10812
0
       OPC_EmitMergeInputChains1_0,
10813
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
10814
0
                     MVT::i32, 2, 1, 2, 
10815
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10816
0
                     2, 4, 3, 
10817
0
      0,
10818
0
     55, 
10819
0
      OPC_CheckChild2CondCode, ISD::SETOLT,
10820
0
      OPC_MoveParent,
10821
0
      OPC_CheckChild1Integer, 3, 
10822
0
      OPC_SwitchType , 22, MVT::i64,
10823
0
       OPC_MoveSibling2,
10824
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10825
0
       OPC_RecordNode,
10826
0
       OPC_MoveParent,
10827
0
       OPC_CheckPatternPredicate, 11,
10828
0
       OPC_EmitMergeInputChains1_0,
10829
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
10830
0
                     MVT::i64, 2, 1, 2, 
10831
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10832
0
                     2, 4, 3, 
10833
0
      22, MVT::i32,
10834
0
       OPC_MoveSibling2,
10835
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10836
0
       OPC_RecordNode,
10837
0
       OPC_MoveParent,
10838
0
       OPC_CheckPatternPredicate, 12,
10839
0
       OPC_EmitMergeInputChains1_0,
10840
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
10841
0
                     MVT::i32, 2, 1, 2, 
10842
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10843
0
                     2, 4, 3, 
10844
0
      0,
10845
0
     55, 
10846
0
      OPC_CheckChild2CondCode, ISD::SETOLE,
10847
0
      OPC_MoveParent,
10848
0
      OPC_CheckChild1Integer, 3, 
10849
0
      OPC_SwitchType , 22, MVT::i64,
10850
0
       OPC_MoveSibling2,
10851
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10852
0
       OPC_RecordNode,
10853
0
       OPC_MoveParent,
10854
0
       OPC_CheckPatternPredicate, 11,
10855
0
       OPC_EmitMergeInputChains1_0,
10856
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
10857
0
                     MVT::i64, 2, 1, 2, 
10858
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10859
0
                     2, 4, 3, 
10860
0
      22, MVT::i32,
10861
0
       OPC_MoveSibling2,
10862
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10863
0
       OPC_RecordNode,
10864
0
       OPC_MoveParent,
10865
0
       OPC_CheckPatternPredicate, 12,
10866
0
       OPC_EmitMergeInputChains1_0,
10867
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
10868
0
                     MVT::i32, 2, 1, 2, 
10869
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10870
0
                     2, 4, 3, 
10871
0
      0,
10872
0
     55, 
10873
0
      OPC_CheckChild2CondCode, ISD::SETONE,
10874
0
      OPC_MoveParent,
10875
0
      OPC_CheckChild1Integer, 3, 
10876
0
      OPC_SwitchType , 22, MVT::i64,
10877
0
       OPC_MoveSibling2,
10878
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10879
0
       OPC_RecordNode,
10880
0
       OPC_MoveParent,
10881
0
       OPC_CheckPatternPredicate, 11,
10882
0
       OPC_EmitMergeInputChains1_0,
10883
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
10884
0
                     MVT::i64, 2, 1, 2, 
10885
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10886
0
                     2, 4, 3, 
10887
0
      22, MVT::i32,
10888
0
       OPC_MoveSibling2,
10889
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10890
0
       OPC_RecordNode,
10891
0
       OPC_MoveParent,
10892
0
       OPC_CheckPatternPredicate, 12,
10893
0
       OPC_EmitMergeInputChains1_0,
10894
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
10895
0
                     MVT::i32, 2, 1, 2, 
10896
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10897
0
                     2, 4, 3, 
10898
0
      0,
10899
0
     55, 
10900
0
      OPC_CheckChild2CondCode, ISD::SETO,
10901
0
      OPC_MoveParent,
10902
0
      OPC_CheckChild1Integer, 3, 
10903
0
      OPC_SwitchType , 22, MVT::i64,
10904
0
       OPC_MoveSibling2,
10905
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10906
0
       OPC_RecordNode,
10907
0
       OPC_MoveParent,
10908
0
       OPC_CheckPatternPredicate, 11,
10909
0
       OPC_EmitMergeInputChains1_0,
10910
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
10911
0
                     MVT::i64, 2, 1, 2, 
10912
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10913
0
                     2, 4, 3, 
10914
0
      22, MVT::i32,
10915
0
       OPC_MoveSibling2,
10916
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10917
0
       OPC_RecordNode,
10918
0
       OPC_MoveParent,
10919
0
       OPC_CheckPatternPredicate, 12,
10920
0
       OPC_EmitMergeInputChains1_0,
10921
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
10922
0
                     MVT::i32, 2, 1, 2, 
10923
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10924
0
                     2, 4, 3, 
10925
0
      0,
10926
0
     55, 
10927
0
      OPC_CheckChild2CondCode, ISD::SETUEQ,
10928
0
      OPC_MoveParent,
10929
0
      OPC_CheckChild1Integer, 3, 
10930
0
      OPC_SwitchType , 22, MVT::i64,
10931
0
       OPC_MoveSibling2,
10932
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10933
0
       OPC_RecordNode,
10934
0
       OPC_MoveParent,
10935
0
       OPC_CheckPatternPredicate, 11,
10936
0
       OPC_EmitMergeInputChains1_0,
10937
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
10938
0
                     MVT::i64, 2, 1, 2, 
10939
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10940
0
                     2, 4, 3, 
10941
0
      22, MVT::i32,
10942
0
       OPC_MoveSibling2,
10943
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10944
0
       OPC_RecordNode,
10945
0
       OPC_MoveParent,
10946
0
       OPC_CheckPatternPredicate, 12,
10947
0
       OPC_EmitMergeInputChains1_0,
10948
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
10949
0
                     MVT::i32, 2, 1, 2, 
10950
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10951
0
                     2, 4, 3, 
10952
0
      0,
10953
0
     55, 
10954
0
      OPC_CheckChild2CondCode, ISD::SETULT,
10955
0
      OPC_MoveParent,
10956
0
      OPC_CheckChild1Integer, 3, 
10957
0
      OPC_SwitchType , 22, MVT::i64,
10958
0
       OPC_MoveSibling2,
10959
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10960
0
       OPC_RecordNode,
10961
0
       OPC_MoveParent,
10962
0
       OPC_CheckPatternPredicate, 11,
10963
0
       OPC_EmitMergeInputChains1_0,
10964
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
10965
0
                     MVT::i64, 2, 1, 2, 
10966
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10967
0
                     2, 4, 3, 
10968
0
      22, MVT::i32,
10969
0
       OPC_MoveSibling2,
10970
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10971
0
       OPC_RecordNode,
10972
0
       OPC_MoveParent,
10973
0
       OPC_CheckPatternPredicate, 12,
10974
0
       OPC_EmitMergeInputChains1_0,
10975
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
10976
0
                     MVT::i32, 2, 1, 2, 
10977
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10978
0
                     2, 4, 3, 
10979
0
      0,
10980
0
     55, 
10981
0
      OPC_CheckChild2CondCode, ISD::SETULE,
10982
0
      OPC_MoveParent,
10983
0
      OPC_CheckChild1Integer, 3, 
10984
0
      OPC_SwitchType , 22, MVT::i64,
10985
0
       OPC_MoveSibling2,
10986
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10987
0
       OPC_RecordNode,
10988
0
       OPC_MoveParent,
10989
0
       OPC_CheckPatternPredicate, 11,
10990
0
       OPC_EmitMergeInputChains1_0,
10991
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
10992
0
                     MVT::i64, 2, 1, 2, 
10993
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10994
0
                     2, 4, 3, 
10995
0
      22, MVT::i32,
10996
0
       OPC_MoveSibling2,
10997
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10998
0
       OPC_RecordNode,
10999
0
       OPC_MoveParent,
11000
0
       OPC_CheckPatternPredicate, 12,
11001
0
       OPC_EmitMergeInputChains1_0,
11002
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
11003
0
                     MVT::i32, 2, 1, 2, 
11004
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11005
0
                     2, 4, 3, 
11006
0
      0,
11007
0
     55, 
11008
0
      OPC_CheckChild2CondCode, ISD::SETUNE,
11009
0
      OPC_MoveParent,
11010
0
      OPC_CheckChild1Integer, 3, 
11011
0
      OPC_SwitchType , 22, MVT::i64,
11012
0
       OPC_MoveSibling2,
11013
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11014
0
       OPC_RecordNode,
11015
0
       OPC_MoveParent,
11016
0
       OPC_CheckPatternPredicate, 11,
11017
0
       OPC_EmitMergeInputChains1_0,
11018
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11019
0
                     MVT::i64, 2, 1, 2, 
11020
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11021
0
                     2, 4, 3, 
11022
0
      22, MVT::i32,
11023
0
       OPC_MoveSibling2,
11024
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11025
0
       OPC_RecordNode,
11026
0
       OPC_MoveParent,
11027
0
       OPC_CheckPatternPredicate, 12,
11028
0
       OPC_EmitMergeInputChains1_0,
11029
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11030
0
                     MVT::i32, 2, 1, 2, 
11031
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11032
0
                     2, 4, 3, 
11033
0
      0,
11034
0
     55, 
11035
0
      OPC_CheckChild2CondCode, ISD::SETUO,
11036
0
      OPC_MoveParent,
11037
0
      OPC_CheckChild1Integer, 3, 
11038
0
      OPC_SwitchType , 22, MVT::i64,
11039
0
       OPC_MoveSibling2,
11040
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11041
0
       OPC_RecordNode,
11042
0
       OPC_MoveParent,
11043
0
       OPC_CheckPatternPredicate, 11,
11044
0
       OPC_EmitMergeInputChains1_0,
11045
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11046
0
                     MVT::i64, 2, 1, 2, 
11047
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11048
0
                     2, 4, 3, 
11049
0
      22, MVT::i32,
11050
0
       OPC_MoveSibling2,
11051
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11052
0
       OPC_RecordNode,
11053
0
       OPC_MoveParent,
11054
0
       OPC_CheckPatternPredicate, 12,
11055
0
       OPC_EmitMergeInputChains1_0,
11056
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11057
0
                     MVT::i32, 2, 1, 2, 
11058
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11059
0
                     2, 4, 3, 
11060
0
      0,
11061
0
     55, 
11062
0
      OPC_CheckChild2CondCode, ISD::SETLT,
11063
0
      OPC_MoveParent,
11064
0
      OPC_CheckChild1Integer, 3, 
11065
0
      OPC_SwitchType , 22, MVT::i64,
11066
0
       OPC_MoveSibling2,
11067
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11068
0
       OPC_RecordNode,
11069
0
       OPC_MoveParent,
11070
0
       OPC_CheckPatternPredicate, 11,
11071
0
       OPC_EmitMergeInputChains1_0,
11072
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11073
0
                     MVT::i64, 2, 1, 2, 
11074
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11075
0
                     2, 4, 3, 
11076
0
      22, MVT::i32,
11077
0
       OPC_MoveSibling2,
11078
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11079
0
       OPC_RecordNode,
11080
0
       OPC_MoveParent,
11081
0
       OPC_CheckPatternPredicate, 12,
11082
0
       OPC_EmitMergeInputChains1_0,
11083
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11084
0
                     MVT::i32, 2, 1, 2, 
11085
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11086
0
                     2, 4, 3, 
11087
0
      0,
11088
0
     0, 
11089
0
    109|128,4, 
11090
0
     OPC_CheckChild0Type, MVT::f64,
11091
0
     OPC_RecordChild1,
11092
0
     OPC_Scope, 55, 
11093
0
      OPC_CheckChild2CondCode, ISD::SETOEQ,
11094
0
      OPC_MoveParent,
11095
0
      OPC_CheckChild1Integer, 3, 
11096
0
      OPC_SwitchType , 22, MVT::i64,
11097
0
       OPC_MoveSibling2,
11098
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11099
0
       OPC_RecordNode,
11100
0
       OPC_MoveParent,
11101
0
       OPC_CheckPatternPredicate, 13,
11102
0
       OPC_EmitMergeInputChains1_0,
11103
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11104
0
                     MVT::i64, 2, 1, 2, 
11105
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11106
0
                     2, 4, 3, 
11107
0
      22, MVT::i32,
11108
0
       OPC_MoveSibling2,
11109
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11110
0
       OPC_RecordNode,
11111
0
       OPC_MoveParent,
11112
0
       OPC_CheckPatternPredicate, 14,
11113
0
       OPC_EmitMergeInputChains1_0,
11114
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11115
0
                     MVT::i32, 2, 1, 2, 
11116
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11117
0
                     2, 4, 3, 
11118
0
      0,
11119
0
     55, 
11120
0
      OPC_CheckChild2CondCode, ISD::SETOLT,
11121
0
      OPC_MoveParent,
11122
0
      OPC_CheckChild1Integer, 3, 
11123
0
      OPC_SwitchType , 22, MVT::i64,
11124
0
       OPC_MoveSibling2,
11125
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11126
0
       OPC_RecordNode,
11127
0
       OPC_MoveParent,
11128
0
       OPC_CheckPatternPredicate, 13,
11129
0
       OPC_EmitMergeInputChains1_0,
11130
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11131
0
                     MVT::i64, 2, 1, 2, 
11132
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11133
0
                     2, 4, 3, 
11134
0
      22, MVT::i32,
11135
0
       OPC_MoveSibling2,
11136
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11137
0
       OPC_RecordNode,
11138
0
       OPC_MoveParent,
11139
0
       OPC_CheckPatternPredicate, 14,
11140
0
       OPC_EmitMergeInputChains1_0,
11141
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11142
0
                     MVT::i32, 2, 1, 2, 
11143
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11144
0
                     2, 4, 3, 
11145
0
      0,
11146
0
     55, 
11147
0
      OPC_CheckChild2CondCode, ISD::SETOLE,
11148
0
      OPC_MoveParent,
11149
0
      OPC_CheckChild1Integer, 3, 
11150
0
      OPC_SwitchType , 22, MVT::i64,
11151
0
       OPC_MoveSibling2,
11152
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11153
0
       OPC_RecordNode,
11154
0
       OPC_MoveParent,
11155
0
       OPC_CheckPatternPredicate, 13,
11156
0
       OPC_EmitMergeInputChains1_0,
11157
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11158
0
                     MVT::i64, 2, 1, 2, 
11159
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11160
0
                     2, 4, 3, 
11161
0
      22, MVT::i32,
11162
0
       OPC_MoveSibling2,
11163
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11164
0
       OPC_RecordNode,
11165
0
       OPC_MoveParent,
11166
0
       OPC_CheckPatternPredicate, 14,
11167
0
       OPC_EmitMergeInputChains1_0,
11168
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11169
0
                     MVT::i32, 2, 1, 2, 
11170
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11171
0
                     2, 4, 3, 
11172
0
      0,
11173
0
     55, 
11174
0
      OPC_CheckChild2CondCode, ISD::SETONE,
11175
0
      OPC_MoveParent,
11176
0
      OPC_CheckChild1Integer, 3, 
11177
0
      OPC_SwitchType , 22, MVT::i64,
11178
0
       OPC_MoveSibling2,
11179
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11180
0
       OPC_RecordNode,
11181
0
       OPC_MoveParent,
11182
0
       OPC_CheckPatternPredicate, 13,
11183
0
       OPC_EmitMergeInputChains1_0,
11184
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
11185
0
                     MVT::i64, 2, 1, 2, 
11186
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11187
0
                     2, 4, 3, 
11188
0
      22, MVT::i32,
11189
0
       OPC_MoveSibling2,
11190
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11191
0
       OPC_RecordNode,
11192
0
       OPC_MoveParent,
11193
0
       OPC_CheckPatternPredicate, 14,
11194
0
       OPC_EmitMergeInputChains1_0,
11195
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
11196
0
                     MVT::i32, 2, 1, 2, 
11197
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11198
0
                     2, 4, 3, 
11199
0
      0,
11200
0
     55, 
11201
0
      OPC_CheckChild2CondCode, ISD::SETO,
11202
0
      OPC_MoveParent,
11203
0
      OPC_CheckChild1Integer, 3, 
11204
0
      OPC_SwitchType , 22, MVT::i64,
11205
0
       OPC_MoveSibling2,
11206
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11207
0
       OPC_RecordNode,
11208
0
       OPC_MoveParent,
11209
0
       OPC_CheckPatternPredicate, 13,
11210
0
       OPC_EmitMergeInputChains1_0,
11211
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
11212
0
                     MVT::i64, 2, 1, 2, 
11213
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11214
0
                     2, 4, 3, 
11215
0
      22, MVT::i32,
11216
0
       OPC_MoveSibling2,
11217
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11218
0
       OPC_RecordNode,
11219
0
       OPC_MoveParent,
11220
0
       OPC_CheckPatternPredicate, 14,
11221
0
       OPC_EmitMergeInputChains1_0,
11222
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
11223
0
                     MVT::i32, 2, 1, 2, 
11224
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11225
0
                     2, 4, 3, 
11226
0
      0,
11227
0
     55, 
11228
0
      OPC_CheckChild2CondCode, ISD::SETUEQ,
11229
0
      OPC_MoveParent,
11230
0
      OPC_CheckChild1Integer, 3, 
11231
0
      OPC_SwitchType , 22, MVT::i64,
11232
0
       OPC_MoveSibling2,
11233
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11234
0
       OPC_RecordNode,
11235
0
       OPC_MoveParent,
11236
0
       OPC_CheckPatternPredicate, 13,
11237
0
       OPC_EmitMergeInputChains1_0,
11238
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
11239
0
                     MVT::i64, 2, 1, 2, 
11240
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11241
0
                     2, 4, 3, 
11242
0
      22, MVT::i32,
11243
0
       OPC_MoveSibling2,
11244
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11245
0
       OPC_RecordNode,
11246
0
       OPC_MoveParent,
11247
0
       OPC_CheckPatternPredicate, 14,
11248
0
       OPC_EmitMergeInputChains1_0,
11249
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
11250
0
                     MVT::i32, 2, 1, 2, 
11251
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11252
0
                     2, 4, 3, 
11253
0
      0,
11254
0
     55, 
11255
0
      OPC_CheckChild2CondCode, ISD::SETULT,
11256
0
      OPC_MoveParent,
11257
0
      OPC_CheckChild1Integer, 3, 
11258
0
      OPC_SwitchType , 22, MVT::i64,
11259
0
       OPC_MoveSibling2,
11260
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11261
0
       OPC_RecordNode,
11262
0
       OPC_MoveParent,
11263
0
       OPC_CheckPatternPredicate, 13,
11264
0
       OPC_EmitMergeInputChains1_0,
11265
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
11266
0
                     MVT::i64, 2, 1, 2, 
11267
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11268
0
                     2, 4, 3, 
11269
0
      22, MVT::i32,
11270
0
       OPC_MoveSibling2,
11271
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11272
0
       OPC_RecordNode,
11273
0
       OPC_MoveParent,
11274
0
       OPC_CheckPatternPredicate, 14,
11275
0
       OPC_EmitMergeInputChains1_0,
11276
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
11277
0
                     MVT::i32, 2, 1, 2, 
11278
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11279
0
                     2, 4, 3, 
11280
0
      0,
11281
0
     55, 
11282
0
      OPC_CheckChild2CondCode, ISD::SETULE,
11283
0
      OPC_MoveParent,
11284
0
      OPC_CheckChild1Integer, 3, 
11285
0
      OPC_SwitchType , 22, MVT::i64,
11286
0
       OPC_MoveSibling2,
11287
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11288
0
       OPC_RecordNode,
11289
0
       OPC_MoveParent,
11290
0
       OPC_CheckPatternPredicate, 13,
11291
0
       OPC_EmitMergeInputChains1_0,
11292
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
11293
0
                     MVT::i64, 2, 1, 2, 
11294
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11295
0
                     2, 4, 3, 
11296
0
      22, MVT::i32,
11297
0
       OPC_MoveSibling2,
11298
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11299
0
       OPC_RecordNode,
11300
0
       OPC_MoveParent,
11301
0
       OPC_CheckPatternPredicate, 14,
11302
0
       OPC_EmitMergeInputChains1_0,
11303
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
11304
0
                     MVT::i32, 2, 1, 2, 
11305
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11306
0
                     2, 4, 3, 
11307
0
      0,
11308
0
     55, 
11309
0
      OPC_CheckChild2CondCode, ISD::SETUNE,
11310
0
      OPC_MoveParent,
11311
0
      OPC_CheckChild1Integer, 3, 
11312
0
      OPC_SwitchType , 22, MVT::i64,
11313
0
       OPC_MoveSibling2,
11314
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11315
0
       OPC_RecordNode,
11316
0
       OPC_MoveParent,
11317
0
       OPC_CheckPatternPredicate, 13,
11318
0
       OPC_EmitMergeInputChains1_0,
11319
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
11320
0
                     MVT::i64, 2, 1, 2, 
11321
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11322
0
                     2, 4, 3, 
11323
0
      22, MVT::i32,
11324
0
       OPC_MoveSibling2,
11325
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11326
0
       OPC_RecordNode,
11327
0
       OPC_MoveParent,
11328
0
       OPC_CheckPatternPredicate, 14,
11329
0
       OPC_EmitMergeInputChains1_0,
11330
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
11331
0
                     MVT::i32, 2, 1, 2, 
11332
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11333
0
                     2, 4, 3, 
11334
0
      0,
11335
0
     55, 
11336
0
      OPC_CheckChild2CondCode, ISD::SETUO,
11337
0
      OPC_MoveParent,
11338
0
      OPC_CheckChild1Integer, 3, 
11339
0
      OPC_SwitchType , 22, MVT::i64,
11340
0
       OPC_MoveSibling2,
11341
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11342
0
       OPC_RecordNode,
11343
0
       OPC_MoveParent,
11344
0
       OPC_CheckPatternPredicate, 13,
11345
0
       OPC_EmitMergeInputChains1_0,
11346
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
11347
0
                     MVT::i64, 2, 1, 2, 
11348
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11349
0
                     2, 4, 3, 
11350
0
      22, MVT::i32,
11351
0
       OPC_MoveSibling2,
11352
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11353
0
       OPC_RecordNode,
11354
0
       OPC_MoveParent,
11355
0
       OPC_CheckPatternPredicate, 14,
11356
0
       OPC_EmitMergeInputChains1_0,
11357
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
11358
0
                     MVT::i32, 2, 1, 2, 
11359
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11360
0
                     2, 4, 3, 
11361
0
      0,
11362
0
     55, 
11363
0
      OPC_CheckChild2CondCode, ISD::SETLT,
11364
0
      OPC_MoveParent,
11365
0
      OPC_CheckChild1Integer, 3, 
11366
0
      OPC_SwitchType , 22, MVT::i64,
11367
0
       OPC_MoveSibling2,
11368
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11369
0
       OPC_RecordNode,
11370
0
       OPC_MoveParent,
11371
0
       OPC_CheckPatternPredicate, 13,
11372
0
       OPC_EmitMergeInputChains1_0,
11373
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11374
0
                     MVT::i64, 2, 1, 2, 
11375
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11376
0
                     2, 4, 3, 
11377
0
      22, MVT::i32,
11378
0
       OPC_MoveSibling2,
11379
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11380
0
       OPC_RecordNode,
11381
0
       OPC_MoveParent,
11382
0
       OPC_CheckPatternPredicate, 14,
11383
0
       OPC_EmitMergeInputChains1_0,
11384
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11385
0
                     MVT::i32, 2, 1, 2, 
11386
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11387
0
                     2, 4, 3, 
11388
0
      0,
11389
0
     0, 
11390
0
    0, 
11391
0
   119|128,12, TARGET_VAL(ISD::SETCC),
11392
0
    OPC_RecordChild0,
11393
0
    OPC_Scope, 100|128,1, 
11394
0
     OPC_CheckChild0TypeI64,
11395
0
     OPC_CheckTypeI64,
11396
0
     OPC_Scope, 38, 
11397
0
      OPC_CheckChild1Integer, 0, 
11398
0
      OPC_Scope, 16, 
11399
0
       OPC_CheckChild2CondCode, ISD::SETEQ,
11400
0
       OPC_MoveSibling2,
11401
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11402
0
       OPC_RecordNode,
11403
0
       OPC_MoveParent,
11404
0
       OPC_CheckPatternPredicate7,
11405
0
       OPC_EmitMergeInputChains1_0,
11406
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
11407
0
                     2, 1, 2, 
11408
0
      16, 
11409
0
       OPC_CheckChild2CondCode, ISD::SETNE,
11410
0
       OPC_MoveSibling2,
11411
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11412
0
       OPC_RecordNode,
11413
0
       OPC_MoveParent,
11414
0
       OPC_CheckPatternPredicate7,
11415
0
       OPC_EmitMergeInputChains1_0,
11416
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
11417
0
                     2, 1, 2, 
11418
0
      0, 
11419
0
     55|128,1, 
11420
0
      OPC_RecordChild1,
11421
0
      OPC_Scope, 17, 
11422
0
       OPC_CheckChild2CondCode, ISD::SETEQ,
11423
0
       OPC_MoveSibling2,
11424
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11425
0
       OPC_RecordNode,
11426
0
       OPC_MoveParent,
11427
0
       OPC_CheckPatternPredicate7,
11428
0
       OPC_EmitMergeInputChains1_0,
11429
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
11430
0
                     3, 1, 2, 3, 
11431
0
      17, 
11432
0
       OPC_CheckChild2CondCode, ISD::SETNE,
11433
0
       OPC_MoveSibling2,
11434
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11435
0
       OPC_RecordNode,
11436
0
       OPC_MoveParent,
11437
0
       OPC_CheckPatternPredicate7,
11438
0
       OPC_EmitMergeInputChains1_0,
11439
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
11440
0
                     3, 1, 2, 3, 
11441
0
      17, 
11442
0
       OPC_CheckChild2CondCode, ISD::SETLT,
11443
0
       OPC_MoveSibling2,
11444
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11445
0
       OPC_RecordNode,
11446
0
       OPC_MoveParent,
11447
0
       OPC_CheckPatternPredicate7,
11448
0
       OPC_EmitMergeInputChains1_0,
11449
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11450
0
                     3, 1, 2, 3, 
11451
0
      17, 
11452
0
       OPC_CheckChild2CondCode, ISD::SETGE,
11453
0
       OPC_MoveSibling2,
11454
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11455
0
       OPC_RecordNode,
11456
0
       OPC_MoveParent,
11457
0
       OPC_CheckPatternPredicate7,
11458
0
       OPC_EmitMergeInputChains1_0,
11459
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11460
0
                     3, 1, 2, 3, 
11461
0
      17, 
11462
0
       OPC_CheckChild2CondCode, ISD::SETULT,
11463
0
       OPC_MoveSibling2,
11464
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11465
0
       OPC_RecordNode,
11466
0
       OPC_MoveParent,
11467
0
       OPC_CheckPatternPredicate7,
11468
0
       OPC_EmitMergeInputChains1_0,
11469
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11470
0
                     3, 1, 2, 3, 
11471
0
      17, 
11472
0
       OPC_CheckChild2CondCode, ISD::SETUGE,
11473
0
       OPC_MoveSibling2,
11474
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11475
0
       OPC_RecordNode,
11476
0
       OPC_MoveParent,
11477
0
       OPC_CheckPatternPredicate7,
11478
0
       OPC_EmitMergeInputChains1_0,
11479
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11480
0
                     3, 1, 2, 3, 
11481
0
      17, 
11482
0
       OPC_CheckChild2CondCode, ISD::SETGT,
11483
0
       OPC_MoveSibling2,
11484
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11485
0
       OPC_RecordNode,
11486
0
       OPC_MoveParent,
11487
0
       OPC_CheckPatternPredicate7,
11488
0
       OPC_EmitMergeInputChains1_0,
11489
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11490
0
                     3, 2, 1, 3, 
11491
0
      17, 
11492
0
       OPC_CheckChild2CondCode, ISD::SETLE,
11493
0
       OPC_MoveSibling2,
11494
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11495
0
       OPC_RecordNode,
11496
0
       OPC_MoveParent,
11497
0
       OPC_CheckPatternPredicate7,
11498
0
       OPC_EmitMergeInputChains1_0,
11499
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11500
0
                     3, 2, 1, 3, 
11501
0
      17, 
11502
0
       OPC_CheckChild2CondCode, ISD::SETUGT,
11503
0
       OPC_MoveSibling2,
11504
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11505
0
       OPC_RecordNode,
11506
0
       OPC_MoveParent,
11507
0
       OPC_CheckPatternPredicate7,
11508
0
       OPC_EmitMergeInputChains1_0,
11509
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11510
0
                     3, 2, 1, 3, 
11511
0
      17, 
11512
0
       OPC_CheckChild2CondCode, ISD::SETULE,
11513
0
       OPC_MoveSibling2,
11514
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11515
0
       OPC_RecordNode,
11516
0
       OPC_MoveParent,
11517
0
       OPC_CheckPatternPredicate7,
11518
0
       OPC_EmitMergeInputChains1_0,
11519
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11520
0
                     3, 2, 1, 3, 
11521
0
      0, 
11522
0
     0, 
11523
0
    112|128,1, 
11524
0
     OPC_CheckChild0TypeI32,
11525
0
     OPC_CheckTypeI32,
11526
0
     OPC_Scope, 40, 
11527
0
      OPC_CheckChild1Integer, 0, 
11528
0
      OPC_Scope, 17, 
11529
0
       OPC_CheckChild2CondCode, ISD::SETEQ,
11530
0
       OPC_MoveSibling2,
11531
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11532
0
       OPC_RecordNode,
11533
0
       OPC_MoveParent,
11534
0
       OPC_CheckPatternPredicate, 8,
11535
0
       OPC_EmitMergeInputChains1_0,
11536
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
11537
0
                     2, 1, 2, 
11538
0
      17, 
11539
0
       OPC_CheckChild2CondCode, ISD::SETNE,
11540
0
       OPC_MoveSibling2,
11541
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11542
0
       OPC_RecordNode,
11543
0
       OPC_MoveParent,
11544
0
       OPC_CheckPatternPredicate, 8,
11545
0
       OPC_EmitMergeInputChains1_0,
11546
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
11547
0
                     2, 1, 2, 
11548
0
      0, 
11549
0
     65|128,1, 
11550
0
      OPC_RecordChild1,
11551
0
      OPC_Scope, 18, 
11552
0
       OPC_CheckChild2CondCode, ISD::SETEQ,
11553
0
       OPC_MoveSibling2,
11554
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11555
0
       OPC_RecordNode,
11556
0
       OPC_MoveParent,
11557
0
       OPC_CheckPatternPredicate, 8,
11558
0
       OPC_EmitMergeInputChains1_0,
11559
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
11560
0
                     3, 1, 2, 3, 
11561
0
      18, 
11562
0
       OPC_CheckChild2CondCode, ISD::SETNE,
11563
0
       OPC_MoveSibling2,
11564
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11565
0
       OPC_RecordNode,
11566
0
       OPC_MoveParent,
11567
0
       OPC_CheckPatternPredicate, 8,
11568
0
       OPC_EmitMergeInputChains1_0,
11569
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
11570
0
                     3, 1, 2, 3, 
11571
0
      18, 
11572
0
       OPC_CheckChild2CondCode, ISD::SETLT,
11573
0
       OPC_MoveSibling2,
11574
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11575
0
       OPC_RecordNode,
11576
0
       OPC_MoveParent,
11577
0
       OPC_CheckPatternPredicate, 8,
11578
0
       OPC_EmitMergeInputChains1_0,
11579
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11580
0
                     3, 1, 2, 3, 
11581
0
      18, 
11582
0
       OPC_CheckChild2CondCode, ISD::SETGE,
11583
0
       OPC_MoveSibling2,
11584
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11585
0
       OPC_RecordNode,
11586
0
       OPC_MoveParent,
11587
0
       OPC_CheckPatternPredicate, 8,
11588
0
       OPC_EmitMergeInputChains1_0,
11589
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11590
0
                     3, 1, 2, 3, 
11591
0
      18, 
11592
0
       OPC_CheckChild2CondCode, ISD::SETULT,
11593
0
       OPC_MoveSibling2,
11594
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11595
0
       OPC_RecordNode,
11596
0
       OPC_MoveParent,
11597
0
       OPC_CheckPatternPredicate, 8,
11598
0
       OPC_EmitMergeInputChains1_0,
11599
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11600
0
                     3, 1, 2, 3, 
11601
0
      18, 
11602
0
       OPC_CheckChild2CondCode, ISD::SETUGE,
11603
0
       OPC_MoveSibling2,
11604
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11605
0
       OPC_RecordNode,
11606
0
       OPC_MoveParent,
11607
0
       OPC_CheckPatternPredicate, 8,
11608
0
       OPC_EmitMergeInputChains1_0,
11609
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11610
0
                     3, 1, 2, 3, 
11611
0
      18, 
11612
0
       OPC_CheckChild2CondCode, ISD::SETGT,
11613
0
       OPC_MoveSibling2,
11614
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11615
0
       OPC_RecordNode,
11616
0
       OPC_MoveParent,
11617
0
       OPC_CheckPatternPredicate, 8,
11618
0
       OPC_EmitMergeInputChains1_0,
11619
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11620
0
                     3, 2, 1, 3, 
11621
0
      18, 
11622
0
       OPC_CheckChild2CondCode, ISD::SETLE,
11623
0
       OPC_MoveSibling2,
11624
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11625
0
       OPC_RecordNode,
11626
0
       OPC_MoveParent,
11627
0
       OPC_CheckPatternPredicate, 8,
11628
0
       OPC_EmitMergeInputChains1_0,
11629
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11630
0
                     3, 2, 1, 3, 
11631
0
      18, 
11632
0
       OPC_CheckChild2CondCode, ISD::SETUGT,
11633
0
       OPC_MoveSibling2,
11634
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11635
0
       OPC_RecordNode,
11636
0
       OPC_MoveParent,
11637
0
       OPC_CheckPatternPredicate, 8,
11638
0
       OPC_EmitMergeInputChains1_0,
11639
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11640
0
                     3, 2, 1, 3, 
11641
0
      18, 
11642
0
       OPC_CheckChild2CondCode, ISD::SETULE,
11643
0
       OPC_MoveSibling2,
11644
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11645
0
       OPC_RecordNode,
11646
0
       OPC_MoveParent,
11647
0
       OPC_CheckPatternPredicate, 8,
11648
0
       OPC_EmitMergeInputChains1_0,
11649
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11650
0
                     3, 2, 1, 3, 
11651
0
      0, 
11652
0
     0, 
11653
0
    76|128,4, 
11654
0
     OPC_CheckChild0Type, MVT::f32,
11655
0
     OPC_RecordChild1,
11656
0
     OPC_Scope, 52, 
11657
0
      OPC_CheckChild2CondCode, ISD::SETOEQ,
11658
0
      OPC_SwitchType , 22, MVT::i64,
11659
0
       OPC_MoveSibling2,
11660
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11661
0
       OPC_RecordNode,
11662
0
       OPC_MoveParent,
11663
0
       OPC_CheckPatternPredicate, 11,
11664
0
       OPC_EmitMergeInputChains1_0,
11665
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
11666
0
                     MVT::i64, 2, 1, 2, 
11667
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11668
0
                     2, 4, 3, 
11669
0
      22, MVT::i32,
11670
0
       OPC_MoveSibling2,
11671
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11672
0
       OPC_RecordNode,
11673
0
       OPC_MoveParent,
11674
0
       OPC_CheckPatternPredicate, 12,
11675
0
       OPC_EmitMergeInputChains1_0,
11676
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
11677
0
                     MVT::i32, 2, 1, 2, 
11678
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11679
0
                     2, 4, 3, 
11680
0
      0,
11681
0
     52, 
11682
0
      OPC_CheckChild2CondCode, ISD::SETOLT,
11683
0
      OPC_SwitchType , 22, MVT::i64,
11684
0
       OPC_MoveSibling2,
11685
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11686
0
       OPC_RecordNode,
11687
0
       OPC_MoveParent,
11688
0
       OPC_CheckPatternPredicate, 11,
11689
0
       OPC_EmitMergeInputChains1_0,
11690
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11691
0
                     MVT::i64, 2, 1, 2, 
11692
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11693
0
                     2, 4, 3, 
11694
0
      22, MVT::i32,
11695
0
       OPC_MoveSibling2,
11696
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11697
0
       OPC_RecordNode,
11698
0
       OPC_MoveParent,
11699
0
       OPC_CheckPatternPredicate, 12,
11700
0
       OPC_EmitMergeInputChains1_0,
11701
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11702
0
                     MVT::i32, 2, 1, 2, 
11703
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11704
0
                     2, 4, 3, 
11705
0
      0,
11706
0
     52, 
11707
0
      OPC_CheckChild2CondCode, ISD::SETOLE,
11708
0
      OPC_SwitchType , 22, MVT::i64,
11709
0
       OPC_MoveSibling2,
11710
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11711
0
       OPC_RecordNode,
11712
0
       OPC_MoveParent,
11713
0
       OPC_CheckPatternPredicate, 11,
11714
0
       OPC_EmitMergeInputChains1_0,
11715
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
11716
0
                     MVT::i64, 2, 1, 2, 
11717
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11718
0
                     2, 4, 3, 
11719
0
      22, MVT::i32,
11720
0
       OPC_MoveSibling2,
11721
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11722
0
       OPC_RecordNode,
11723
0
       OPC_MoveParent,
11724
0
       OPC_CheckPatternPredicate, 12,
11725
0
       OPC_EmitMergeInputChains1_0,
11726
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
11727
0
                     MVT::i32, 2, 1, 2, 
11728
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11729
0
                     2, 4, 3, 
11730
0
      0,
11731
0
     52, 
11732
0
      OPC_CheckChild2CondCode, ISD::SETONE,
11733
0
      OPC_SwitchType , 22, MVT::i64,
11734
0
       OPC_MoveSibling2,
11735
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11736
0
       OPC_RecordNode,
11737
0
       OPC_MoveParent,
11738
0
       OPC_CheckPatternPredicate, 11,
11739
0
       OPC_EmitMergeInputChains1_0,
11740
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
11741
0
                     MVT::i64, 2, 1, 2, 
11742
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11743
0
                     2, 4, 3, 
11744
0
      22, MVT::i32,
11745
0
       OPC_MoveSibling2,
11746
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11747
0
       OPC_RecordNode,
11748
0
       OPC_MoveParent,
11749
0
       OPC_CheckPatternPredicate, 12,
11750
0
       OPC_EmitMergeInputChains1_0,
11751
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
11752
0
                     MVT::i32, 2, 1, 2, 
11753
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11754
0
                     2, 4, 3, 
11755
0
      0,
11756
0
     52, 
11757
0
      OPC_CheckChild2CondCode, ISD::SETO,
11758
0
      OPC_SwitchType , 22, MVT::i64,
11759
0
       OPC_MoveSibling2,
11760
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11761
0
       OPC_RecordNode,
11762
0
       OPC_MoveParent,
11763
0
       OPC_CheckPatternPredicate, 11,
11764
0
       OPC_EmitMergeInputChains1_0,
11765
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
11766
0
                     MVT::i64, 2, 1, 2, 
11767
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11768
0
                     2, 4, 3, 
11769
0
      22, MVT::i32,
11770
0
       OPC_MoveSibling2,
11771
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11772
0
       OPC_RecordNode,
11773
0
       OPC_MoveParent,
11774
0
       OPC_CheckPatternPredicate, 12,
11775
0
       OPC_EmitMergeInputChains1_0,
11776
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
11777
0
                     MVT::i32, 2, 1, 2, 
11778
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11779
0
                     2, 4, 3, 
11780
0
      0,
11781
0
     52, 
11782
0
      OPC_CheckChild2CondCode, ISD::SETUEQ,
11783
0
      OPC_SwitchType , 22, MVT::i64,
11784
0
       OPC_MoveSibling2,
11785
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11786
0
       OPC_RecordNode,
11787
0
       OPC_MoveParent,
11788
0
       OPC_CheckPatternPredicate, 11,
11789
0
       OPC_EmitMergeInputChains1_0,
11790
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
11791
0
                     MVT::i64, 2, 1, 2, 
11792
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11793
0
                     2, 4, 3, 
11794
0
      22, MVT::i32,
11795
0
       OPC_MoveSibling2,
11796
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11797
0
       OPC_RecordNode,
11798
0
       OPC_MoveParent,
11799
0
       OPC_CheckPatternPredicate, 12,
11800
0
       OPC_EmitMergeInputChains1_0,
11801
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
11802
0
                     MVT::i32, 2, 1, 2, 
11803
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11804
0
                     2, 4, 3, 
11805
0
      0,
11806
0
     52, 
11807
0
      OPC_CheckChild2CondCode, ISD::SETULT,
11808
0
      OPC_SwitchType , 22, MVT::i64,
11809
0
       OPC_MoveSibling2,
11810
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11811
0
       OPC_RecordNode,
11812
0
       OPC_MoveParent,
11813
0
       OPC_CheckPatternPredicate, 11,
11814
0
       OPC_EmitMergeInputChains1_0,
11815
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
11816
0
                     MVT::i64, 2, 1, 2, 
11817
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11818
0
                     2, 4, 3, 
11819
0
      22, MVT::i32,
11820
0
       OPC_MoveSibling2,
11821
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11822
0
       OPC_RecordNode,
11823
0
       OPC_MoveParent,
11824
0
       OPC_CheckPatternPredicate, 12,
11825
0
       OPC_EmitMergeInputChains1_0,
11826
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
11827
0
                     MVT::i32, 2, 1, 2, 
11828
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11829
0
                     2, 4, 3, 
11830
0
      0,
11831
0
     52, 
11832
0
      OPC_CheckChild2CondCode, ISD::SETULE,
11833
0
      OPC_SwitchType , 22, MVT::i64,
11834
0
       OPC_MoveSibling2,
11835
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11836
0
       OPC_RecordNode,
11837
0
       OPC_MoveParent,
11838
0
       OPC_CheckPatternPredicate, 11,
11839
0
       OPC_EmitMergeInputChains1_0,
11840
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
11841
0
                     MVT::i64, 2, 1, 2, 
11842
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11843
0
                     2, 4, 3, 
11844
0
      22, MVT::i32,
11845
0
       OPC_MoveSibling2,
11846
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11847
0
       OPC_RecordNode,
11848
0
       OPC_MoveParent,
11849
0
       OPC_CheckPatternPredicate, 12,
11850
0
       OPC_EmitMergeInputChains1_0,
11851
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
11852
0
                     MVT::i32, 2, 1, 2, 
11853
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11854
0
                     2, 4, 3, 
11855
0
      0,
11856
0
     52, 
11857
0
      OPC_CheckChild2CondCode, ISD::SETUNE,
11858
0
      OPC_SwitchType , 22, MVT::i64,
11859
0
       OPC_MoveSibling2,
11860
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11861
0
       OPC_RecordNode,
11862
0
       OPC_MoveParent,
11863
0
       OPC_CheckPatternPredicate, 11,
11864
0
       OPC_EmitMergeInputChains1_0,
11865
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11866
0
                     MVT::i64, 2, 1, 2, 
11867
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11868
0
                     2, 4, 3, 
11869
0
      22, MVT::i32,
11870
0
       OPC_MoveSibling2,
11871
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11872
0
       OPC_RecordNode,
11873
0
       OPC_MoveParent,
11874
0
       OPC_CheckPatternPredicate, 12,
11875
0
       OPC_EmitMergeInputChains1_0,
11876
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11877
0
                     MVT::i32, 2, 1, 2, 
11878
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11879
0
                     2, 4, 3, 
11880
0
      0,
11881
0
     52, 
11882
0
      OPC_CheckChild2CondCode, ISD::SETUO,
11883
0
      OPC_SwitchType , 22, MVT::i64,
11884
0
       OPC_MoveSibling2,
11885
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11886
0
       OPC_RecordNode,
11887
0
       OPC_MoveParent,
11888
0
       OPC_CheckPatternPredicate, 11,
11889
0
       OPC_EmitMergeInputChains1_0,
11890
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11891
0
                     MVT::i64, 2, 1, 2, 
11892
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11893
0
                     2, 4, 3, 
11894
0
      22, MVT::i32,
11895
0
       OPC_MoveSibling2,
11896
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11897
0
       OPC_RecordNode,
11898
0
       OPC_MoveParent,
11899
0
       OPC_CheckPatternPredicate, 12,
11900
0
       OPC_EmitMergeInputChains1_0,
11901
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11902
0
                     MVT::i32, 2, 1, 2, 
11903
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11904
0
                     2, 4, 3, 
11905
0
      0,
11906
0
     52, 
11907
0
      OPC_CheckChild2CondCode, ISD::SETLT,
11908
0
      OPC_SwitchType , 22, MVT::i64,
11909
0
       OPC_MoveSibling2,
11910
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11911
0
       OPC_RecordNode,
11912
0
       OPC_MoveParent,
11913
0
       OPC_CheckPatternPredicate, 11,
11914
0
       OPC_EmitMergeInputChains1_0,
11915
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11916
0
                     MVT::i64, 2, 1, 2, 
11917
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11918
0
                     2, 4, 3, 
11919
0
      22, MVT::i32,
11920
0
       OPC_MoveSibling2,
11921
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11922
0
       OPC_RecordNode,
11923
0
       OPC_MoveParent,
11924
0
       OPC_CheckPatternPredicate, 12,
11925
0
       OPC_EmitMergeInputChains1_0,
11926
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11927
0
                     MVT::i32, 2, 1, 2, 
11928
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11929
0
                     2, 4, 3, 
11930
0
      0,
11931
0
     0, 
11932
0
    76|128,4, 
11933
0
     OPC_CheckChild0Type, MVT::f64,
11934
0
     OPC_RecordChild1,
11935
0
     OPC_Scope, 52, 
11936
0
      OPC_CheckChild2CondCode, ISD::SETOEQ,
11937
0
      OPC_SwitchType , 22, MVT::i64,
11938
0
       OPC_MoveSibling2,
11939
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11940
0
       OPC_RecordNode,
11941
0
       OPC_MoveParent,
11942
0
       OPC_CheckPatternPredicate, 13,
11943
0
       OPC_EmitMergeInputChains1_0,
11944
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11945
0
                     MVT::i64, 2, 1, 2, 
11946
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11947
0
                     2, 4, 3, 
11948
0
      22, MVT::i32,
11949
0
       OPC_MoveSibling2,
11950
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11951
0
       OPC_RecordNode,
11952
0
       OPC_MoveParent,
11953
0
       OPC_CheckPatternPredicate, 14,
11954
0
       OPC_EmitMergeInputChains1_0,
11955
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11956
0
                     MVT::i32, 2, 1, 2, 
11957
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11958
0
                     2, 4, 3, 
11959
0
      0,
11960
0
     52, 
11961
0
      OPC_CheckChild2CondCode, ISD::SETOLT,
11962
0
      OPC_SwitchType , 22, MVT::i64,
11963
0
       OPC_MoveSibling2,
11964
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11965
0
       OPC_RecordNode,
11966
0
       OPC_MoveParent,
11967
0
       OPC_CheckPatternPredicate, 13,
11968
0
       OPC_EmitMergeInputChains1_0,
11969
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11970
0
                     MVT::i64, 2, 1, 2, 
11971
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11972
0
                     2, 4, 3, 
11973
0
      22, MVT::i32,
11974
0
       OPC_MoveSibling2,
11975
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11976
0
       OPC_RecordNode,
11977
0
       OPC_MoveParent,
11978
0
       OPC_CheckPatternPredicate, 14,
11979
0
       OPC_EmitMergeInputChains1_0,
11980
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11981
0
                     MVT::i32, 2, 1, 2, 
11982
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11983
0
                     2, 4, 3, 
11984
0
      0,
11985
0
     52, 
11986
0
      OPC_CheckChild2CondCode, ISD::SETOLE,
11987
0
      OPC_SwitchType , 22, MVT::i64,
11988
0
       OPC_MoveSibling2,
11989
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11990
0
       OPC_RecordNode,
11991
0
       OPC_MoveParent,
11992
0
       OPC_CheckPatternPredicate, 13,
11993
0
       OPC_EmitMergeInputChains1_0,
11994
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11995
0
                     MVT::i64, 2, 1, 2, 
11996
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11997
0
                     2, 4, 3, 
11998
0
      22, MVT::i32,
11999
0
       OPC_MoveSibling2,
12000
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12001
0
       OPC_RecordNode,
12002
0
       OPC_MoveParent,
12003
0
       OPC_CheckPatternPredicate, 14,
12004
0
       OPC_EmitMergeInputChains1_0,
12005
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
12006
0
                     MVT::i32, 2, 1, 2, 
12007
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12008
0
                     2, 4, 3, 
12009
0
      0,
12010
0
     52, 
12011
0
      OPC_CheckChild2CondCode, ISD::SETONE,
12012
0
      OPC_SwitchType , 22, MVT::i64,
12013
0
       OPC_MoveSibling2,
12014
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12015
0
       OPC_RecordNode,
12016
0
       OPC_MoveParent,
12017
0
       OPC_CheckPatternPredicate, 13,
12018
0
       OPC_EmitMergeInputChains1_0,
12019
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
12020
0
                     MVT::i64, 2, 1, 2, 
12021
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12022
0
                     2, 4, 3, 
12023
0
      22, MVT::i32,
12024
0
       OPC_MoveSibling2,
12025
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12026
0
       OPC_RecordNode,
12027
0
       OPC_MoveParent,
12028
0
       OPC_CheckPatternPredicate, 14,
12029
0
       OPC_EmitMergeInputChains1_0,
12030
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
12031
0
                     MVT::i32, 2, 1, 2, 
12032
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12033
0
                     2, 4, 3, 
12034
0
      0,
12035
0
     52, 
12036
0
      OPC_CheckChild2CondCode, ISD::SETO,
12037
0
      OPC_SwitchType , 22, MVT::i64,
12038
0
       OPC_MoveSibling2,
12039
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12040
0
       OPC_RecordNode,
12041
0
       OPC_MoveParent,
12042
0
       OPC_CheckPatternPredicate, 13,
12043
0
       OPC_EmitMergeInputChains1_0,
12044
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
12045
0
                     MVT::i64, 2, 1, 2, 
12046
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12047
0
                     2, 4, 3, 
12048
0
      22, MVT::i32,
12049
0
       OPC_MoveSibling2,
12050
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12051
0
       OPC_RecordNode,
12052
0
       OPC_MoveParent,
12053
0
       OPC_CheckPatternPredicate, 14,
12054
0
       OPC_EmitMergeInputChains1_0,
12055
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
12056
0
                     MVT::i32, 2, 1, 2, 
12057
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12058
0
                     2, 4, 3, 
12059
0
      0,
12060
0
     52, 
12061
0
      OPC_CheckChild2CondCode, ISD::SETUEQ,
12062
0
      OPC_SwitchType , 22, MVT::i64,
12063
0
       OPC_MoveSibling2,
12064
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12065
0
       OPC_RecordNode,
12066
0
       OPC_MoveParent,
12067
0
       OPC_CheckPatternPredicate, 13,
12068
0
       OPC_EmitMergeInputChains1_0,
12069
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
12070
0
                     MVT::i64, 2, 1, 2, 
12071
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12072
0
                     2, 4, 3, 
12073
0
      22, MVT::i32,
12074
0
       OPC_MoveSibling2,
12075
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12076
0
       OPC_RecordNode,
12077
0
       OPC_MoveParent,
12078
0
       OPC_CheckPatternPredicate, 14,
12079
0
       OPC_EmitMergeInputChains1_0,
12080
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
12081
0
                     MVT::i32, 2, 1, 2, 
12082
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12083
0
                     2, 4, 3, 
12084
0
      0,
12085
0
     52, 
12086
0
      OPC_CheckChild2CondCode, ISD::SETULT,
12087
0
      OPC_SwitchType , 22, MVT::i64,
12088
0
       OPC_MoveSibling2,
12089
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12090
0
       OPC_RecordNode,
12091
0
       OPC_MoveParent,
12092
0
       OPC_CheckPatternPredicate, 13,
12093
0
       OPC_EmitMergeInputChains1_0,
12094
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
12095
0
                     MVT::i64, 2, 1, 2, 
12096
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12097
0
                     2, 4, 3, 
12098
0
      22, MVT::i32,
12099
0
       OPC_MoveSibling2,
12100
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12101
0
       OPC_RecordNode,
12102
0
       OPC_MoveParent,
12103
0
       OPC_CheckPatternPredicate, 14,
12104
0
       OPC_EmitMergeInputChains1_0,
12105
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
12106
0
                     MVT::i32, 2, 1, 2, 
12107
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12108
0
                     2, 4, 3, 
12109
0
      0,
12110
0
     52, 
12111
0
      OPC_CheckChild2CondCode, ISD::SETULE,
12112
0
      OPC_SwitchType , 22, MVT::i64,
12113
0
       OPC_MoveSibling2,
12114
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12115
0
       OPC_RecordNode,
12116
0
       OPC_MoveParent,
12117
0
       OPC_CheckPatternPredicate, 13,
12118
0
       OPC_EmitMergeInputChains1_0,
12119
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
12120
0
                     MVT::i64, 2, 1, 2, 
12121
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12122
0
                     2, 4, 3, 
12123
0
      22, MVT::i32,
12124
0
       OPC_MoveSibling2,
12125
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12126
0
       OPC_RecordNode,
12127
0
       OPC_MoveParent,
12128
0
       OPC_CheckPatternPredicate, 14,
12129
0
       OPC_EmitMergeInputChains1_0,
12130
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
12131
0
                     MVT::i32, 2, 1, 2, 
12132
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12133
0
                     2, 4, 3, 
12134
0
      0,
12135
0
     52, 
12136
0
      OPC_CheckChild2CondCode, ISD::SETUNE,
12137
0
      OPC_SwitchType , 22, MVT::i64,
12138
0
       OPC_MoveSibling2,
12139
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12140
0
       OPC_RecordNode,
12141
0
       OPC_MoveParent,
12142
0
       OPC_CheckPatternPredicate, 13,
12143
0
       OPC_EmitMergeInputChains1_0,
12144
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
12145
0
                     MVT::i64, 2, 1, 2, 
12146
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12147
0
                     2, 4, 3, 
12148
0
      22, MVT::i32,
12149
0
       OPC_MoveSibling2,
12150
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12151
0
       OPC_RecordNode,
12152
0
       OPC_MoveParent,
12153
0
       OPC_CheckPatternPredicate, 14,
12154
0
       OPC_EmitMergeInputChains1_0,
12155
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
12156
0
                     MVT::i32, 2, 1, 2, 
12157
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12158
0
                     2, 4, 3, 
12159
0
      0,
12160
0
     52, 
12161
0
      OPC_CheckChild2CondCode, ISD::SETUO,
12162
0
      OPC_SwitchType , 22, MVT::i64,
12163
0
       OPC_MoveSibling2,
12164
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12165
0
       OPC_RecordNode,
12166
0
       OPC_MoveParent,
12167
0
       OPC_CheckPatternPredicate, 13,
12168
0
       OPC_EmitMergeInputChains1_0,
12169
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
12170
0
                     MVT::i64, 2, 1, 2, 
12171
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12172
0
                     2, 4, 3, 
12173
0
      22, MVT::i32,
12174
0
       OPC_MoveSibling2,
12175
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12176
0
       OPC_RecordNode,
12177
0
       OPC_MoveParent,
12178
0
       OPC_CheckPatternPredicate, 14,
12179
0
       OPC_EmitMergeInputChains1_0,
12180
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
12181
0
                     MVT::i32, 2, 1, 2, 
12182
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12183
0
                     2, 4, 3, 
12184
0
      0,
12185
0
     52, 
12186
0
      OPC_CheckChild2CondCode, ISD::SETLT,
12187
0
      OPC_SwitchType , 22, MVT::i64,
12188
0
       OPC_MoveSibling2,
12189
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12190
0
       OPC_RecordNode,
12191
0
       OPC_MoveParent,
12192
0
       OPC_CheckPatternPredicate, 13,
12193
0
       OPC_EmitMergeInputChains1_0,
12194
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
12195
0
                     MVT::i64, 2, 1, 2, 
12196
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12197
0
                     2, 4, 3, 
12198
0
      22, MVT::i32,
12199
0
       OPC_MoveSibling2,
12200
0
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12201
0
       OPC_RecordNode,
12202
0
       OPC_MoveParent,
12203
0
       OPC_CheckPatternPredicate, 14,
12204
0
       OPC_EmitMergeInputChains1_0,
12205
0
       OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
12206
0
                     MVT::i32, 2, 1, 2, 
12207
0
       OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12208
0
                     2, 4, 3, 
12209
0
      0,
12210
0
     0, 
12211
0
    0, 
12212
0
   0,
12213
0
  36, 
12214
0
   OPC_RecordChild1,
12215
0
   OPC_Scope, 15, 
12216
0
    OPC_CheckChild1TypeI64,
12217
0
    OPC_RecordChild2,
12218
0
    OPC_MoveChild2,
12219
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12220
0
    OPC_MoveParent,
12221
0
    OPC_CheckPatternPredicate7,
12222
0
    OPC_EmitMergeInputChains1_0,
12223
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
12224
0
                  2, 1, 2, 
12225
0
   16, 
12226
0
    OPC_CheckChild1TypeI32,
12227
0
    OPC_RecordChild2,
12228
0
    OPC_MoveChild2,
12229
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12230
0
    OPC_MoveParent,
12231
0
    OPC_CheckPatternPredicate, 8,
12232
0
    OPC_EmitMergeInputChains1_0,
12233
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
12234
0
                  2, 1, 2, 
12235
0
   0, 
12236
0
  0, 
12237
0
 124|128,30, TARGET_VAL(ISD::XOR),
12238
0
  OPC_Scope, 32, 
12239
0
   OPC_MoveChild0,
12240
0
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
12241
0
   OPC_RecordChild0,
12242
0
   OPC_RecordChild1,
12243
0
   OPC_MoveParent,
12244
0
   OPC_CheckChild1Integer, 3, 
12245
0
   OPC_SwitchType , 8, MVT::i64,
12246
0
    OPC_CheckPatternPredicate7,
12247
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12248
0
                  MVT::i64, 2, 0, 1, 
12249
0
   9, MVT::i32,
12250
0
    OPC_CheckPatternPredicate, 8,
12251
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12252
0
                  MVT::i32, 2, 0, 1, 
12253
0
   0,
12254
0
  60|128,1, 
12255
0
   OPC_RecordChild0,
12256
0
   OPC_Scope, 29, 
12257
0
    OPC_CheckChild1Integer, 3, 
12258
0
    OPC_SwitchType , 10, MVT::i64,
12259
0
     OPC_CheckPatternPredicate7,
12260
0
     OPC_EmitRegisterI64, LoongArch::R0,
12261
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12262
0
                   MVT::i64, 2, 0, 1, 
12263
0
    11, MVT::i32,
12264
0
     OPC_CheckPatternPredicate, 8,
12265
0
     OPC_EmitRegisterI32, LoongArch::R0,
12266
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12267
0
                   MVT::i32, 2, 0, 1, 
12268
0
    0,
12269
0
   57, 
12270
0
    OPC_RecordChild1,
12271
0
    OPC_Scope, 32, 
12272
0
     OPC_MoveChild1,
12273
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12274
0
     OPC_CheckPredicate, 45,
12275
0
     OPC_MoveParent,
12276
0
     OPC_SwitchType , 9, MVT::i64,
12277
0
      OPC_CheckPatternPredicate7,
12278
0
      OPC_EmitConvertToTarget1,
12279
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
12280
0
                    MVT::i64, 2, 0, 2, 
12281
0
     10, MVT::i32,
12282
0
      OPC_CheckPatternPredicate, 8,
12283
0
      OPC_EmitConvertToTarget1,
12284
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
12285
0
                    MVT::i32, 2, 0, 2, 
12286
0
     0,
12287
0
    9, 
12288
0
     OPC_CheckTypeI64,
12289
0
     OPC_CheckPatternPredicate7,
12290
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
12291
0
                   MVT::i64, 2, 0, 1, 
12292
0
    10, 
12293
0
     OPC_CheckTypeI32,
12294
0
     OPC_CheckPatternPredicate, 8,
12295
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
12296
0
                   MVT::i32, 2, 0, 1, 
12297
0
    0, 
12298
0
   96, 
12299
0
    OPC_MoveChild1,
12300
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12301
0
    OPC_MoveChild0,
12302
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12303
0
    OPC_MoveChild0,
12304
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12305
0
    OPC_CheckType, MVT::v4i32,
12306
0
    OPC_MoveParent,
12307
0
    OPC_CheckPredicate0, 
12308
0
    OPC_MoveSibling1,
12309
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12310
0
    OPC_Scope, 44, 
12311
0
     OPC_RecordChild0,
12312
0
     OPC_MoveChild1,
12313
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12314
0
     OPC_MoveChild0,
12315
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12316
0
     OPC_CheckType, MVT::v4i32,
12317
0
     OPC_MoveParent,
12318
0
     OPC_CheckPredicate3, 
12319
0
     OPC_MoveParent,
12320
0
     OPC_SwitchType , 12, MVT::v2i64,
12321
0
      OPC_MoveParent,
12322
0
      OPC_MoveParent,
12323
0
      OPC_CheckType, MVT::v2i64,
12324
0
      OPC_CheckPatternPredicate1,
12325
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12326
0
                    MVT::v2i64, 2, 0, 1, 
12327
0
     12, MVT::v4i64,
12328
0
      OPC_MoveParent,
12329
0
      OPC_MoveParent,
12330
0
      OPC_CheckType, MVT::v4i64,
12331
0
      OPC_CheckPatternPredicate0,
12332
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12333
0
                    MVT::v4i64, 2, 0, 1, 
12334
0
     0,
12335
0
    28, 
12336
0
     OPC_MoveChild0,
12337
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12338
0
     OPC_MoveChild0,
12339
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12340
0
     OPC_CheckType, MVT::v4i32,
12341
0
     OPC_MoveParent,
12342
0
     OPC_CheckPredicate3, 
12343
0
     OPC_MoveParent,
12344
0
     OPC_RecordChild1,
12345
0
     OPC_CheckType, MVT::v2i64,
12346
0
     OPC_MoveParent,
12347
0
     OPC_MoveParent,
12348
0
     OPC_CheckType, MVT::v2i64,
12349
0
     OPC_CheckPatternPredicate1,
12350
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12351
0
                   MVT::v2i64, 2, 0, 1, 
12352
0
    0, 
12353
0
   0, 
12354
0
  82, 
12355
0
   OPC_MoveChild0,
12356
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12357
0
   OPC_MoveChild0,
12358
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12359
0
   OPC_MoveChild0,
12360
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12361
0
   OPC_CheckType, MVT::v4i32,
12362
0
   OPC_MoveParent,
12363
0
   OPC_CheckPredicate0, 
12364
0
   OPC_MoveSibling1,
12365
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12366
0
   OPC_Scope, 29, 
12367
0
    OPC_RecordChild0,
12368
0
    OPC_MoveChild1,
12369
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12370
0
    OPC_MoveChild0,
12371
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12372
0
    OPC_CheckType, MVT::v4i32,
12373
0
    OPC_MoveParent,
12374
0
    OPC_CheckPredicate3, 
12375
0
    OPC_MoveParent,
12376
0
    OPC_CheckType, MVT::v2i64,
12377
0
    OPC_MoveParent,
12378
0
    OPC_MoveParent,
12379
0
    OPC_RecordChild1,
12380
0
    OPC_CheckType, MVT::v2i64,
12381
0
    OPC_CheckPatternPredicate1,
12382
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12383
0
                  MVT::v2i64, 2, 1, 0, 
12384
0
   29, 
12385
0
    OPC_MoveChild0,
12386
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12387
0
    OPC_MoveChild0,
12388
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12389
0
    OPC_CheckType, MVT::v4i32,
12390
0
    OPC_MoveParent,
12391
0
    OPC_CheckPredicate3, 
12392
0
    OPC_MoveParent,
12393
0
    OPC_RecordChild1,
12394
0
    OPC_CheckType, MVT::v2i64,
12395
0
    OPC_MoveParent,
12396
0
    OPC_MoveParent,
12397
0
    OPC_RecordChild1,
12398
0
    OPC_CheckType, MVT::v2i64,
12399
0
    OPC_CheckPatternPredicate1,
12400
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12401
0
                  MVT::v2i64, 2, 1, 0, 
12402
0
   0, 
12403
0
  49, 
12404
0
   OPC_RecordChild0,
12405
0
   OPC_MoveChild1,
12406
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12407
0
   OPC_MoveChild0,
12408
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12409
0
   OPC_MoveChild0,
12410
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12411
0
   OPC_CheckType, MVT::v4i32,
12412
0
   OPC_MoveParent,
12413
0
   OPC_CheckPredicate0, 
12414
0
   OPC_MoveSibling1,
12415
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12416
0
   OPC_MoveChild0,
12417
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12418
0
   OPC_MoveChild0,
12419
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12420
0
   OPC_CheckType, MVT::v4i32,
12421
0
   OPC_MoveParent,
12422
0
   OPC_CheckPredicate3, 
12423
0
   OPC_MoveParent,
12424
0
   OPC_RecordChild1,
12425
0
   OPC_CheckType, MVT::v4i64,
12426
0
   OPC_MoveParent,
12427
0
   OPC_MoveParent,
12428
0
   OPC_CheckType, MVT::v4i64,
12429
0
   OPC_CheckPatternPredicate0,
12430
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12431
0
                 MVT::v4i64, 2, 0, 1, 
12432
0
  82, 
12433
0
   OPC_MoveChild0,
12434
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12435
0
   OPC_MoveChild0,
12436
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12437
0
   OPC_MoveChild0,
12438
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12439
0
   OPC_CheckType, MVT::v4i32,
12440
0
   OPC_MoveParent,
12441
0
   OPC_CheckPredicate0, 
12442
0
   OPC_MoveSibling1,
12443
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12444
0
   OPC_Scope, 29, 
12445
0
    OPC_RecordChild0,
12446
0
    OPC_MoveChild1,
12447
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12448
0
    OPC_MoveChild0,
12449
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12450
0
    OPC_CheckType, MVT::v4i32,
12451
0
    OPC_MoveParent,
12452
0
    OPC_CheckPredicate3, 
12453
0
    OPC_MoveParent,
12454
0
    OPC_CheckType, MVT::v4i64,
12455
0
    OPC_MoveParent,
12456
0
    OPC_MoveParent,
12457
0
    OPC_RecordChild1,
12458
0
    OPC_CheckType, MVT::v4i64,
12459
0
    OPC_CheckPatternPredicate0,
12460
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12461
0
                  MVT::v4i64, 2, 1, 0, 
12462
0
   29, 
12463
0
    OPC_MoveChild0,
12464
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12465
0
    OPC_MoveChild0,
12466
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12467
0
    OPC_CheckType, MVT::v4i32,
12468
0
    OPC_MoveParent,
12469
0
    OPC_CheckPredicate3, 
12470
0
    OPC_MoveParent,
12471
0
    OPC_RecordChild1,
12472
0
    OPC_CheckType, MVT::v4i64,
12473
0
    OPC_MoveParent,
12474
0
    OPC_MoveParent,
12475
0
    OPC_RecordChild1,
12476
0
    OPC_CheckType, MVT::v4i64,
12477
0
    OPC_CheckPatternPredicate0,
12478
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12479
0
                  MVT::v4i64, 2, 1, 0, 
12480
0
   0, 
12481
0
  103|128,1, 
12482
0
   OPC_RecordChild0,
12483
0
   OPC_MoveChild1,
12484
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12485
0
   OPC_MoveChild0,
12486
0
   OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::BITCAST),
12487
0
    OPC_MoveChild0,
12488
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12489
0
    OPC_CheckType, MVT::v4i32,
12490
0
    OPC_MoveParent,
12491
0
    OPC_CheckPredicate0, 
12492
0
    OPC_MoveSibling1,
12493
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12494
0
    OPC_Scope, 1|128,1, 
12495
0
     OPC_RecordChild0,
12496
0
     OPC_MoveChild1,
12497
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12498
0
     OPC_Scope, 16, 
12499
0
      OPC_CheckPredicate7, 
12500
0
      OPC_MoveParent,
12501
0
      OPC_CheckType, MVT::v16i8,
12502
0
      OPC_MoveParent,
12503
0
      OPC_MoveParent,
12504
0
      OPC_CheckType, MVT::v16i8,
12505
0
      OPC_CheckPatternPredicate1,
12506
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12507
0
                    MVT::v16i8, 2, 0, 1, 
12508
0
     17, 
12509
0
      OPC_CheckPredicate, 9,
12510
0
      OPC_MoveParent,
12511
0
      OPC_CheckType, MVT::v8i16,
12512
0
      OPC_MoveParent,
12513
0
      OPC_MoveParent,
12514
0
      OPC_CheckType, MVT::v8i16,
12515
0
      OPC_CheckPatternPredicate1,
12516
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12517
0
                    MVT::v8i16, 2, 0, 1, 
12518
0
     16, 
12519
0
      OPC_CheckPredicate3, 
12520
0
      OPC_MoveParent,
12521
0
      OPC_CheckType, MVT::v2i64,
12522
0
      OPC_MoveParent,
12523
0
      OPC_MoveParent,
12524
0
      OPC_CheckType, MVT::v2i64,
12525
0
      OPC_CheckPatternPredicate1,
12526
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12527
0
                    MVT::v2i64, 2, 0, 1, 
12528
0
     16, 
12529
0
      OPC_CheckPredicate7, 
12530
0
      OPC_MoveParent,
12531
0
      OPC_CheckType, MVT::v32i8,
12532
0
      OPC_MoveParent,
12533
0
      OPC_MoveParent,
12534
0
      OPC_CheckType, MVT::v32i8,
12535
0
      OPC_CheckPatternPredicate0,
12536
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12537
0
                    MVT::v32i8, 2, 0, 1, 
12538
0
     17, 
12539
0
      OPC_CheckPredicate, 9,
12540
0
      OPC_MoveParent,
12541
0
      OPC_CheckType, MVT::v16i16,
12542
0
      OPC_MoveParent,
12543
0
      OPC_MoveParent,
12544
0
      OPC_CheckType, MVT::v16i16,
12545
0
      OPC_CheckPatternPredicate0,
12546
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12547
0
                    MVT::v16i16, 2, 0, 1, 
12548
0
     17, 
12549
0
      OPC_CheckPredicate, 8,
12550
0
      OPC_MoveParent,
12551
0
      OPC_CheckType, MVT::v8i32,
12552
0
      OPC_MoveParent,
12553
0
      OPC_MoveParent,
12554
0
      OPC_CheckType, MVT::v8i32,
12555
0
      OPC_CheckPatternPredicate0,
12556
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12557
0
                    MVT::v8i32, 2, 0, 1, 
12558
0
     16, 
12559
0
      OPC_CheckPredicate3, 
12560
0
      OPC_MoveParent,
12561
0
      OPC_CheckType, MVT::v4i64,
12562
0
      OPC_MoveParent,
12563
0
      OPC_MoveParent,
12564
0
      OPC_CheckType, MVT::v4i64,
12565
0
      OPC_CheckPatternPredicate0,
12566
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12567
0
                    MVT::v4i64, 2, 0, 1, 
12568
0
     0, 
12569
0
    21, 
12570
0
     OPC_MoveChild0,
12571
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12572
0
     OPC_CheckPredicate7, 
12573
0
     OPC_MoveParent,
12574
0
     OPC_RecordChild1,
12575
0
     OPC_CheckType, MVT::v16i8,
12576
0
     OPC_MoveParent,
12577
0
     OPC_MoveParent,
12578
0
     OPC_CheckType, MVT::v16i8,
12579
0
     OPC_CheckPatternPredicate1,
12580
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12581
0
                   MVT::v16i8, 2, 0, 1, 
12582
0
    0, 
12583
0
   49, TARGET_VAL(ISD::BUILD_VECTOR),
12584
0
    OPC_CheckPredicate0, 
12585
0
    OPC_MoveSibling1,
12586
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12587
0
    OPC_RecordChild0,
12588
0
    OPC_MoveChild1,
12589
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12590
0
    OPC_MoveChild0,
12591
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12592
0
    OPC_CheckType, MVT::v4i32,
12593
0
    OPC_MoveParent,
12594
0
    OPC_CheckPredicate3, 
12595
0
    OPC_MoveParent,
12596
0
    OPC_SwitchType , 12, MVT::v2i64,
12597
0
     OPC_MoveParent,
12598
0
     OPC_MoveParent,
12599
0
     OPC_CheckType, MVT::v2i64,
12600
0
     OPC_CheckPatternPredicate1,
12601
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12602
0
                   MVT::v2i64, 2, 0, 1, 
12603
0
    12, MVT::v4i64,
12604
0
     OPC_MoveParent,
12605
0
     OPC_MoveParent,
12606
0
     OPC_CheckType, MVT::v4i64,
12607
0
     OPC_CheckPatternPredicate0,
12608
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12609
0
                   MVT::v4i64, 2, 0, 1, 
12610
0
    0,
12611
0
   0,
12612
0
  68, 
12613
0
   OPC_MoveChild0,
12614
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12615
0
   OPC_MoveChild0,
12616
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12617
0
   OPC_MoveChild0,
12618
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12619
0
   OPC_CheckType, MVT::v4i32,
12620
0
   OPC_MoveParent,
12621
0
   OPC_CheckPredicate0, 
12622
0
   OPC_MoveSibling1,
12623
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12624
0
   OPC_Scope, 22, 
12625
0
    OPC_RecordChild0,
12626
0
    OPC_MoveChild1,
12627
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12628
0
    OPC_CheckPredicate7, 
12629
0
    OPC_MoveParent,
12630
0
    OPC_CheckType, MVT::v16i8,
12631
0
    OPC_MoveParent,
12632
0
    OPC_MoveParent,
12633
0
    OPC_RecordChild1,
12634
0
    OPC_CheckType, MVT::v16i8,
12635
0
    OPC_CheckPatternPredicate1,
12636
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12637
0
                  MVT::v16i8, 2, 1, 0, 
12638
0
   22, 
12639
0
    OPC_MoveChild0,
12640
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12641
0
    OPC_CheckPredicate7, 
12642
0
    OPC_MoveParent,
12643
0
    OPC_RecordChild1,
12644
0
    OPC_CheckType, MVT::v16i8,
12645
0
    OPC_MoveParent,
12646
0
    OPC_MoveParent,
12647
0
    OPC_RecordChild1,
12648
0
    OPC_CheckType, MVT::v16i8,
12649
0
    OPC_CheckPatternPredicate1,
12650
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12651
0
                  MVT::v16i8, 2, 1, 0, 
12652
0
   0, 
12653
0
  43, 
12654
0
   OPC_RecordChild0,
12655
0
   OPC_MoveChild1,
12656
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12657
0
   OPC_MoveChild0,
12658
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12659
0
   OPC_MoveChild0,
12660
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12661
0
   OPC_CheckType, MVT::v4i32,
12662
0
   OPC_MoveParent,
12663
0
   OPC_CheckPredicate0, 
12664
0
   OPC_MoveSibling1,
12665
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12666
0
   OPC_MoveChild0,
12667
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12668
0
   OPC_CheckPredicate, 9,
12669
0
   OPC_MoveParent,
12670
0
   OPC_RecordChild1,
12671
0
   OPC_CheckType, MVT::v8i16,
12672
0
   OPC_MoveParent,
12673
0
   OPC_MoveParent,
12674
0
   OPC_CheckType, MVT::v8i16,
12675
0
   OPC_CheckPatternPredicate1,
12676
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12677
0
                 MVT::v8i16, 2, 0, 1, 
12678
0
  70, 
12679
0
   OPC_MoveChild0,
12680
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12681
0
   OPC_MoveChild0,
12682
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12683
0
   OPC_MoveChild0,
12684
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12685
0
   OPC_CheckType, MVT::v4i32,
12686
0
   OPC_MoveParent,
12687
0
   OPC_CheckPredicate0, 
12688
0
   OPC_MoveSibling1,
12689
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12690
0
   OPC_Scope, 23, 
12691
0
    OPC_RecordChild0,
12692
0
    OPC_MoveChild1,
12693
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12694
0
    OPC_CheckPredicate, 9,
12695
0
    OPC_MoveParent,
12696
0
    OPC_CheckType, MVT::v8i16,
12697
0
    OPC_MoveParent,
12698
0
    OPC_MoveParent,
12699
0
    OPC_RecordChild1,
12700
0
    OPC_CheckType, MVT::v8i16,
12701
0
    OPC_CheckPatternPredicate1,
12702
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12703
0
                  MVT::v8i16, 2, 1, 0, 
12704
0
   23, 
12705
0
    OPC_MoveChild0,
12706
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12707
0
    OPC_CheckPredicate, 9,
12708
0
    OPC_MoveParent,
12709
0
    OPC_RecordChild1,
12710
0
    OPC_CheckType, MVT::v8i16,
12711
0
    OPC_MoveParent,
12712
0
    OPC_MoveParent,
12713
0
    OPC_RecordChild1,
12714
0
    OPC_CheckType, MVT::v8i16,
12715
0
    OPC_CheckPatternPredicate1,
12716
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12717
0
                  MVT::v8i16, 2, 1, 0, 
12718
0
   0, 
12719
0
  42, 
12720
0
   OPC_RecordChild0,
12721
0
   OPC_MoveChild1,
12722
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12723
0
   OPC_MoveChild0,
12724
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12725
0
   OPC_CheckPredicate0, 
12726
0
   OPC_MoveSibling1,
12727
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12728
0
   OPC_MoveChild0,
12729
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12730
0
   OPC_MoveChild0,
12731
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12732
0
   OPC_CheckType, MVT::v4i32,
12733
0
   OPC_MoveParent,
12734
0
   OPC_CheckPredicate3, 
12735
0
   OPC_MoveParent,
12736
0
   OPC_RecordChild1,
12737
0
   OPC_CheckType, MVT::v2i64,
12738
0
   OPC_MoveParent,
12739
0
   OPC_MoveParent,
12740
0
   OPC_CheckType, MVT::v2i64,
12741
0
   OPC_CheckPatternPredicate1,
12742
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12743
0
                 MVT::v2i64, 2, 0, 1, 
12744
0
  75, 
12745
0
   OPC_MoveChild0,
12746
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12747
0
   OPC_MoveChild0,
12748
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12749
0
   OPC_CheckPredicate0, 
12750
0
   OPC_MoveSibling1,
12751
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12752
0
   OPC_Scope, 29, 
12753
0
    OPC_RecordChild0,
12754
0
    OPC_MoveChild1,
12755
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12756
0
    OPC_MoveChild0,
12757
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12758
0
    OPC_CheckType, MVT::v4i32,
12759
0
    OPC_MoveParent,
12760
0
    OPC_CheckPredicate3, 
12761
0
    OPC_MoveParent,
12762
0
    OPC_CheckType, MVT::v2i64,
12763
0
    OPC_MoveParent,
12764
0
    OPC_MoveParent,
12765
0
    OPC_RecordChild1,
12766
0
    OPC_CheckType, MVT::v2i64,
12767
0
    OPC_CheckPatternPredicate1,
12768
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12769
0
                  MVT::v2i64, 2, 1, 0, 
12770
0
   29, 
12771
0
    OPC_MoveChild0,
12772
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12773
0
    OPC_MoveChild0,
12774
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12775
0
    OPC_CheckType, MVT::v4i32,
12776
0
    OPC_MoveParent,
12777
0
    OPC_CheckPredicate3, 
12778
0
    OPC_MoveParent,
12779
0
    OPC_RecordChild1,
12780
0
    OPC_CheckType, MVT::v2i64,
12781
0
    OPC_MoveParent,
12782
0
    OPC_MoveParent,
12783
0
    OPC_RecordChild1,
12784
0
    OPC_CheckType, MVT::v2i64,
12785
0
    OPC_CheckPatternPredicate1,
12786
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12787
0
                  MVT::v2i64, 2, 1, 0, 
12788
0
   0, 
12789
0
  42, 
12790
0
   OPC_RecordChild0,
12791
0
   OPC_MoveChild1,
12792
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12793
0
   OPC_MoveChild0,
12794
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12795
0
   OPC_MoveChild0,
12796
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12797
0
   OPC_CheckType, MVT::v4i32,
12798
0
   OPC_MoveParent,
12799
0
   OPC_CheckPredicate0, 
12800
0
   OPC_MoveSibling1,
12801
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12802
0
   OPC_MoveChild0,
12803
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12804
0
   OPC_CheckPredicate3, 
12805
0
   OPC_MoveParent,
12806
0
   OPC_RecordChild1,
12807
0
   OPC_CheckType, MVT::v2i64,
12808
0
   OPC_MoveParent,
12809
0
   OPC_MoveParent,
12810
0
   OPC_CheckType, MVT::v2i64,
12811
0
   OPC_CheckPatternPredicate1,
12812
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12813
0
                 MVT::v2i64, 2, 0, 1, 
12814
0
  68, 
12815
0
   OPC_MoveChild0,
12816
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12817
0
   OPC_MoveChild0,
12818
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12819
0
   OPC_MoveChild0,
12820
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12821
0
   OPC_CheckType, MVT::v4i32,
12822
0
   OPC_MoveParent,
12823
0
   OPC_CheckPredicate0, 
12824
0
   OPC_MoveSibling1,
12825
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12826
0
   OPC_Scope, 22, 
12827
0
    OPC_RecordChild0,
12828
0
    OPC_MoveChild1,
12829
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12830
0
    OPC_CheckPredicate3, 
12831
0
    OPC_MoveParent,
12832
0
    OPC_CheckType, MVT::v2i64,
12833
0
    OPC_MoveParent,
12834
0
    OPC_MoveParent,
12835
0
    OPC_RecordChild1,
12836
0
    OPC_CheckType, MVT::v2i64,
12837
0
    OPC_CheckPatternPredicate1,
12838
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12839
0
                  MVT::v2i64, 2, 1, 0, 
12840
0
   22, 
12841
0
    OPC_MoveChild0,
12842
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12843
0
    OPC_CheckPredicate3, 
12844
0
    OPC_MoveParent,
12845
0
    OPC_RecordChild1,
12846
0
    OPC_CheckType, MVT::v2i64,
12847
0
    OPC_MoveParent,
12848
0
    OPC_MoveParent,
12849
0
    OPC_RecordChild1,
12850
0
    OPC_CheckType, MVT::v2i64,
12851
0
    OPC_CheckPatternPredicate1,
12852
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12853
0
                  MVT::v2i64, 2, 1, 0, 
12854
0
   0, 
12855
0
  42, 
12856
0
   OPC_RecordChild0,
12857
0
   OPC_MoveChild1,
12858
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12859
0
   OPC_MoveChild0,
12860
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12861
0
   OPC_MoveChild0,
12862
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12863
0
   OPC_CheckType, MVT::v4i32,
12864
0
   OPC_MoveParent,
12865
0
   OPC_CheckPredicate0, 
12866
0
   OPC_MoveSibling1,
12867
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12868
0
   OPC_MoveChild0,
12869
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12870
0
   OPC_CheckPredicate7, 
12871
0
   OPC_MoveParent,
12872
0
   OPC_RecordChild1,
12873
0
   OPC_CheckType, MVT::v32i8,
12874
0
   OPC_MoveParent,
12875
0
   OPC_MoveParent,
12876
0
   OPC_CheckType, MVT::v32i8,
12877
0
   OPC_CheckPatternPredicate0,
12878
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12879
0
                 MVT::v32i8, 2, 0, 1, 
12880
0
  68, 
12881
0
   OPC_MoveChild0,
12882
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12883
0
   OPC_MoveChild0,
12884
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12885
0
   OPC_MoveChild0,
12886
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12887
0
   OPC_CheckType, MVT::v4i32,
12888
0
   OPC_MoveParent,
12889
0
   OPC_CheckPredicate0, 
12890
0
   OPC_MoveSibling1,
12891
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12892
0
   OPC_Scope, 22, 
12893
0
    OPC_RecordChild0,
12894
0
    OPC_MoveChild1,
12895
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12896
0
    OPC_CheckPredicate7, 
12897
0
    OPC_MoveParent,
12898
0
    OPC_CheckType, MVT::v32i8,
12899
0
    OPC_MoveParent,
12900
0
    OPC_MoveParent,
12901
0
    OPC_RecordChild1,
12902
0
    OPC_CheckType, MVT::v32i8,
12903
0
    OPC_CheckPatternPredicate0,
12904
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12905
0
                  MVT::v32i8, 2, 1, 0, 
12906
0
   22, 
12907
0
    OPC_MoveChild0,
12908
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12909
0
    OPC_CheckPredicate7, 
12910
0
    OPC_MoveParent,
12911
0
    OPC_RecordChild1,
12912
0
    OPC_CheckType, MVT::v32i8,
12913
0
    OPC_MoveParent,
12914
0
    OPC_MoveParent,
12915
0
    OPC_RecordChild1,
12916
0
    OPC_CheckType, MVT::v32i8,
12917
0
    OPC_CheckPatternPredicate0,
12918
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12919
0
                  MVT::v32i8, 2, 1, 0, 
12920
0
   0, 
12921
0
  43, 
12922
0
   OPC_RecordChild0,
12923
0
   OPC_MoveChild1,
12924
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12925
0
   OPC_MoveChild0,
12926
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12927
0
   OPC_MoveChild0,
12928
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12929
0
   OPC_CheckType, MVT::v4i32,
12930
0
   OPC_MoveParent,
12931
0
   OPC_CheckPredicate0, 
12932
0
   OPC_MoveSibling1,
12933
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12934
0
   OPC_MoveChild0,
12935
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12936
0
   OPC_CheckPredicate, 9,
12937
0
   OPC_MoveParent,
12938
0
   OPC_RecordChild1,
12939
0
   OPC_CheckType, MVT::v16i16,
12940
0
   OPC_MoveParent,
12941
0
   OPC_MoveParent,
12942
0
   OPC_CheckType, MVT::v16i16,
12943
0
   OPC_CheckPatternPredicate0,
12944
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12945
0
                 MVT::v16i16, 2, 0, 1, 
12946
0
  70, 
12947
0
   OPC_MoveChild0,
12948
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12949
0
   OPC_MoveChild0,
12950
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12951
0
   OPC_MoveChild0,
12952
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12953
0
   OPC_CheckType, MVT::v4i32,
12954
0
   OPC_MoveParent,
12955
0
   OPC_CheckPredicate0, 
12956
0
   OPC_MoveSibling1,
12957
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12958
0
   OPC_Scope, 23, 
12959
0
    OPC_RecordChild0,
12960
0
    OPC_MoveChild1,
12961
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12962
0
    OPC_CheckPredicate, 9,
12963
0
    OPC_MoveParent,
12964
0
    OPC_CheckType, MVT::v16i16,
12965
0
    OPC_MoveParent,
12966
0
    OPC_MoveParent,
12967
0
    OPC_RecordChild1,
12968
0
    OPC_CheckType, MVT::v16i16,
12969
0
    OPC_CheckPatternPredicate0,
12970
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12971
0
                  MVT::v16i16, 2, 1, 0, 
12972
0
   23, 
12973
0
    OPC_MoveChild0,
12974
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12975
0
    OPC_CheckPredicate, 9,
12976
0
    OPC_MoveParent,
12977
0
    OPC_RecordChild1,
12978
0
    OPC_CheckType, MVT::v16i16,
12979
0
    OPC_MoveParent,
12980
0
    OPC_MoveParent,
12981
0
    OPC_RecordChild1,
12982
0
    OPC_CheckType, MVT::v16i16,
12983
0
    OPC_CheckPatternPredicate0,
12984
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12985
0
                  MVT::v16i16, 2, 1, 0, 
12986
0
   0, 
12987
0
  43, 
12988
0
   OPC_RecordChild0,
12989
0
   OPC_MoveChild1,
12990
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12991
0
   OPC_MoveChild0,
12992
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12993
0
   OPC_MoveChild0,
12994
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12995
0
   OPC_CheckType, MVT::v4i32,
12996
0
   OPC_MoveParent,
12997
0
   OPC_CheckPredicate0, 
12998
0
   OPC_MoveSibling1,
12999
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13000
0
   OPC_MoveChild0,
13001
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13002
0
   OPC_CheckPredicate, 8,
13003
0
   OPC_MoveParent,
13004
0
   OPC_RecordChild1,
13005
0
   OPC_CheckType, MVT::v8i32,
13006
0
   OPC_MoveParent,
13007
0
   OPC_MoveParent,
13008
0
   OPC_CheckType, MVT::v8i32,
13009
0
   OPC_CheckPatternPredicate0,
13010
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13011
0
                 MVT::v8i32, 2, 0, 1, 
13012
0
  70, 
13013
0
   OPC_MoveChild0,
13014
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13015
0
   OPC_MoveChild0,
13016
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13017
0
   OPC_MoveChild0,
13018
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13019
0
   OPC_CheckType, MVT::v4i32,
13020
0
   OPC_MoveParent,
13021
0
   OPC_CheckPredicate0, 
13022
0
   OPC_MoveSibling1,
13023
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13024
0
   OPC_Scope, 23, 
13025
0
    OPC_RecordChild0,
13026
0
    OPC_MoveChild1,
13027
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13028
0
    OPC_CheckPredicate, 8,
13029
0
    OPC_MoveParent,
13030
0
    OPC_CheckType, MVT::v8i32,
13031
0
    OPC_MoveParent,
13032
0
    OPC_MoveParent,
13033
0
    OPC_RecordChild1,
13034
0
    OPC_CheckType, MVT::v8i32,
13035
0
    OPC_CheckPatternPredicate0,
13036
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13037
0
                  MVT::v8i32, 2, 1, 0, 
13038
0
   23, 
13039
0
    OPC_MoveChild0,
13040
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13041
0
    OPC_CheckPredicate, 8,
13042
0
    OPC_MoveParent,
13043
0
    OPC_RecordChild1,
13044
0
    OPC_CheckType, MVT::v8i32,
13045
0
    OPC_MoveParent,
13046
0
    OPC_MoveParent,
13047
0
    OPC_RecordChild1,
13048
0
    OPC_CheckType, MVT::v8i32,
13049
0
    OPC_CheckPatternPredicate0,
13050
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13051
0
                  MVT::v8i32, 2, 1, 0, 
13052
0
   0, 
13053
0
  42, 
13054
0
   OPC_RecordChild0,
13055
0
   OPC_MoveChild1,
13056
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13057
0
   OPC_MoveChild0,
13058
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13059
0
   OPC_CheckPredicate0, 
13060
0
   OPC_MoveSibling1,
13061
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13062
0
   OPC_MoveChild0,
13063
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13064
0
   OPC_MoveChild0,
13065
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13066
0
   OPC_CheckType, MVT::v4i32,
13067
0
   OPC_MoveParent,
13068
0
   OPC_CheckPredicate3, 
13069
0
   OPC_MoveParent,
13070
0
   OPC_RecordChild1,
13071
0
   OPC_CheckType, MVT::v4i64,
13072
0
   OPC_MoveParent,
13073
0
   OPC_MoveParent,
13074
0
   OPC_CheckType, MVT::v4i64,
13075
0
   OPC_CheckPatternPredicate0,
13076
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13077
0
                 MVT::v4i64, 2, 0, 1, 
13078
0
  75, 
13079
0
   OPC_MoveChild0,
13080
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13081
0
   OPC_MoveChild0,
13082
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13083
0
   OPC_CheckPredicate0, 
13084
0
   OPC_MoveSibling1,
13085
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13086
0
   OPC_Scope, 29, 
13087
0
    OPC_RecordChild0,
13088
0
    OPC_MoveChild1,
13089
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13090
0
    OPC_MoveChild0,
13091
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13092
0
    OPC_CheckType, MVT::v4i32,
13093
0
    OPC_MoveParent,
13094
0
    OPC_CheckPredicate3, 
13095
0
    OPC_MoveParent,
13096
0
    OPC_CheckType, MVT::v4i64,
13097
0
    OPC_MoveParent,
13098
0
    OPC_MoveParent,
13099
0
    OPC_RecordChild1,
13100
0
    OPC_CheckType, MVT::v4i64,
13101
0
    OPC_CheckPatternPredicate0,
13102
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13103
0
                  MVT::v4i64, 2, 1, 0, 
13104
0
   29, 
13105
0
    OPC_MoveChild0,
13106
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13107
0
    OPC_MoveChild0,
13108
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13109
0
    OPC_CheckType, MVT::v4i32,
13110
0
    OPC_MoveParent,
13111
0
    OPC_CheckPredicate3, 
13112
0
    OPC_MoveParent,
13113
0
    OPC_RecordChild1,
13114
0
    OPC_CheckType, MVT::v4i64,
13115
0
    OPC_MoveParent,
13116
0
    OPC_MoveParent,
13117
0
    OPC_RecordChild1,
13118
0
    OPC_CheckType, MVT::v4i64,
13119
0
    OPC_CheckPatternPredicate0,
13120
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13121
0
                  MVT::v4i64, 2, 1, 0, 
13122
0
   0, 
13123
0
  42, 
13124
0
   OPC_RecordChild0,
13125
0
   OPC_MoveChild1,
13126
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13127
0
   OPC_MoveChild0,
13128
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13129
0
   OPC_MoveChild0,
13130
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13131
0
   OPC_CheckType, MVT::v4i32,
13132
0
   OPC_MoveParent,
13133
0
   OPC_CheckPredicate0, 
13134
0
   OPC_MoveSibling1,
13135
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13136
0
   OPC_MoveChild0,
13137
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13138
0
   OPC_CheckPredicate3, 
13139
0
   OPC_MoveParent,
13140
0
   OPC_RecordChild1,
13141
0
   OPC_CheckType, MVT::v4i64,
13142
0
   OPC_MoveParent,
13143
0
   OPC_MoveParent,
13144
0
   OPC_CheckType, MVT::v4i64,
13145
0
   OPC_CheckPatternPredicate0,
13146
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13147
0
                 MVT::v4i64, 2, 0, 1, 
13148
0
  68, 
13149
0
   OPC_MoveChild0,
13150
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13151
0
   OPC_MoveChild0,
13152
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13153
0
   OPC_MoveChild0,
13154
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13155
0
   OPC_CheckType, MVT::v4i32,
13156
0
   OPC_MoveParent,
13157
0
   OPC_CheckPredicate0, 
13158
0
   OPC_MoveSibling1,
13159
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13160
0
   OPC_Scope, 22, 
13161
0
    OPC_RecordChild0,
13162
0
    OPC_MoveChild1,
13163
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13164
0
    OPC_CheckPredicate3, 
13165
0
    OPC_MoveParent,
13166
0
    OPC_CheckType, MVT::v4i64,
13167
0
    OPC_MoveParent,
13168
0
    OPC_MoveParent,
13169
0
    OPC_RecordChild1,
13170
0
    OPC_CheckType, MVT::v4i64,
13171
0
    OPC_CheckPatternPredicate0,
13172
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13173
0
                  MVT::v4i64, 2, 1, 0, 
13174
0
   22, 
13175
0
    OPC_MoveChild0,
13176
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13177
0
    OPC_CheckPredicate3, 
13178
0
    OPC_MoveParent,
13179
0
    OPC_RecordChild1,
13180
0
    OPC_CheckType, MVT::v4i64,
13181
0
    OPC_MoveParent,
13182
0
    OPC_MoveParent,
13183
0
    OPC_RecordChild1,
13184
0
    OPC_CheckType, MVT::v4i64,
13185
0
    OPC_CheckPatternPredicate0,
13186
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13187
0
                  MVT::v4i64, 2, 1, 0, 
13188
0
   0, 
13189
0
  59|128,1, 
13190
0
   OPC_RecordChild0,
13191
0
   OPC_MoveChild1,
13192
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13193
0
   OPC_MoveChild0,
13194
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13195
0
   OPC_CheckPredicate0, 
13196
0
   OPC_MoveSibling1,
13197
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13198
0
   OPC_Scope, 19|128,1, 
13199
0
    OPC_RecordChild0,
13200
0
    OPC_MoveChild1,
13201
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13202
0
    OPC_Scope, 16, 
13203
0
     OPC_CheckPredicate7, 
13204
0
     OPC_MoveParent,
13205
0
     OPC_CheckType, MVT::v16i8,
13206
0
     OPC_MoveParent,
13207
0
     OPC_MoveParent,
13208
0
     OPC_CheckType, MVT::v16i8,
13209
0
     OPC_CheckPatternPredicate1,
13210
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13211
0
                   MVT::v16i8, 2, 0, 1, 
13212
0
    17, 
13213
0
     OPC_CheckPredicate, 9,
13214
0
     OPC_MoveParent,
13215
0
     OPC_CheckType, MVT::v8i16,
13216
0
     OPC_MoveParent,
13217
0
     OPC_MoveParent,
13218
0
     OPC_CheckType, MVT::v8i16,
13219
0
     OPC_CheckPatternPredicate1,
13220
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13221
0
                   MVT::v8i16, 2, 0, 1, 
13222
0
    17, 
13223
0
     OPC_CheckPredicate, 8,
13224
0
     OPC_MoveParent,
13225
0
     OPC_CheckType, MVT::v4i32,
13226
0
     OPC_MoveParent,
13227
0
     OPC_MoveParent,
13228
0
     OPC_CheckType, MVT::v4i32,
13229
0
     OPC_CheckPatternPredicate1,
13230
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13231
0
                   MVT::v4i32, 2, 0, 1, 
13232
0
    16, 
13233
0
     OPC_CheckPredicate3, 
13234
0
     OPC_MoveParent,
13235
0
     OPC_CheckType, MVT::v2i64,
13236
0
     OPC_MoveParent,
13237
0
     OPC_MoveParent,
13238
0
     OPC_CheckType, MVT::v2i64,
13239
0
     OPC_CheckPatternPredicate1,
13240
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13241
0
                   MVT::v2i64, 2, 0, 1, 
13242
0
    16, 
13243
0
     OPC_CheckPredicate7, 
13244
0
     OPC_MoveParent,
13245
0
     OPC_CheckType, MVT::v32i8,
13246
0
     OPC_MoveParent,
13247
0
     OPC_MoveParent,
13248
0
     OPC_CheckType, MVT::v32i8,
13249
0
     OPC_CheckPatternPredicate0,
13250
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13251
0
                   MVT::v32i8, 2, 0, 1, 
13252
0
    17, 
13253
0
     OPC_CheckPredicate, 9,
13254
0
     OPC_MoveParent,
13255
0
     OPC_CheckType, MVT::v16i16,
13256
0
     OPC_MoveParent,
13257
0
     OPC_MoveParent,
13258
0
     OPC_CheckType, MVT::v16i16,
13259
0
     OPC_CheckPatternPredicate0,
13260
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13261
0
                   MVT::v16i16, 2, 0, 1, 
13262
0
    17, 
13263
0
     OPC_CheckPredicate, 8,
13264
0
     OPC_MoveParent,
13265
0
     OPC_CheckType, MVT::v8i32,
13266
0
     OPC_MoveParent,
13267
0
     OPC_MoveParent,
13268
0
     OPC_CheckType, MVT::v8i32,
13269
0
     OPC_CheckPatternPredicate0,
13270
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13271
0
                   MVT::v8i32, 2, 0, 1, 
13272
0
    16, 
13273
0
     OPC_CheckPredicate3, 
13274
0
     OPC_MoveParent,
13275
0
     OPC_CheckType, MVT::v4i64,
13276
0
     OPC_MoveParent,
13277
0
     OPC_MoveParent,
13278
0
     OPC_CheckType, MVT::v4i64,
13279
0
     OPC_CheckPatternPredicate0,
13280
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13281
0
                   MVT::v4i64, 2, 0, 1, 
13282
0
    0, 
13283
0
   21, 
13284
0
    OPC_MoveChild0,
13285
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13286
0
    OPC_CheckPredicate7, 
13287
0
    OPC_MoveParent,
13288
0
    OPC_RecordChild1,
13289
0
    OPC_CheckType, MVT::v16i8,
13290
0
    OPC_MoveParent,
13291
0
    OPC_MoveParent,
13292
0
    OPC_CheckType, MVT::v16i8,
13293
0
    OPC_CheckPatternPredicate1,
13294
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13295
0
                  MVT::v16i8, 2, 0, 1, 
13296
0
   0, 
13297
0
  61, 
13298
0
   OPC_MoveChild0,
13299
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13300
0
   OPC_MoveChild0,
13301
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13302
0
   OPC_CheckPredicate0, 
13303
0
   OPC_MoveSibling1,
13304
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13305
0
   OPC_Scope, 22, 
13306
0
    OPC_RecordChild0,
13307
0
    OPC_MoveChild1,
13308
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13309
0
    OPC_CheckPredicate7, 
13310
0
    OPC_MoveParent,
13311
0
    OPC_CheckType, MVT::v16i8,
13312
0
    OPC_MoveParent,
13313
0
    OPC_MoveParent,
13314
0
    OPC_RecordChild1,
13315
0
    OPC_CheckType, MVT::v16i8,
13316
0
    OPC_CheckPatternPredicate1,
13317
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13318
0
                  MVT::v16i8, 2, 1, 0, 
13319
0
   22, 
13320
0
    OPC_MoveChild0,
13321
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13322
0
    OPC_CheckPredicate7, 
13323
0
    OPC_MoveParent,
13324
0
    OPC_RecordChild1,
13325
0
    OPC_CheckType, MVT::v16i8,
13326
0
    OPC_MoveParent,
13327
0
    OPC_MoveParent,
13328
0
    OPC_RecordChild1,
13329
0
    OPC_CheckType, MVT::v16i8,
13330
0
    OPC_CheckPatternPredicate1,
13331
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13332
0
                  MVT::v16i8, 2, 1, 0, 
13333
0
   0, 
13334
0
  36, 
13335
0
   OPC_RecordChild0,
13336
0
   OPC_MoveChild1,
13337
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13338
0
   OPC_MoveChild0,
13339
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13340
0
   OPC_CheckPredicate0, 
13341
0
   OPC_MoveSibling1,
13342
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13343
0
   OPC_MoveChild0,
13344
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13345
0
   OPC_CheckPredicate, 9,
13346
0
   OPC_MoveParent,
13347
0
   OPC_RecordChild1,
13348
0
   OPC_CheckType, MVT::v8i16,
13349
0
   OPC_MoveParent,
13350
0
   OPC_MoveParent,
13351
0
   OPC_CheckType, MVT::v8i16,
13352
0
   OPC_CheckPatternPredicate1,
13353
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13354
0
                 MVT::v8i16, 2, 0, 1, 
13355
0
  63, 
13356
0
   OPC_MoveChild0,
13357
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13358
0
   OPC_MoveChild0,
13359
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13360
0
   OPC_CheckPredicate0, 
13361
0
   OPC_MoveSibling1,
13362
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13363
0
   OPC_Scope, 23, 
13364
0
    OPC_RecordChild0,
13365
0
    OPC_MoveChild1,
13366
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13367
0
    OPC_CheckPredicate, 9,
13368
0
    OPC_MoveParent,
13369
0
    OPC_CheckType, MVT::v8i16,
13370
0
    OPC_MoveParent,
13371
0
    OPC_MoveParent,
13372
0
    OPC_RecordChild1,
13373
0
    OPC_CheckType, MVT::v8i16,
13374
0
    OPC_CheckPatternPredicate1,
13375
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13376
0
                  MVT::v8i16, 2, 1, 0, 
13377
0
   23, 
13378
0
    OPC_MoveChild0,
13379
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13380
0
    OPC_CheckPredicate, 9,
13381
0
    OPC_MoveParent,
13382
0
    OPC_RecordChild1,
13383
0
    OPC_CheckType, MVT::v8i16,
13384
0
    OPC_MoveParent,
13385
0
    OPC_MoveParent,
13386
0
    OPC_RecordChild1,
13387
0
    OPC_CheckType, MVT::v8i16,
13388
0
    OPC_CheckPatternPredicate1,
13389
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13390
0
                  MVT::v8i16, 2, 1, 0, 
13391
0
   0, 
13392
0
  36, 
13393
0
   OPC_RecordChild0,
13394
0
   OPC_MoveChild1,
13395
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13396
0
   OPC_MoveChild0,
13397
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13398
0
   OPC_CheckPredicate0, 
13399
0
   OPC_MoveSibling1,
13400
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13401
0
   OPC_MoveChild0,
13402
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13403
0
   OPC_CheckPredicate, 8,
13404
0
   OPC_MoveParent,
13405
0
   OPC_RecordChild1,
13406
0
   OPC_CheckType, MVT::v4i32,
13407
0
   OPC_MoveParent,
13408
0
   OPC_MoveParent,
13409
0
   OPC_CheckType, MVT::v4i32,
13410
0
   OPC_CheckPatternPredicate1,
13411
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13412
0
                 MVT::v4i32, 2, 0, 1, 
13413
0
  63, 
13414
0
   OPC_MoveChild0,
13415
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13416
0
   OPC_MoveChild0,
13417
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13418
0
   OPC_CheckPredicate0, 
13419
0
   OPC_MoveSibling1,
13420
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13421
0
   OPC_Scope, 23, 
13422
0
    OPC_RecordChild0,
13423
0
    OPC_MoveChild1,
13424
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13425
0
    OPC_CheckPredicate, 8,
13426
0
    OPC_MoveParent,
13427
0
    OPC_CheckType, MVT::v4i32,
13428
0
    OPC_MoveParent,
13429
0
    OPC_MoveParent,
13430
0
    OPC_RecordChild1,
13431
0
    OPC_CheckType, MVT::v4i32,
13432
0
    OPC_CheckPatternPredicate1,
13433
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13434
0
                  MVT::v4i32, 2, 1, 0, 
13435
0
   23, 
13436
0
    OPC_MoveChild0,
13437
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13438
0
    OPC_CheckPredicate, 8,
13439
0
    OPC_MoveParent,
13440
0
    OPC_RecordChild1,
13441
0
    OPC_CheckType, MVT::v4i32,
13442
0
    OPC_MoveParent,
13443
0
    OPC_MoveParent,
13444
0
    OPC_RecordChild1,
13445
0
    OPC_CheckType, MVT::v4i32,
13446
0
    OPC_CheckPatternPredicate1,
13447
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13448
0
                  MVT::v4i32, 2, 1, 0, 
13449
0
   0, 
13450
0
  35, 
13451
0
   OPC_RecordChild0,
13452
0
   OPC_MoveChild1,
13453
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13454
0
   OPC_MoveChild0,
13455
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13456
0
   OPC_CheckPredicate0, 
13457
0
   OPC_MoveSibling1,
13458
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13459
0
   OPC_MoveChild0,
13460
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13461
0
   OPC_CheckPredicate3, 
13462
0
   OPC_MoveParent,
13463
0
   OPC_RecordChild1,
13464
0
   OPC_CheckType, MVT::v2i64,
13465
0
   OPC_MoveParent,
13466
0
   OPC_MoveParent,
13467
0
   OPC_CheckType, MVT::v2i64,
13468
0
   OPC_CheckPatternPredicate1,
13469
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13470
0
                 MVT::v2i64, 2, 0, 1, 
13471
0
  61, 
13472
0
   OPC_MoveChild0,
13473
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13474
0
   OPC_MoveChild0,
13475
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13476
0
   OPC_CheckPredicate0, 
13477
0
   OPC_MoveSibling1,
13478
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13479
0
   OPC_Scope, 22, 
13480
0
    OPC_RecordChild0,
13481
0
    OPC_MoveChild1,
13482
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13483
0
    OPC_CheckPredicate3, 
13484
0
    OPC_MoveParent,
13485
0
    OPC_CheckType, MVT::v2i64,
13486
0
    OPC_MoveParent,
13487
0
    OPC_MoveParent,
13488
0
    OPC_RecordChild1,
13489
0
    OPC_CheckType, MVT::v2i64,
13490
0
    OPC_CheckPatternPredicate1,
13491
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13492
0
                  MVT::v2i64, 2, 1, 0, 
13493
0
   22, 
13494
0
    OPC_MoveChild0,
13495
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13496
0
    OPC_CheckPredicate3, 
13497
0
    OPC_MoveParent,
13498
0
    OPC_RecordChild1,
13499
0
    OPC_CheckType, MVT::v2i64,
13500
0
    OPC_MoveParent,
13501
0
    OPC_MoveParent,
13502
0
    OPC_RecordChild1,
13503
0
    OPC_CheckType, MVT::v2i64,
13504
0
    OPC_CheckPatternPredicate1,
13505
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13506
0
                  MVT::v2i64, 2, 1, 0, 
13507
0
   0, 
13508
0
  35, 
13509
0
   OPC_RecordChild0,
13510
0
   OPC_MoveChild1,
13511
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13512
0
   OPC_MoveChild0,
13513
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13514
0
   OPC_CheckPredicate0, 
13515
0
   OPC_MoveSibling1,
13516
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13517
0
   OPC_MoveChild0,
13518
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13519
0
   OPC_CheckPredicate7, 
13520
0
   OPC_MoveParent,
13521
0
   OPC_RecordChild1,
13522
0
   OPC_CheckType, MVT::v32i8,
13523
0
   OPC_MoveParent,
13524
0
   OPC_MoveParent,
13525
0
   OPC_CheckType, MVT::v32i8,
13526
0
   OPC_CheckPatternPredicate0,
13527
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13528
0
                 MVT::v32i8, 2, 0, 1, 
13529
0
  61, 
13530
0
   OPC_MoveChild0,
13531
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13532
0
   OPC_MoveChild0,
13533
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13534
0
   OPC_CheckPredicate0, 
13535
0
   OPC_MoveSibling1,
13536
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13537
0
   OPC_Scope, 22, 
13538
0
    OPC_RecordChild0,
13539
0
    OPC_MoveChild1,
13540
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13541
0
    OPC_CheckPredicate7, 
13542
0
    OPC_MoveParent,
13543
0
    OPC_CheckType, MVT::v32i8,
13544
0
    OPC_MoveParent,
13545
0
    OPC_MoveParent,
13546
0
    OPC_RecordChild1,
13547
0
    OPC_CheckType, MVT::v32i8,
13548
0
    OPC_CheckPatternPredicate0,
13549
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13550
0
                  MVT::v32i8, 2, 1, 0, 
13551
0
   22, 
13552
0
    OPC_MoveChild0,
13553
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13554
0
    OPC_CheckPredicate7, 
13555
0
    OPC_MoveParent,
13556
0
    OPC_RecordChild1,
13557
0
    OPC_CheckType, MVT::v32i8,
13558
0
    OPC_MoveParent,
13559
0
    OPC_MoveParent,
13560
0
    OPC_RecordChild1,
13561
0
    OPC_CheckType, MVT::v32i8,
13562
0
    OPC_CheckPatternPredicate0,
13563
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13564
0
                  MVT::v32i8, 2, 1, 0, 
13565
0
   0, 
13566
0
  36, 
13567
0
   OPC_RecordChild0,
13568
0
   OPC_MoveChild1,
13569
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13570
0
   OPC_MoveChild0,
13571
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13572
0
   OPC_CheckPredicate0, 
13573
0
   OPC_MoveSibling1,
13574
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13575
0
   OPC_MoveChild0,
13576
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13577
0
   OPC_CheckPredicate, 9,
13578
0
   OPC_MoveParent,
13579
0
   OPC_RecordChild1,
13580
0
   OPC_CheckType, MVT::v16i16,
13581
0
   OPC_MoveParent,
13582
0
   OPC_MoveParent,
13583
0
   OPC_CheckType, MVT::v16i16,
13584
0
   OPC_CheckPatternPredicate0,
13585
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13586
0
                 MVT::v16i16, 2, 0, 1, 
13587
0
  63, 
13588
0
   OPC_MoveChild0,
13589
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13590
0
   OPC_MoveChild0,
13591
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13592
0
   OPC_CheckPredicate0, 
13593
0
   OPC_MoveSibling1,
13594
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13595
0
   OPC_Scope, 23, 
13596
0
    OPC_RecordChild0,
13597
0
    OPC_MoveChild1,
13598
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13599
0
    OPC_CheckPredicate, 9,
13600
0
    OPC_MoveParent,
13601
0
    OPC_CheckType, MVT::v16i16,
13602
0
    OPC_MoveParent,
13603
0
    OPC_MoveParent,
13604
0
    OPC_RecordChild1,
13605
0
    OPC_CheckType, MVT::v16i16,
13606
0
    OPC_CheckPatternPredicate0,
13607
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13608
0
                  MVT::v16i16, 2, 1, 0, 
13609
0
   23, 
13610
0
    OPC_MoveChild0,
13611
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13612
0
    OPC_CheckPredicate, 9,
13613
0
    OPC_MoveParent,
13614
0
    OPC_RecordChild1,
13615
0
    OPC_CheckType, MVT::v16i16,
13616
0
    OPC_MoveParent,
13617
0
    OPC_MoveParent,
13618
0
    OPC_RecordChild1,
13619
0
    OPC_CheckType, MVT::v16i16,
13620
0
    OPC_CheckPatternPredicate0,
13621
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13622
0
                  MVT::v16i16, 2, 1, 0, 
13623
0
   0, 
13624
0
  36, 
13625
0
   OPC_RecordChild0,
13626
0
   OPC_MoveChild1,
13627
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13628
0
   OPC_MoveChild0,
13629
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13630
0
   OPC_CheckPredicate0, 
13631
0
   OPC_MoveSibling1,
13632
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13633
0
   OPC_MoveChild0,
13634
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13635
0
   OPC_CheckPredicate, 8,
13636
0
   OPC_MoveParent,
13637
0
   OPC_RecordChild1,
13638
0
   OPC_CheckType, MVT::v8i32,
13639
0
   OPC_MoveParent,
13640
0
   OPC_MoveParent,
13641
0
   OPC_CheckType, MVT::v8i32,
13642
0
   OPC_CheckPatternPredicate0,
13643
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13644
0
                 MVT::v8i32, 2, 0, 1, 
13645
0
  63, 
13646
0
   OPC_MoveChild0,
13647
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13648
0
   OPC_MoveChild0,
13649
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13650
0
   OPC_CheckPredicate0, 
13651
0
   OPC_MoveSibling1,
13652
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13653
0
   OPC_Scope, 23, 
13654
0
    OPC_RecordChild0,
13655
0
    OPC_MoveChild1,
13656
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13657
0
    OPC_CheckPredicate, 8,
13658
0
    OPC_MoveParent,
13659
0
    OPC_CheckType, MVT::v8i32,
13660
0
    OPC_MoveParent,
13661
0
    OPC_MoveParent,
13662
0
    OPC_RecordChild1,
13663
0
    OPC_CheckType, MVT::v8i32,
13664
0
    OPC_CheckPatternPredicate0,
13665
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13666
0
                  MVT::v8i32, 2, 1, 0, 
13667
0
   23, 
13668
0
    OPC_MoveChild0,
13669
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13670
0
    OPC_CheckPredicate, 8,
13671
0
    OPC_MoveParent,
13672
0
    OPC_RecordChild1,
13673
0
    OPC_CheckType, MVT::v8i32,
13674
0
    OPC_MoveParent,
13675
0
    OPC_MoveParent,
13676
0
    OPC_RecordChild1,
13677
0
    OPC_CheckType, MVT::v8i32,
13678
0
    OPC_CheckPatternPredicate0,
13679
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13680
0
                  MVT::v8i32, 2, 1, 0, 
13681
0
   0, 
13682
0
  35, 
13683
0
   OPC_RecordChild0,
13684
0
   OPC_MoveChild1,
13685
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13686
0
   OPC_MoveChild0,
13687
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13688
0
   OPC_CheckPredicate0, 
13689
0
   OPC_MoveSibling1,
13690
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13691
0
   OPC_MoveChild0,
13692
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13693
0
   OPC_CheckPredicate3, 
13694
0
   OPC_MoveParent,
13695
0
   OPC_RecordChild1,
13696
0
   OPC_CheckType, MVT::v4i64,
13697
0
   OPC_MoveParent,
13698
0
   OPC_MoveParent,
13699
0
   OPC_CheckType, MVT::v4i64,
13700
0
   OPC_CheckPatternPredicate0,
13701
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13702
0
                 MVT::v4i64, 2, 0, 1, 
13703
0
  61, 
13704
0
   OPC_MoveChild0,
13705
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13706
0
   OPC_MoveChild0,
13707
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13708
0
   OPC_CheckPredicate0, 
13709
0
   OPC_MoveSibling1,
13710
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13711
0
   OPC_Scope, 22, 
13712
0
    OPC_RecordChild0,
13713
0
    OPC_MoveChild1,
13714
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13715
0
    OPC_CheckPredicate3, 
13716
0
    OPC_MoveParent,
13717
0
    OPC_CheckType, MVT::v4i64,
13718
0
    OPC_MoveParent,
13719
0
    OPC_MoveParent,
13720
0
    OPC_RecordChild1,
13721
0
    OPC_CheckType, MVT::v4i64,
13722
0
    OPC_CheckPatternPredicate0,
13723
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13724
0
                  MVT::v4i64, 2, 1, 0, 
13725
0
   22, 
13726
0
    OPC_MoveChild0,
13727
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13728
0
    OPC_CheckPredicate3, 
13729
0
    OPC_MoveParent,
13730
0
    OPC_RecordChild1,
13731
0
    OPC_CheckType, MVT::v4i64,
13732
0
    OPC_MoveParent,
13733
0
    OPC_MoveParent,
13734
0
    OPC_RecordChild1,
13735
0
    OPC_CheckType, MVT::v4i64,
13736
0
    OPC_CheckPatternPredicate0,
13737
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13738
0
                  MVT::v4i64, 2, 1, 0, 
13739
0
   0, 
13740
0
  61, 
13741
0
   OPC_RecordChild0,
13742
0
   OPC_MoveChild1,
13743
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13744
0
   OPC_MoveChild0,
13745
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13746
0
   OPC_MoveSibling1,
13747
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13748
0
   OPC_Scope, 22, 
13749
0
    OPC_RecordChild0,
13750
0
    OPC_MoveChild1,
13751
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13752
0
    OPC_CheckPredicate, 8,
13753
0
    OPC_MoveParent,
13754
0
    OPC_CheckType, MVT::v4i32,
13755
0
    OPC_MoveParent,
13756
0
    OPC_MoveParent,
13757
0
    OPC_CheckType, MVT::v4i32,
13758
0
    OPC_CheckPatternPredicate1,
13759
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13760
0
                  MVT::v4i32, 2, 0, 1, 
13761
0
   22, 
13762
0
    OPC_MoveChild0,
13763
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13764
0
    OPC_CheckPredicate, 8,
13765
0
    OPC_MoveParent,
13766
0
    OPC_RecordChild1,
13767
0
    OPC_CheckType, MVT::v4i32,
13768
0
    OPC_MoveParent,
13769
0
    OPC_MoveParent,
13770
0
    OPC_CheckType, MVT::v4i32,
13771
0
    OPC_CheckPatternPredicate1,
13772
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13773
0
                  MVT::v4i32, 2, 0, 1, 
13774
0
   0, 
13775
0
  62, 
13776
0
   OPC_MoveChild0,
13777
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13778
0
   OPC_MoveChild0,
13779
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13780
0
   OPC_MoveSibling1,
13781
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13782
0
   OPC_Scope, 23, 
13783
0
    OPC_RecordChild0,
13784
0
    OPC_MoveChild1,
13785
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13786
0
    OPC_CheckPredicate, 8,
13787
0
    OPC_MoveParent,
13788
0
    OPC_CheckType, MVT::v4i32,
13789
0
    OPC_MoveParent,
13790
0
    OPC_MoveParent,
13791
0
    OPC_RecordChild1,
13792
0
    OPC_CheckType, MVT::v4i32,
13793
0
    OPC_CheckPatternPredicate1,
13794
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13795
0
                  MVT::v4i32, 2, 1, 0, 
13796
0
   23, 
13797
0
    OPC_MoveChild0,
13798
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13799
0
    OPC_CheckPredicate, 8,
13800
0
    OPC_MoveParent,
13801
0
    OPC_RecordChild1,
13802
0
    OPC_CheckType, MVT::v4i32,
13803
0
    OPC_MoveParent,
13804
0
    OPC_MoveParent,
13805
0
    OPC_RecordChild1,
13806
0
    OPC_CheckType, MVT::v4i32,
13807
0
    OPC_CheckPatternPredicate1,
13808
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13809
0
                  MVT::v4i32, 2, 1, 0, 
13810
0
   0, 
13811
0
  119, 
13812
0
   OPC_RecordChild0,
13813
0
   OPC_MoveChild1,
13814
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13815
0
   OPC_MoveChild0,
13816
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13817
0
   OPC_MoveChild0,
13818
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13819
0
   OPC_CheckType, MVT::v4i32,
13820
0
   OPC_MoveParent,
13821
0
   OPC_CheckPredicate0, 
13822
0
   OPC_MoveParent,
13823
0
   OPC_RecordChild1,
13824
0
   OPC_Scope, 13, 
13825
0
    OPC_CheckChild1Type, MVT::v16i8,
13826
0
    OPC_MoveParent,
13827
0
    OPC_CheckType, MVT::v16i8,
13828
0
    OPC_CheckPatternPredicate1,
13829
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13830
0
                  MVT::v16i8, 2, 0, 1, 
13831
0
   13, 
13832
0
    OPC_CheckChild1Type, MVT::v8i16,
13833
0
    OPC_MoveParent,
13834
0
    OPC_CheckType, MVT::v8i16,
13835
0
    OPC_CheckPatternPredicate1,
13836
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13837
0
                  MVT::v8i16, 2, 0, 1, 
13838
0
   13, 
13839
0
    OPC_CheckChild1Type, MVT::v2i64,
13840
0
    OPC_MoveParent,
13841
0
    OPC_CheckType, MVT::v2i64,
13842
0
    OPC_CheckPatternPredicate1,
13843
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13844
0
                  MVT::v2i64, 2, 0, 1, 
13845
0
   13, 
13846
0
    OPC_CheckChild1Type, MVT::v32i8,
13847
0
    OPC_MoveParent,
13848
0
    OPC_CheckType, MVT::v32i8,
13849
0
    OPC_CheckPatternPredicate0,
13850
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13851
0
                  MVT::v32i8, 2, 0, 1, 
13852
0
   13, 
13853
0
    OPC_CheckChild1Type, MVT::v16i16,
13854
0
    OPC_MoveParent,
13855
0
    OPC_CheckType, MVT::v16i16,
13856
0
    OPC_CheckPatternPredicate0,
13857
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13858
0
                  MVT::v16i16, 2, 0, 1, 
13859
0
   13, 
13860
0
    OPC_CheckChild1Type, MVT::v8i32,
13861
0
    OPC_MoveParent,
13862
0
    OPC_CheckType, MVT::v8i32,
13863
0
    OPC_CheckPatternPredicate0,
13864
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13865
0
                  MVT::v8i32, 2, 0, 1, 
13866
0
   13, 
13867
0
    OPC_CheckChild1Type, MVT::v4i64,
13868
0
    OPC_MoveParent,
13869
0
    OPC_CheckType, MVT::v4i64,
13870
0
    OPC_CheckPatternPredicate0,
13871
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13872
0
                  MVT::v4i64, 2, 0, 1, 
13873
0
   0, 
13874
0
  49|128,1, 
13875
0
   OPC_MoveChild0,
13876
0
   OPC_SwitchOpcode , 121, TARGET_VAL(ISD::SHL),
13877
0
    OPC_MoveChild0,
13878
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13879
0
    OPC_MoveChild0,
13880
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13881
0
    OPC_CheckType, MVT::v4i32,
13882
0
    OPC_MoveParent,
13883
0
    OPC_CheckPredicate0, 
13884
0
    OPC_MoveParent,
13885
0
    OPC_RecordChild1,
13886
0
    OPC_Scope, 14, 
13887
0
     OPC_CheckChild1Type, MVT::v16i8,
13888
0
     OPC_MoveParent,
13889
0
     OPC_RecordChild1,
13890
0
     OPC_CheckType, MVT::v16i8,
13891
0
     OPC_CheckPatternPredicate1,
13892
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13893
0
                   MVT::v16i8, 2, 1, 0, 
13894
0
    14, 
13895
0
     OPC_CheckChild1Type, MVT::v8i16,
13896
0
     OPC_MoveParent,
13897
0
     OPC_RecordChild1,
13898
0
     OPC_CheckType, MVT::v8i16,
13899
0
     OPC_CheckPatternPredicate1,
13900
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13901
0
                   MVT::v8i16, 2, 1, 0, 
13902
0
    14, 
13903
0
     OPC_CheckChild1Type, MVT::v2i64,
13904
0
     OPC_MoveParent,
13905
0
     OPC_RecordChild1,
13906
0
     OPC_CheckType, MVT::v2i64,
13907
0
     OPC_CheckPatternPredicate1,
13908
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13909
0
                   MVT::v2i64, 2, 1, 0, 
13910
0
    14, 
13911
0
     OPC_CheckChild1Type, MVT::v32i8,
13912
0
     OPC_MoveParent,
13913
0
     OPC_RecordChild1,
13914
0
     OPC_CheckType, MVT::v32i8,
13915
0
     OPC_CheckPatternPredicate0,
13916
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13917
0
                   MVT::v32i8, 2, 1, 0, 
13918
0
    14, 
13919
0
     OPC_CheckChild1Type, MVT::v16i16,
13920
0
     OPC_MoveParent,
13921
0
     OPC_RecordChild1,
13922
0
     OPC_CheckType, MVT::v16i16,
13923
0
     OPC_CheckPatternPredicate0,
13924
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13925
0
                   MVT::v16i16, 2, 1, 0, 
13926
0
    14, 
13927
0
     OPC_CheckChild1Type, MVT::v8i32,
13928
0
     OPC_MoveParent,
13929
0
     OPC_RecordChild1,
13930
0
     OPC_CheckType, MVT::v8i32,
13931
0
     OPC_CheckPatternPredicate0,
13932
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13933
0
                   MVT::v8i32, 2, 1, 0, 
13934
0
    14, 
13935
0
     OPC_CheckChild1Type, MVT::v4i64,
13936
0
     OPC_MoveParent,
13937
0
     OPC_RecordChild1,
13938
0
     OPC_CheckType, MVT::v4i64,
13939
0
     OPC_CheckPatternPredicate0,
13940
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13941
0
                   MVT::v4i64, 2, 1, 0, 
13942
0
    0, 
13943
0
   47, TARGET_VAL(ISD::OR),
13944
0
    OPC_RecordChild0,
13945
0
    OPC_RecordChild1,
13946
0
    OPC_MoveSibling1,
13947
0
    OPC_CheckImmAllOnesV,
13948
0
    OPC_MoveParent,
13949
0
    OPC_SwitchType , 8, MVT::v16i8,
13950
0
     OPC_CheckPatternPredicate1,
13951
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13952
0
                   MVT::v16i8, 2, 0, 1, 
13953
0
    8, MVT::v8i16,
13954
0
     OPC_CheckPatternPredicate1,
13955
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13956
0
                   MVT::v8i16, 2, 0, 1, 
13957
0
    8, MVT::v4i32,
13958
0
     OPC_CheckPatternPredicate1,
13959
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13960
0
                   MVT::v4i32, 2, 0, 1, 
13961
0
    8, MVT::v2i64,
13962
0
     OPC_CheckPatternPredicate1,
13963
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13964
0
                   MVT::v2i64, 2, 0, 1, 
13965
0
    0,
13966
0
   0,
13967
0
  70, 
13968
0
   OPC_RecordChild0,
13969
0
   OPC_MoveChild1,
13970
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13971
0
   OPC_MoveChild0,
13972
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13973
0
   OPC_CheckPredicate0, 
13974
0
   OPC_MoveParent,
13975
0
   OPC_RecordChild1,
13976
0
   OPC_Scope, 13, 
13977
0
    OPC_CheckChild1Type, MVT::v16i8,
13978
0
    OPC_MoveParent,
13979
0
    OPC_CheckType, MVT::v16i8,
13980
0
    OPC_CheckPatternPredicate1,
13981
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13982
0
                  MVT::v16i8, 2, 0, 1, 
13983
0
   13, 
13984
0
    OPC_CheckChild1Type, MVT::v8i16,
13985
0
    OPC_MoveParent,
13986
0
    OPC_CheckType, MVT::v8i16,
13987
0
    OPC_CheckPatternPredicate1,
13988
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13989
0
                  MVT::v8i16, 2, 0, 1, 
13990
0
   13, 
13991
0
    OPC_CheckChild1Type, MVT::v4i32,
13992
0
    OPC_MoveParent,
13993
0
    OPC_CheckType, MVT::v4i32,
13994
0
    OPC_CheckPatternPredicate1,
13995
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13996
0
                  MVT::v4i32, 2, 0, 1, 
13997
0
   13, 
13998
0
    OPC_CheckChild1Type, MVT::v2i64,
13999
0
    OPC_MoveParent,
14000
0
    OPC_CheckType, MVT::v2i64,
14001
0
    OPC_CheckPatternPredicate1,
14002
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
14003
0
                  MVT::v2i64, 2, 0, 1, 
14004
0
   0, 
14005
0
  51, 
14006
0
   OPC_MoveChild0,
14007
0
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
14008
0
   OPC_RecordChild0,
14009
0
   OPC_RecordChild1,
14010
0
   OPC_MoveSibling1,
14011
0
   OPC_CheckImmAllOnesV,
14012
0
   OPC_MoveParent,
14013
0
   OPC_SwitchType , 8, MVT::v32i8,
14014
0
    OPC_CheckPatternPredicate0,
14015
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14016
0
                  MVT::v32i8, 2, 0, 1, 
14017
0
   8, MVT::v16i16,
14018
0
    OPC_CheckPatternPredicate0,
14019
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14020
0
                  MVT::v16i16, 2, 0, 1, 
14021
0
   8, MVT::v8i32,
14022
0
    OPC_CheckPatternPredicate0,
14023
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14024
0
                  MVT::v8i32, 2, 0, 1, 
14025
0
   8, MVT::v4i64,
14026
0
    OPC_CheckPatternPredicate0,
14027
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14028
0
                  MVT::v4i64, 2, 0, 1, 
14029
0
   0,
14030
0
  70, 
14031
0
   OPC_RecordChild0,
14032
0
   OPC_MoveChild1,
14033
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14034
0
   OPC_MoveChild0,
14035
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14036
0
   OPC_CheckPredicate0, 
14037
0
   OPC_MoveParent,
14038
0
   OPC_RecordChild1,
14039
0
   OPC_Scope, 13, 
14040
0
    OPC_CheckChild1Type, MVT::v32i8,
14041
0
    OPC_MoveParent,
14042
0
    OPC_CheckType, MVT::v32i8,
14043
0
    OPC_CheckPatternPredicate0,
14044
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
14045
0
                  MVT::v32i8, 2, 0, 1, 
14046
0
   13, 
14047
0
    OPC_CheckChild1Type, MVT::v16i16,
14048
0
    OPC_MoveParent,
14049
0
    OPC_CheckType, MVT::v16i16,
14050
0
    OPC_CheckPatternPredicate0,
14051
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
14052
0
                  MVT::v16i16, 2, 0, 1, 
14053
0
   13, 
14054
0
    OPC_CheckChild1Type, MVT::v8i32,
14055
0
    OPC_MoveParent,
14056
0
    OPC_CheckType, MVT::v8i32,
14057
0
    OPC_CheckPatternPredicate0,
14058
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
14059
0
                  MVT::v8i32, 2, 0, 1, 
14060
0
   13, 
14061
0
    OPC_CheckChild1Type, MVT::v4i64,
14062
0
    OPC_MoveParent,
14063
0
    OPC_CheckType, MVT::v4i64,
14064
0
    OPC_CheckPatternPredicate0,
14065
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
14066
0
                  MVT::v4i64, 2, 0, 1, 
14067
0
   0, 
14068
0
  5|128,1, 
14069
0
   OPC_MoveChild0,
14070
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14071
0
   OPC_MoveChild0,
14072
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14073
0
   OPC_CheckPredicate0, 
14074
0
   OPC_MoveParent,
14075
0
   OPC_RecordChild1,
14076
0
   OPC_Scope, 14, 
14077
0
    OPC_CheckChild1Type, MVT::v16i8,
14078
0
    OPC_MoveParent,
14079
0
    OPC_RecordChild1,
14080
0
    OPC_CheckType, MVT::v16i8,
14081
0
    OPC_CheckPatternPredicate1,
14082
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
14083
0
                  MVT::v16i8, 2, 1, 0, 
14084
0
   14, 
14085
0
    OPC_CheckChild1Type, MVT::v8i16,
14086
0
    OPC_MoveParent,
14087
0
    OPC_RecordChild1,
14088
0
    OPC_CheckType, MVT::v8i16,
14089
0
    OPC_CheckPatternPredicate1,
14090
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
14091
0
                  MVT::v8i16, 2, 1, 0, 
14092
0
   14, 
14093
0
    OPC_CheckChild1Type, MVT::v4i32,
14094
0
    OPC_MoveParent,
14095
0
    OPC_RecordChild1,
14096
0
    OPC_CheckType, MVT::v4i32,
14097
0
    OPC_CheckPatternPredicate1,
14098
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14099
0
                  MVT::v4i32, 2, 1, 0, 
14100
0
   14, 
14101
0
    OPC_CheckChild1Type, MVT::v2i64,
14102
0
    OPC_MoveParent,
14103
0
    OPC_RecordChild1,
14104
0
    OPC_CheckType, MVT::v2i64,
14105
0
    OPC_CheckPatternPredicate1,
14106
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
14107
0
                  MVT::v2i64, 2, 1, 0, 
14108
0
   14, 
14109
0
    OPC_CheckChild1Type, MVT::v32i8,
14110
0
    OPC_MoveParent,
14111
0
    OPC_RecordChild1,
14112
0
    OPC_CheckType, MVT::v32i8,
14113
0
    OPC_CheckPatternPredicate0,
14114
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
14115
0
                  MVT::v32i8, 2, 1, 0, 
14116
0
   14, 
14117
0
    OPC_CheckChild1Type, MVT::v16i16,
14118
0
    OPC_MoveParent,
14119
0
    OPC_RecordChild1,
14120
0
    OPC_CheckType, MVT::v16i16,
14121
0
    OPC_CheckPatternPredicate0,
14122
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
14123
0
                  MVT::v16i16, 2, 1, 0, 
14124
0
   14, 
14125
0
    OPC_CheckChild1Type, MVT::v8i32,
14126
0
    OPC_MoveParent,
14127
0
    OPC_RecordChild1,
14128
0
    OPC_CheckType, MVT::v8i32,
14129
0
    OPC_CheckPatternPredicate0,
14130
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
14131
0
                  MVT::v8i32, 2, 1, 0, 
14132
0
   14, 
14133
0
    OPC_CheckChild1Type, MVT::v4i64,
14134
0
    OPC_MoveParent,
14135
0
    OPC_RecordChild1,
14136
0
    OPC_CheckType, MVT::v4i64,
14137
0
    OPC_CheckPatternPredicate0,
14138
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
14139
0
                  MVT::v4i64, 2, 1, 0, 
14140
0
   0, 
14141
0
  24, 
14142
0
   OPC_RecordChild0,
14143
0
   OPC_MoveChild1,
14144
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14145
0
   OPC_MoveChild0,
14146
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14147
0
   OPC_MoveParent,
14148
0
   OPC_RecordChild1,
14149
0
   OPC_CheckChild1Type, MVT::v4i32,
14150
0
   OPC_MoveParent,
14151
0
   OPC_CheckType, MVT::v4i32,
14152
0
   OPC_CheckPatternPredicate1,
14153
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14154
0
                 MVT::v4i32, 2, 0, 1, 
14155
0
  24, 
14156
0
   OPC_MoveChild0,
14157
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14158
0
   OPC_MoveChild0,
14159
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14160
0
   OPC_MoveParent,
14161
0
   OPC_RecordChild1,
14162
0
   OPC_CheckChild1Type, MVT::v4i32,
14163
0
   OPC_MoveParent,
14164
0
   OPC_RecordChild1,
14165
0
   OPC_CheckType, MVT::v4i32,
14166
0
   OPC_CheckPatternPredicate1,
14167
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14168
0
                 MVT::v4i32, 2, 1, 0, 
14169
0
  36|128,4, 
14170
0
   OPC_RecordChild0,
14171
0
   OPC_RecordChild1,
14172
0
   OPC_SwitchType , 99, MVT::v16i8,
14173
0
    OPC_Scope, 10, 
14174
0
     OPC_CheckPatternPredicate2,
14175
0
     OPC_CheckComplexPat5, /*#*/1,
14176
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14177
0
                   MVT::v16i8, 2, 0, 2, 
14178
0
    10, 
14179
0
     OPC_CheckPatternPredicate4,
14180
0
     OPC_CheckComplexPat5, /*#*/1,
14181
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14182
0
                   MVT::v16i8, 2, 0, 2, 
14183
0
    10, 
14184
0
     OPC_CheckPatternPredicate2,
14185
0
     OPC_CheckComplexPat5, /*#*/0,
14186
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14187
0
                   MVT::v16i8, 2, 1, 2, 
14188
0
    10, 
14189
0
     OPC_CheckPatternPredicate4,
14190
0
     OPC_CheckComplexPat5, /*#*/0,
14191
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14192
0
                   MVT::v16i8, 2, 1, 2, 
14193
0
    10, 
14194
0
     OPC_CheckPatternPredicate2,
14195
0
     OPC_CheckComplexPat7, /*#*/1,
14196
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14197
0
                   MVT::v16i8, 2, 0, 2, 
14198
0
    10, 
14199
0
     OPC_CheckPatternPredicate4,
14200
0
     OPC_CheckComplexPat7, /*#*/1,
14201
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14202
0
                   MVT::v16i8, 2, 0, 2, 
14203
0
    10, 
14204
0
     OPC_CheckPatternPredicate2,
14205
0
     OPC_CheckComplexPat7, /*#*/0,
14206
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14207
0
                   MVT::v16i8, 2, 1, 2, 
14208
0
    10, 
14209
0
     OPC_CheckPatternPredicate4,
14210
0
     OPC_CheckComplexPat7, /*#*/0,
14211
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14212
0
                   MVT::v16i8, 2, 1, 2, 
14213
0
    8, 
14214
0
     OPC_CheckPatternPredicate1,
14215
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14216
0
                   MVT::v16i8, 2, 0, 1, 
14217
0
    0, 
14218
0
   55, MVT::v8i16,
14219
0
    OPC_Scope, 10, 
14220
0
     OPC_CheckPatternPredicate2,
14221
0
     OPC_CheckComplexPat5, /*#*/1,
14222
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14223
0
                   MVT::v8i16, 2, 0, 2, 
14224
0
    10, 
14225
0
     OPC_CheckPatternPredicate4,
14226
0
     OPC_CheckComplexPat5, /*#*/1,
14227
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14228
0
                   MVT::v8i16, 2, 0, 2, 
14229
0
    10, 
14230
0
     OPC_CheckPatternPredicate2,
14231
0
     OPC_CheckComplexPat5, /*#*/0,
14232
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14233
0
                   MVT::v8i16, 2, 1, 2, 
14234
0
    10, 
14235
0
     OPC_CheckPatternPredicate4,
14236
0
     OPC_CheckComplexPat5, /*#*/0,
14237
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14238
0
                   MVT::v8i16, 2, 1, 2, 
14239
0
    8, 
14240
0
     OPC_CheckPatternPredicate1,
14241
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14242
0
                   MVT::v8i16, 2, 0, 1, 
14243
0
    0, 
14244
0
   55, MVT::v4i32,
14245
0
    OPC_Scope, 10, 
14246
0
     OPC_CheckPatternPredicate2,
14247
0
     OPC_CheckComplexPat5, /*#*/1,
14248
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14249
0
                   MVT::v4i32, 2, 0, 2, 
14250
0
    10, 
14251
0
     OPC_CheckPatternPredicate4,
14252
0
     OPC_CheckComplexPat5, /*#*/1,
14253
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14254
0
                   MVT::v4i32, 2, 0, 2, 
14255
0
    10, 
14256
0
     OPC_CheckPatternPredicate2,
14257
0
     OPC_CheckComplexPat5, /*#*/0,
14258
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14259
0
                   MVT::v4i32, 2, 1, 2, 
14260
0
    10, 
14261
0
     OPC_CheckPatternPredicate4,
14262
0
     OPC_CheckComplexPat5, /*#*/0,
14263
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14264
0
                   MVT::v4i32, 2, 1, 2, 
14265
0
    8, 
14266
0
     OPC_CheckPatternPredicate1,
14267
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14268
0
                   MVT::v4i32, 2, 0, 1, 
14269
0
    0, 
14270
0
   55, MVT::v2i64,
14271
0
    OPC_Scope, 10, 
14272
0
     OPC_CheckPatternPredicate2,
14273
0
     OPC_CheckComplexPat5, /*#*/1,
14274
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14275
0
                   MVT::v2i64, 2, 0, 2, 
14276
0
    10, 
14277
0
     OPC_CheckPatternPredicate4,
14278
0
     OPC_CheckComplexPat5, /*#*/1,
14279
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14280
0
                   MVT::v2i64, 2, 0, 2, 
14281
0
    10, 
14282
0
     OPC_CheckPatternPredicate2,
14283
0
     OPC_CheckComplexPat5, /*#*/0,
14284
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14285
0
                   MVT::v2i64, 2, 1, 2, 
14286
0
    10, 
14287
0
     OPC_CheckPatternPredicate4,
14288
0
     OPC_CheckComplexPat5, /*#*/0,
14289
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14290
0
                   MVT::v2i64, 2, 1, 2, 
14291
0
    8, 
14292
0
     OPC_CheckPatternPredicate1,
14293
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14294
0
                   MVT::v2i64, 2, 0, 1, 
14295
0
    0, 
14296
0
   99, MVT::v32i8,
14297
0
    OPC_Scope, 10, 
14298
0
     OPC_CheckPatternPredicate3,
14299
0
     OPC_CheckComplexPat5, /*#*/1,
14300
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14301
0
                   MVT::v32i8, 2, 0, 2, 
14302
0
    10, 
14303
0
     OPC_CheckPatternPredicate5,
14304
0
     OPC_CheckComplexPat5, /*#*/1,
14305
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14306
0
                   MVT::v32i8, 2, 0, 2, 
14307
0
    10, 
14308
0
     OPC_CheckPatternPredicate3,
14309
0
     OPC_CheckComplexPat5, /*#*/0,
14310
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14311
0
                   MVT::v32i8, 2, 1, 2, 
14312
0
    10, 
14313
0
     OPC_CheckPatternPredicate5,
14314
0
     OPC_CheckComplexPat5, /*#*/0,
14315
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14316
0
                   MVT::v32i8, 2, 1, 2, 
14317
0
    10, 
14318
0
     OPC_CheckPatternPredicate3,
14319
0
     OPC_CheckComplexPat7, /*#*/1,
14320
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14321
0
                   MVT::v32i8, 2, 0, 2, 
14322
0
    10, 
14323
0
     OPC_CheckPatternPredicate5,
14324
0
     OPC_CheckComplexPat7, /*#*/1,
14325
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14326
0
                   MVT::v32i8, 2, 0, 2, 
14327
0
    10, 
14328
0
     OPC_CheckPatternPredicate3,
14329
0
     OPC_CheckComplexPat7, /*#*/0,
14330
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14331
0
                   MVT::v32i8, 2, 1, 2, 
14332
0
    10, 
14333
0
     OPC_CheckPatternPredicate5,
14334
0
     OPC_CheckComplexPat7, /*#*/0,
14335
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14336
0
                   MVT::v32i8, 2, 1, 2, 
14337
0
    8, 
14338
0
     OPC_CheckPatternPredicate0,
14339
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14340
0
                   MVT::v32i8, 2, 0, 1, 
14341
0
    0, 
14342
0
   55, MVT::v16i16,
14343
0
    OPC_Scope, 10, 
14344
0
     OPC_CheckPatternPredicate3,
14345
0
     OPC_CheckComplexPat5, /*#*/1,
14346
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14347
0
                   MVT::v16i16, 2, 0, 2, 
14348
0
    10, 
14349
0
     OPC_CheckPatternPredicate5,
14350
0
     OPC_CheckComplexPat5, /*#*/1,
14351
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14352
0
                   MVT::v16i16, 2, 0, 2, 
14353
0
    10, 
14354
0
     OPC_CheckPatternPredicate3,
14355
0
     OPC_CheckComplexPat5, /*#*/0,
14356
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14357
0
                   MVT::v16i16, 2, 1, 2, 
14358
0
    10, 
14359
0
     OPC_CheckPatternPredicate5,
14360
0
     OPC_CheckComplexPat5, /*#*/0,
14361
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14362
0
                   MVT::v16i16, 2, 1, 2, 
14363
0
    8, 
14364
0
     OPC_CheckPatternPredicate0,
14365
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14366
0
                   MVT::v16i16, 2, 0, 1, 
14367
0
    0, 
14368
0
   55, MVT::v8i32,
14369
0
    OPC_Scope, 10, 
14370
0
     OPC_CheckPatternPredicate3,
14371
0
     OPC_CheckComplexPat5, /*#*/1,
14372
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14373
0
                   MVT::v8i32, 2, 0, 2, 
14374
0
    10, 
14375
0
     OPC_CheckPatternPredicate5,
14376
0
     OPC_CheckComplexPat5, /*#*/1,
14377
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14378
0
                   MVT::v8i32, 2, 0, 2, 
14379
0
    10, 
14380
0
     OPC_CheckPatternPredicate3,
14381
0
     OPC_CheckComplexPat5, /*#*/0,
14382
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14383
0
                   MVT::v8i32, 2, 1, 2, 
14384
0
    10, 
14385
0
     OPC_CheckPatternPredicate5,
14386
0
     OPC_CheckComplexPat5, /*#*/0,
14387
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14388
0
                   MVT::v8i32, 2, 1, 2, 
14389
0
    8, 
14390
0
     OPC_CheckPatternPredicate0,
14391
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14392
0
                   MVT::v8i32, 2, 0, 1, 
14393
0
    0, 
14394
0
   55, MVT::v4i64,
14395
0
    OPC_Scope, 10, 
14396
0
     OPC_CheckPatternPredicate3,
14397
0
     OPC_CheckComplexPat5, /*#*/1,
14398
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14399
0
                   MVT::v4i64, 2, 0, 2, 
14400
0
    10, 
14401
0
     OPC_CheckPatternPredicate5,
14402
0
     OPC_CheckComplexPat5, /*#*/1,
14403
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14404
0
                   MVT::v4i64, 2, 0, 2, 
14405
0
    10, 
14406
0
     OPC_CheckPatternPredicate3,
14407
0
     OPC_CheckComplexPat5, /*#*/0,
14408
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14409
0
                   MVT::v4i64, 2, 1, 2, 
14410
0
    10, 
14411
0
     OPC_CheckPatternPredicate5,
14412
0
     OPC_CheckComplexPat5, /*#*/0,
14413
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14414
0
                   MVT::v4i64, 2, 1, 2, 
14415
0
    8, 
14416
0
     OPC_CheckPatternPredicate0,
14417
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14418
0
                   MVT::v4i64, 2, 0, 1, 
14419
0
    0, 
14420
0
   0,
14421
0
  0, 
14422
0
 124|128,34, TARGET_VAL(ISD::AND),
14423
0
  OPC_Scope, 32, 
14424
0
   OPC_RecordChild0,
14425
0
   OPC_MoveChild1,
14426
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14427
0
   OPC_RecordChild0,
14428
0
   OPC_CheckChild1Integer, 3, 
14429
0
   OPC_MoveParent,
14430
0
   OPC_SwitchType , 8, MVT::i64,
14431
0
    OPC_CheckPatternPredicate7,
14432
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14433
0
                  MVT::i64, 2, 0, 1, 
14434
0
   9, MVT::i32,
14435
0
    OPC_CheckPatternPredicate, 8,
14436
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14437
0
                  MVT::i32, 2, 0, 1, 
14438
0
   0,
14439
0
  32, 
14440
0
   OPC_MoveChild0,
14441
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14442
0
   OPC_RecordChild0,
14443
0
   OPC_CheckChild1Integer, 3, 
14444
0
   OPC_MoveParent,
14445
0
   OPC_RecordChild1,
14446
0
   OPC_SwitchType , 8, MVT::i64,
14447
0
    OPC_CheckPatternPredicate7,
14448
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14449
0
                  MVT::i64, 2, 1, 0, 
14450
0
   9, MVT::i32,
14451
0
    OPC_CheckPatternPredicate, 8,
14452
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14453
0
                  MVT::i32, 2, 1, 0, 
14454
0
   0,
14455
0
  21|128,2, 
14456
0
   OPC_RecordChild0,
14457
0
   OPC_Scope, 34|128,1, 
14458
0
    OPC_RecordChild1,
14459
0
    OPC_Scope, 8|128,1, 
14460
0
     OPC_MoveChild1,
14461
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14462
0
     OPC_Scope, 28, 
14463
0
      OPC_CheckPredicate, 45,
14464
0
      OPC_MoveParent,
14465
0
      OPC_SwitchType , 9, MVT::i64,
14466
0
       OPC_CheckPatternPredicate7,
14467
0
       OPC_EmitConvertToTarget1,
14468
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
14469
0
                     MVT::i64, 2, 0, 2, 
14470
0
      10, MVT::i32,
14471
0
       OPC_CheckPatternPredicate, 8,
14472
0
       OPC_EmitConvertToTarget1,
14473
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
14474
0
                     MVT::i32, 2, 0, 2, 
14475
0
      0,
14476
0
     100, 
14477
0
      OPC_CheckPredicate, 57,
14478
0
      OPC_MoveParent,
14479
0
      OPC_SwitchType , 45, MVT::i64,
14480
0
       OPC_Scope, 21, 
14481
0
        OPC_CheckPatternPredicate, 15,
14482
0
        OPC_EmitRegisterI64, LoongArch::R0,
14483
0
        OPC_EmitConvertToTarget1,
14484
0
        OPC_EmitNodeXForm, 9, 3,
14485
0
        OPC_EmitConvertToTarget1,
14486
0
        OPC_EmitNodeXForm, 10, 5,
14487
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
14488
0
                      MVT::i64, 4, 0, 2, 4, 6, 
14489
0
       20, 
14490
0
        OPC_CheckPatternPredicate6,
14491
0
        OPC_EmitRegisterI64, LoongArch::R0,
14492
0
        OPC_EmitConvertToTarget1,
14493
0
        OPC_EmitNodeXForm, 9, 3,
14494
0
        OPC_EmitConvertToTarget1,
14495
0
        OPC_EmitNodeXForm, 10, 5,
14496
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
14497
0
                      MVT::i64, 4, 0, 2, 4, 6, 
14498
0
       0, 
14499
0
      46, MVT::i32,
14500
0
       OPC_Scope, 21, 
14501
0
        OPC_CheckPatternPredicate, 9,
14502
0
        OPC_EmitRegisterI32, LoongArch::R0,
14503
0
        OPC_EmitConvertToTarget1,
14504
0
        OPC_EmitNodeXForm, 9, 3,
14505
0
        OPC_EmitConvertToTarget1,
14506
0
        OPC_EmitNodeXForm, 10, 5,
14507
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
14508
0
                      MVT::i32, 4, 0, 2, 4, 6, 
14509
0
       21, 
14510
0
        OPC_CheckPatternPredicate, 10,
14511
0
        OPC_EmitRegisterI32, LoongArch::R0,
14512
0
        OPC_EmitConvertToTarget1,
14513
0
        OPC_EmitNodeXForm, 9, 3,
14514
0
        OPC_EmitConvertToTarget1,
14515
0
        OPC_EmitNodeXForm, 10, 5,
14516
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
14517
0
                      MVT::i32, 4, 0, 2, 4, 6, 
14518
0
       0, 
14519
0
      0,
14520
0
     0, 
14521
0
    9, 
14522
0
     OPC_CheckTypeI64,
14523
0
     OPC_CheckPatternPredicate7,
14524
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
14525
0
                   MVT::i64, 2, 0, 1, 
14526
0
    10, 
14527
0
     OPC_CheckTypeI32,
14528
0
     OPC_CheckPatternPredicate, 8,
14529
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
14530
0
                   MVT::i32, 2, 0, 1, 
14531
0
    0, 
14532
0
   109, 
14533
0
    OPC_MoveChild1,
14534
0
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14535
0
    OPC_MoveChild0,
14536
0
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14537
0
    OPC_MoveChild0,
14538
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14539
0
    OPC_MoveChild0,
14540
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14541
0
    OPC_CheckType, MVT::v4i32,
14542
0
    OPC_MoveParent,
14543
0
    OPC_CheckPredicate0, 
14544
0
    OPC_MoveSibling1,
14545
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14546
0
    OPC_Scope, 50, 
14547
0
     OPC_RecordChild0,
14548
0
     OPC_MoveChild1,
14549
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14550
0
     OPC_MoveChild0,
14551
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14552
0
     OPC_CheckType, MVT::v4i32,
14553
0
     OPC_MoveParent,
14554
0
     OPC_CheckPredicate3, 
14555
0
     OPC_MoveParent,
14556
0
     OPC_SwitchType , 15, MVT::v2i64,
14557
0
      OPC_MoveParent,
14558
0
      OPC_MoveSibling1,
14559
0
      OPC_CheckImmAllOnesV,
14560
0
      OPC_MoveParent,
14561
0
      OPC_MoveParent,
14562
0
      OPC_CheckType, MVT::v2i64,
14563
0
      OPC_CheckPatternPredicate1,
14564
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14565
0
                    MVT::v2i64, 2, 0, 1, 
14566
0
     15, MVT::v4i64,
14567
0
      OPC_MoveParent,
14568
0
      OPC_MoveSibling1,
14569
0
      OPC_CheckImmAllOnesV,
14570
0
      OPC_MoveParent,
14571
0
      OPC_MoveParent,
14572
0
      OPC_CheckType, MVT::v4i64,
14573
0
      OPC_CheckPatternPredicate0,
14574
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14575
0
                    MVT::v4i64, 2, 0, 1, 
14576
0
     0,
14577
0
    31, 
14578
0
     OPC_MoveChild0,
14579
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14580
0
     OPC_MoveChild0,
14581
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14582
0
     OPC_CheckType, MVT::v4i32,
14583
0
     OPC_MoveParent,
14584
0
     OPC_CheckPredicate3, 
14585
0
     OPC_MoveParent,
14586
0
     OPC_RecordChild1,
14587
0
     OPC_CheckType, MVT::v2i64,
14588
0
     OPC_MoveParent,
14589
0
     OPC_MoveSibling1,
14590
0
     OPC_CheckImmAllOnesV,
14591
0
     OPC_MoveParent,
14592
0
     OPC_MoveParent,
14593
0
     OPC_CheckType, MVT::v2i64,
14594
0
     OPC_CheckPatternPredicate1,
14595
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14596
0
                   MVT::v2i64, 2, 0, 1, 
14597
0
    0, 
14598
0
   0, 
14599
0
  92, 
14600
0
   OPC_MoveChild0,
14601
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14602
0
   OPC_MoveChild0,
14603
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14604
0
   OPC_MoveChild0,
14605
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14606
0
   OPC_MoveChild0,
14607
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14608
0
   OPC_CheckType, MVT::v4i32,
14609
0
   OPC_MoveParent,
14610
0
   OPC_CheckPredicate0, 
14611
0
   OPC_MoveSibling1,
14612
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14613
0
   OPC_Scope, 32, 
14614
0
    OPC_RecordChild0,
14615
0
    OPC_MoveChild1,
14616
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14617
0
    OPC_MoveChild0,
14618
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14619
0
    OPC_CheckType, MVT::v4i32,
14620
0
    OPC_MoveParent,
14621
0
    OPC_CheckPredicate3, 
14622
0
    OPC_MoveParent,
14623
0
    OPC_CheckType, MVT::v2i64,
14624
0
    OPC_MoveParent,
14625
0
    OPC_MoveSibling1,
14626
0
    OPC_CheckImmAllOnesV,
14627
0
    OPC_MoveParent,
14628
0
    OPC_MoveParent,
14629
0
    OPC_RecordChild1,
14630
0
    OPC_CheckType, MVT::v2i64,
14631
0
    OPC_CheckPatternPredicate1,
14632
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14633
0
                  MVT::v2i64, 2, 1, 0, 
14634
0
   32, 
14635
0
    OPC_MoveChild0,
14636
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14637
0
    OPC_MoveChild0,
14638
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14639
0
    OPC_CheckType, MVT::v4i32,
14640
0
    OPC_MoveParent,
14641
0
    OPC_CheckPredicate3, 
14642
0
    OPC_MoveParent,
14643
0
    OPC_RecordChild1,
14644
0
    OPC_CheckType, MVT::v2i64,
14645
0
    OPC_MoveParent,
14646
0
    OPC_MoveSibling1,
14647
0
    OPC_CheckImmAllOnesV,
14648
0
    OPC_MoveParent,
14649
0
    OPC_MoveParent,
14650
0
    OPC_RecordChild1,
14651
0
    OPC_CheckType, MVT::v2i64,
14652
0
    OPC_CheckPatternPredicate1,
14653
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14654
0
                  MVT::v2i64, 2, 1, 0, 
14655
0
   0, 
14656
0
  56, 
14657
0
   OPC_RecordChild0,
14658
0
   OPC_MoveChild1,
14659
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14660
0
   OPC_MoveChild0,
14661
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14662
0
   OPC_MoveChild0,
14663
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14664
0
   OPC_MoveChild0,
14665
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14666
0
   OPC_CheckType, MVT::v4i32,
14667
0
   OPC_MoveParent,
14668
0
   OPC_CheckPredicate0, 
14669
0
   OPC_MoveSibling1,
14670
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14671
0
   OPC_MoveChild0,
14672
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14673
0
   OPC_MoveChild0,
14674
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14675
0
   OPC_CheckType, MVT::v4i32,
14676
0
   OPC_MoveParent,
14677
0
   OPC_CheckPredicate3, 
14678
0
   OPC_MoveParent,
14679
0
   OPC_RecordChild1,
14680
0
   OPC_CheckType, MVT::v4i64,
14681
0
   OPC_MoveParent,
14682
0
   OPC_MoveSibling1,
14683
0
   OPC_CheckImmAllOnesV,
14684
0
   OPC_MoveParent,
14685
0
   OPC_MoveParent,
14686
0
   OPC_CheckType, MVT::v4i64,
14687
0
   OPC_CheckPatternPredicate0,
14688
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14689
0
                 MVT::v4i64, 2, 0, 1, 
14690
0
  92, 
14691
0
   OPC_MoveChild0,
14692
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14693
0
   OPC_MoveChild0,
14694
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14695
0
   OPC_MoveChild0,
14696
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14697
0
   OPC_MoveChild0,
14698
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14699
0
   OPC_CheckType, MVT::v4i32,
14700
0
   OPC_MoveParent,
14701
0
   OPC_CheckPredicate0, 
14702
0
   OPC_MoveSibling1,
14703
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14704
0
   OPC_Scope, 32, 
14705
0
    OPC_RecordChild0,
14706
0
    OPC_MoveChild1,
14707
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14708
0
    OPC_MoveChild0,
14709
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14710
0
    OPC_CheckType, MVT::v4i32,
14711
0
    OPC_MoveParent,
14712
0
    OPC_CheckPredicate3, 
14713
0
    OPC_MoveParent,
14714
0
    OPC_CheckType, MVT::v4i64,
14715
0
    OPC_MoveParent,
14716
0
    OPC_MoveSibling1,
14717
0
    OPC_CheckImmAllOnesV,
14718
0
    OPC_MoveParent,
14719
0
    OPC_MoveParent,
14720
0
    OPC_RecordChild1,
14721
0
    OPC_CheckType, MVT::v4i64,
14722
0
    OPC_CheckPatternPredicate0,
14723
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14724
0
                  MVT::v4i64, 2, 1, 0, 
14725
0
   32, 
14726
0
    OPC_MoveChild0,
14727
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14728
0
    OPC_MoveChild0,
14729
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14730
0
    OPC_CheckType, MVT::v4i32,
14731
0
    OPC_MoveParent,
14732
0
    OPC_CheckPredicate3, 
14733
0
    OPC_MoveParent,
14734
0
    OPC_RecordChild1,
14735
0
    OPC_CheckType, MVT::v4i64,
14736
0
    OPC_MoveParent,
14737
0
    OPC_MoveSibling1,
14738
0
    OPC_CheckImmAllOnesV,
14739
0
    OPC_MoveParent,
14740
0
    OPC_MoveParent,
14741
0
    OPC_RecordChild1,
14742
0
    OPC_CheckType, MVT::v4i64,
14743
0
    OPC_CheckPatternPredicate0,
14744
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14745
0
                  MVT::v4i64, 2, 1, 0, 
14746
0
   0, 
14747
0
  9|128,2, 
14748
0
   OPC_RecordChild0,
14749
0
   OPC_MoveChild1,
14750
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14751
0
   OPC_MoveChild0,
14752
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14753
0
   OPC_MoveChild0,
14754
0
   OPC_SwitchOpcode , 63|128,1, TARGET_VAL(ISD::BITCAST),
14755
0
    OPC_MoveChild0,
14756
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14757
0
    OPC_CheckType, MVT::v4i32,
14758
0
    OPC_MoveParent,
14759
0
    OPC_CheckPredicate0, 
14760
0
    OPC_MoveSibling1,
14761
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14762
0
    OPC_Scope, 22|128,1, 
14763
0
     OPC_RecordChild0,
14764
0
     OPC_MoveChild1,
14765
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14766
0
     OPC_Scope, 19, 
14767
0
      OPC_CheckPredicate7, 
14768
0
      OPC_MoveParent,
14769
0
      OPC_CheckType, MVT::v16i8,
14770
0
      OPC_MoveParent,
14771
0
      OPC_MoveSibling1,
14772
0
      OPC_CheckImmAllOnesV,
14773
0
      OPC_MoveParent,
14774
0
      OPC_MoveParent,
14775
0
      OPC_CheckType, MVT::v16i8,
14776
0
      OPC_CheckPatternPredicate1,
14777
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14778
0
                    MVT::v16i8, 2, 0, 1, 
14779
0
     20, 
14780
0
      OPC_CheckPredicate, 9,
14781
0
      OPC_MoveParent,
14782
0
      OPC_CheckType, MVT::v8i16,
14783
0
      OPC_MoveParent,
14784
0
      OPC_MoveSibling1,
14785
0
      OPC_CheckImmAllOnesV,
14786
0
      OPC_MoveParent,
14787
0
      OPC_MoveParent,
14788
0
      OPC_CheckType, MVT::v8i16,
14789
0
      OPC_CheckPatternPredicate1,
14790
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
14791
0
                    MVT::v8i16, 2, 0, 1, 
14792
0
     19, 
14793
0
      OPC_CheckPredicate3, 
14794
0
      OPC_MoveParent,
14795
0
      OPC_CheckType, MVT::v2i64,
14796
0
      OPC_MoveParent,
14797
0
      OPC_MoveSibling1,
14798
0
      OPC_CheckImmAllOnesV,
14799
0
      OPC_MoveParent,
14800
0
      OPC_MoveParent,
14801
0
      OPC_CheckType, MVT::v2i64,
14802
0
      OPC_CheckPatternPredicate1,
14803
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14804
0
                    MVT::v2i64, 2, 0, 1, 
14805
0
     19, 
14806
0
      OPC_CheckPredicate7, 
14807
0
      OPC_MoveParent,
14808
0
      OPC_CheckType, MVT::v32i8,
14809
0
      OPC_MoveParent,
14810
0
      OPC_MoveSibling1,
14811
0
      OPC_CheckImmAllOnesV,
14812
0
      OPC_MoveParent,
14813
0
      OPC_MoveParent,
14814
0
      OPC_CheckType, MVT::v32i8,
14815
0
      OPC_CheckPatternPredicate0,
14816
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
14817
0
                    MVT::v32i8, 2, 0, 1, 
14818
0
     20, 
14819
0
      OPC_CheckPredicate, 9,
14820
0
      OPC_MoveParent,
14821
0
      OPC_CheckType, MVT::v16i16,
14822
0
      OPC_MoveParent,
14823
0
      OPC_MoveSibling1,
14824
0
      OPC_CheckImmAllOnesV,
14825
0
      OPC_MoveParent,
14826
0
      OPC_MoveParent,
14827
0
      OPC_CheckType, MVT::v16i16,
14828
0
      OPC_CheckPatternPredicate0,
14829
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
14830
0
                    MVT::v16i16, 2, 0, 1, 
14831
0
     20, 
14832
0
      OPC_CheckPredicate, 8,
14833
0
      OPC_MoveParent,
14834
0
      OPC_CheckType, MVT::v8i32,
14835
0
      OPC_MoveParent,
14836
0
      OPC_MoveSibling1,
14837
0
      OPC_CheckImmAllOnesV,
14838
0
      OPC_MoveParent,
14839
0
      OPC_MoveParent,
14840
0
      OPC_CheckType, MVT::v8i32,
14841
0
      OPC_CheckPatternPredicate0,
14842
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
14843
0
                    MVT::v8i32, 2, 0, 1, 
14844
0
     19, 
14845
0
      OPC_CheckPredicate3, 
14846
0
      OPC_MoveParent,
14847
0
      OPC_CheckType, MVT::v4i64,
14848
0
      OPC_MoveParent,
14849
0
      OPC_MoveSibling1,
14850
0
      OPC_CheckImmAllOnesV,
14851
0
      OPC_MoveParent,
14852
0
      OPC_MoveParent,
14853
0
      OPC_CheckType, MVT::v4i64,
14854
0
      OPC_CheckPatternPredicate0,
14855
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14856
0
                    MVT::v4i64, 2, 0, 1, 
14857
0
     0, 
14858
0
    24, 
14859
0
     OPC_MoveChild0,
14860
0
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14861
0
     OPC_CheckPredicate7, 
14862
0
     OPC_MoveParent,
14863
0
     OPC_RecordChild1,
14864
0
     OPC_CheckType, MVT::v16i8,
14865
0
     OPC_MoveParent,
14866
0
     OPC_MoveSibling1,
14867
0
     OPC_CheckImmAllOnesV,
14868
0
     OPC_MoveParent,
14869
0
     OPC_MoveParent,
14870
0
     OPC_CheckType, MVT::v16i8,
14871
0
     OPC_CheckPatternPredicate1,
14872
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14873
0
                   MVT::v16i8, 2, 0, 1, 
14874
0
    0, 
14875
0
   55, TARGET_VAL(ISD::BUILD_VECTOR),
14876
0
    OPC_CheckPredicate0, 
14877
0
    OPC_MoveSibling1,
14878
0
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14879
0
    OPC_RecordChild0,
14880
0
    OPC_MoveChild1,
14881
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14882
0
    OPC_MoveChild0,
14883
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14884
0
    OPC_CheckType, MVT::v4i32,
14885
0
    OPC_MoveParent,
14886
0
    OPC_CheckPredicate3, 
14887
0
    OPC_MoveParent,
14888
0
    OPC_SwitchType , 15, MVT::v2i64,
14889
0
     OPC_MoveParent,
14890
0
     OPC_MoveSibling1,
14891
0
     OPC_CheckImmAllOnesV,
14892
0
     OPC_MoveParent,
14893
0
     OPC_MoveParent,
14894
0
     OPC_CheckType, MVT::v2i64,
14895
0
     OPC_CheckPatternPredicate1,
14896
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14897
0
                   MVT::v2i64, 2, 0, 1, 
14898
0
    15, MVT::v4i64,
14899
0
     OPC_MoveParent,
14900
0
     OPC_MoveSibling1,
14901
0
     OPC_CheckImmAllOnesV,
14902
0
     OPC_MoveParent,
14903
0
     OPC_MoveParent,
14904
0
     OPC_CheckType, MVT::v4i64,
14905
0
     OPC_CheckPatternPredicate0,
14906
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14907
0
                   MVT::v4i64, 2, 0, 1, 
14908
0
    0,
14909
0
   0,
14910
0
  78, 
14911
0
   OPC_MoveChild0,
14912
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14913
0
   OPC_MoveChild0,
14914
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14915
0
   OPC_MoveChild0,
14916
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14917
0
   OPC_MoveChild0,
14918
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14919
0
   OPC_CheckType, MVT::v4i32,
14920
0
   OPC_MoveParent,
14921
0
   OPC_CheckPredicate0, 
14922
0
   OPC_MoveSibling1,
14923
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14924
0
   OPC_Scope, 25, 
14925
0
    OPC_RecordChild0,
14926
0
    OPC_MoveChild1,
14927
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14928
0
    OPC_CheckPredicate7, 
14929
0
    OPC_MoveParent,
14930
0
    OPC_CheckType, MVT::v16i8,
14931
0
    OPC_MoveParent,
14932
0
    OPC_MoveSibling1,
14933
0
    OPC_CheckImmAllOnesV,
14934
0
    OPC_MoveParent,
14935
0
    OPC_MoveParent,
14936
0
    OPC_RecordChild1,
14937
0
    OPC_CheckType, MVT::v16i8,
14938
0
    OPC_CheckPatternPredicate1,
14939
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14940
0
                  MVT::v16i8, 2, 1, 0, 
14941
0
   25, 
14942
0
    OPC_MoveChild0,
14943
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14944
0
    OPC_CheckPredicate7, 
14945
0
    OPC_MoveParent,
14946
0
    OPC_RecordChild1,
14947
0
    OPC_CheckType, MVT::v16i8,
14948
0
    OPC_MoveParent,
14949
0
    OPC_MoveSibling1,
14950
0
    OPC_CheckImmAllOnesV,
14951
0
    OPC_MoveParent,
14952
0
    OPC_MoveParent,
14953
0
    OPC_RecordChild1,
14954
0
    OPC_CheckType, MVT::v16i8,
14955
0
    OPC_CheckPatternPredicate1,
14956
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14957
0
                  MVT::v16i8, 2, 1, 0, 
14958
0
   0, 
14959
0
  50, 
14960
0
   OPC_RecordChild0,
14961
0
   OPC_MoveChild1,
14962
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14963
0
   OPC_MoveChild0,
14964
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14965
0
   OPC_MoveChild0,
14966
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14967
0
   OPC_MoveChild0,
14968
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14969
0
   OPC_CheckType, MVT::v4i32,
14970
0
   OPC_MoveParent,
14971
0
   OPC_CheckPredicate0, 
14972
0
   OPC_MoveSibling1,
14973
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14974
0
   OPC_MoveChild0,
14975
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14976
0
   OPC_CheckPredicate, 9,
14977
0
   OPC_MoveParent,
14978
0
   OPC_RecordChild1,
14979
0
   OPC_CheckType, MVT::v8i16,
14980
0
   OPC_MoveParent,
14981
0
   OPC_MoveSibling1,
14982
0
   OPC_CheckImmAllOnesV,
14983
0
   OPC_MoveParent,
14984
0
   OPC_MoveParent,
14985
0
   OPC_CheckType, MVT::v8i16,
14986
0
   OPC_CheckPatternPredicate1,
14987
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
14988
0
                 MVT::v8i16, 2, 0, 1, 
14989
0
  80, 
14990
0
   OPC_MoveChild0,
14991
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14992
0
   OPC_MoveChild0,
14993
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14994
0
   OPC_MoveChild0,
14995
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14996
0
   OPC_MoveChild0,
14997
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14998
0
   OPC_CheckType, MVT::v4i32,
14999
0
   OPC_MoveParent,
15000
0
   OPC_CheckPredicate0, 
15001
0
   OPC_MoveSibling1,
15002
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15003
0
   OPC_Scope, 26, 
15004
0
    OPC_RecordChild0,
15005
0
    OPC_MoveChild1,
15006
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15007
0
    OPC_CheckPredicate, 9,
15008
0
    OPC_MoveParent,
15009
0
    OPC_CheckType, MVT::v8i16,
15010
0
    OPC_MoveParent,
15011
0
    OPC_MoveSibling1,
15012
0
    OPC_CheckImmAllOnesV,
15013
0
    OPC_MoveParent,
15014
0
    OPC_MoveParent,
15015
0
    OPC_RecordChild1,
15016
0
    OPC_CheckType, MVT::v8i16,
15017
0
    OPC_CheckPatternPredicate1,
15018
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15019
0
                  MVT::v8i16, 2, 1, 0, 
15020
0
   26, 
15021
0
    OPC_MoveChild0,
15022
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15023
0
    OPC_CheckPredicate, 9,
15024
0
    OPC_MoveParent,
15025
0
    OPC_RecordChild1,
15026
0
    OPC_CheckType, MVT::v8i16,
15027
0
    OPC_MoveParent,
15028
0
    OPC_MoveSibling1,
15029
0
    OPC_CheckImmAllOnesV,
15030
0
    OPC_MoveParent,
15031
0
    OPC_MoveParent,
15032
0
    OPC_RecordChild1,
15033
0
    OPC_CheckType, MVT::v8i16,
15034
0
    OPC_CheckPatternPredicate1,
15035
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15036
0
                  MVT::v8i16, 2, 1, 0, 
15037
0
   0, 
15038
0
  49, 
15039
0
   OPC_RecordChild0,
15040
0
   OPC_MoveChild1,
15041
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15042
0
   OPC_MoveChild0,
15043
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15044
0
   OPC_MoveChild0,
15045
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15046
0
   OPC_CheckPredicate0, 
15047
0
   OPC_MoveSibling1,
15048
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15049
0
   OPC_MoveChild0,
15050
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15051
0
   OPC_MoveChild0,
15052
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15053
0
   OPC_CheckType, MVT::v4i32,
15054
0
   OPC_MoveParent,
15055
0
   OPC_CheckPredicate3, 
15056
0
   OPC_MoveParent,
15057
0
   OPC_RecordChild1,
15058
0
   OPC_CheckType, MVT::v2i64,
15059
0
   OPC_MoveParent,
15060
0
   OPC_MoveSibling1,
15061
0
   OPC_CheckImmAllOnesV,
15062
0
   OPC_MoveParent,
15063
0
   OPC_MoveParent,
15064
0
   OPC_CheckType, MVT::v2i64,
15065
0
   OPC_CheckPatternPredicate1,
15066
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15067
0
                 MVT::v2i64, 2, 0, 1, 
15068
0
  85, 
15069
0
   OPC_MoveChild0,
15070
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15071
0
   OPC_MoveChild0,
15072
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15073
0
   OPC_MoveChild0,
15074
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15075
0
   OPC_CheckPredicate0, 
15076
0
   OPC_MoveSibling1,
15077
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15078
0
   OPC_Scope, 32, 
15079
0
    OPC_RecordChild0,
15080
0
    OPC_MoveChild1,
15081
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15082
0
    OPC_MoveChild0,
15083
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15084
0
    OPC_CheckType, MVT::v4i32,
15085
0
    OPC_MoveParent,
15086
0
    OPC_CheckPredicate3, 
15087
0
    OPC_MoveParent,
15088
0
    OPC_CheckType, MVT::v2i64,
15089
0
    OPC_MoveParent,
15090
0
    OPC_MoveSibling1,
15091
0
    OPC_CheckImmAllOnesV,
15092
0
    OPC_MoveParent,
15093
0
    OPC_MoveParent,
15094
0
    OPC_RecordChild1,
15095
0
    OPC_CheckType, MVT::v2i64,
15096
0
    OPC_CheckPatternPredicate1,
15097
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15098
0
                  MVT::v2i64, 2, 1, 0, 
15099
0
   32, 
15100
0
    OPC_MoveChild0,
15101
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15102
0
    OPC_MoveChild0,
15103
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15104
0
    OPC_CheckType, MVT::v4i32,
15105
0
    OPC_MoveParent,
15106
0
    OPC_CheckPredicate3, 
15107
0
    OPC_MoveParent,
15108
0
    OPC_RecordChild1,
15109
0
    OPC_CheckType, MVT::v2i64,
15110
0
    OPC_MoveParent,
15111
0
    OPC_MoveSibling1,
15112
0
    OPC_CheckImmAllOnesV,
15113
0
    OPC_MoveParent,
15114
0
    OPC_MoveParent,
15115
0
    OPC_RecordChild1,
15116
0
    OPC_CheckType, MVT::v2i64,
15117
0
    OPC_CheckPatternPredicate1,
15118
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15119
0
                  MVT::v2i64, 2, 1, 0, 
15120
0
   0, 
15121
0
  49, 
15122
0
   OPC_RecordChild0,
15123
0
   OPC_MoveChild1,
15124
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15125
0
   OPC_MoveChild0,
15126
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15127
0
   OPC_MoveChild0,
15128
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15129
0
   OPC_MoveChild0,
15130
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15131
0
   OPC_CheckType, MVT::v4i32,
15132
0
   OPC_MoveParent,
15133
0
   OPC_CheckPredicate0, 
15134
0
   OPC_MoveSibling1,
15135
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15136
0
   OPC_MoveChild0,
15137
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15138
0
   OPC_CheckPredicate3, 
15139
0
   OPC_MoveParent,
15140
0
   OPC_RecordChild1,
15141
0
   OPC_CheckType, MVT::v2i64,
15142
0
   OPC_MoveParent,
15143
0
   OPC_MoveSibling1,
15144
0
   OPC_CheckImmAllOnesV,
15145
0
   OPC_MoveParent,
15146
0
   OPC_MoveParent,
15147
0
   OPC_CheckType, MVT::v2i64,
15148
0
   OPC_CheckPatternPredicate1,
15149
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15150
0
                 MVT::v2i64, 2, 0, 1, 
15151
0
  78, 
15152
0
   OPC_MoveChild0,
15153
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15154
0
   OPC_MoveChild0,
15155
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15156
0
   OPC_MoveChild0,
15157
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15158
0
   OPC_MoveChild0,
15159
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15160
0
   OPC_CheckType, MVT::v4i32,
15161
0
   OPC_MoveParent,
15162
0
   OPC_CheckPredicate0, 
15163
0
   OPC_MoveSibling1,
15164
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15165
0
   OPC_Scope, 25, 
15166
0
    OPC_RecordChild0,
15167
0
    OPC_MoveChild1,
15168
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15169
0
    OPC_CheckPredicate3, 
15170
0
    OPC_MoveParent,
15171
0
    OPC_CheckType, MVT::v2i64,
15172
0
    OPC_MoveParent,
15173
0
    OPC_MoveSibling1,
15174
0
    OPC_CheckImmAllOnesV,
15175
0
    OPC_MoveParent,
15176
0
    OPC_MoveParent,
15177
0
    OPC_RecordChild1,
15178
0
    OPC_CheckType, MVT::v2i64,
15179
0
    OPC_CheckPatternPredicate1,
15180
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15181
0
                  MVT::v2i64, 2, 1, 0, 
15182
0
   25, 
15183
0
    OPC_MoveChild0,
15184
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15185
0
    OPC_CheckPredicate3, 
15186
0
    OPC_MoveParent,
15187
0
    OPC_RecordChild1,
15188
0
    OPC_CheckType, MVT::v2i64,
15189
0
    OPC_MoveParent,
15190
0
    OPC_MoveSibling1,
15191
0
    OPC_CheckImmAllOnesV,
15192
0
    OPC_MoveParent,
15193
0
    OPC_MoveParent,
15194
0
    OPC_RecordChild1,
15195
0
    OPC_CheckType, MVT::v2i64,
15196
0
    OPC_CheckPatternPredicate1,
15197
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15198
0
                  MVT::v2i64, 2, 1, 0, 
15199
0
   0, 
15200
0
  49, 
15201
0
   OPC_RecordChild0,
15202
0
   OPC_MoveChild1,
15203
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15204
0
   OPC_MoveChild0,
15205
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15206
0
   OPC_MoveChild0,
15207
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15208
0
   OPC_MoveChild0,
15209
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15210
0
   OPC_CheckType, MVT::v4i32,
15211
0
   OPC_MoveParent,
15212
0
   OPC_CheckPredicate0, 
15213
0
   OPC_MoveSibling1,
15214
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15215
0
   OPC_MoveChild0,
15216
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15217
0
   OPC_CheckPredicate7, 
15218
0
   OPC_MoveParent,
15219
0
   OPC_RecordChild1,
15220
0
   OPC_CheckType, MVT::v32i8,
15221
0
   OPC_MoveParent,
15222
0
   OPC_MoveSibling1,
15223
0
   OPC_CheckImmAllOnesV,
15224
0
   OPC_MoveParent,
15225
0
   OPC_MoveParent,
15226
0
   OPC_CheckType, MVT::v32i8,
15227
0
   OPC_CheckPatternPredicate0,
15228
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15229
0
                 MVT::v32i8, 2, 0, 1, 
15230
0
  78, 
15231
0
   OPC_MoveChild0,
15232
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15233
0
   OPC_MoveChild0,
15234
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15235
0
   OPC_MoveChild0,
15236
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15237
0
   OPC_MoveChild0,
15238
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15239
0
   OPC_CheckType, MVT::v4i32,
15240
0
   OPC_MoveParent,
15241
0
   OPC_CheckPredicate0, 
15242
0
   OPC_MoveSibling1,
15243
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15244
0
   OPC_Scope, 25, 
15245
0
    OPC_RecordChild0,
15246
0
    OPC_MoveChild1,
15247
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15248
0
    OPC_CheckPredicate7, 
15249
0
    OPC_MoveParent,
15250
0
    OPC_CheckType, MVT::v32i8,
15251
0
    OPC_MoveParent,
15252
0
    OPC_MoveSibling1,
15253
0
    OPC_CheckImmAllOnesV,
15254
0
    OPC_MoveParent,
15255
0
    OPC_MoveParent,
15256
0
    OPC_RecordChild1,
15257
0
    OPC_CheckType, MVT::v32i8,
15258
0
    OPC_CheckPatternPredicate0,
15259
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15260
0
                  MVT::v32i8, 2, 1, 0, 
15261
0
   25, 
15262
0
    OPC_MoveChild0,
15263
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15264
0
    OPC_CheckPredicate7, 
15265
0
    OPC_MoveParent,
15266
0
    OPC_RecordChild1,
15267
0
    OPC_CheckType, MVT::v32i8,
15268
0
    OPC_MoveParent,
15269
0
    OPC_MoveSibling1,
15270
0
    OPC_CheckImmAllOnesV,
15271
0
    OPC_MoveParent,
15272
0
    OPC_MoveParent,
15273
0
    OPC_RecordChild1,
15274
0
    OPC_CheckType, MVT::v32i8,
15275
0
    OPC_CheckPatternPredicate0,
15276
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15277
0
                  MVT::v32i8, 2, 1, 0, 
15278
0
   0, 
15279
0
  50, 
15280
0
   OPC_RecordChild0,
15281
0
   OPC_MoveChild1,
15282
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15283
0
   OPC_MoveChild0,
15284
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15285
0
   OPC_MoveChild0,
15286
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15287
0
   OPC_MoveChild0,
15288
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15289
0
   OPC_CheckType, MVT::v4i32,
15290
0
   OPC_MoveParent,
15291
0
   OPC_CheckPredicate0, 
15292
0
   OPC_MoveSibling1,
15293
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15294
0
   OPC_MoveChild0,
15295
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15296
0
   OPC_CheckPredicate, 9,
15297
0
   OPC_MoveParent,
15298
0
   OPC_RecordChild1,
15299
0
   OPC_CheckType, MVT::v16i16,
15300
0
   OPC_MoveParent,
15301
0
   OPC_MoveSibling1,
15302
0
   OPC_CheckImmAllOnesV,
15303
0
   OPC_MoveParent,
15304
0
   OPC_MoveParent,
15305
0
   OPC_CheckType, MVT::v16i16,
15306
0
   OPC_CheckPatternPredicate0,
15307
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15308
0
                 MVT::v16i16, 2, 0, 1, 
15309
0
  80, 
15310
0
   OPC_MoveChild0,
15311
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15312
0
   OPC_MoveChild0,
15313
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15314
0
   OPC_MoveChild0,
15315
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15316
0
   OPC_MoveChild0,
15317
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15318
0
   OPC_CheckType, MVT::v4i32,
15319
0
   OPC_MoveParent,
15320
0
   OPC_CheckPredicate0, 
15321
0
   OPC_MoveSibling1,
15322
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15323
0
   OPC_Scope, 26, 
15324
0
    OPC_RecordChild0,
15325
0
    OPC_MoveChild1,
15326
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15327
0
    OPC_CheckPredicate, 9,
15328
0
    OPC_MoveParent,
15329
0
    OPC_CheckType, MVT::v16i16,
15330
0
    OPC_MoveParent,
15331
0
    OPC_MoveSibling1,
15332
0
    OPC_CheckImmAllOnesV,
15333
0
    OPC_MoveParent,
15334
0
    OPC_MoveParent,
15335
0
    OPC_RecordChild1,
15336
0
    OPC_CheckType, MVT::v16i16,
15337
0
    OPC_CheckPatternPredicate0,
15338
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15339
0
                  MVT::v16i16, 2, 1, 0, 
15340
0
   26, 
15341
0
    OPC_MoveChild0,
15342
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15343
0
    OPC_CheckPredicate, 9,
15344
0
    OPC_MoveParent,
15345
0
    OPC_RecordChild1,
15346
0
    OPC_CheckType, MVT::v16i16,
15347
0
    OPC_MoveParent,
15348
0
    OPC_MoveSibling1,
15349
0
    OPC_CheckImmAllOnesV,
15350
0
    OPC_MoveParent,
15351
0
    OPC_MoveParent,
15352
0
    OPC_RecordChild1,
15353
0
    OPC_CheckType, MVT::v16i16,
15354
0
    OPC_CheckPatternPredicate0,
15355
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15356
0
                  MVT::v16i16, 2, 1, 0, 
15357
0
   0, 
15358
0
  50, 
15359
0
   OPC_RecordChild0,
15360
0
   OPC_MoveChild1,
15361
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15362
0
   OPC_MoveChild0,
15363
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15364
0
   OPC_MoveChild0,
15365
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15366
0
   OPC_MoveChild0,
15367
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15368
0
   OPC_CheckType, MVT::v4i32,
15369
0
   OPC_MoveParent,
15370
0
   OPC_CheckPredicate0, 
15371
0
   OPC_MoveSibling1,
15372
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15373
0
   OPC_MoveChild0,
15374
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15375
0
   OPC_CheckPredicate, 8,
15376
0
   OPC_MoveParent,
15377
0
   OPC_RecordChild1,
15378
0
   OPC_CheckType, MVT::v8i32,
15379
0
   OPC_MoveParent,
15380
0
   OPC_MoveSibling1,
15381
0
   OPC_CheckImmAllOnesV,
15382
0
   OPC_MoveParent,
15383
0
   OPC_MoveParent,
15384
0
   OPC_CheckType, MVT::v8i32,
15385
0
   OPC_CheckPatternPredicate0,
15386
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15387
0
                 MVT::v8i32, 2, 0, 1, 
15388
0
  80, 
15389
0
   OPC_MoveChild0,
15390
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15391
0
   OPC_MoveChild0,
15392
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15393
0
   OPC_MoveChild0,
15394
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15395
0
   OPC_MoveChild0,
15396
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15397
0
   OPC_CheckType, MVT::v4i32,
15398
0
   OPC_MoveParent,
15399
0
   OPC_CheckPredicate0, 
15400
0
   OPC_MoveSibling1,
15401
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15402
0
   OPC_Scope, 26, 
15403
0
    OPC_RecordChild0,
15404
0
    OPC_MoveChild1,
15405
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15406
0
    OPC_CheckPredicate, 8,
15407
0
    OPC_MoveParent,
15408
0
    OPC_CheckType, MVT::v8i32,
15409
0
    OPC_MoveParent,
15410
0
    OPC_MoveSibling1,
15411
0
    OPC_CheckImmAllOnesV,
15412
0
    OPC_MoveParent,
15413
0
    OPC_MoveParent,
15414
0
    OPC_RecordChild1,
15415
0
    OPC_CheckType, MVT::v8i32,
15416
0
    OPC_CheckPatternPredicate0,
15417
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15418
0
                  MVT::v8i32, 2, 1, 0, 
15419
0
   26, 
15420
0
    OPC_MoveChild0,
15421
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15422
0
    OPC_CheckPredicate, 8,
15423
0
    OPC_MoveParent,
15424
0
    OPC_RecordChild1,
15425
0
    OPC_CheckType, MVT::v8i32,
15426
0
    OPC_MoveParent,
15427
0
    OPC_MoveSibling1,
15428
0
    OPC_CheckImmAllOnesV,
15429
0
    OPC_MoveParent,
15430
0
    OPC_MoveParent,
15431
0
    OPC_RecordChild1,
15432
0
    OPC_CheckType, MVT::v8i32,
15433
0
    OPC_CheckPatternPredicate0,
15434
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15435
0
                  MVT::v8i32, 2, 1, 0, 
15436
0
   0, 
15437
0
  49, 
15438
0
   OPC_RecordChild0,
15439
0
   OPC_MoveChild1,
15440
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15441
0
   OPC_MoveChild0,
15442
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15443
0
   OPC_MoveChild0,
15444
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15445
0
   OPC_CheckPredicate0, 
15446
0
   OPC_MoveSibling1,
15447
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15448
0
   OPC_MoveChild0,
15449
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15450
0
   OPC_MoveChild0,
15451
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15452
0
   OPC_CheckType, MVT::v4i32,
15453
0
   OPC_MoveParent,
15454
0
   OPC_CheckPredicate3, 
15455
0
   OPC_MoveParent,
15456
0
   OPC_RecordChild1,
15457
0
   OPC_CheckType, MVT::v4i64,
15458
0
   OPC_MoveParent,
15459
0
   OPC_MoveSibling1,
15460
0
   OPC_CheckImmAllOnesV,
15461
0
   OPC_MoveParent,
15462
0
   OPC_MoveParent,
15463
0
   OPC_CheckType, MVT::v4i64,
15464
0
   OPC_CheckPatternPredicate0,
15465
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15466
0
                 MVT::v4i64, 2, 0, 1, 
15467
0
  85, 
15468
0
   OPC_MoveChild0,
15469
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15470
0
   OPC_MoveChild0,
15471
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15472
0
   OPC_MoveChild0,
15473
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15474
0
   OPC_CheckPredicate0, 
15475
0
   OPC_MoveSibling1,
15476
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15477
0
   OPC_Scope, 32, 
15478
0
    OPC_RecordChild0,
15479
0
    OPC_MoveChild1,
15480
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15481
0
    OPC_MoveChild0,
15482
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15483
0
    OPC_CheckType, MVT::v4i32,
15484
0
    OPC_MoveParent,
15485
0
    OPC_CheckPredicate3, 
15486
0
    OPC_MoveParent,
15487
0
    OPC_CheckType, MVT::v4i64,
15488
0
    OPC_MoveParent,
15489
0
    OPC_MoveSibling1,
15490
0
    OPC_CheckImmAllOnesV,
15491
0
    OPC_MoveParent,
15492
0
    OPC_MoveParent,
15493
0
    OPC_RecordChild1,
15494
0
    OPC_CheckType, MVT::v4i64,
15495
0
    OPC_CheckPatternPredicate0,
15496
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15497
0
                  MVT::v4i64, 2, 1, 0, 
15498
0
   32, 
15499
0
    OPC_MoveChild0,
15500
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15501
0
    OPC_MoveChild0,
15502
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15503
0
    OPC_CheckType, MVT::v4i32,
15504
0
    OPC_MoveParent,
15505
0
    OPC_CheckPredicate3, 
15506
0
    OPC_MoveParent,
15507
0
    OPC_RecordChild1,
15508
0
    OPC_CheckType, MVT::v4i64,
15509
0
    OPC_MoveParent,
15510
0
    OPC_MoveSibling1,
15511
0
    OPC_CheckImmAllOnesV,
15512
0
    OPC_MoveParent,
15513
0
    OPC_MoveParent,
15514
0
    OPC_RecordChild1,
15515
0
    OPC_CheckType, MVT::v4i64,
15516
0
    OPC_CheckPatternPredicate0,
15517
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15518
0
                  MVT::v4i64, 2, 1, 0, 
15519
0
   0, 
15520
0
  49, 
15521
0
   OPC_RecordChild0,
15522
0
   OPC_MoveChild1,
15523
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15524
0
   OPC_MoveChild0,
15525
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15526
0
   OPC_MoveChild0,
15527
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15528
0
   OPC_MoveChild0,
15529
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15530
0
   OPC_CheckType, MVT::v4i32,
15531
0
   OPC_MoveParent,
15532
0
   OPC_CheckPredicate0, 
15533
0
   OPC_MoveSibling1,
15534
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15535
0
   OPC_MoveChild0,
15536
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15537
0
   OPC_CheckPredicate3, 
15538
0
   OPC_MoveParent,
15539
0
   OPC_RecordChild1,
15540
0
   OPC_CheckType, MVT::v4i64,
15541
0
   OPC_MoveParent,
15542
0
   OPC_MoveSibling1,
15543
0
   OPC_CheckImmAllOnesV,
15544
0
   OPC_MoveParent,
15545
0
   OPC_MoveParent,
15546
0
   OPC_CheckType, MVT::v4i64,
15547
0
   OPC_CheckPatternPredicate0,
15548
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15549
0
                 MVT::v4i64, 2, 0, 1, 
15550
0
  78, 
15551
0
   OPC_MoveChild0,
15552
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15553
0
   OPC_MoveChild0,
15554
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15555
0
   OPC_MoveChild0,
15556
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15557
0
   OPC_MoveChild0,
15558
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15559
0
   OPC_CheckType, MVT::v4i32,
15560
0
   OPC_MoveParent,
15561
0
   OPC_CheckPredicate0, 
15562
0
   OPC_MoveSibling1,
15563
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15564
0
   OPC_Scope, 25, 
15565
0
    OPC_RecordChild0,
15566
0
    OPC_MoveChild1,
15567
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15568
0
    OPC_CheckPredicate3, 
15569
0
    OPC_MoveParent,
15570
0
    OPC_CheckType, MVT::v4i64,
15571
0
    OPC_MoveParent,
15572
0
    OPC_MoveSibling1,
15573
0
    OPC_CheckImmAllOnesV,
15574
0
    OPC_MoveParent,
15575
0
    OPC_MoveParent,
15576
0
    OPC_RecordChild1,
15577
0
    OPC_CheckType, MVT::v4i64,
15578
0
    OPC_CheckPatternPredicate0,
15579
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15580
0
                  MVT::v4i64, 2, 1, 0, 
15581
0
   25, 
15582
0
    OPC_MoveChild0,
15583
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15584
0
    OPC_CheckPredicate3, 
15585
0
    OPC_MoveParent,
15586
0
    OPC_RecordChild1,
15587
0
    OPC_CheckType, MVT::v4i64,
15588
0
    OPC_MoveParent,
15589
0
    OPC_MoveSibling1,
15590
0
    OPC_CheckImmAllOnesV,
15591
0
    OPC_MoveParent,
15592
0
    OPC_MoveParent,
15593
0
    OPC_RecordChild1,
15594
0
    OPC_CheckType, MVT::v4i64,
15595
0
    OPC_CheckPatternPredicate0,
15596
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15597
0
                  MVT::v4i64, 2, 1, 0, 
15598
0
   0, 
15599
0
  90|128,1, 
15600
0
   OPC_RecordChild0,
15601
0
   OPC_MoveChild1,
15602
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15603
0
   OPC_MoveChild0,
15604
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15605
0
   OPC_MoveChild0,
15606
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15607
0
   OPC_CheckPredicate0, 
15608
0
   OPC_MoveSibling1,
15609
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15610
0
   OPC_Scope, 43|128,1, 
15611
0
    OPC_RecordChild0,
15612
0
    OPC_MoveChild1,
15613
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15614
0
    OPC_Scope, 19, 
15615
0
     OPC_CheckPredicate7, 
15616
0
     OPC_MoveParent,
15617
0
     OPC_CheckType, MVT::v16i8,
15618
0
     OPC_MoveParent,
15619
0
     OPC_MoveSibling1,
15620
0
     OPC_CheckImmAllOnesV,
15621
0
     OPC_MoveParent,
15622
0
     OPC_MoveParent,
15623
0
     OPC_CheckType, MVT::v16i8,
15624
0
     OPC_CheckPatternPredicate1,
15625
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15626
0
                   MVT::v16i8, 2, 0, 1, 
15627
0
    20, 
15628
0
     OPC_CheckPredicate, 9,
15629
0
     OPC_MoveParent,
15630
0
     OPC_CheckType, MVT::v8i16,
15631
0
     OPC_MoveParent,
15632
0
     OPC_MoveSibling1,
15633
0
     OPC_CheckImmAllOnesV,
15634
0
     OPC_MoveParent,
15635
0
     OPC_MoveParent,
15636
0
     OPC_CheckType, MVT::v8i16,
15637
0
     OPC_CheckPatternPredicate1,
15638
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15639
0
                   MVT::v8i16, 2, 0, 1, 
15640
0
    20, 
15641
0
     OPC_CheckPredicate, 8,
15642
0
     OPC_MoveParent,
15643
0
     OPC_CheckType, MVT::v4i32,
15644
0
     OPC_MoveParent,
15645
0
     OPC_MoveSibling1,
15646
0
     OPC_CheckImmAllOnesV,
15647
0
     OPC_MoveParent,
15648
0
     OPC_MoveParent,
15649
0
     OPC_CheckType, MVT::v4i32,
15650
0
     OPC_CheckPatternPredicate1,
15651
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15652
0
                   MVT::v4i32, 2, 0, 1, 
15653
0
    19, 
15654
0
     OPC_CheckPredicate3, 
15655
0
     OPC_MoveParent,
15656
0
     OPC_CheckType, MVT::v2i64,
15657
0
     OPC_MoveParent,
15658
0
     OPC_MoveSibling1,
15659
0
     OPC_CheckImmAllOnesV,
15660
0
     OPC_MoveParent,
15661
0
     OPC_MoveParent,
15662
0
     OPC_CheckType, MVT::v2i64,
15663
0
     OPC_CheckPatternPredicate1,
15664
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15665
0
                   MVT::v2i64, 2, 0, 1, 
15666
0
    19, 
15667
0
     OPC_CheckPredicate7, 
15668
0
     OPC_MoveParent,
15669
0
     OPC_CheckType, MVT::v32i8,
15670
0
     OPC_MoveParent,
15671
0
     OPC_MoveSibling1,
15672
0
     OPC_CheckImmAllOnesV,
15673
0
     OPC_MoveParent,
15674
0
     OPC_MoveParent,
15675
0
     OPC_CheckType, MVT::v32i8,
15676
0
     OPC_CheckPatternPredicate0,
15677
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15678
0
                   MVT::v32i8, 2, 0, 1, 
15679
0
    20, 
15680
0
     OPC_CheckPredicate, 9,
15681
0
     OPC_MoveParent,
15682
0
     OPC_CheckType, MVT::v16i16,
15683
0
     OPC_MoveParent,
15684
0
     OPC_MoveSibling1,
15685
0
     OPC_CheckImmAllOnesV,
15686
0
     OPC_MoveParent,
15687
0
     OPC_MoveParent,
15688
0
     OPC_CheckType, MVT::v16i16,
15689
0
     OPC_CheckPatternPredicate0,
15690
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15691
0
                   MVT::v16i16, 2, 0, 1, 
15692
0
    20, 
15693
0
     OPC_CheckPredicate, 8,
15694
0
     OPC_MoveParent,
15695
0
     OPC_CheckType, MVT::v8i32,
15696
0
     OPC_MoveParent,
15697
0
     OPC_MoveSibling1,
15698
0
     OPC_CheckImmAllOnesV,
15699
0
     OPC_MoveParent,
15700
0
     OPC_MoveParent,
15701
0
     OPC_CheckType, MVT::v8i32,
15702
0
     OPC_CheckPatternPredicate0,
15703
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15704
0
                   MVT::v8i32, 2, 0, 1, 
15705
0
    19, 
15706
0
     OPC_CheckPredicate3, 
15707
0
     OPC_MoveParent,
15708
0
     OPC_CheckType, MVT::v4i64,
15709
0
     OPC_MoveParent,
15710
0
     OPC_MoveSibling1,
15711
0
     OPC_CheckImmAllOnesV,
15712
0
     OPC_MoveParent,
15713
0
     OPC_MoveParent,
15714
0
     OPC_CheckType, MVT::v4i64,
15715
0
     OPC_CheckPatternPredicate0,
15716
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15717
0
                   MVT::v4i64, 2, 0, 1, 
15718
0
    0, 
15719
0
   24, 
15720
0
    OPC_MoveChild0,
15721
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15722
0
    OPC_CheckPredicate7, 
15723
0
    OPC_MoveParent,
15724
0
    OPC_RecordChild1,
15725
0
    OPC_CheckType, MVT::v16i8,
15726
0
    OPC_MoveParent,
15727
0
    OPC_MoveSibling1,
15728
0
    OPC_CheckImmAllOnesV,
15729
0
    OPC_MoveParent,
15730
0
    OPC_MoveParent,
15731
0
    OPC_CheckType, MVT::v16i8,
15732
0
    OPC_CheckPatternPredicate1,
15733
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15734
0
                  MVT::v16i8, 2, 0, 1, 
15735
0
   0, 
15736
0
  71, 
15737
0
   OPC_MoveChild0,
15738
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15739
0
   OPC_MoveChild0,
15740
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15741
0
   OPC_MoveChild0,
15742
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15743
0
   OPC_CheckPredicate0, 
15744
0
   OPC_MoveSibling1,
15745
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15746
0
   OPC_Scope, 25, 
15747
0
    OPC_RecordChild0,
15748
0
    OPC_MoveChild1,
15749
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15750
0
    OPC_CheckPredicate7, 
15751
0
    OPC_MoveParent,
15752
0
    OPC_CheckType, MVT::v16i8,
15753
0
    OPC_MoveParent,
15754
0
    OPC_MoveSibling1,
15755
0
    OPC_CheckImmAllOnesV,
15756
0
    OPC_MoveParent,
15757
0
    OPC_MoveParent,
15758
0
    OPC_RecordChild1,
15759
0
    OPC_CheckType, MVT::v16i8,
15760
0
    OPC_CheckPatternPredicate1,
15761
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15762
0
                  MVT::v16i8, 2, 1, 0, 
15763
0
   25, 
15764
0
    OPC_MoveChild0,
15765
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15766
0
    OPC_CheckPredicate7, 
15767
0
    OPC_MoveParent,
15768
0
    OPC_RecordChild1,
15769
0
    OPC_CheckType, MVT::v16i8,
15770
0
    OPC_MoveParent,
15771
0
    OPC_MoveSibling1,
15772
0
    OPC_CheckImmAllOnesV,
15773
0
    OPC_MoveParent,
15774
0
    OPC_MoveParent,
15775
0
    OPC_RecordChild1,
15776
0
    OPC_CheckType, MVT::v16i8,
15777
0
    OPC_CheckPatternPredicate1,
15778
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15779
0
                  MVT::v16i8, 2, 1, 0, 
15780
0
   0, 
15781
0
  43, 
15782
0
   OPC_RecordChild0,
15783
0
   OPC_MoveChild1,
15784
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15785
0
   OPC_MoveChild0,
15786
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15787
0
   OPC_MoveChild0,
15788
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15789
0
   OPC_CheckPredicate0, 
15790
0
   OPC_MoveSibling1,
15791
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15792
0
   OPC_MoveChild0,
15793
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15794
0
   OPC_CheckPredicate, 9,
15795
0
   OPC_MoveParent,
15796
0
   OPC_RecordChild1,
15797
0
   OPC_CheckType, MVT::v8i16,
15798
0
   OPC_MoveParent,
15799
0
   OPC_MoveSibling1,
15800
0
   OPC_CheckImmAllOnesV,
15801
0
   OPC_MoveParent,
15802
0
   OPC_MoveParent,
15803
0
   OPC_CheckType, MVT::v8i16,
15804
0
   OPC_CheckPatternPredicate1,
15805
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15806
0
                 MVT::v8i16, 2, 0, 1, 
15807
0
  73, 
15808
0
   OPC_MoveChild0,
15809
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15810
0
   OPC_MoveChild0,
15811
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15812
0
   OPC_MoveChild0,
15813
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15814
0
   OPC_CheckPredicate0, 
15815
0
   OPC_MoveSibling1,
15816
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15817
0
   OPC_Scope, 26, 
15818
0
    OPC_RecordChild0,
15819
0
    OPC_MoveChild1,
15820
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15821
0
    OPC_CheckPredicate, 9,
15822
0
    OPC_MoveParent,
15823
0
    OPC_CheckType, MVT::v8i16,
15824
0
    OPC_MoveParent,
15825
0
    OPC_MoveSibling1,
15826
0
    OPC_CheckImmAllOnesV,
15827
0
    OPC_MoveParent,
15828
0
    OPC_MoveParent,
15829
0
    OPC_RecordChild1,
15830
0
    OPC_CheckType, MVT::v8i16,
15831
0
    OPC_CheckPatternPredicate1,
15832
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15833
0
                  MVT::v8i16, 2, 1, 0, 
15834
0
   26, 
15835
0
    OPC_MoveChild0,
15836
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15837
0
    OPC_CheckPredicate, 9,
15838
0
    OPC_MoveParent,
15839
0
    OPC_RecordChild1,
15840
0
    OPC_CheckType, MVT::v8i16,
15841
0
    OPC_MoveParent,
15842
0
    OPC_MoveSibling1,
15843
0
    OPC_CheckImmAllOnesV,
15844
0
    OPC_MoveParent,
15845
0
    OPC_MoveParent,
15846
0
    OPC_RecordChild1,
15847
0
    OPC_CheckType, MVT::v8i16,
15848
0
    OPC_CheckPatternPredicate1,
15849
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15850
0
                  MVT::v8i16, 2, 1, 0, 
15851
0
   0, 
15852
0
  43, 
15853
0
   OPC_RecordChild0,
15854
0
   OPC_MoveChild1,
15855
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15856
0
   OPC_MoveChild0,
15857
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15858
0
   OPC_MoveChild0,
15859
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15860
0
   OPC_CheckPredicate0, 
15861
0
   OPC_MoveSibling1,
15862
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15863
0
   OPC_MoveChild0,
15864
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15865
0
   OPC_CheckPredicate, 8,
15866
0
   OPC_MoveParent,
15867
0
   OPC_RecordChild1,
15868
0
   OPC_CheckType, MVT::v4i32,
15869
0
   OPC_MoveParent,
15870
0
   OPC_MoveSibling1,
15871
0
   OPC_CheckImmAllOnesV,
15872
0
   OPC_MoveParent,
15873
0
   OPC_MoveParent,
15874
0
   OPC_CheckType, MVT::v4i32,
15875
0
   OPC_CheckPatternPredicate1,
15876
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15877
0
                 MVT::v4i32, 2, 0, 1, 
15878
0
  73, 
15879
0
   OPC_MoveChild0,
15880
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15881
0
   OPC_MoveChild0,
15882
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15883
0
   OPC_MoveChild0,
15884
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15885
0
   OPC_CheckPredicate0, 
15886
0
   OPC_MoveSibling1,
15887
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15888
0
   OPC_Scope, 26, 
15889
0
    OPC_RecordChild0,
15890
0
    OPC_MoveChild1,
15891
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15892
0
    OPC_CheckPredicate, 8,
15893
0
    OPC_MoveParent,
15894
0
    OPC_CheckType, MVT::v4i32,
15895
0
    OPC_MoveParent,
15896
0
    OPC_MoveSibling1,
15897
0
    OPC_CheckImmAllOnesV,
15898
0
    OPC_MoveParent,
15899
0
    OPC_MoveParent,
15900
0
    OPC_RecordChild1,
15901
0
    OPC_CheckType, MVT::v4i32,
15902
0
    OPC_CheckPatternPredicate1,
15903
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15904
0
                  MVT::v4i32, 2, 1, 0, 
15905
0
   26, 
15906
0
    OPC_MoveChild0,
15907
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15908
0
    OPC_CheckPredicate, 8,
15909
0
    OPC_MoveParent,
15910
0
    OPC_RecordChild1,
15911
0
    OPC_CheckType, MVT::v4i32,
15912
0
    OPC_MoveParent,
15913
0
    OPC_MoveSibling1,
15914
0
    OPC_CheckImmAllOnesV,
15915
0
    OPC_MoveParent,
15916
0
    OPC_MoveParent,
15917
0
    OPC_RecordChild1,
15918
0
    OPC_CheckType, MVT::v4i32,
15919
0
    OPC_CheckPatternPredicate1,
15920
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15921
0
                  MVT::v4i32, 2, 1, 0, 
15922
0
   0, 
15923
0
  42, 
15924
0
   OPC_RecordChild0,
15925
0
   OPC_MoveChild1,
15926
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15927
0
   OPC_MoveChild0,
15928
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15929
0
   OPC_MoveChild0,
15930
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15931
0
   OPC_CheckPredicate0, 
15932
0
   OPC_MoveSibling1,
15933
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15934
0
   OPC_MoveChild0,
15935
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15936
0
   OPC_CheckPredicate3, 
15937
0
   OPC_MoveParent,
15938
0
   OPC_RecordChild1,
15939
0
   OPC_CheckType, MVT::v2i64,
15940
0
   OPC_MoveParent,
15941
0
   OPC_MoveSibling1,
15942
0
   OPC_CheckImmAllOnesV,
15943
0
   OPC_MoveParent,
15944
0
   OPC_MoveParent,
15945
0
   OPC_CheckType, MVT::v2i64,
15946
0
   OPC_CheckPatternPredicate1,
15947
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15948
0
                 MVT::v2i64, 2, 0, 1, 
15949
0
  71, 
15950
0
   OPC_MoveChild0,
15951
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15952
0
   OPC_MoveChild0,
15953
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15954
0
   OPC_MoveChild0,
15955
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15956
0
   OPC_CheckPredicate0, 
15957
0
   OPC_MoveSibling1,
15958
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15959
0
   OPC_Scope, 25, 
15960
0
    OPC_RecordChild0,
15961
0
    OPC_MoveChild1,
15962
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15963
0
    OPC_CheckPredicate3, 
15964
0
    OPC_MoveParent,
15965
0
    OPC_CheckType, MVT::v2i64,
15966
0
    OPC_MoveParent,
15967
0
    OPC_MoveSibling1,
15968
0
    OPC_CheckImmAllOnesV,
15969
0
    OPC_MoveParent,
15970
0
    OPC_MoveParent,
15971
0
    OPC_RecordChild1,
15972
0
    OPC_CheckType, MVT::v2i64,
15973
0
    OPC_CheckPatternPredicate1,
15974
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15975
0
                  MVT::v2i64, 2, 1, 0, 
15976
0
   25, 
15977
0
    OPC_MoveChild0,
15978
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15979
0
    OPC_CheckPredicate3, 
15980
0
    OPC_MoveParent,
15981
0
    OPC_RecordChild1,
15982
0
    OPC_CheckType, MVT::v2i64,
15983
0
    OPC_MoveParent,
15984
0
    OPC_MoveSibling1,
15985
0
    OPC_CheckImmAllOnesV,
15986
0
    OPC_MoveParent,
15987
0
    OPC_MoveParent,
15988
0
    OPC_RecordChild1,
15989
0
    OPC_CheckType, MVT::v2i64,
15990
0
    OPC_CheckPatternPredicate1,
15991
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15992
0
                  MVT::v2i64, 2, 1, 0, 
15993
0
   0, 
15994
0
  42, 
15995
0
   OPC_RecordChild0,
15996
0
   OPC_MoveChild1,
15997
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15998
0
   OPC_MoveChild0,
15999
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16000
0
   OPC_MoveChild0,
16001
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16002
0
   OPC_CheckPredicate0, 
16003
0
   OPC_MoveSibling1,
16004
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16005
0
   OPC_MoveChild0,
16006
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16007
0
   OPC_CheckPredicate7, 
16008
0
   OPC_MoveParent,
16009
0
   OPC_RecordChild1,
16010
0
   OPC_CheckType, MVT::v32i8,
16011
0
   OPC_MoveParent,
16012
0
   OPC_MoveSibling1,
16013
0
   OPC_CheckImmAllOnesV,
16014
0
   OPC_MoveParent,
16015
0
   OPC_MoveParent,
16016
0
   OPC_CheckType, MVT::v32i8,
16017
0
   OPC_CheckPatternPredicate0,
16018
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16019
0
                 MVT::v32i8, 2, 0, 1, 
16020
0
  71, 
16021
0
   OPC_MoveChild0,
16022
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16023
0
   OPC_MoveChild0,
16024
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16025
0
   OPC_MoveChild0,
16026
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16027
0
   OPC_CheckPredicate0, 
16028
0
   OPC_MoveSibling1,
16029
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16030
0
   OPC_Scope, 25, 
16031
0
    OPC_RecordChild0,
16032
0
    OPC_MoveChild1,
16033
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16034
0
    OPC_CheckPredicate7, 
16035
0
    OPC_MoveParent,
16036
0
    OPC_CheckType, MVT::v32i8,
16037
0
    OPC_MoveParent,
16038
0
    OPC_MoveSibling1,
16039
0
    OPC_CheckImmAllOnesV,
16040
0
    OPC_MoveParent,
16041
0
    OPC_MoveParent,
16042
0
    OPC_RecordChild1,
16043
0
    OPC_CheckType, MVT::v32i8,
16044
0
    OPC_CheckPatternPredicate0,
16045
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16046
0
                  MVT::v32i8, 2, 1, 0, 
16047
0
   25, 
16048
0
    OPC_MoveChild0,
16049
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16050
0
    OPC_CheckPredicate7, 
16051
0
    OPC_MoveParent,
16052
0
    OPC_RecordChild1,
16053
0
    OPC_CheckType, MVT::v32i8,
16054
0
    OPC_MoveParent,
16055
0
    OPC_MoveSibling1,
16056
0
    OPC_CheckImmAllOnesV,
16057
0
    OPC_MoveParent,
16058
0
    OPC_MoveParent,
16059
0
    OPC_RecordChild1,
16060
0
    OPC_CheckType, MVT::v32i8,
16061
0
    OPC_CheckPatternPredicate0,
16062
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16063
0
                  MVT::v32i8, 2, 1, 0, 
16064
0
   0, 
16065
0
  43, 
16066
0
   OPC_RecordChild0,
16067
0
   OPC_MoveChild1,
16068
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16069
0
   OPC_MoveChild0,
16070
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16071
0
   OPC_MoveChild0,
16072
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16073
0
   OPC_CheckPredicate0, 
16074
0
   OPC_MoveSibling1,
16075
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16076
0
   OPC_MoveChild0,
16077
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16078
0
   OPC_CheckPredicate, 9,
16079
0
   OPC_MoveParent,
16080
0
   OPC_RecordChild1,
16081
0
   OPC_CheckType, MVT::v16i16,
16082
0
   OPC_MoveParent,
16083
0
   OPC_MoveSibling1,
16084
0
   OPC_CheckImmAllOnesV,
16085
0
   OPC_MoveParent,
16086
0
   OPC_MoveParent,
16087
0
   OPC_CheckType, MVT::v16i16,
16088
0
   OPC_CheckPatternPredicate0,
16089
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16090
0
                 MVT::v16i16, 2, 0, 1, 
16091
0
  73, 
16092
0
   OPC_MoveChild0,
16093
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16094
0
   OPC_MoveChild0,
16095
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16096
0
   OPC_MoveChild0,
16097
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16098
0
   OPC_CheckPredicate0, 
16099
0
   OPC_MoveSibling1,
16100
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16101
0
   OPC_Scope, 26, 
16102
0
    OPC_RecordChild0,
16103
0
    OPC_MoveChild1,
16104
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16105
0
    OPC_CheckPredicate, 9,
16106
0
    OPC_MoveParent,
16107
0
    OPC_CheckType, MVT::v16i16,
16108
0
    OPC_MoveParent,
16109
0
    OPC_MoveSibling1,
16110
0
    OPC_CheckImmAllOnesV,
16111
0
    OPC_MoveParent,
16112
0
    OPC_MoveParent,
16113
0
    OPC_RecordChild1,
16114
0
    OPC_CheckType, MVT::v16i16,
16115
0
    OPC_CheckPatternPredicate0,
16116
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16117
0
                  MVT::v16i16, 2, 1, 0, 
16118
0
   26, 
16119
0
    OPC_MoveChild0,
16120
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16121
0
    OPC_CheckPredicate, 9,
16122
0
    OPC_MoveParent,
16123
0
    OPC_RecordChild1,
16124
0
    OPC_CheckType, MVT::v16i16,
16125
0
    OPC_MoveParent,
16126
0
    OPC_MoveSibling1,
16127
0
    OPC_CheckImmAllOnesV,
16128
0
    OPC_MoveParent,
16129
0
    OPC_MoveParent,
16130
0
    OPC_RecordChild1,
16131
0
    OPC_CheckType, MVT::v16i16,
16132
0
    OPC_CheckPatternPredicate0,
16133
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16134
0
                  MVT::v16i16, 2, 1, 0, 
16135
0
   0, 
16136
0
  43, 
16137
0
   OPC_RecordChild0,
16138
0
   OPC_MoveChild1,
16139
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16140
0
   OPC_MoveChild0,
16141
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16142
0
   OPC_MoveChild0,
16143
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16144
0
   OPC_CheckPredicate0, 
16145
0
   OPC_MoveSibling1,
16146
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16147
0
   OPC_MoveChild0,
16148
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16149
0
   OPC_CheckPredicate, 8,
16150
0
   OPC_MoveParent,
16151
0
   OPC_RecordChild1,
16152
0
   OPC_CheckType, MVT::v8i32,
16153
0
   OPC_MoveParent,
16154
0
   OPC_MoveSibling1,
16155
0
   OPC_CheckImmAllOnesV,
16156
0
   OPC_MoveParent,
16157
0
   OPC_MoveParent,
16158
0
   OPC_CheckType, MVT::v8i32,
16159
0
   OPC_CheckPatternPredicate0,
16160
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16161
0
                 MVT::v8i32, 2, 0, 1, 
16162
0
  73, 
16163
0
   OPC_MoveChild0,
16164
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16165
0
   OPC_MoveChild0,
16166
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16167
0
   OPC_MoveChild0,
16168
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16169
0
   OPC_CheckPredicate0, 
16170
0
   OPC_MoveSibling1,
16171
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16172
0
   OPC_Scope, 26, 
16173
0
    OPC_RecordChild0,
16174
0
    OPC_MoveChild1,
16175
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16176
0
    OPC_CheckPredicate, 8,
16177
0
    OPC_MoveParent,
16178
0
    OPC_CheckType, MVT::v8i32,
16179
0
    OPC_MoveParent,
16180
0
    OPC_MoveSibling1,
16181
0
    OPC_CheckImmAllOnesV,
16182
0
    OPC_MoveParent,
16183
0
    OPC_MoveParent,
16184
0
    OPC_RecordChild1,
16185
0
    OPC_CheckType, MVT::v8i32,
16186
0
    OPC_CheckPatternPredicate0,
16187
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16188
0
                  MVT::v8i32, 2, 1, 0, 
16189
0
   26, 
16190
0
    OPC_MoveChild0,
16191
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16192
0
    OPC_CheckPredicate, 8,
16193
0
    OPC_MoveParent,
16194
0
    OPC_RecordChild1,
16195
0
    OPC_CheckType, MVT::v8i32,
16196
0
    OPC_MoveParent,
16197
0
    OPC_MoveSibling1,
16198
0
    OPC_CheckImmAllOnesV,
16199
0
    OPC_MoveParent,
16200
0
    OPC_MoveParent,
16201
0
    OPC_RecordChild1,
16202
0
    OPC_CheckType, MVT::v8i32,
16203
0
    OPC_CheckPatternPredicate0,
16204
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16205
0
                  MVT::v8i32, 2, 1, 0, 
16206
0
   0, 
16207
0
  42, 
16208
0
   OPC_RecordChild0,
16209
0
   OPC_MoveChild1,
16210
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16211
0
   OPC_MoveChild0,
16212
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16213
0
   OPC_MoveChild0,
16214
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16215
0
   OPC_CheckPredicate0, 
16216
0
   OPC_MoveSibling1,
16217
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16218
0
   OPC_MoveChild0,
16219
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16220
0
   OPC_CheckPredicate3, 
16221
0
   OPC_MoveParent,
16222
0
   OPC_RecordChild1,
16223
0
   OPC_CheckType, MVT::v4i64,
16224
0
   OPC_MoveParent,
16225
0
   OPC_MoveSibling1,
16226
0
   OPC_CheckImmAllOnesV,
16227
0
   OPC_MoveParent,
16228
0
   OPC_MoveParent,
16229
0
   OPC_CheckType, MVT::v4i64,
16230
0
   OPC_CheckPatternPredicate0,
16231
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16232
0
                 MVT::v4i64, 2, 0, 1, 
16233
0
  71, 
16234
0
   OPC_MoveChild0,
16235
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16236
0
   OPC_MoveChild0,
16237
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16238
0
   OPC_MoveChild0,
16239
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16240
0
   OPC_CheckPredicate0, 
16241
0
   OPC_MoveSibling1,
16242
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16243
0
   OPC_Scope, 25, 
16244
0
    OPC_RecordChild0,
16245
0
    OPC_MoveChild1,
16246
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16247
0
    OPC_CheckPredicate3, 
16248
0
    OPC_MoveParent,
16249
0
    OPC_CheckType, MVT::v4i64,
16250
0
    OPC_MoveParent,
16251
0
    OPC_MoveSibling1,
16252
0
    OPC_CheckImmAllOnesV,
16253
0
    OPC_MoveParent,
16254
0
    OPC_MoveParent,
16255
0
    OPC_RecordChild1,
16256
0
    OPC_CheckType, MVT::v4i64,
16257
0
    OPC_CheckPatternPredicate0,
16258
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16259
0
                  MVT::v4i64, 2, 1, 0, 
16260
0
   25, 
16261
0
    OPC_MoveChild0,
16262
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16263
0
    OPC_CheckPredicate3, 
16264
0
    OPC_MoveParent,
16265
0
    OPC_RecordChild1,
16266
0
    OPC_CheckType, MVT::v4i64,
16267
0
    OPC_MoveParent,
16268
0
    OPC_MoveSibling1,
16269
0
    OPC_CheckImmAllOnesV,
16270
0
    OPC_MoveParent,
16271
0
    OPC_MoveParent,
16272
0
    OPC_RecordChild1,
16273
0
    OPC_CheckType, MVT::v4i64,
16274
0
    OPC_CheckPatternPredicate0,
16275
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16276
0
                  MVT::v4i64, 2, 1, 0, 
16277
0
   0, 
16278
0
  71, 
16279
0
   OPC_RecordChild0,
16280
0
   OPC_MoveChild1,
16281
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16282
0
   OPC_MoveChild0,
16283
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16284
0
   OPC_MoveChild0,
16285
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16286
0
   OPC_MoveSibling1,
16287
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16288
0
   OPC_Scope, 25, 
16289
0
    OPC_RecordChild0,
16290
0
    OPC_MoveChild1,
16291
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16292
0
    OPC_CheckPredicate, 8,
16293
0
    OPC_MoveParent,
16294
0
    OPC_CheckType, MVT::v4i32,
16295
0
    OPC_MoveParent,
16296
0
    OPC_MoveSibling1,
16297
0
    OPC_CheckImmAllOnesV,
16298
0
    OPC_MoveParent,
16299
0
    OPC_MoveParent,
16300
0
    OPC_CheckType, MVT::v4i32,
16301
0
    OPC_CheckPatternPredicate1,
16302
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16303
0
                  MVT::v4i32, 2, 0, 1, 
16304
0
   25, 
16305
0
    OPC_MoveChild0,
16306
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16307
0
    OPC_CheckPredicate, 8,
16308
0
    OPC_MoveParent,
16309
0
    OPC_RecordChild1,
16310
0
    OPC_CheckType, MVT::v4i32,
16311
0
    OPC_MoveParent,
16312
0
    OPC_MoveSibling1,
16313
0
    OPC_CheckImmAllOnesV,
16314
0
    OPC_MoveParent,
16315
0
    OPC_MoveParent,
16316
0
    OPC_CheckType, MVT::v4i32,
16317
0
    OPC_CheckPatternPredicate1,
16318
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16319
0
                  MVT::v4i32, 2, 0, 1, 
16320
0
   0, 
16321
0
  72, 
16322
0
   OPC_MoveChild0,
16323
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16324
0
   OPC_MoveChild0,
16325
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16326
0
   OPC_MoveChild0,
16327
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16328
0
   OPC_MoveSibling1,
16329
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16330
0
   OPC_Scope, 26, 
16331
0
    OPC_RecordChild0,
16332
0
    OPC_MoveChild1,
16333
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16334
0
    OPC_CheckPredicate, 8,
16335
0
    OPC_MoveParent,
16336
0
    OPC_CheckType, MVT::v4i32,
16337
0
    OPC_MoveParent,
16338
0
    OPC_MoveSibling1,
16339
0
    OPC_CheckImmAllOnesV,
16340
0
    OPC_MoveParent,
16341
0
    OPC_MoveParent,
16342
0
    OPC_RecordChild1,
16343
0
    OPC_CheckType, MVT::v4i32,
16344
0
    OPC_CheckPatternPredicate1,
16345
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16346
0
                  MVT::v4i32, 2, 1, 0, 
16347
0
   26, 
16348
0
    OPC_MoveChild0,
16349
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16350
0
    OPC_CheckPredicate, 8,
16351
0
    OPC_MoveParent,
16352
0
    OPC_RecordChild1,
16353
0
    OPC_CheckType, MVT::v4i32,
16354
0
    OPC_MoveParent,
16355
0
    OPC_MoveSibling1,
16356
0
    OPC_CheckImmAllOnesV,
16357
0
    OPC_MoveParent,
16358
0
    OPC_MoveParent,
16359
0
    OPC_RecordChild1,
16360
0
    OPC_CheckType, MVT::v4i32,
16361
0
    OPC_CheckPatternPredicate1,
16362
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16363
0
                  MVT::v4i32, 2, 1, 0, 
16364
0
   0, 
16365
0
  16|128,1, 
16366
0
   OPC_RecordChild0,
16367
0
   OPC_MoveChild1,
16368
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16369
0
   OPC_MoveChild0,
16370
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16371
0
   OPC_MoveChild0,
16372
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16373
0
   OPC_MoveChild0,
16374
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16375
0
   OPC_CheckType, MVT::v4i32,
16376
0
   OPC_MoveParent,
16377
0
   OPC_CheckPredicate0, 
16378
0
   OPC_MoveParent,
16379
0
   OPC_RecordChild1,
16380
0
   OPC_Scope, 16, 
16381
0
    OPC_CheckChild1Type, MVT::v16i8,
16382
0
    OPC_MoveSibling1,
16383
0
    OPC_CheckImmAllOnesV,
16384
0
    OPC_MoveParent,
16385
0
    OPC_MoveParent,
16386
0
    OPC_CheckType, MVT::v16i8,
16387
0
    OPC_CheckPatternPredicate1,
16388
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16389
0
                  MVT::v16i8, 2, 0, 1, 
16390
0
   16, 
16391
0
    OPC_CheckChild1Type, MVT::v8i16,
16392
0
    OPC_MoveSibling1,
16393
0
    OPC_CheckImmAllOnesV,
16394
0
    OPC_MoveParent,
16395
0
    OPC_MoveParent,
16396
0
    OPC_CheckType, MVT::v8i16,
16397
0
    OPC_CheckPatternPredicate1,
16398
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16399
0
                  MVT::v8i16, 2, 0, 1, 
16400
0
   16, 
16401
0
    OPC_CheckChild1Type, MVT::v2i64,
16402
0
    OPC_MoveSibling1,
16403
0
    OPC_CheckImmAllOnesV,
16404
0
    OPC_MoveParent,
16405
0
    OPC_MoveParent,
16406
0
    OPC_CheckType, MVT::v2i64,
16407
0
    OPC_CheckPatternPredicate1,
16408
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16409
0
                  MVT::v2i64, 2, 0, 1, 
16410
0
   16, 
16411
0
    OPC_CheckChild1Type, MVT::v32i8,
16412
0
    OPC_MoveSibling1,
16413
0
    OPC_CheckImmAllOnesV,
16414
0
    OPC_MoveParent,
16415
0
    OPC_MoveParent,
16416
0
    OPC_CheckType, MVT::v32i8,
16417
0
    OPC_CheckPatternPredicate0,
16418
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16419
0
                  MVT::v32i8, 2, 0, 1, 
16420
0
   16, 
16421
0
    OPC_CheckChild1Type, MVT::v16i16,
16422
0
    OPC_MoveSibling1,
16423
0
    OPC_CheckImmAllOnesV,
16424
0
    OPC_MoveParent,
16425
0
    OPC_MoveParent,
16426
0
    OPC_CheckType, MVT::v16i16,
16427
0
    OPC_CheckPatternPredicate0,
16428
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16429
0
                  MVT::v16i16, 2, 0, 1, 
16430
0
   16, 
16431
0
    OPC_CheckChild1Type, MVT::v8i32,
16432
0
    OPC_MoveSibling1,
16433
0
    OPC_CheckImmAllOnesV,
16434
0
    OPC_MoveParent,
16435
0
    OPC_MoveParent,
16436
0
    OPC_CheckType, MVT::v8i32,
16437
0
    OPC_CheckPatternPredicate0,
16438
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16439
0
                  MVT::v8i32, 2, 0, 1, 
16440
0
   16, 
16441
0
    OPC_CheckChild1Type, MVT::v4i64,
16442
0
    OPC_MoveSibling1,
16443
0
    OPC_CheckImmAllOnesV,
16444
0
    OPC_MoveParent,
16445
0
    OPC_MoveParent,
16446
0
    OPC_CheckType, MVT::v4i64,
16447
0
    OPC_CheckPatternPredicate0,
16448
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16449
0
                  MVT::v4i64, 2, 0, 1, 
16450
0
   0, 
16451
0
  22|128,1, 
16452
0
   OPC_MoveChild0,
16453
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16454
0
   OPC_MoveChild0,
16455
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16456
0
   OPC_MoveChild0,
16457
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16458
0
   OPC_MoveChild0,
16459
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16460
0
   OPC_CheckType, MVT::v4i32,
16461
0
   OPC_MoveParent,
16462
0
   OPC_CheckPredicate0, 
16463
0
   OPC_MoveParent,
16464
0
   OPC_RecordChild1,
16465
0
   OPC_Scope, 17, 
16466
0
    OPC_CheckChild1Type, MVT::v16i8,
16467
0
    OPC_MoveSibling1,
16468
0
    OPC_CheckImmAllOnesV,
16469
0
    OPC_MoveParent,
16470
0
    OPC_MoveParent,
16471
0
    OPC_RecordChild1,
16472
0
    OPC_CheckType, MVT::v16i8,
16473
0
    OPC_CheckPatternPredicate1,
16474
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16475
0
                  MVT::v16i8, 2, 1, 0, 
16476
0
   17, 
16477
0
    OPC_CheckChild1Type, MVT::v8i16,
16478
0
    OPC_MoveSibling1,
16479
0
    OPC_CheckImmAllOnesV,
16480
0
    OPC_MoveParent,
16481
0
    OPC_MoveParent,
16482
0
    OPC_RecordChild1,
16483
0
    OPC_CheckType, MVT::v8i16,
16484
0
    OPC_CheckPatternPredicate1,
16485
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16486
0
                  MVT::v8i16, 2, 1, 0, 
16487
0
   17, 
16488
0
    OPC_CheckChild1Type, MVT::v2i64,
16489
0
    OPC_MoveSibling1,
16490
0
    OPC_CheckImmAllOnesV,
16491
0
    OPC_MoveParent,
16492
0
    OPC_MoveParent,
16493
0
    OPC_RecordChild1,
16494
0
    OPC_CheckType, MVT::v2i64,
16495
0
    OPC_CheckPatternPredicate1,
16496
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16497
0
                  MVT::v2i64, 2, 1, 0, 
16498
0
   17, 
16499
0
    OPC_CheckChild1Type, MVT::v32i8,
16500
0
    OPC_MoveSibling1,
16501
0
    OPC_CheckImmAllOnesV,
16502
0
    OPC_MoveParent,
16503
0
    OPC_MoveParent,
16504
0
    OPC_RecordChild1,
16505
0
    OPC_CheckType, MVT::v32i8,
16506
0
    OPC_CheckPatternPredicate0,
16507
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16508
0
                  MVT::v32i8, 2, 1, 0, 
16509
0
   17, 
16510
0
    OPC_CheckChild1Type, MVT::v16i16,
16511
0
    OPC_MoveSibling1,
16512
0
    OPC_CheckImmAllOnesV,
16513
0
    OPC_MoveParent,
16514
0
    OPC_MoveParent,
16515
0
    OPC_RecordChild1,
16516
0
    OPC_CheckType, MVT::v16i16,
16517
0
    OPC_CheckPatternPredicate0,
16518
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16519
0
                  MVT::v16i16, 2, 1, 0, 
16520
0
   17, 
16521
0
    OPC_CheckChild1Type, MVT::v8i32,
16522
0
    OPC_MoveSibling1,
16523
0
    OPC_CheckImmAllOnesV,
16524
0
    OPC_MoveParent,
16525
0
    OPC_MoveParent,
16526
0
    OPC_RecordChild1,
16527
0
    OPC_CheckType, MVT::v8i32,
16528
0
    OPC_CheckPatternPredicate0,
16529
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16530
0
                  MVT::v8i32, 2, 1, 0, 
16531
0
   17, 
16532
0
    OPC_CheckChild1Type, MVT::v4i64,
16533
0
    OPC_MoveSibling1,
16534
0
    OPC_CheckImmAllOnesV,
16535
0
    OPC_MoveParent,
16536
0
    OPC_MoveParent,
16537
0
    OPC_RecordChild1,
16538
0
    OPC_CheckType, MVT::v4i64,
16539
0
    OPC_CheckPatternPredicate0,
16540
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16541
0
                  MVT::v4i64, 2, 1, 0, 
16542
0
   0, 
16543
0
  26|128,1, 
16544
0
   OPC_RecordChild0,
16545
0
   OPC_MoveChild1,
16546
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16547
0
   OPC_MoveChild0,
16548
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16549
0
   OPC_MoveChild0,
16550
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16551
0
   OPC_CheckPredicate0, 
16552
0
   OPC_MoveParent,
16553
0
   OPC_RecordChild1,
16554
0
   OPC_Scope, 16, 
16555
0
    OPC_CheckChild1Type, MVT::v16i8,
16556
0
    OPC_MoveSibling1,
16557
0
    OPC_CheckImmAllOnesV,
16558
0
    OPC_MoveParent,
16559
0
    OPC_MoveParent,
16560
0
    OPC_CheckType, MVT::v16i8,
16561
0
    OPC_CheckPatternPredicate1,
16562
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16563
0
                  MVT::v16i8, 2, 0, 1, 
16564
0
   16, 
16565
0
    OPC_CheckChild1Type, MVT::v8i16,
16566
0
    OPC_MoveSibling1,
16567
0
    OPC_CheckImmAllOnesV,
16568
0
    OPC_MoveParent,
16569
0
    OPC_MoveParent,
16570
0
    OPC_CheckType, MVT::v8i16,
16571
0
    OPC_CheckPatternPredicate1,
16572
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16573
0
                  MVT::v8i16, 2, 0, 1, 
16574
0
   16, 
16575
0
    OPC_CheckChild1Type, MVT::v4i32,
16576
0
    OPC_MoveSibling1,
16577
0
    OPC_CheckImmAllOnesV,
16578
0
    OPC_MoveParent,
16579
0
    OPC_MoveParent,
16580
0
    OPC_CheckType, MVT::v4i32,
16581
0
    OPC_CheckPatternPredicate1,
16582
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16583
0
                  MVT::v4i32, 2, 0, 1, 
16584
0
   16, 
16585
0
    OPC_CheckChild1Type, MVT::v2i64,
16586
0
    OPC_MoveSibling1,
16587
0
    OPC_CheckImmAllOnesV,
16588
0
    OPC_MoveParent,
16589
0
    OPC_MoveParent,
16590
0
    OPC_CheckType, MVT::v2i64,
16591
0
    OPC_CheckPatternPredicate1,
16592
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16593
0
                  MVT::v2i64, 2, 0, 1, 
16594
0
   16, 
16595
0
    OPC_CheckChild1Type, MVT::v32i8,
16596
0
    OPC_MoveSibling1,
16597
0
    OPC_CheckImmAllOnesV,
16598
0
    OPC_MoveParent,
16599
0
    OPC_MoveParent,
16600
0
    OPC_CheckType, MVT::v32i8,
16601
0
    OPC_CheckPatternPredicate0,
16602
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16603
0
                  MVT::v32i8, 2, 0, 1, 
16604
0
   16, 
16605
0
    OPC_CheckChild1Type, MVT::v16i16,
16606
0
    OPC_MoveSibling1,
16607
0
    OPC_CheckImmAllOnesV,
16608
0
    OPC_MoveParent,
16609
0
    OPC_MoveParent,
16610
0
    OPC_CheckType, MVT::v16i16,
16611
0
    OPC_CheckPatternPredicate0,
16612
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16613
0
                  MVT::v16i16, 2, 0, 1, 
16614
0
   16, 
16615
0
    OPC_CheckChild1Type, MVT::v8i32,
16616
0
    OPC_MoveSibling1,
16617
0
    OPC_CheckImmAllOnesV,
16618
0
    OPC_MoveParent,
16619
0
    OPC_MoveParent,
16620
0
    OPC_CheckType, MVT::v8i32,
16621
0
    OPC_CheckPatternPredicate0,
16622
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16623
0
                  MVT::v8i32, 2, 0, 1, 
16624
0
   16, 
16625
0
    OPC_CheckChild1Type, MVT::v4i64,
16626
0
    OPC_MoveSibling1,
16627
0
    OPC_CheckImmAllOnesV,
16628
0
    OPC_MoveParent,
16629
0
    OPC_MoveParent,
16630
0
    OPC_CheckType, MVT::v4i64,
16631
0
    OPC_CheckPatternPredicate0,
16632
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16633
0
                  MVT::v4i64, 2, 0, 1, 
16634
0
   0, 
16635
0
  33|128,1, 
16636
0
   OPC_MoveChild0,
16637
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16638
0
   OPC_MoveChild0,
16639
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16640
0
   OPC_MoveChild0,
16641
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16642
0
   OPC_CheckPredicate0, 
16643
0
   OPC_MoveParent,
16644
0
   OPC_RecordChild1,
16645
0
   OPC_Scope, 17, 
16646
0
    OPC_CheckChild1Type, MVT::v16i8,
16647
0
    OPC_MoveSibling1,
16648
0
    OPC_CheckImmAllOnesV,
16649
0
    OPC_MoveParent,
16650
0
    OPC_MoveParent,
16651
0
    OPC_RecordChild1,
16652
0
    OPC_CheckType, MVT::v16i8,
16653
0
    OPC_CheckPatternPredicate1,
16654
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16655
0
                  MVT::v16i8, 2, 1, 0, 
16656
0
   17, 
16657
0
    OPC_CheckChild1Type, MVT::v8i16,
16658
0
    OPC_MoveSibling1,
16659
0
    OPC_CheckImmAllOnesV,
16660
0
    OPC_MoveParent,
16661
0
    OPC_MoveParent,
16662
0
    OPC_RecordChild1,
16663
0
    OPC_CheckType, MVT::v8i16,
16664
0
    OPC_CheckPatternPredicate1,
16665
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16666
0
                  MVT::v8i16, 2, 1, 0, 
16667
0
   17, 
16668
0
    OPC_CheckChild1Type, MVT::v4i32,
16669
0
    OPC_MoveSibling1,
16670
0
    OPC_CheckImmAllOnesV,
16671
0
    OPC_MoveParent,
16672
0
    OPC_MoveParent,
16673
0
    OPC_RecordChild1,
16674
0
    OPC_CheckType, MVT::v4i32,
16675
0
    OPC_CheckPatternPredicate1,
16676
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16677
0
                  MVT::v4i32, 2, 1, 0, 
16678
0
   17, 
16679
0
    OPC_CheckChild1Type, MVT::v2i64,
16680
0
    OPC_MoveSibling1,
16681
0
    OPC_CheckImmAllOnesV,
16682
0
    OPC_MoveParent,
16683
0
    OPC_MoveParent,
16684
0
    OPC_RecordChild1,
16685
0
    OPC_CheckType, MVT::v2i64,
16686
0
    OPC_CheckPatternPredicate1,
16687
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16688
0
                  MVT::v2i64, 2, 1, 0, 
16689
0
   17, 
16690
0
    OPC_CheckChild1Type, MVT::v32i8,
16691
0
    OPC_MoveSibling1,
16692
0
    OPC_CheckImmAllOnesV,
16693
0
    OPC_MoveParent,
16694
0
    OPC_MoveParent,
16695
0
    OPC_RecordChild1,
16696
0
    OPC_CheckType, MVT::v32i8,
16697
0
    OPC_CheckPatternPredicate0,
16698
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16699
0
                  MVT::v32i8, 2, 1, 0, 
16700
0
   17, 
16701
0
    OPC_CheckChild1Type, MVT::v16i16,
16702
0
    OPC_MoveSibling1,
16703
0
    OPC_CheckImmAllOnesV,
16704
0
    OPC_MoveParent,
16705
0
    OPC_MoveParent,
16706
0
    OPC_RecordChild1,
16707
0
    OPC_CheckType, MVT::v16i16,
16708
0
    OPC_CheckPatternPredicate0,
16709
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16710
0
                  MVT::v16i16, 2, 1, 0, 
16711
0
   17, 
16712
0
    OPC_CheckChild1Type, MVT::v8i32,
16713
0
    OPC_MoveSibling1,
16714
0
    OPC_CheckImmAllOnesV,
16715
0
    OPC_MoveParent,
16716
0
    OPC_MoveParent,
16717
0
    OPC_RecordChild1,
16718
0
    OPC_CheckType, MVT::v8i32,
16719
0
    OPC_CheckPatternPredicate0,
16720
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16721
0
                  MVT::v8i32, 2, 1, 0, 
16722
0
   17, 
16723
0
    OPC_CheckChild1Type, MVT::v4i64,
16724
0
    OPC_MoveSibling1,
16725
0
    OPC_CheckImmAllOnesV,
16726
0
    OPC_MoveParent,
16727
0
    OPC_MoveParent,
16728
0
    OPC_RecordChild1,
16729
0
    OPC_CheckType, MVT::v4i64,
16730
0
    OPC_CheckPatternPredicate0,
16731
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16732
0
                  MVT::v4i64, 2, 1, 0, 
16733
0
   0, 
16734
0
  31, 
16735
0
   OPC_RecordChild0,
16736
0
   OPC_MoveChild1,
16737
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16738
0
   OPC_MoveChild0,
16739
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16740
0
   OPC_MoveChild0,
16741
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16742
0
   OPC_MoveParent,
16743
0
   OPC_RecordChild1,
16744
0
   OPC_CheckChild1Type, MVT::v4i32,
16745
0
   OPC_MoveSibling1,
16746
0
   OPC_CheckImmAllOnesV,
16747
0
   OPC_MoveParent,
16748
0
   OPC_MoveParent,
16749
0
   OPC_CheckType, MVT::v4i32,
16750
0
   OPC_CheckPatternPredicate1,
16751
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16752
0
                 MVT::v4i32, 2, 0, 1, 
16753
0
  31, 
16754
0
   OPC_MoveChild0,
16755
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16756
0
   OPC_MoveChild0,
16757
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16758
0
   OPC_MoveChild0,
16759
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16760
0
   OPC_MoveParent,
16761
0
   OPC_RecordChild1,
16762
0
   OPC_CheckChild1Type, MVT::v4i32,
16763
0
   OPC_MoveSibling1,
16764
0
   OPC_CheckImmAllOnesV,
16765
0
   OPC_MoveParent,
16766
0
   OPC_MoveParent,
16767
0
   OPC_RecordChild1,
16768
0
   OPC_CheckType, MVT::v4i32,
16769
0
   OPC_CheckPatternPredicate1,
16770
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16771
0
                 MVT::v4i32, 2, 1, 0, 
16772
0
  36|128,4, 
16773
0
   OPC_RecordChild0,
16774
0
   OPC_RecordChild1,
16775
0
   OPC_SwitchType , 99, MVT::v16i8,
16776
0
    OPC_Scope, 10, 
16777
0
     OPC_CheckPatternPredicate2,
16778
0
     OPC_CheckComplexPat6, /*#*/1,
16779
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16780
0
                   MVT::v16i8, 2, 0, 2, 
16781
0
    10, 
16782
0
     OPC_CheckPatternPredicate4,
16783
0
     OPC_CheckComplexPat6, /*#*/1,
16784
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16785
0
                   MVT::v16i8, 2, 0, 2, 
16786
0
    10, 
16787
0
     OPC_CheckPatternPredicate2,
16788
0
     OPC_CheckComplexPat6, /*#*/0,
16789
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16790
0
                   MVT::v16i8, 2, 1, 2, 
16791
0
    10, 
16792
0
     OPC_CheckPatternPredicate4,
16793
0
     OPC_CheckComplexPat6, /*#*/0,
16794
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16795
0
                   MVT::v16i8, 2, 1, 2, 
16796
0
    10, 
16797
0
     OPC_CheckPatternPredicate2,
16798
0
     OPC_CheckComplexPat7, /*#*/1,
16799
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16800
0
                   MVT::v16i8, 2, 0, 2, 
16801
0
    10, 
16802
0
     OPC_CheckPatternPredicate4,
16803
0
     OPC_CheckComplexPat7, /*#*/1,
16804
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16805
0
                   MVT::v16i8, 2, 0, 2, 
16806
0
    10, 
16807
0
     OPC_CheckPatternPredicate2,
16808
0
     OPC_CheckComplexPat7, /*#*/0,
16809
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16810
0
                   MVT::v16i8, 2, 1, 2, 
16811
0
    10, 
16812
0
     OPC_CheckPatternPredicate4,
16813
0
     OPC_CheckComplexPat7, /*#*/0,
16814
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16815
0
                   MVT::v16i8, 2, 1, 2, 
16816
0
    8, 
16817
0
     OPC_CheckPatternPredicate1,
16818
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16819
0
                   MVT::v16i8, 2, 0, 1, 
16820
0
    0, 
16821
0
   55, MVT::v8i16,
16822
0
    OPC_Scope, 10, 
16823
0
     OPC_CheckPatternPredicate2,
16824
0
     OPC_CheckComplexPat6, /*#*/1,
16825
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16826
0
                   MVT::v8i16, 2, 0, 2, 
16827
0
    10, 
16828
0
     OPC_CheckPatternPredicate4,
16829
0
     OPC_CheckComplexPat6, /*#*/1,
16830
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16831
0
                   MVT::v8i16, 2, 0, 2, 
16832
0
    10, 
16833
0
     OPC_CheckPatternPredicate2,
16834
0
     OPC_CheckComplexPat6, /*#*/0,
16835
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16836
0
                   MVT::v8i16, 2, 1, 2, 
16837
0
    10, 
16838
0
     OPC_CheckPatternPredicate4,
16839
0
     OPC_CheckComplexPat6, /*#*/0,
16840
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16841
0
                   MVT::v8i16, 2, 1, 2, 
16842
0
    8, 
16843
0
     OPC_CheckPatternPredicate1,
16844
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16845
0
                   MVT::v8i16, 2, 0, 1, 
16846
0
    0, 
16847
0
   55, MVT::v4i32,
16848
0
    OPC_Scope, 10, 
16849
0
     OPC_CheckPatternPredicate2,
16850
0
     OPC_CheckComplexPat6, /*#*/1,
16851
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16852
0
                   MVT::v4i32, 2, 0, 2, 
16853
0
    10, 
16854
0
     OPC_CheckPatternPredicate4,
16855
0
     OPC_CheckComplexPat6, /*#*/1,
16856
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16857
0
                   MVT::v4i32, 2, 0, 2, 
16858
0
    10, 
16859
0
     OPC_CheckPatternPredicate2,
16860
0
     OPC_CheckComplexPat6, /*#*/0,
16861
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16862
0
                   MVT::v4i32, 2, 1, 2, 
16863
0
    10, 
16864
0
     OPC_CheckPatternPredicate4,
16865
0
     OPC_CheckComplexPat6, /*#*/0,
16866
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16867
0
                   MVT::v4i32, 2, 1, 2, 
16868
0
    8, 
16869
0
     OPC_CheckPatternPredicate1,
16870
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16871
0
                   MVT::v4i32, 2, 0, 1, 
16872
0
    0, 
16873
0
   55, MVT::v2i64,
16874
0
    OPC_Scope, 10, 
16875
0
     OPC_CheckPatternPredicate2,
16876
0
     OPC_CheckComplexPat6, /*#*/1,
16877
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16878
0
                   MVT::v2i64, 2, 0, 2, 
16879
0
    10, 
16880
0
     OPC_CheckPatternPredicate4,
16881
0
     OPC_CheckComplexPat6, /*#*/1,
16882
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16883
0
                   MVT::v2i64, 2, 0, 2, 
16884
0
    10, 
16885
0
     OPC_CheckPatternPredicate2,
16886
0
     OPC_CheckComplexPat6, /*#*/0,
16887
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16888
0
                   MVT::v2i64, 2, 1, 2, 
16889
0
    10, 
16890
0
     OPC_CheckPatternPredicate4,
16891
0
     OPC_CheckComplexPat6, /*#*/0,
16892
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16893
0
                   MVT::v2i64, 2, 1, 2, 
16894
0
    8, 
16895
0
     OPC_CheckPatternPredicate1,
16896
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16897
0
                   MVT::v2i64, 2, 0, 1, 
16898
0
    0, 
16899
0
   99, MVT::v32i8,
16900
0
    OPC_Scope, 10, 
16901
0
     OPC_CheckPatternPredicate3,
16902
0
     OPC_CheckComplexPat6, /*#*/1,
16903
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16904
0
                   MVT::v32i8, 2, 0, 2, 
16905
0
    10, 
16906
0
     OPC_CheckPatternPredicate5,
16907
0
     OPC_CheckComplexPat6, /*#*/1,
16908
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16909
0
                   MVT::v32i8, 2, 0, 2, 
16910
0
    10, 
16911
0
     OPC_CheckPatternPredicate3,
16912
0
     OPC_CheckComplexPat6, /*#*/0,
16913
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16914
0
                   MVT::v32i8, 2, 1, 2, 
16915
0
    10, 
16916
0
     OPC_CheckPatternPredicate5,
16917
0
     OPC_CheckComplexPat6, /*#*/0,
16918
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16919
0
                   MVT::v32i8, 2, 1, 2, 
16920
0
    10, 
16921
0
     OPC_CheckPatternPredicate3,
16922
0
     OPC_CheckComplexPat7, /*#*/1,
16923
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16924
0
                   MVT::v32i8, 2, 0, 2, 
16925
0
    10, 
16926
0
     OPC_CheckPatternPredicate5,
16927
0
     OPC_CheckComplexPat7, /*#*/1,
16928
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16929
0
                   MVT::v32i8, 2, 0, 2, 
16930
0
    10, 
16931
0
     OPC_CheckPatternPredicate3,
16932
0
     OPC_CheckComplexPat7, /*#*/0,
16933
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16934
0
                   MVT::v32i8, 2, 1, 2, 
16935
0
    10, 
16936
0
     OPC_CheckPatternPredicate5,
16937
0
     OPC_CheckComplexPat7, /*#*/0,
16938
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16939
0
                   MVT::v32i8, 2, 1, 2, 
16940
0
    8, 
16941
0
     OPC_CheckPatternPredicate0,
16942
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16943
0
                   MVT::v32i8, 2, 0, 1, 
16944
0
    0, 
16945
0
   55, MVT::v16i16,
16946
0
    OPC_Scope, 10, 
16947
0
     OPC_CheckPatternPredicate3,
16948
0
     OPC_CheckComplexPat6, /*#*/1,
16949
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16950
0
                   MVT::v16i16, 2, 0, 2, 
16951
0
    10, 
16952
0
     OPC_CheckPatternPredicate5,
16953
0
     OPC_CheckComplexPat6, /*#*/1,
16954
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16955
0
                   MVT::v16i16, 2, 0, 2, 
16956
0
    10, 
16957
0
     OPC_CheckPatternPredicate3,
16958
0
     OPC_CheckComplexPat6, /*#*/0,
16959
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16960
0
                   MVT::v16i16, 2, 1, 2, 
16961
0
    10, 
16962
0
     OPC_CheckPatternPredicate5,
16963
0
     OPC_CheckComplexPat6, /*#*/0,
16964
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16965
0
                   MVT::v16i16, 2, 1, 2, 
16966
0
    8, 
16967
0
     OPC_CheckPatternPredicate0,
16968
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16969
0
                   MVT::v16i16, 2, 0, 1, 
16970
0
    0, 
16971
0
   55, MVT::v8i32,
16972
0
    OPC_Scope, 10, 
16973
0
     OPC_CheckPatternPredicate3,
16974
0
     OPC_CheckComplexPat6, /*#*/1,
16975
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16976
0
                   MVT::v8i32, 2, 0, 2, 
16977
0
    10, 
16978
0
     OPC_CheckPatternPredicate5,
16979
0
     OPC_CheckComplexPat6, /*#*/1,
16980
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16981
0
                   MVT::v8i32, 2, 0, 2, 
16982
0
    10, 
16983
0
     OPC_CheckPatternPredicate3,
16984
0
     OPC_CheckComplexPat6, /*#*/0,
16985
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16986
0
                   MVT::v8i32, 2, 1, 2, 
16987
0
    10, 
16988
0
     OPC_CheckPatternPredicate5,
16989
0
     OPC_CheckComplexPat6, /*#*/0,
16990
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16991
0
                   MVT::v8i32, 2, 1, 2, 
16992
0
    8, 
16993
0
     OPC_CheckPatternPredicate0,
16994
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16995
0
                   MVT::v8i32, 2, 0, 1, 
16996
0
    0, 
16997
0
   55, MVT::v4i64,
16998
0
    OPC_Scope, 10, 
16999
0
     OPC_CheckPatternPredicate3,
17000
0
     OPC_CheckComplexPat6, /*#*/1,
17001
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
17002
0
                   MVT::v4i64, 2, 0, 2, 
17003
0
    10, 
17004
0
     OPC_CheckPatternPredicate5,
17005
0
     OPC_CheckComplexPat6, /*#*/1,
17006
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
17007
0
                   MVT::v4i64, 2, 0, 2, 
17008
0
    10, 
17009
0
     OPC_CheckPatternPredicate3,
17010
0
     OPC_CheckComplexPat6, /*#*/0,
17011
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
17012
0
                   MVT::v4i64, 2, 1, 2, 
17013
0
    10, 
17014
0
     OPC_CheckPatternPredicate5,
17015
0
     OPC_CheckComplexPat6, /*#*/0,
17016
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
17017
0
                   MVT::v4i64, 2, 1, 2, 
17018
0
    8, 
17019
0
     OPC_CheckPatternPredicate0,
17020
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
17021
0
                   MVT::v4i64, 2, 0, 1, 
17022
0
    0, 
17023
0
   0,
17024
0
  0, 
17025
0
 69|128,1, TARGET_VAL(ISD::CTLZ),
17026
0
  OPC_Scope, 56, 
17027
0
   OPC_MoveChild0,
17028
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17029
0
   OPC_RecordChild0,
17030
0
   OPC_CheckChild1Integer, 3, 
17031
0
   OPC_SwitchType , 21, MVT::i64,
17032
0
    OPC_MoveParent,
17033
0
    OPC_CheckTypeI64,
17034
0
    OPC_Scope, 7, 
17035
0
     OPC_CheckPatternPredicate6,
17036
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
17037
0
                   MVT::i64, 1, 0, 
17038
0
    8, 
17039
0
     OPC_CheckPatternPredicate, 15,
17040
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17041
0
                   MVT::i64, 1, 0, 
17042
0
    0, 
17043
0
   22, MVT::i32,
17044
0
    OPC_MoveParent,
17045
0
    OPC_CheckTypeI32,
17046
0
    OPC_Scope, 8, 
17047
0
     OPC_CheckPatternPredicate, 10,
17048
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
17049
0
                   MVT::i32, 1, 0, 
17050
0
    8, 
17051
0
     OPC_CheckPatternPredicate, 9,
17052
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17053
0
                   MVT::i32, 1, 0, 
17054
0
    0, 
17055
0
   0,
17056
0
  8|128,1, 
17057
0
   OPC_RecordChild0,
17058
0
   OPC_SwitchType , 20, MVT::i64,
17059
0
    OPC_CheckChild0TypeI64,
17060
0
    OPC_Scope, 7, 
17061
0
     OPC_CheckPatternPredicate6,
17062
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
17063
0
                   MVT::i64, 1, 0, 
17064
0
    8, 
17065
0
     OPC_CheckPatternPredicate, 15,
17066
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17067
0
                   MVT::i64, 1, 0, 
17068
0
    0, 
17069
0
   21, MVT::i32,
17070
0
    OPC_CheckChild0TypeI32,
17071
0
    OPC_Scope, 8, 
17072
0
     OPC_CheckPatternPredicate, 10,
17073
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
17074
0
                   MVT::i32, 1, 0, 
17075
0
    8, 
17076
0
     OPC_CheckPatternPredicate, 9,
17077
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17078
0
                   MVT::i32, 1, 0, 
17079
0
    0, 
17080
0
   9, MVT::v16i8,
17081
0
    OPC_CheckChild0Type, MVT::v16i8,
17082
0
    OPC_CheckPatternPredicate1,
17083
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_B),
17084
0
                  MVT::v16i8, 1, 0, 
17085
0
   9, MVT::v8i16,
17086
0
    OPC_CheckChild0Type, MVT::v8i16,
17087
0
    OPC_CheckPatternPredicate1,
17088
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_H),
17089
0
                  MVT::v8i16, 1, 0, 
17090
0
   9, MVT::v4i32,
17091
0
    OPC_CheckChild0Type, MVT::v4i32,
17092
0
    OPC_CheckPatternPredicate1,
17093
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_W),
17094
0
                  MVT::v4i32, 1, 0, 
17095
0
   9, MVT::v2i64,
17096
0
    OPC_CheckChild0Type, MVT::v2i64,
17097
0
    OPC_CheckPatternPredicate1,
17098
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_D),
17099
0
                  MVT::v2i64, 1, 0, 
17100
0
   9, MVT::v32i8,
17101
0
    OPC_CheckChild0Type, MVT::v32i8,
17102
0
    OPC_CheckPatternPredicate0,
17103
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_B),
17104
0
                  MVT::v32i8, 1, 0, 
17105
0
   9, MVT::v16i16,
17106
0
    OPC_CheckChild0Type, MVT::v16i16,
17107
0
    OPC_CheckPatternPredicate0,
17108
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_H),
17109
0
                  MVT::v16i16, 1, 0, 
17110
0
   9, MVT::v8i32,
17111
0
    OPC_CheckChild0Type, MVT::v8i32,
17112
0
    OPC_CheckPatternPredicate0,
17113
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_W),
17114
0
                  MVT::v8i32, 1, 0, 
17115
0
   9, MVT::v4i64,
17116
0
    OPC_CheckChild0Type, MVT::v4i64,
17117
0
    OPC_CheckPatternPredicate0,
17118
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_D),
17119
0
                  MVT::v4i64, 1, 0, 
17120
0
   0,
17121
0
  0, 
17122
0
 108, TARGET_VAL(ISD::CTTZ),
17123
0
  OPC_Scope, 56, 
17124
0
   OPC_MoveChild0,
17125
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17126
0
   OPC_RecordChild0,
17127
0
   OPC_CheckChild1Integer, 3, 
17128
0
   OPC_SwitchType , 21, MVT::i64,
17129
0
    OPC_MoveParent,
17130
0
    OPC_CheckTypeI64,
17131
0
    OPC_Scope, 7, 
17132
0
     OPC_CheckPatternPredicate6,
17133
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
17134
0
                   MVT::i64, 1, 0, 
17135
0
    8, 
17136
0
     OPC_CheckPatternPredicate, 15,
17137
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17138
0
                   MVT::i64, 1, 0, 
17139
0
    0, 
17140
0
   22, MVT::i32,
17141
0
    OPC_MoveParent,
17142
0
    OPC_CheckTypeI32,
17143
0
    OPC_Scope, 8, 
17144
0
     OPC_CheckPatternPredicate, 10,
17145
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
17146
0
                   MVT::i32, 1, 0, 
17147
0
    8, 
17148
0
     OPC_CheckPatternPredicate, 9,
17149
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17150
0
                   MVT::i32, 1, 0, 
17151
0
    0, 
17152
0
   0,
17153
0
  48, 
17154
0
   OPC_RecordChild0,
17155
0
   OPC_SwitchType , 20, MVT::i64,
17156
0
    OPC_CheckChild0TypeI64,
17157
0
    OPC_Scope, 7, 
17158
0
     OPC_CheckPatternPredicate6,
17159
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
17160
0
                   MVT::i64, 1, 0, 
17161
0
    8, 
17162
0
     OPC_CheckPatternPredicate, 15,
17163
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17164
0
                   MVT::i64, 1, 0, 
17165
0
    0, 
17166
0
   21, MVT::i32,
17167
0
    OPC_CheckChild0TypeI32,
17168
0
    OPC_Scope, 8, 
17169
0
     OPC_CheckPatternPredicate, 10,
17170
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
17171
0
                   MVT::i32, 1, 0, 
17172
0
    8, 
17173
0
     OPC_CheckPatternPredicate, 9,
17174
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17175
0
                   MVT::i32, 1, 0, 
17176
0
    0, 
17177
0
   0,
17178
0
  0, 
17179
0
 60, TARGET_VAL(LoongArchISD::CLZ_W),
17180
0
  OPC_Scope, 32, 
17181
0
   OPC_MoveChild0,
17182
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17183
0
   OPC_RecordChild0,
17184
0
   OPC_CheckChild1Integer, 3, 
17185
0
   OPC_SwitchType , 9, MVT::i64,
17186
0
    OPC_MoveParent,
17187
0
    OPC_CheckTypeI64,
17188
0
    OPC_CheckPatternPredicate6,
17189
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17190
0
                  MVT::i64, 1, 0, 
17191
0
   10, MVT::i32,
17192
0
    OPC_MoveParent,
17193
0
    OPC_CheckTypeI32,
17194
0
    OPC_CheckPatternPredicate, 10,
17195
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17196
0
                  MVT::i32, 1, 0, 
17197
0
   0,
17198
0
  24, 
17199
0
   OPC_RecordChild0,
17200
0
   OPC_SwitchType , 8, MVT::i64,
17201
0
    OPC_CheckChild0TypeI64,
17202
0
    OPC_CheckPatternPredicate6,
17203
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17204
0
                  MVT::i64, 1, 0, 
17205
0
   9, MVT::i32,
17206
0
    OPC_CheckChild0TypeI32,
17207
0
    OPC_CheckPatternPredicate, 10,
17208
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17209
0
                  MVT::i32, 1, 0, 
17210
0
   0,
17211
0
  0, 
17212
0
 60, TARGET_VAL(LoongArchISD::CTZ_W),
17213
0
  OPC_Scope, 32, 
17214
0
   OPC_MoveChild0,
17215
0
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17216
0
   OPC_RecordChild0,
17217
0
   OPC_CheckChild1Integer, 3, 
17218
0
   OPC_SwitchType , 9, MVT::i64,
17219
0
    OPC_MoveParent,
17220
0
    OPC_CheckTypeI64,
17221
0
    OPC_CheckPatternPredicate6,
17222
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17223
0
                  MVT::i64, 1, 0, 
17224
0
   10, MVT::i32,
17225
0
    OPC_MoveParent,
17226
0
    OPC_CheckTypeI32,
17227
0
    OPC_CheckPatternPredicate, 10,
17228
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17229
0
                  MVT::i32, 1, 0, 
17230
0
   0,
17231
0
  24, 
17232
0
   OPC_RecordChild0,
17233
0
   OPC_SwitchType , 8, MVT::i64,
17234
0
    OPC_CheckChild0TypeI64,
17235
0
    OPC_CheckPatternPredicate6,
17236
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17237
0
                  MVT::i64, 1, 0, 
17238
0
   9, MVT::i32,
17239
0
    OPC_CheckChild0TypeI32,
17240
0
    OPC_CheckPatternPredicate, 10,
17241
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17242
0
                  MVT::i32, 1, 0, 
17243
0
   0,
17244
0
  0, 
17245
0
 114, TARGET_VAL(LoongArchISD::BSTRINS),
17246
0
  OPC_RecordChild0,
17247
0
  OPC_RecordChild1,
17248
0
  OPC_RecordChild2,
17249
0
  OPC_MoveChild2,
17250
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17251
0
  OPC_Scope, 52, 
17252
0
   OPC_CheckPredicate, 24,
17253
0
   OPC_SwitchType , 22, MVT::i64,
17254
0
    OPC_MoveSibling3,
17255
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17256
0
    OPC_RecordNode,
17257
0
    OPC_CheckPredicate, 24,
17258
0
    OPC_MoveParent,
17259
0
    OPC_CheckTypeI64,
17260
0
    OPC_CheckPatternPredicate, 15,
17261
0
    OPC_EmitConvertToTarget2,
17262
0
    OPC_EmitConvertToTarget3,
17263
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
17264
0
                  MVT::i64, 4, 0, 1, 4, 5, 
17265
0
   22, MVT::i32,
17266
0
    OPC_MoveSibling3,
17267
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17268
0
    OPC_RecordNode,
17269
0
    OPC_CheckPredicate, 24,
17270
0
    OPC_MoveParent,
17271
0
    OPC_CheckTypeI32,
17272
0
    OPC_CheckPatternPredicate, 9,
17273
0
    OPC_EmitConvertToTarget2,
17274
0
    OPC_EmitConvertToTarget3,
17275
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
17276
0
                  MVT::i32, 4, 0, 1, 4, 5, 
17277
0
   0,
17278
0
  51, 
17279
0
   OPC_CheckPredicate, 31,
17280
0
   OPC_SwitchType , 21, MVT::i64,
17281
0
    OPC_MoveSibling3,
17282
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17283
0
    OPC_RecordNode,
17284
0
    OPC_CheckPredicate, 31,
17285
0
    OPC_MoveParent,
17286
0
    OPC_CheckTypeI64,
17287
0
    OPC_CheckPatternPredicate6,
17288
0
    OPC_EmitConvertToTarget2,
17289
0
    OPC_EmitConvertToTarget3,
17290
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
17291
0
                  MVT::i64, 4, 0, 1, 4, 5, 
17292
0
   22, MVT::i32,
17293
0
    OPC_MoveSibling3,
17294
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17295
0
    OPC_RecordNode,
17296
0
    OPC_CheckPredicate, 31,
17297
0
    OPC_MoveParent,
17298
0
    OPC_CheckTypeI32,
17299
0
    OPC_CheckPatternPredicate, 10,
17300
0
    OPC_EmitConvertToTarget2,
17301
0
    OPC_EmitConvertToTarget3,
17302
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
17303
0
                  MVT::i32, 4, 0, 1, 4, 5, 
17304
0
   0,
17305
0
  0, 
17306
0
 127, TARGET_VAL(ISD::ATOMIC_FENCE),
17307
0
  OPC_RecordNode,
17308
0
  OPC_Scope, 30, 
17309
0
   OPC_CheckChild1Integer, 8, 
17310
0
   OPC_MoveChild2,
17311
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17312
0
   OPC_MoveParent,
17313
0
   OPC_Scope, 9, 
17314
0
    OPC_CheckPatternPredicate7,
17315
0
    OPC_EmitMergeInputChains1_0,
17316
0
    OPC_EmitInteger64, 40, 
17317
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17318
0
                  1, 1, 
17319
0
   10, 
17320
0
    OPC_CheckPatternPredicate, 8,
17321
0
    OPC_EmitMergeInputChains1_0,
17322
0
    OPC_EmitInteger32, 40, 
17323
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17324
0
                  1, 1, 
17325
0
   0, 
17326
0
  30, 
17327
0
   OPC_CheckChild1Integer, 10, 
17328
0
   OPC_MoveChild2,
17329
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17330
0
   OPC_MoveParent,
17331
0
   OPC_Scope, 9, 
17332
0
    OPC_CheckPatternPredicate7,
17333
0
    OPC_EmitMergeInputChains1_0,
17334
0
    OPC_EmitInteger64, 36, 
17335
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17336
0
                  1, 1, 
17337
0
   10, 
17338
0
    OPC_CheckPatternPredicate, 8,
17339
0
    OPC_EmitMergeInputChains1_0,
17340
0
    OPC_EmitInteger32, 36, 
17341
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17342
0
                  1, 1, 
17343
0
   0, 
17344
0
  30, 
17345
0
   OPC_CheckChild1Integer, 12, 
17346
0
   OPC_MoveChild2,
17347
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17348
0
   OPC_MoveParent,
17349
0
   OPC_Scope, 9, 
17350
0
    OPC_CheckPatternPredicate7,
17351
0
    OPC_EmitMergeInputChains1_0,
17352
0
    OPC_EmitInteger64, 32, 
17353
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17354
0
                  1, 1, 
17355
0
   10, 
17356
0
    OPC_CheckPatternPredicate, 8,
17357
0
    OPC_EmitMergeInputChains1_0,
17358
0
    OPC_EmitInteger32, 32, 
17359
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17360
0
                  1, 1, 
17361
0
   0, 
17362
0
  30, 
17363
0
   OPC_CheckChild1Integer, 14, 
17364
0
   OPC_MoveChild2,
17365
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17366
0
   OPC_MoveParent,
17367
0
   OPC_Scope, 9, 
17368
0
    OPC_CheckPatternPredicate7,
17369
0
    OPC_EmitMergeInputChains1_0,
17370
0
    OPC_EmitInteger64, 32, 
17371
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17372
0
                  1, 1, 
17373
0
   10, 
17374
0
    OPC_CheckPatternPredicate, 8,
17375
0
    OPC_EmitMergeInputChains1_0,
17376
0
    OPC_EmitInteger32, 32, 
17377
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17378
0
                  1, 1, 
17379
0
   0, 
17380
0
  0, 
17381
0
 117|128,6, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
17382
0
  OPC_RecordNode,
17383
0
  OPC_Scope, 25, 
17384
0
   OPC_CheckChild1Integer, 14|128,106, 
17385
0
   OPC_RecordChild2,
17386
0
   OPC_CheckChild2TypeI64,
17387
0
   OPC_RecordChild3,
17388
0
   OPC_RecordChild4,
17389
0
   OPC_RecordChild5,
17390
0
   OPC_MoveChild5,
17391
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17392
0
   OPC_MoveParent,
17393
0
   OPC_CheckPatternPredicate6,
17394
0
   OPC_EmitMergeInputChains1_0,
17395
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32),
17396
0
                 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
17397
0
  25, 
17398
0
   OPC_CheckChild1Integer, 118|128,105, 
17399
0
   OPC_RecordChild2,
17400
0
   OPC_CheckChild2TypeI64,
17401
0
   OPC_RecordChild3,
17402
0
   OPC_RecordChild4,
17403
0
   OPC_RecordChild5,
17404
0
   OPC_MoveChild5,
17405
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17406
0
   OPC_MoveParent,
17407
0
   OPC_CheckPatternPredicate6,
17408
0
   OPC_EmitMergeInputChains1_0,
17409
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32),
17410
0
                 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
17411
0
  25, 
17412
0
   OPC_CheckChild1Integer, 2|128,106, 
17413
0
   OPC_RecordChild2,
17414
0
   OPC_CheckChild2TypeI64,
17415
0
   OPC_RecordChild3,
17416
0
   OPC_RecordChild4,
17417
0
   OPC_RecordChild5,
17418
0
   OPC_MoveChild5,
17419
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17420
0
   OPC_MoveParent,
17421
0
   OPC_CheckPatternPredicate6,
17422
0
   OPC_EmitMergeInputChains1_0,
17423
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32),
17424
0
                 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
17425
0
  25, 
17426
0
   OPC_CheckChild1Integer, 126|128,105, 
17427
0
   OPC_RecordChild2,
17428
0
   OPC_CheckChild2TypeI64,
17429
0
   OPC_RecordChild3,
17430
0
   OPC_RecordChild4,
17431
0
   OPC_RecordChild5,
17432
0
   OPC_MoveChild5,
17433
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17434
0
   OPC_MoveParent,
17435
0
   OPC_CheckPatternPredicate6,
17436
0
   OPC_EmitMergeInputChains1_0,
17437
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
17438
0
                 MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
17439
0
  28, 
17440
0
   OPC_CheckChild1Integer, 6|128,106, 
17441
0
   OPC_RecordChild2,
17442
0
   OPC_CheckChild2TypeI64,
17443
0
   OPC_RecordChild3,
17444
0
   OPC_RecordChild4,
17445
0
   OPC_RecordChild5,
17446
0
   OPC_MoveChild5,
17447
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17448
0
   OPC_MoveParent,
17449
0
   OPC_CheckPatternPredicate6,
17450
0
   OPC_EmitMergeInputChains1_0,
17451
0
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
17452
0
                 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
17453
0
  28, 
17454
0
   OPC_CheckChild1Integer, 10|128,106, 
17455
0
   OPC_RecordChild2,
17456
0
   OPC_CheckChild2TypeI64,
17457
0
   OPC_RecordChild3,
17458
0
   OPC_RecordChild4,
17459
0
   OPC_RecordChild5,
17460
0
   OPC_MoveChild5,
17461
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17462
0
   OPC_MoveParent,
17463
0
   OPC_CheckPatternPredicate6,
17464
0
   OPC_EmitMergeInputChains1_0,
17465
0
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
17466
0
                 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
17467
0
  27, 
17468
0
   OPC_CheckChild1Integer, 16|128,106, 
17469
0
   OPC_RecordChild2,
17470
0
   OPC_CheckChild2TypeI64,
17471
0
   OPC_RecordChild3,
17472
0
   OPC_RecordChild4,
17473
0
   OPC_RecordChild5,
17474
0
   OPC_RecordChild6,
17475
0
   OPC_MoveChild6,
17476
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17477
0
   OPC_MoveParent,
17478
0
   OPC_CheckPatternPredicate6,
17479
0
   OPC_EmitMergeInputChains1_0,
17480
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32),
17481
0
                 MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5, 
17482
0
  30, 
17483
0
   OPC_CheckChild1Integer, 120|128,105, 
17484
0
   OPC_RecordChild2,
17485
0
   OPC_CheckChild2TypeI64,
17486
0
   OPC_RecordChild3,
17487
0
   OPC_RecordChild4,
17488
0
   OPC_RecordChild5,
17489
0
   OPC_RecordChild6,
17490
0
   OPC_MoveChild6,
17491
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17492
0
   OPC_MoveParent,
17493
0
   OPC_CheckPatternPredicate6,
17494
0
   OPC_EmitMergeInputChains1_0,
17495
0
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
17496
0
                 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5, 
17497
0
  30, 
17498
0
   OPC_CheckChild1Integer, 122|128,105, 
17499
0
   OPC_RecordChild2,
17500
0
   OPC_CheckChild2TypeI64,
17501
0
   OPC_RecordChild3,
17502
0
   OPC_RecordChild4,
17503
0
   OPC_RecordChild5,
17504
0
   OPC_RecordChild6,
17505
0
   OPC_MoveChild6,
17506
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17507
0
   OPC_MoveParent,
17508
0
   OPC_CheckPatternPredicate6,
17509
0
   OPC_EmitMergeInputChains1_0,
17510
0
   OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
17511
0
                 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5, 
17512
0
  26, 
17513
0
   OPC_CheckChild1Integer, 12|128,106, 
17514
0
   OPC_RecordChild2,
17515
0
   OPC_CheckChild2TypeI32,
17516
0
   OPC_RecordChild3,
17517
0
   OPC_RecordChild4,
17518
0
   OPC_RecordChild5,
17519
0
   OPC_MoveChild5,
17520
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17521
0
   OPC_MoveParent,
17522
0
   OPC_CheckPatternPredicate, 9,
17523
0
   OPC_EmitMergeInputChains1_0,
17524
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32),
17525
0
                 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
17526
0
  26, 
17527
0
   OPC_CheckChild1Integer, 116|128,105, 
17528
0
   OPC_RecordChild2,
17529
0
   OPC_CheckChild2TypeI32,
17530
0
   OPC_RecordChild3,
17531
0
   OPC_RecordChild4,
17532
0
   OPC_RecordChild5,
17533
0
   OPC_MoveChild5,
17534
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17535
0
   OPC_MoveParent,
17536
0
   OPC_CheckPatternPredicate, 9,
17537
0
   OPC_EmitMergeInputChains1_0,
17538
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32),
17539
0
                 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
17540
0
  26, 
17541
0
   OPC_CheckChild1Integer, 0|128,106, 
17542
0
   OPC_RecordChild2,
17543
0
   OPC_CheckChild2TypeI32,
17544
0
   OPC_RecordChild3,
17545
0
   OPC_RecordChild4,
17546
0
   OPC_RecordChild5,
17547
0
   OPC_MoveChild5,
17548
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17549
0
   OPC_MoveParent,
17550
0
   OPC_CheckPatternPredicate, 9,
17551
0
   OPC_EmitMergeInputChains1_0,
17552
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32),
17553
0
                 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
17554
0
  26, 
17555
0
   OPC_CheckChild1Integer, 124|128,105, 
17556
0
   OPC_RecordChild2,
17557
0
   OPC_CheckChild2TypeI32,
17558
0
   OPC_RecordChild3,
17559
0
   OPC_RecordChild4,
17560
0
   OPC_RecordChild5,
17561
0
   OPC_MoveChild5,
17562
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17563
0
   OPC_MoveParent,
17564
0
   OPC_CheckPatternPredicate, 9,
17565
0
   OPC_EmitMergeInputChains1_0,
17566
0
   OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
17567
0
                 MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
17568
0
  19, 
17569
0
   OPC_CheckChild1Integer, 88|128,94, 
17570
0
   OPC_RecordChild2,
17571
0
   OPC_RecordChild3,
17572
0
   OPC_MoveChild3,
17573
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17574
0
   OPC_MoveParent,
17575
0
   OPC_CheckPatternPredicate6,
17576
0
   OPC_EmitMergeInputChains1_0,
17577
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::LDDIR),
17578
0
                 MVT::i64, 2, 1, 2, 
17579
0
  46, 
17580
0
   OPC_CheckChild1Integer, 40|128,99, 
17581
0
   OPC_RecordChild2,
17582
0
   OPC_Scope, 19, 
17583
0
    OPC_CheckChild2TypeI64,
17584
0
    OPC_RecordChild3,
17585
0
    OPC_MoveChild3,
17586
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17587
0
    OPC_MoveParent,
17588
0
    OPC_CheckPatternPredicate2,
17589
0
    OPC_EmitMergeInputChains1_0,
17590
0
    OPC_EmitNodeXForm, 8, 2,
17591
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
17592
0
                  MVT::v16i8, 2, 1, 3, 
17593
0
   19, 
17594
0
    OPC_CheckChild2TypeI32,
17595
0
    OPC_RecordChild3,
17596
0
    OPC_MoveChild3,
17597
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17598
0
    OPC_MoveParent,
17599
0
    OPC_CheckPatternPredicate4,
17600
0
    OPC_EmitMergeInputChains1_0,
17601
0
    OPC_EmitNodeXForm, 8, 2,
17602
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
17603
0
                  MVT::v16i8, 2, 1, 3, 
17604
0
   0, 
17605
0
  46, 
17606
0
   OPC_CheckChild1Integer, 44|128,99, 
17607
0
   OPC_RecordChild2,
17608
0
   OPC_Scope, 19, 
17609
0
    OPC_CheckChild2TypeI64,
17610
0
    OPC_RecordChild3,
17611
0
    OPC_MoveChild3,
17612
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17613
0
    OPC_MoveParent,
17614
0
    OPC_CheckPatternPredicate2,
17615
0
    OPC_EmitMergeInputChains1_0,
17616
0
    OPC_EmitNodeXForm, 8, 2,
17617
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
17618
0
                  MVT::v16i8, 2, 1, 3, 
17619
0
   19, 
17620
0
    OPC_CheckChild2TypeI32,
17621
0
    OPC_RecordChild3,
17622
0
    OPC_MoveChild3,
17623
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17624
0
    OPC_MoveParent,
17625
0
    OPC_CheckPatternPredicate4,
17626
0
    OPC_EmitMergeInputChains1_0,
17627
0
    OPC_EmitNodeXForm, 8, 2,
17628
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
17629
0
                  MVT::v16i8, 2, 1, 3, 
17630
0
   0, 
17631
0
  46, 
17632
0
   OPC_CheckChild1Integer, 48|128,99, 
17633
0
   OPC_RecordChild2,
17634
0
   OPC_Scope, 19, 
17635
0
    OPC_CheckChild2TypeI64,
17636
0
    OPC_RecordChild3,
17637
0
    OPC_MoveChild3,
17638
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17639
0
    OPC_MoveParent,
17640
0
    OPC_CheckPatternPredicate2,
17641
0
    OPC_EmitMergeInputChains1_0,
17642
0
    OPC_EmitNodeXForm, 8, 2,
17643
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
17644
0
                  MVT::v8i16, 2, 1, 3, 
17645
0
   19, 
17646
0
    OPC_CheckChild2TypeI32,
17647
0
    OPC_RecordChild3,
17648
0
    OPC_MoveChild3,
17649
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17650
0
    OPC_MoveParent,
17651
0
    OPC_CheckPatternPredicate4,
17652
0
    OPC_EmitMergeInputChains1_0,
17653
0
    OPC_EmitNodeXForm, 8, 2,
17654
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
17655
0
                  MVT::v8i16, 2, 1, 3, 
17656
0
   0, 
17657
0
  46, 
17658
0
   OPC_CheckChild1Integer, 50|128,99, 
17659
0
   OPC_RecordChild2,
17660
0
   OPC_Scope, 19, 
17661
0
    OPC_CheckChild2TypeI64,
17662
0
    OPC_RecordChild3,
17663
0
    OPC_MoveChild3,
17664
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17665
0
    OPC_MoveParent,
17666
0
    OPC_CheckPatternPredicate2,
17667
0
    OPC_EmitMergeInputChains1_0,
17668
0
    OPC_EmitNodeXForm, 8, 2,
17669
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
17670
0
                  MVT::v4i32, 2, 1, 3, 
17671
0
   19, 
17672
0
    OPC_CheckChild2TypeI32,
17673
0
    OPC_RecordChild3,
17674
0
    OPC_MoveChild3,
17675
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17676
0
    OPC_MoveParent,
17677
0
    OPC_CheckPatternPredicate4,
17678
0
    OPC_EmitMergeInputChains1_0,
17679
0
    OPC_EmitNodeXForm, 8, 2,
17680
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
17681
0
                  MVT::v4i32, 2, 1, 3, 
17682
0
   0, 
17683
0
  46, 
17684
0
   OPC_CheckChild1Integer, 46|128,99, 
17685
0
   OPC_RecordChild2,
17686
0
   OPC_Scope, 19, 
17687
0
    OPC_CheckChild2TypeI64,
17688
0
    OPC_RecordChild3,
17689
0
    OPC_MoveChild3,
17690
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17691
0
    OPC_MoveParent,
17692
0
    OPC_CheckPatternPredicate2,
17693
0
    OPC_EmitMergeInputChains1_0,
17694
0
    OPC_EmitNodeXForm, 8, 2,
17695
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
17696
0
                  MVT::v2i64, 2, 1, 3, 
17697
0
   19, 
17698
0
    OPC_CheckChild2TypeI32,
17699
0
    OPC_RecordChild3,
17700
0
    OPC_MoveChild3,
17701
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17702
0
    OPC_MoveParent,
17703
0
    OPC_CheckPatternPredicate4,
17704
0
    OPC_EmitMergeInputChains1_0,
17705
0
    OPC_EmitNodeXForm, 8, 2,
17706
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
17707
0
                  MVT::v2i64, 2, 1, 3, 
17708
0
   0, 
17709
0
  46, 
17710
0
   OPC_CheckChild1Integer, 124|128,87, 
17711
0
   OPC_RecordChild2,
17712
0
   OPC_Scope, 19, 
17713
0
    OPC_CheckChild2TypeI64,
17714
0
    OPC_RecordChild3,
17715
0
    OPC_MoveChild3,
17716
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17717
0
    OPC_MoveParent,
17718
0
    OPC_CheckPatternPredicate3,
17719
0
    OPC_EmitMergeInputChains1_0,
17720
0
    OPC_EmitNodeXForm, 8, 2,
17721
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
17722
0
                  MVT::v32i8, 2, 1, 3, 
17723
0
   19, 
17724
0
    OPC_CheckChild2TypeI32,
17725
0
    OPC_RecordChild3,
17726
0
    OPC_MoveChild3,
17727
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17728
0
    OPC_MoveParent,
17729
0
    OPC_CheckPatternPredicate5,
17730
0
    OPC_EmitMergeInputChains1_0,
17731
0
    OPC_EmitNodeXForm, 8, 2,
17732
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
17733
0
                  MVT::v32i8, 2, 1, 3, 
17734
0
   0, 
17735
0
  46, 
17736
0
   OPC_CheckChild1Integer, 0|128,88, 
17737
0
   OPC_RecordChild2,
17738
0
   OPC_Scope, 19, 
17739
0
    OPC_CheckChild2TypeI64,
17740
0
    OPC_RecordChild3,
17741
0
    OPC_MoveChild3,
17742
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17743
0
    OPC_MoveParent,
17744
0
    OPC_CheckPatternPredicate3,
17745
0
    OPC_EmitMergeInputChains1_0,
17746
0
    OPC_EmitNodeXForm, 8, 2,
17747
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
17748
0
                  MVT::v32i8, 2, 1, 3, 
17749
0
   19, 
17750
0
    OPC_CheckChild2TypeI32,
17751
0
    OPC_RecordChild3,
17752
0
    OPC_MoveChild3,
17753
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17754
0
    OPC_MoveParent,
17755
0
    OPC_CheckPatternPredicate5,
17756
0
    OPC_EmitMergeInputChains1_0,
17757
0
    OPC_EmitNodeXForm, 8, 2,
17758
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
17759
0
                  MVT::v32i8, 2, 1, 3, 
17760
0
   0, 
17761
0
  46, 
17762
0
   OPC_CheckChild1Integer, 4|128,88, 
17763
0
   OPC_RecordChild2,
17764
0
   OPC_Scope, 19, 
17765
0
    OPC_CheckChild2TypeI64,
17766
0
    OPC_RecordChild3,
17767
0
    OPC_MoveChild3,
17768
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17769
0
    OPC_MoveParent,
17770
0
    OPC_CheckPatternPredicate3,
17771
0
    OPC_EmitMergeInputChains1_0,
17772
0
    OPC_EmitNodeXForm, 8, 2,
17773
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
17774
0
                  MVT::v16i16, 2, 1, 3, 
17775
0
   19, 
17776
0
    OPC_CheckChild2TypeI32,
17777
0
    OPC_RecordChild3,
17778
0
    OPC_MoveChild3,
17779
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17780
0
    OPC_MoveParent,
17781
0
    OPC_CheckPatternPredicate5,
17782
0
    OPC_EmitMergeInputChains1_0,
17783
0
    OPC_EmitNodeXForm, 8, 2,
17784
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
17785
0
                  MVT::v16i16, 2, 1, 3, 
17786
0
   0, 
17787
0
  46, 
17788
0
   OPC_CheckChild1Integer, 6|128,88, 
17789
0
   OPC_RecordChild2,
17790
0
   OPC_Scope, 19, 
17791
0
    OPC_CheckChild2TypeI64,
17792
0
    OPC_RecordChild3,
17793
0
    OPC_MoveChild3,
17794
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17795
0
    OPC_MoveParent,
17796
0
    OPC_CheckPatternPredicate3,
17797
0
    OPC_EmitMergeInputChains1_0,
17798
0
    OPC_EmitNodeXForm, 8, 2,
17799
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
17800
0
                  MVT::v8i32, 2, 1, 3, 
17801
0
   19, 
17802
0
    OPC_CheckChild2TypeI32,
17803
0
    OPC_RecordChild3,
17804
0
    OPC_MoveChild3,
17805
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17806
0
    OPC_MoveParent,
17807
0
    OPC_CheckPatternPredicate5,
17808
0
    OPC_EmitMergeInputChains1_0,
17809
0
    OPC_EmitNodeXForm, 8, 2,
17810
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
17811
0
                  MVT::v8i32, 2, 1, 3, 
17812
0
   0, 
17813
0
  46, 
17814
0
   OPC_CheckChild1Integer, 2|128,88, 
17815
0
   OPC_RecordChild2,
17816
0
   OPC_Scope, 19, 
17817
0
    OPC_CheckChild2TypeI64,
17818
0
    OPC_RecordChild3,
17819
0
    OPC_MoveChild3,
17820
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17821
0
    OPC_MoveParent,
17822
0
    OPC_CheckPatternPredicate3,
17823
0
    OPC_EmitMergeInputChains1_0,
17824
0
    OPC_EmitNodeXForm, 8, 2,
17825
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
17826
0
                  MVT::v4i64, 2, 1, 3, 
17827
0
   19, 
17828
0
    OPC_CheckChild2TypeI32,
17829
0
    OPC_RecordChild3,
17830
0
    OPC_MoveChild3,
17831
0
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17832
0
    OPC_MoveParent,
17833
0
    OPC_CheckPatternPredicate5,
17834
0
    OPC_EmitMergeInputChains1_0,
17835
0
    OPC_EmitNodeXForm, 8, 2,
17836
0
    OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
17837
0
                  MVT::v4i64, 2, 1, 3, 
17838
0
   0, 
17839
0
  15, 
17840
0
   OPC_CheckChild1Integer, 52|128,99, 
17841
0
   OPC_RecordChild2,
17842
0
   OPC_CheckChild2TypeI64,
17843
0
   OPC_RecordChild3,
17844
0
   OPC_CheckPatternPredicate2,
17845
0
   OPC_EmitMergeInputChains1_0,
17846
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDX),
17847
0
                 MVT::v16i8, 2, 1, 2, 
17848
0
  15, 
17849
0
   OPC_CheckChild1Integer, 8|128,88, 
17850
0
   OPC_RecordChild2,
17851
0
   OPC_CheckChild2TypeI64,
17852
0
   OPC_RecordChild3,
17853
0
   OPC_CheckPatternPredicate3,
17854
0
   OPC_EmitMergeInputChains1_0,
17855
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDX),
17856
0
                 MVT::v32i8, 2, 1, 2, 
17857
0
  0, 
17858
0
 57|128,34|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
17859
0
  OPC_Scope, 21, 
17860
0
   OPC_CheckChild0Integer, 90|128,101, 
17861
0
   OPC_RecordChild1,
17862
0
   OPC_RecordChild2,
17863
0
   OPC_MoveChild2,
17864
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17865
0
   OPC_MoveParent,
17866
0
   OPC_CheckPatternPredicate2,
17867
0
   OPC_EmitNodeXForm, 8, 1,
17868
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
17869
0
                 MVT::i64, 2, 0, 2, 
17870
0
  21, 
17871
0
   OPC_CheckChild0Integer, 92|128,101, 
17872
0
   OPC_RecordChild1,
17873
0
   OPC_RecordChild2,
17874
0
   OPC_MoveChild2,
17875
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17876
0
   OPC_MoveParent,
17877
0
   OPC_CheckPatternPredicate2,
17878
0
   OPC_EmitNodeXForm, 8, 1,
17879
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_DU),
17880
0
                 MVT::i64, 2, 0, 2, 
17881
0
  21, 
17882
0
   OPC_CheckChild0Integer, 56|128,90, 
17883
0
   OPC_RecordChild1,
17884
0
   OPC_RecordChild2,
17885
0
   OPC_MoveChild2,
17886
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17887
0
   OPC_MoveParent,
17888
0
   OPC_CheckPatternPredicate3,
17889
0
   OPC_EmitNodeXForm, 8, 1,
17890
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
17891
0
                 MVT::i64, 2, 0, 2, 
17892
0
  21, 
17893
0
   OPC_CheckChild0Integer, 58|128,90, 
17894
0
   OPC_RecordChild1,
17895
0
   OPC_RecordChild2,
17896
0
   OPC_MoveChild2,
17897
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17898
0
   OPC_MoveParent,
17899
0
   OPC_CheckPatternPredicate3,
17900
0
   OPC_EmitNodeXForm, 8, 1,
17901
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_DU),
17902
0
                 MVT::i64, 2, 0, 2, 
17903
0
  33, 
17904
0
   OPC_CheckChild0Integer, 42|128,99, 
17905
0
   OPC_RecordChild1,
17906
0
   OPC_MoveChild1,
17907
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17908
0
   OPC_MoveParent,
17909
0
   OPC_Scope, 10, 
17910
0
    OPC_CheckPatternPredicate2,
17911
0
    OPC_EmitNodeXForm, 8, 0,
17912
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
17913
0
                  MVT::v2i64, 1, 1, 
17914
0
   10, 
17915
0
    OPC_CheckPatternPredicate4,
17916
0
    OPC_EmitNodeXForm, 8, 0,
17917
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
17918
0
                  MVT::v2i64, 1, 1, 
17919
0
   0, 
17920
0
  33, 
17921
0
   OPC_CheckChild0Integer, 110|128,101, 
17922
0
   OPC_RecordChild1,
17923
0
   OPC_MoveChild1,
17924
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17925
0
   OPC_MoveParent,
17926
0
   OPC_Scope, 10, 
17927
0
    OPC_CheckPatternPredicate2,
17928
0
    OPC_EmitNodeXForm, 8, 0,
17929
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
17930
0
                  MVT::v16i8, 1, 1, 
17931
0
   10, 
17932
0
    OPC_CheckPatternPredicate4,
17933
0
    OPC_EmitNodeXForm, 8, 0,
17934
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
17935
0
                  MVT::v16i8, 1, 1, 
17936
0
   0, 
17937
0
  33, 
17938
0
   OPC_CheckChild0Integer, 114|128,101, 
17939
0
   OPC_RecordChild1,
17940
0
   OPC_MoveChild1,
17941
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17942
0
   OPC_MoveParent,
17943
0
   OPC_Scope, 10, 
17944
0
    OPC_CheckPatternPredicate2,
17945
0
    OPC_EmitNodeXForm, 8, 0,
17946
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
17947
0
                  MVT::v8i16, 1, 1, 
17948
0
   10, 
17949
0
    OPC_CheckPatternPredicate4,
17950
0
    OPC_EmitNodeXForm, 8, 0,
17951
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
17952
0
                  MVT::v8i16, 1, 1, 
17953
0
   0, 
17954
0
  33, 
17955
0
   OPC_CheckChild0Integer, 116|128,101, 
17956
0
   OPC_RecordChild1,
17957
0
   OPC_MoveChild1,
17958
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17959
0
   OPC_MoveParent,
17960
0
   OPC_Scope, 10, 
17961
0
    OPC_CheckPatternPredicate2,
17962
0
    OPC_EmitNodeXForm, 8, 0,
17963
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
17964
0
                  MVT::v4i32, 1, 1, 
17965
0
   10, 
17966
0
    OPC_CheckPatternPredicate4,
17967
0
    OPC_EmitNodeXForm, 8, 0,
17968
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
17969
0
                  MVT::v4i32, 1, 1, 
17970
0
   0, 
17971
0
  33, 
17972
0
   OPC_CheckChild0Integer, 112|128,101, 
17973
0
   OPC_RecordChild1,
17974
0
   OPC_MoveChild1,
17975
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17976
0
   OPC_MoveParent,
17977
0
   OPC_Scope, 10, 
17978
0
    OPC_CheckPatternPredicate2,
17979
0
    OPC_EmitNodeXForm, 8, 0,
17980
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
17981
0
                  MVT::v2i64, 1, 1, 
17982
0
   10, 
17983
0
    OPC_CheckPatternPredicate4,
17984
0
    OPC_EmitNodeXForm, 8, 0,
17985
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
17986
0
                  MVT::v2i64, 1, 1, 
17987
0
   0, 
17988
0
  36, 
17989
0
   OPC_CheckChild0Integer, 38|128,102, 
17990
0
   OPC_RecordChild1,
17991
0
   OPC_RecordChild2,
17992
0
   OPC_MoveChild2,
17993
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17994
0
   OPC_MoveParent,
17995
0
   OPC_Scope, 11, 
17996
0
    OPC_CheckPatternPredicate2,
17997
0
    OPC_EmitNodeXForm, 8, 1,
17998
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
17999
0
                  MVT::v16i8, 2, 0, 2, 
18000
0
   11, 
18001
0
    OPC_CheckPatternPredicate4,
18002
0
    OPC_EmitNodeXForm, 8, 1,
18003
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
18004
0
                  MVT::v16i8, 2, 0, 2, 
18005
0
   0, 
18006
0
  36, 
18007
0
   OPC_CheckChild0Integer, 40|128,102, 
18008
0
   OPC_RecordChild1,
18009
0
   OPC_RecordChild2,
18010
0
   OPC_MoveChild2,
18011
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18012
0
   OPC_MoveParent,
18013
0
   OPC_Scope, 11, 
18014
0
    OPC_CheckPatternPredicate2,
18015
0
    OPC_EmitNodeXForm, 8, 1,
18016
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
18017
0
                  MVT::v16i8, 2, 0, 2, 
18018
0
   11, 
18019
0
    OPC_CheckPatternPredicate4,
18020
0
    OPC_EmitNodeXForm, 8, 1,
18021
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
18022
0
                  MVT::v16i8, 2, 0, 2, 
18023
0
   0, 
18024
0
  36, 
18025
0
   OPC_CheckChild0Integer, 36|128,101, 
18026
0
   OPC_RecordChild1,
18027
0
   OPC_RecordChild2,
18028
0
   OPC_MoveChild2,
18029
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18030
0
   OPC_MoveParent,
18031
0
   OPC_Scope, 11, 
18032
0
    OPC_CheckPatternPredicate2,
18033
0
    OPC_EmitNodeXForm, 8, 1,
18034
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
18035
0
                  MVT::v16i8, 2, 0, 2, 
18036
0
   11, 
18037
0
    OPC_CheckPatternPredicate4,
18038
0
    OPC_EmitNodeXForm, 8, 1,
18039
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
18040
0
                  MVT::v16i8, 2, 0, 2, 
18041
0
   0, 
18042
0
  36, 
18043
0
   OPC_CheckChild0Integer, 14|128,102, 
18044
0
   OPC_RecordChild1,
18045
0
   OPC_RecordChild2,
18046
0
   OPC_MoveChild2,
18047
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18048
0
   OPC_MoveParent,
18049
0
   OPC_Scope, 11, 
18050
0
    OPC_CheckPatternPredicate2,
18051
0
    OPC_EmitNodeXForm, 8, 1,
18052
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
18053
0
                  MVT::v16i8, 2, 0, 2, 
18054
0
   11, 
18055
0
    OPC_CheckPatternPredicate4,
18056
0
    OPC_EmitNodeXForm, 8, 1,
18057
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
18058
0
                  MVT::v16i8, 2, 0, 2, 
18059
0
   0, 
18060
0
  36, 
18061
0
   OPC_CheckChild0Integer, 18|128,103, 
18062
0
   OPC_RecordChild1,
18063
0
   OPC_RecordChild2,
18064
0
   OPC_MoveChild2,
18065
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18066
0
   OPC_MoveParent,
18067
0
   OPC_Scope, 11, 
18068
0
    OPC_CheckPatternPredicate2,
18069
0
    OPC_EmitNodeXForm, 8, 1,
18070
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
18071
0
                  MVT::v8i16, 2, 0, 2, 
18072
0
   11, 
18073
0
    OPC_CheckPatternPredicate4,
18074
0
    OPC_EmitNodeXForm, 8, 1,
18075
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
18076
0
                  MVT::v8i16, 2, 0, 2, 
18077
0
   0, 
18078
0
  36, 
18079
0
   OPC_CheckChild0Integer, 20|128,103, 
18080
0
   OPC_RecordChild1,
18081
0
   OPC_RecordChild2,
18082
0
   OPC_MoveChild2,
18083
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18084
0
   OPC_MoveParent,
18085
0
   OPC_Scope, 11, 
18086
0
    OPC_CheckPatternPredicate2,
18087
0
    OPC_EmitNodeXForm, 8, 1,
18088
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
18089
0
                  MVT::v8i16, 2, 0, 2, 
18090
0
   11, 
18091
0
    OPC_CheckPatternPredicate4,
18092
0
    OPC_EmitNodeXForm, 8, 1,
18093
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
18094
0
                  MVT::v8i16, 2, 0, 2, 
18095
0
   0, 
18096
0
  36, 
18097
0
   OPC_CheckChild0Integer, 28|128,104, 
18098
0
   OPC_RecordChild1,
18099
0
   OPC_RecordChild2,
18100
0
   OPC_MoveChild2,
18101
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18102
0
   OPC_MoveParent,
18103
0
   OPC_Scope, 11, 
18104
0
    OPC_CheckPatternPredicate2,
18105
0
    OPC_EmitNodeXForm, 8, 1,
18106
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
18107
0
                  MVT::v16i8, 2, 0, 2, 
18108
0
   11, 
18109
0
    OPC_CheckPatternPredicate4,
18110
0
    OPC_EmitNodeXForm, 8, 1,
18111
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
18112
0
                  MVT::v16i8, 2, 0, 2, 
18113
0
   0, 
18114
0
  36, 
18115
0
   OPC_CheckChild0Integer, 96|128,103, 
18116
0
   OPC_RecordChild1,
18117
0
   OPC_RecordChild2,
18118
0
   OPC_MoveChild2,
18119
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18120
0
   OPC_MoveParent,
18121
0
   OPC_Scope, 11, 
18122
0
    OPC_CheckPatternPredicate2,
18123
0
    OPC_EmitNodeXForm, 8, 1,
18124
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
18125
0
                  MVT::v16i8, 2, 0, 2, 
18126
0
   11, 
18127
0
    OPC_CheckPatternPredicate4,
18128
0
    OPC_EmitNodeXForm, 8, 1,
18129
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
18130
0
                  MVT::v16i8, 2, 0, 2, 
18131
0
   0, 
18132
0
  36, 
18133
0
   OPC_CheckChild0Integer, 62|128,102, 
18134
0
   OPC_RecordChild1,
18135
0
   OPC_RecordChild2,
18136
0
   OPC_MoveChild2,
18137
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18138
0
   OPC_MoveParent,
18139
0
   OPC_Scope, 11, 
18140
0
    OPC_CheckPatternPredicate2,
18141
0
    OPC_EmitNodeXForm, 8, 1,
18142
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
18143
0
                  MVT::v16i8, 2, 0, 2, 
18144
0
   11, 
18145
0
    OPC_CheckPatternPredicate4,
18146
0
    OPC_EmitNodeXForm, 8, 1,
18147
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
18148
0
                  MVT::v16i8, 2, 0, 2, 
18149
0
   0, 
18150
0
  36, 
18151
0
   OPC_CheckChild0Integer, 110|128,102, 
18152
0
   OPC_RecordChild1,
18153
0
   OPC_RecordChild2,
18154
0
   OPC_MoveChild2,
18155
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18156
0
   OPC_MoveParent,
18157
0
   OPC_Scope, 11, 
18158
0
    OPC_CheckPatternPredicate2,
18159
0
    OPC_EmitNodeXForm, 8, 1,
18160
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
18161
0
                  MVT::v16i8, 2, 0, 2, 
18162
0
   11, 
18163
0
    OPC_CheckPatternPredicate4,
18164
0
    OPC_EmitNodeXForm, 8, 1,
18165
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
18166
0
                  MVT::v16i8, 2, 0, 2, 
18167
0
   0, 
18168
0
  36, 
18169
0
   OPC_CheckChild0Integer, 112|128,102, 
18170
0
   OPC_RecordChild1,
18171
0
   OPC_RecordChild2,
18172
0
   OPC_MoveChild2,
18173
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18174
0
   OPC_MoveParent,
18175
0
   OPC_Scope, 11, 
18176
0
    OPC_CheckPatternPredicate2,
18177
0
    OPC_EmitNodeXForm, 8, 1,
18178
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
18179
0
                  MVT::v16i8, 2, 0, 2, 
18180
0
   11, 
18181
0
    OPC_CheckPatternPredicate4,
18182
0
    OPC_EmitNodeXForm, 8, 1,
18183
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
18184
0
                  MVT::v16i8, 2, 0, 2, 
18185
0
   0, 
18186
0
  36, 
18187
0
   OPC_CheckChild0Integer, 42|128,103, 
18188
0
   OPC_RecordChild1,
18189
0
   OPC_RecordChild2,
18190
0
   OPC_MoveChild2,
18191
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18192
0
   OPC_MoveParent,
18193
0
   OPC_Scope, 11, 
18194
0
    OPC_CheckPatternPredicate2,
18195
0
    OPC_EmitNodeXForm, 8, 1,
18196
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
18197
0
                  MVT::v16i8, 2, 0, 2, 
18198
0
   11, 
18199
0
    OPC_CheckPatternPredicate4,
18200
0
    OPC_EmitNodeXForm, 8, 1,
18201
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
18202
0
                  MVT::v16i8, 2, 0, 2, 
18203
0
   0, 
18204
0
  36, 
18205
0
   OPC_CheckChild0Integer, 44|128,103, 
18206
0
   OPC_RecordChild1,
18207
0
   OPC_RecordChild2,
18208
0
   OPC_MoveChild2,
18209
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18210
0
   OPC_MoveParent,
18211
0
   OPC_Scope, 11, 
18212
0
    OPC_CheckPatternPredicate2,
18213
0
    OPC_EmitNodeXForm, 8, 1,
18214
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
18215
0
                  MVT::v16i8, 2, 0, 2, 
18216
0
   11, 
18217
0
    OPC_CheckPatternPredicate4,
18218
0
    OPC_EmitNodeXForm, 8, 1,
18219
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
18220
0
                  MVT::v16i8, 2, 0, 2, 
18221
0
   0, 
18222
0
  36, 
18223
0
   OPC_CheckChild0Integer, 126|128,101, 
18224
0
   OPC_RecordChild1,
18225
0
   OPC_RecordChild2,
18226
0
   OPC_MoveChild2,
18227
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18228
0
   OPC_MoveParent,
18229
0
   OPC_Scope, 11, 
18230
0
    OPC_CheckPatternPredicate2,
18231
0
    OPC_EmitNodeXForm, 8, 1,
18232
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
18233
0
                  MVT::v16i8, 2, 0, 2, 
18234
0
   11, 
18235
0
    OPC_CheckPatternPredicate4,
18236
0
    OPC_EmitNodeXForm, 8, 1,
18237
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
18238
0
                  MVT::v16i8, 2, 0, 2, 
18239
0
   0, 
18240
0
  36, 
18241
0
   OPC_CheckChild0Integer, 36|128,96, 
18242
0
   OPC_RecordChild1,
18243
0
   OPC_RecordChild2,
18244
0
   OPC_MoveChild2,
18245
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18246
0
   OPC_MoveParent,
18247
0
   OPC_Scope, 11, 
18248
0
    OPC_CheckPatternPredicate2,
18249
0
    OPC_EmitNodeXForm, 8, 1,
18250
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
18251
0
                  MVT::v16i8, 2, 0, 2, 
18252
0
   11, 
18253
0
    OPC_CheckPatternPredicate4,
18254
0
    OPC_EmitNodeXForm, 8, 1,
18255
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
18256
0
                  MVT::v16i8, 2, 0, 2, 
18257
0
   0, 
18258
0
  36, 
18259
0
   OPC_CheckChild0Integer, 38|128,96, 
18260
0
   OPC_RecordChild1,
18261
0
   OPC_RecordChild2,
18262
0
   OPC_MoveChild2,
18263
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18264
0
   OPC_MoveParent,
18265
0
   OPC_Scope, 11, 
18266
0
    OPC_CheckPatternPredicate2,
18267
0
    OPC_EmitNodeXForm, 8, 1,
18268
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
18269
0
                  MVT::v16i8, 2, 0, 2, 
18270
0
   11, 
18271
0
    OPC_CheckPatternPredicate4,
18272
0
    OPC_EmitNodeXForm, 8, 1,
18273
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
18274
0
                  MVT::v16i8, 2, 0, 2, 
18275
0
   0, 
18276
0
  36, 
18277
0
   OPC_CheckChild0Integer, 78|128,102, 
18278
0
   OPC_RecordChild1,
18279
0
   OPC_RecordChild2,
18280
0
   OPC_MoveChild2,
18281
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18282
0
   OPC_MoveParent,
18283
0
   OPC_Scope, 11, 
18284
0
    OPC_CheckPatternPredicate2,
18285
0
    OPC_EmitNodeXForm, 8, 1,
18286
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
18287
0
                  MVT::v16i8, 2, 0, 2, 
18288
0
   11, 
18289
0
    OPC_CheckPatternPredicate4,
18290
0
    OPC_EmitNodeXForm, 8, 1,
18291
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
18292
0
                  MVT::v16i8, 2, 0, 2, 
18293
0
   0, 
18294
0
  36, 
18295
0
   OPC_CheckChild0Integer, 46|128,102, 
18296
0
   OPC_RecordChild1,
18297
0
   OPC_RecordChild2,
18298
0
   OPC_MoveChild2,
18299
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18300
0
   OPC_MoveParent,
18301
0
   OPC_Scope, 11, 
18302
0
    OPC_CheckPatternPredicate2,
18303
0
    OPC_EmitNodeXForm, 8, 1,
18304
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
18305
0
                  MVT::v8i16, 2, 0, 2, 
18306
0
   11, 
18307
0
    OPC_CheckPatternPredicate4,
18308
0
    OPC_EmitNodeXForm, 8, 1,
18309
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
18310
0
                  MVT::v8i16, 2, 0, 2, 
18311
0
   0, 
18312
0
  36, 
18313
0
   OPC_CheckChild0Integer, 48|128,102, 
18314
0
   OPC_RecordChild1,
18315
0
   OPC_RecordChild2,
18316
0
   OPC_MoveChild2,
18317
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18318
0
   OPC_MoveParent,
18319
0
   OPC_Scope, 11, 
18320
0
    OPC_CheckPatternPredicate2,
18321
0
    OPC_EmitNodeXForm, 8, 1,
18322
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
18323
0
                  MVT::v8i16, 2, 0, 2, 
18324
0
   11, 
18325
0
    OPC_CheckPatternPredicate4,
18326
0
    OPC_EmitNodeXForm, 8, 1,
18327
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
18328
0
                  MVT::v8i16, 2, 0, 2, 
18329
0
   0, 
18330
0
  36, 
18331
0
   OPC_CheckChild0Integer, 18|128,102, 
18332
0
   OPC_RecordChild1,
18333
0
   OPC_RecordChild2,
18334
0
   OPC_MoveChild2,
18335
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18336
0
   OPC_MoveParent,
18337
0
   OPC_Scope, 11, 
18338
0
    OPC_CheckPatternPredicate2,
18339
0
    OPC_EmitNodeXForm, 8, 1,
18340
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
18341
0
                  MVT::v8i16, 2, 0, 2, 
18342
0
   11, 
18343
0
    OPC_CheckPatternPredicate4,
18344
0
    OPC_EmitNodeXForm, 8, 1,
18345
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
18346
0
                  MVT::v8i16, 2, 0, 2, 
18347
0
   0, 
18348
0
  36, 
18349
0
   OPC_CheckChild0Integer, 22|128,103, 
18350
0
   OPC_RecordChild1,
18351
0
   OPC_RecordChild2,
18352
0
   OPC_MoveChild2,
18353
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18354
0
   OPC_MoveParent,
18355
0
   OPC_Scope, 11, 
18356
0
    OPC_CheckPatternPredicate2,
18357
0
    OPC_EmitNodeXForm, 8, 1,
18358
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
18359
0
                  MVT::v4i32, 2, 0, 2, 
18360
0
   11, 
18361
0
    OPC_CheckPatternPredicate4,
18362
0
    OPC_EmitNodeXForm, 8, 1,
18363
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
18364
0
                  MVT::v4i32, 2, 0, 2, 
18365
0
   0, 
18366
0
  36, 
18367
0
   OPC_CheckChild0Integer, 24|128,103, 
18368
0
   OPC_RecordChild1,
18369
0
   OPC_RecordChild2,
18370
0
   OPC_MoveChild2,
18371
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18372
0
   OPC_MoveParent,
18373
0
   OPC_Scope, 11, 
18374
0
    OPC_CheckPatternPredicate2,
18375
0
    OPC_EmitNodeXForm, 8, 1,
18376
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
18377
0
                  MVT::v4i32, 2, 0, 2, 
18378
0
   11, 
18379
0
    OPC_CheckPatternPredicate4,
18380
0
    OPC_EmitNodeXForm, 8, 1,
18381
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
18382
0
                  MVT::v4i32, 2, 0, 2, 
18383
0
   0, 
18384
0
  36, 
18385
0
   OPC_CheckChild0Integer, 32|128,104, 
18386
0
   OPC_RecordChild1,
18387
0
   OPC_RecordChild2,
18388
0
   OPC_MoveChild2,
18389
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18390
0
   OPC_MoveParent,
18391
0
   OPC_Scope, 11, 
18392
0
    OPC_CheckPatternPredicate2,
18393
0
    OPC_EmitNodeXForm, 8, 1,
18394
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
18395
0
                  MVT::v8i16, 2, 0, 2, 
18396
0
   11, 
18397
0
    OPC_CheckPatternPredicate4,
18398
0
    OPC_EmitNodeXForm, 8, 1,
18399
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
18400
0
                  MVT::v8i16, 2, 0, 2, 
18401
0
   0, 
18402
0
  36, 
18403
0
   OPC_CheckChild0Integer, 100|128,103, 
18404
0
   OPC_RecordChild1,
18405
0
   OPC_RecordChild2,
18406
0
   OPC_MoveChild2,
18407
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18408
0
   OPC_MoveParent,
18409
0
   OPC_Scope, 11, 
18410
0
    OPC_CheckPatternPredicate2,
18411
0
    OPC_EmitNodeXForm, 8, 1,
18412
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
18413
0
                  MVT::v8i16, 2, 0, 2, 
18414
0
   11, 
18415
0
    OPC_CheckPatternPredicate4,
18416
0
    OPC_EmitNodeXForm, 8, 1,
18417
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
18418
0
                  MVT::v8i16, 2, 0, 2, 
18419
0
   0, 
18420
0
  36, 
18421
0
   OPC_CheckChild0Integer, 66|128,102, 
18422
0
   OPC_RecordChild1,
18423
0
   OPC_RecordChild2,
18424
0
   OPC_MoveChild2,
18425
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18426
0
   OPC_MoveParent,
18427
0
   OPC_Scope, 11, 
18428
0
    OPC_CheckPatternPredicate2,
18429
0
    OPC_EmitNodeXForm, 8, 1,
18430
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
18431
0
                  MVT::v8i16, 2, 0, 2, 
18432
0
   11, 
18433
0
    OPC_CheckPatternPredicate4,
18434
0
    OPC_EmitNodeXForm, 8, 1,
18435
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
18436
0
                  MVT::v8i16, 2, 0, 2, 
18437
0
   0, 
18438
0
  36, 
18439
0
   OPC_CheckChild0Integer, 118|128,102, 
18440
0
   OPC_RecordChild1,
18441
0
   OPC_RecordChild2,
18442
0
   OPC_MoveChild2,
18443
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18444
0
   OPC_MoveParent,
18445
0
   OPC_Scope, 11, 
18446
0
    OPC_CheckPatternPredicate2,
18447
0
    OPC_EmitNodeXForm, 8, 1,
18448
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
18449
0
                  MVT::v8i16, 2, 0, 2, 
18450
0
   11, 
18451
0
    OPC_CheckPatternPredicate4,
18452
0
    OPC_EmitNodeXForm, 8, 1,
18453
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
18454
0
                  MVT::v8i16, 2, 0, 2, 
18455
0
   0, 
18456
0
  36, 
18457
0
   OPC_CheckChild0Integer, 120|128,102, 
18458
0
   OPC_RecordChild1,
18459
0
   OPC_RecordChild2,
18460
0
   OPC_MoveChild2,
18461
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18462
0
   OPC_MoveParent,
18463
0
   OPC_Scope, 11, 
18464
0
    OPC_CheckPatternPredicate2,
18465
0
    OPC_EmitNodeXForm, 8, 1,
18466
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
18467
0
                  MVT::v8i16, 2, 0, 2, 
18468
0
   11, 
18469
0
    OPC_CheckPatternPredicate4,
18470
0
    OPC_EmitNodeXForm, 8, 1,
18471
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
18472
0
                  MVT::v8i16, 2, 0, 2, 
18473
0
   0, 
18474
0
  36, 
18475
0
   OPC_CheckChild0Integer, 50|128,103, 
18476
0
   OPC_RecordChild1,
18477
0
   OPC_RecordChild2,
18478
0
   OPC_MoveChild2,
18479
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18480
0
   OPC_MoveParent,
18481
0
   OPC_Scope, 11, 
18482
0
    OPC_CheckPatternPredicate2,
18483
0
    OPC_EmitNodeXForm, 8, 1,
18484
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
18485
0
                  MVT::v8i16, 2, 0, 2, 
18486
0
   11, 
18487
0
    OPC_CheckPatternPredicate4,
18488
0
    OPC_EmitNodeXForm, 8, 1,
18489
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
18490
0
                  MVT::v8i16, 2, 0, 2, 
18491
0
   0, 
18492
0
  36, 
18493
0
   OPC_CheckChild0Integer, 52|128,103, 
18494
0
   OPC_RecordChild1,
18495
0
   OPC_RecordChild2,
18496
0
   OPC_MoveChild2,
18497
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18498
0
   OPC_MoveParent,
18499
0
   OPC_Scope, 11, 
18500
0
    OPC_CheckPatternPredicate2,
18501
0
    OPC_EmitNodeXForm, 8, 1,
18502
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
18503
0
                  MVT::v8i16, 2, 0, 2, 
18504
0
   11, 
18505
0
    OPC_CheckPatternPredicate4,
18506
0
    OPC_EmitNodeXForm, 8, 1,
18507
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
18508
0
                  MVT::v8i16, 2, 0, 2, 
18509
0
   0, 
18510
0
  36, 
18511
0
   OPC_CheckChild0Integer, 2|128,102, 
18512
0
   OPC_RecordChild1,
18513
0
   OPC_RecordChild2,
18514
0
   OPC_MoveChild2,
18515
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18516
0
   OPC_MoveParent,
18517
0
   OPC_Scope, 11, 
18518
0
    OPC_CheckPatternPredicate2,
18519
0
    OPC_EmitNodeXForm, 8, 1,
18520
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
18521
0
                  MVT::v8i16, 2, 0, 2, 
18522
0
   11, 
18523
0
    OPC_CheckPatternPredicate4,
18524
0
    OPC_EmitNodeXForm, 8, 1,
18525
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
18526
0
                  MVT::v8i16, 2, 0, 2, 
18527
0
   0, 
18528
0
  36, 
18529
0
   OPC_CheckChild0Integer, 82|128,102, 
18530
0
   OPC_RecordChild1,
18531
0
   OPC_RecordChild2,
18532
0
   OPC_MoveChild2,
18533
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18534
0
   OPC_MoveParent,
18535
0
   OPC_Scope, 11, 
18536
0
    OPC_CheckPatternPredicate2,
18537
0
    OPC_EmitNodeXForm, 8, 1,
18538
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
18539
0
                  MVT::v8i16, 2, 0, 2, 
18540
0
   11, 
18541
0
    OPC_CheckPatternPredicate4,
18542
0
    OPC_EmitNodeXForm, 8, 1,
18543
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
18544
0
                  MVT::v8i16, 2, 0, 2, 
18545
0
   0, 
18546
0
  36, 
18547
0
   OPC_CheckChild0Integer, 50|128,102, 
18548
0
   OPC_RecordChild1,
18549
0
   OPC_RecordChild2,
18550
0
   OPC_MoveChild2,
18551
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18552
0
   OPC_MoveParent,
18553
0
   OPC_Scope, 11, 
18554
0
    OPC_CheckPatternPredicate2,
18555
0
    OPC_EmitNodeXForm, 8, 1,
18556
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
18557
0
                  MVT::v4i32, 2, 0, 2, 
18558
0
   11, 
18559
0
    OPC_CheckPatternPredicate4,
18560
0
    OPC_EmitNodeXForm, 8, 1,
18561
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
18562
0
                  MVT::v4i32, 2, 0, 2, 
18563
0
   0, 
18564
0
  36, 
18565
0
   OPC_CheckChild0Integer, 52|128,102, 
18566
0
   OPC_RecordChild1,
18567
0
   OPC_RecordChild2,
18568
0
   OPC_MoveChild2,
18569
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18570
0
   OPC_MoveParent,
18571
0
   OPC_Scope, 11, 
18572
0
    OPC_CheckPatternPredicate2,
18573
0
    OPC_EmitNodeXForm, 8, 1,
18574
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
18575
0
                  MVT::v4i32, 2, 0, 2, 
18576
0
   11, 
18577
0
    OPC_CheckPatternPredicate4,
18578
0
    OPC_EmitNodeXForm, 8, 1,
18579
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
18580
0
                  MVT::v4i32, 2, 0, 2, 
18581
0
   0, 
18582
0
  36, 
18583
0
   OPC_CheckChild0Integer, 20|128,102, 
18584
0
   OPC_RecordChild1,
18585
0
   OPC_RecordChild2,
18586
0
   OPC_MoveChild2,
18587
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18588
0
   OPC_MoveParent,
18589
0
   OPC_Scope, 11, 
18590
0
    OPC_CheckPatternPredicate2,
18591
0
    OPC_EmitNodeXForm, 8, 1,
18592
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
18593
0
                  MVT::v4i32, 2, 0, 2, 
18594
0
   11, 
18595
0
    OPC_CheckPatternPredicate4,
18596
0
    OPC_EmitNodeXForm, 8, 1,
18597
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
18598
0
                  MVT::v4i32, 2, 0, 2, 
18599
0
   0, 
18600
0
  36, 
18601
0
   OPC_CheckChild0Integer, 14|128,103, 
18602
0
   OPC_RecordChild1,
18603
0
   OPC_RecordChild2,
18604
0
   OPC_MoveChild2,
18605
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18606
0
   OPC_MoveParent,
18607
0
   OPC_Scope, 11, 
18608
0
    OPC_CheckPatternPredicate2,
18609
0
    OPC_EmitNodeXForm, 8, 1,
18610
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
18611
0
                  MVT::v2i64, 2, 0, 2, 
18612
0
   11, 
18613
0
    OPC_CheckPatternPredicate4,
18614
0
    OPC_EmitNodeXForm, 8, 1,
18615
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
18616
0
                  MVT::v2i64, 2, 0, 2, 
18617
0
   0, 
18618
0
  36, 
18619
0
   OPC_CheckChild0Integer, 16|128,103, 
18620
0
   OPC_RecordChild1,
18621
0
   OPC_RecordChild2,
18622
0
   OPC_MoveChild2,
18623
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18624
0
   OPC_MoveParent,
18625
0
   OPC_Scope, 11, 
18626
0
    OPC_CheckPatternPredicate2,
18627
0
    OPC_EmitNodeXForm, 8, 1,
18628
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
18629
0
                  MVT::v2i64, 2, 0, 2, 
18630
0
   11, 
18631
0
    OPC_CheckPatternPredicate4,
18632
0
    OPC_EmitNodeXForm, 8, 1,
18633
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
18634
0
                  MVT::v2i64, 2, 0, 2, 
18635
0
   0, 
18636
0
  36, 
18637
0
   OPC_CheckChild0Integer, 34|128,104, 
18638
0
   OPC_RecordChild1,
18639
0
   OPC_RecordChild2,
18640
0
   OPC_MoveChild2,
18641
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18642
0
   OPC_MoveParent,
18643
0
   OPC_Scope, 11, 
18644
0
    OPC_CheckPatternPredicate2,
18645
0
    OPC_EmitNodeXForm, 8, 1,
18646
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
18647
0
                  MVT::v4i32, 2, 0, 2, 
18648
0
   11, 
18649
0
    OPC_CheckPatternPredicate4,
18650
0
    OPC_EmitNodeXForm, 8, 1,
18651
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
18652
0
                  MVT::v4i32, 2, 0, 2, 
18653
0
   0, 
18654
0
  36, 
18655
0
   OPC_CheckChild0Integer, 102|128,103, 
18656
0
   OPC_RecordChild1,
18657
0
   OPC_RecordChild2,
18658
0
   OPC_MoveChild2,
18659
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18660
0
   OPC_MoveParent,
18661
0
   OPC_Scope, 11, 
18662
0
    OPC_CheckPatternPredicate2,
18663
0
    OPC_EmitNodeXForm, 8, 1,
18664
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
18665
0
                  MVT::v4i32, 2, 0, 2, 
18666
0
   11, 
18667
0
    OPC_CheckPatternPredicate4,
18668
0
    OPC_EmitNodeXForm, 8, 1,
18669
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
18670
0
                  MVT::v4i32, 2, 0, 2, 
18671
0
   0, 
18672
0
  36, 
18673
0
   OPC_CheckChild0Integer, 68|128,102, 
18674
0
   OPC_RecordChild1,
18675
0
   OPC_RecordChild2,
18676
0
   OPC_MoveChild2,
18677
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18678
0
   OPC_MoveParent,
18679
0
   OPC_Scope, 11, 
18680
0
    OPC_CheckPatternPredicate2,
18681
0
    OPC_EmitNodeXForm, 8, 1,
18682
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
18683
0
                  MVT::v4i32, 2, 0, 2, 
18684
0
   11, 
18685
0
    OPC_CheckPatternPredicate4,
18686
0
    OPC_EmitNodeXForm, 8, 1,
18687
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
18688
0
                  MVT::v4i32, 2, 0, 2, 
18689
0
   0, 
18690
0
  36, 
18691
0
   OPC_CheckChild0Integer, 122|128,102, 
18692
0
   OPC_RecordChild1,
18693
0
   OPC_RecordChild2,
18694
0
   OPC_MoveChild2,
18695
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18696
0
   OPC_MoveParent,
18697
0
   OPC_Scope, 11, 
18698
0
    OPC_CheckPatternPredicate2,
18699
0
    OPC_EmitNodeXForm, 8, 1,
18700
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
18701
0
                  MVT::v4i32, 2, 0, 2, 
18702
0
   11, 
18703
0
    OPC_CheckPatternPredicate4,
18704
0
    OPC_EmitNodeXForm, 8, 1,
18705
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
18706
0
                  MVT::v4i32, 2, 0, 2, 
18707
0
   0, 
18708
0
  36, 
18709
0
   OPC_CheckChild0Integer, 124|128,102, 
18710
0
   OPC_RecordChild1,
18711
0
   OPC_RecordChild2,
18712
0
   OPC_MoveChild2,
18713
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18714
0
   OPC_MoveParent,
18715
0
   OPC_Scope, 11, 
18716
0
    OPC_CheckPatternPredicate2,
18717
0
    OPC_EmitNodeXForm, 8, 1,
18718
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
18719
0
                  MVT::v4i32, 2, 0, 2, 
18720
0
   11, 
18721
0
    OPC_CheckPatternPredicate4,
18722
0
    OPC_EmitNodeXForm, 8, 1,
18723
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
18724
0
                  MVT::v4i32, 2, 0, 2, 
18725
0
   0, 
18726
0
  36, 
18727
0
   OPC_CheckChild0Integer, 54|128,103, 
18728
0
   OPC_RecordChild1,
18729
0
   OPC_RecordChild2,
18730
0
   OPC_MoveChild2,
18731
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18732
0
   OPC_MoveParent,
18733
0
   OPC_Scope, 11, 
18734
0
    OPC_CheckPatternPredicate2,
18735
0
    OPC_EmitNodeXForm, 8, 1,
18736
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
18737
0
                  MVT::v4i32, 2, 0, 2, 
18738
0
   11, 
18739
0
    OPC_CheckPatternPredicate4,
18740
0
    OPC_EmitNodeXForm, 8, 1,
18741
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
18742
0
                  MVT::v4i32, 2, 0, 2, 
18743
0
   0, 
18744
0
  36, 
18745
0
   OPC_CheckChild0Integer, 56|128,103, 
18746
0
   OPC_RecordChild1,
18747
0
   OPC_RecordChild2,
18748
0
   OPC_MoveChild2,
18749
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18750
0
   OPC_MoveParent,
18751
0
   OPC_Scope, 11, 
18752
0
    OPC_CheckPatternPredicate2,
18753
0
    OPC_EmitNodeXForm, 8, 1,
18754
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
18755
0
                  MVT::v4i32, 2, 0, 2, 
18756
0
   11, 
18757
0
    OPC_CheckPatternPredicate4,
18758
0
    OPC_EmitNodeXForm, 8, 1,
18759
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
18760
0
                  MVT::v4i32, 2, 0, 2, 
18761
0
   0, 
18762
0
  36, 
18763
0
   OPC_CheckChild0Integer, 4|128,102, 
18764
0
   OPC_RecordChild1,
18765
0
   OPC_RecordChild2,
18766
0
   OPC_MoveChild2,
18767
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18768
0
   OPC_MoveParent,
18769
0
   OPC_Scope, 11, 
18770
0
    OPC_CheckPatternPredicate2,
18771
0
    OPC_EmitNodeXForm, 8, 1,
18772
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
18773
0
                  MVT::v4i32, 2, 0, 2, 
18774
0
   11, 
18775
0
    OPC_CheckPatternPredicate4,
18776
0
    OPC_EmitNodeXForm, 8, 1,
18777
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
18778
0
                  MVT::v4i32, 2, 0, 2, 
18779
0
   0, 
18780
0
  36, 
18781
0
   OPC_CheckChild0Integer, 84|128,102, 
18782
0
   OPC_RecordChild1,
18783
0
   OPC_RecordChild2,
18784
0
   OPC_MoveChild2,
18785
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18786
0
   OPC_MoveParent,
18787
0
   OPC_Scope, 11, 
18788
0
    OPC_CheckPatternPredicate2,
18789
0
    OPC_EmitNodeXForm, 8, 1,
18790
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
18791
0
                  MVT::v4i32, 2, 0, 2, 
18792
0
   11, 
18793
0
    OPC_CheckPatternPredicate4,
18794
0
    OPC_EmitNodeXForm, 8, 1,
18795
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
18796
0
                  MVT::v4i32, 2, 0, 2, 
18797
0
   0, 
18798
0
  36, 
18799
0
   OPC_CheckChild0Integer, 42|128,102, 
18800
0
   OPC_RecordChild1,
18801
0
   OPC_RecordChild2,
18802
0
   OPC_MoveChild2,
18803
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18804
0
   OPC_MoveParent,
18805
0
   OPC_Scope, 11, 
18806
0
    OPC_CheckPatternPredicate2,
18807
0
    OPC_EmitNodeXForm, 8, 1,
18808
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
18809
0
                  MVT::v2i64, 2, 0, 2, 
18810
0
   11, 
18811
0
    OPC_CheckPatternPredicate4,
18812
0
    OPC_EmitNodeXForm, 8, 1,
18813
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
18814
0
                  MVT::v2i64, 2, 0, 2, 
18815
0
   0, 
18816
0
  36, 
18817
0
   OPC_CheckChild0Integer, 44|128,102, 
18818
0
   OPC_RecordChild1,
18819
0
   OPC_RecordChild2,
18820
0
   OPC_MoveChild2,
18821
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18822
0
   OPC_MoveParent,
18823
0
   OPC_Scope, 11, 
18824
0
    OPC_CheckPatternPredicate2,
18825
0
    OPC_EmitNodeXForm, 8, 1,
18826
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
18827
0
                  MVT::v2i64, 2, 0, 2, 
18828
0
   11, 
18829
0
    OPC_CheckPatternPredicate4,
18830
0
    OPC_EmitNodeXForm, 8, 1,
18831
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
18832
0
                  MVT::v2i64, 2, 0, 2, 
18833
0
   0, 
18834
0
  36, 
18835
0
   OPC_CheckChild0Integer, 16|128,102, 
18836
0
   OPC_RecordChild1,
18837
0
   OPC_RecordChild2,
18838
0
   OPC_MoveChild2,
18839
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18840
0
   OPC_MoveParent,
18841
0
   OPC_Scope, 11, 
18842
0
    OPC_CheckPatternPredicate2,
18843
0
    OPC_EmitNodeXForm, 8, 1,
18844
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
18845
0
                  MVT::v2i64, 2, 0, 2, 
18846
0
   11, 
18847
0
    OPC_CheckPatternPredicate4,
18848
0
    OPC_EmitNodeXForm, 8, 1,
18849
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
18850
0
                  MVT::v2i64, 2, 0, 2, 
18851
0
   0, 
18852
0
  36, 
18853
0
   OPC_CheckChild0Integer, 30|128,104, 
18854
0
   OPC_RecordChild1,
18855
0
   OPC_RecordChild2,
18856
0
   OPC_MoveChild2,
18857
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18858
0
   OPC_MoveParent,
18859
0
   OPC_Scope, 11, 
18860
0
    OPC_CheckPatternPredicate2,
18861
0
    OPC_EmitNodeXForm, 8, 1,
18862
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
18863
0
                  MVT::v2i64, 2, 0, 2, 
18864
0
   11, 
18865
0
    OPC_CheckPatternPredicate4,
18866
0
    OPC_EmitNodeXForm, 8, 1,
18867
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
18868
0
                  MVT::v2i64, 2, 0, 2, 
18869
0
   0, 
18870
0
  36, 
18871
0
   OPC_CheckChild0Integer, 98|128,103, 
18872
0
   OPC_RecordChild1,
18873
0
   OPC_RecordChild2,
18874
0
   OPC_MoveChild2,
18875
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18876
0
   OPC_MoveParent,
18877
0
   OPC_Scope, 11, 
18878
0
    OPC_CheckPatternPredicate2,
18879
0
    OPC_EmitNodeXForm, 8, 1,
18880
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
18881
0
                  MVT::v2i64, 2, 0, 2, 
18882
0
   11, 
18883
0
    OPC_CheckPatternPredicate4,
18884
0
    OPC_EmitNodeXForm, 8, 1,
18885
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
18886
0
                  MVT::v2i64, 2, 0, 2, 
18887
0
   0, 
18888
0
  36, 
18889
0
   OPC_CheckChild0Integer, 64|128,102, 
18890
0
   OPC_RecordChild1,
18891
0
   OPC_RecordChild2,
18892
0
   OPC_MoveChild2,
18893
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18894
0
   OPC_MoveParent,
18895
0
   OPC_Scope, 11, 
18896
0
    OPC_CheckPatternPredicate2,
18897
0
    OPC_EmitNodeXForm, 8, 1,
18898
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
18899
0
                  MVT::v2i64, 2, 0, 2, 
18900
0
   11, 
18901
0
    OPC_CheckPatternPredicate4,
18902
0
    OPC_EmitNodeXForm, 8, 1,
18903
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
18904
0
                  MVT::v2i64, 2, 0, 2, 
18905
0
   0, 
18906
0
  36, 
18907
0
   OPC_CheckChild0Integer, 114|128,102, 
18908
0
   OPC_RecordChild1,
18909
0
   OPC_RecordChild2,
18910
0
   OPC_MoveChild2,
18911
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18912
0
   OPC_MoveParent,
18913
0
   OPC_Scope, 11, 
18914
0
    OPC_CheckPatternPredicate2,
18915
0
    OPC_EmitNodeXForm, 8, 1,
18916
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
18917
0
                  MVT::v2i64, 2, 0, 2, 
18918
0
   11, 
18919
0
    OPC_CheckPatternPredicate4,
18920
0
    OPC_EmitNodeXForm, 8, 1,
18921
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
18922
0
                  MVT::v2i64, 2, 0, 2, 
18923
0
   0, 
18924
0
  36, 
18925
0
   OPC_CheckChild0Integer, 116|128,102, 
18926
0
   OPC_RecordChild1,
18927
0
   OPC_RecordChild2,
18928
0
   OPC_MoveChild2,
18929
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18930
0
   OPC_MoveParent,
18931
0
   OPC_Scope, 11, 
18932
0
    OPC_CheckPatternPredicate2,
18933
0
    OPC_EmitNodeXForm, 8, 1,
18934
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
18935
0
                  MVT::v2i64, 2, 0, 2, 
18936
0
   11, 
18937
0
    OPC_CheckPatternPredicate4,
18938
0
    OPC_EmitNodeXForm, 8, 1,
18939
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
18940
0
                  MVT::v2i64, 2, 0, 2, 
18941
0
   0, 
18942
0
  36, 
18943
0
   OPC_CheckChild0Integer, 46|128,103, 
18944
0
   OPC_RecordChild1,
18945
0
   OPC_RecordChild2,
18946
0
   OPC_MoveChild2,
18947
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18948
0
   OPC_MoveParent,
18949
0
   OPC_Scope, 11, 
18950
0
    OPC_CheckPatternPredicate2,
18951
0
    OPC_EmitNodeXForm, 8, 1,
18952
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
18953
0
                  MVT::v2i64, 2, 0, 2, 
18954
0
   11, 
18955
0
    OPC_CheckPatternPredicate4,
18956
0
    OPC_EmitNodeXForm, 8, 1,
18957
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
18958
0
                  MVT::v2i64, 2, 0, 2, 
18959
0
   0, 
18960
0
  36, 
18961
0
   OPC_CheckChild0Integer, 48|128,103, 
18962
0
   OPC_RecordChild1,
18963
0
   OPC_RecordChild2,
18964
0
   OPC_MoveChild2,
18965
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18966
0
   OPC_MoveParent,
18967
0
   OPC_Scope, 11, 
18968
0
    OPC_CheckPatternPredicate2,
18969
0
    OPC_EmitNodeXForm, 8, 1,
18970
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
18971
0
                  MVT::v2i64, 2, 0, 2, 
18972
0
   11, 
18973
0
    OPC_CheckPatternPredicate4,
18974
0
    OPC_EmitNodeXForm, 8, 1,
18975
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
18976
0
                  MVT::v2i64, 2, 0, 2, 
18977
0
   0, 
18978
0
  36, 
18979
0
   OPC_CheckChild0Integer, 0|128,102, 
18980
0
   OPC_RecordChild1,
18981
0
   OPC_RecordChild2,
18982
0
   OPC_MoveChild2,
18983
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18984
0
   OPC_MoveParent,
18985
0
   OPC_Scope, 11, 
18986
0
    OPC_CheckPatternPredicate2,
18987
0
    OPC_EmitNodeXForm, 8, 1,
18988
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
18989
0
                  MVT::v2i64, 2, 0, 2, 
18990
0
   11, 
18991
0
    OPC_CheckPatternPredicate4,
18992
0
    OPC_EmitNodeXForm, 8, 1,
18993
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
18994
0
                  MVT::v2i64, 2, 0, 2, 
18995
0
   0, 
18996
0
  39, 
18997
0
   OPC_CheckChild0Integer, 12|128,104, 
18998
0
   OPC_RecordChild1,
18999
0
   OPC_RecordChild2,
19000
0
   OPC_RecordChild3,
19001
0
   OPC_MoveChild3,
19002
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19003
0
   OPC_MoveParent,
19004
0
   OPC_Scope, 12, 
19005
0
    OPC_CheckPatternPredicate2,
19006
0
    OPC_EmitNodeXForm, 8, 2,
19007
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
19008
0
                  MVT::v16i8, 3, 0, 1, 3, 
19009
0
   12, 
19010
0
    OPC_CheckPatternPredicate4,
19011
0
    OPC_EmitNodeXForm, 8, 2,
19012
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
19013
0
                  MVT::v16i8, 3, 0, 1, 3, 
19014
0
   0, 
19015
0
  39, 
19016
0
   OPC_CheckChild0Integer, 80|128,103, 
19017
0
   OPC_RecordChild1,
19018
0
   OPC_RecordChild2,
19019
0
   OPC_RecordChild3,
19020
0
   OPC_MoveChild3,
19021
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19022
0
   OPC_MoveParent,
19023
0
   OPC_Scope, 12, 
19024
0
    OPC_CheckPatternPredicate2,
19025
0
    OPC_EmitNodeXForm, 8, 2,
19026
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
19027
0
                  MVT::v16i8, 3, 0, 1, 3, 
19028
0
   12, 
19029
0
    OPC_CheckPatternPredicate4,
19030
0
    OPC_EmitNodeXForm, 8, 2,
19031
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
19032
0
                  MVT::v16i8, 3, 0, 1, 3, 
19033
0
   0, 
19034
0
  39, 
19035
0
   OPC_CheckChild0Integer, 42|128,104, 
19036
0
   OPC_RecordChild1,
19037
0
   OPC_RecordChild2,
19038
0
   OPC_RecordChild3,
19039
0
   OPC_MoveChild3,
19040
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19041
0
   OPC_MoveParent,
19042
0
   OPC_Scope, 12, 
19043
0
    OPC_CheckPatternPredicate2,
19044
0
    OPC_EmitNodeXForm, 8, 2,
19045
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
19046
0
                  MVT::v16i8, 3, 0, 1, 3, 
19047
0
   12, 
19048
0
    OPC_CheckPatternPredicate4,
19049
0
    OPC_EmitNodeXForm, 8, 2,
19050
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
19051
0
                  MVT::v16i8, 3, 0, 1, 3, 
19052
0
   0, 
19053
0
  39, 
19054
0
   OPC_CheckChild0Integer, 110|128,103, 
19055
0
   OPC_RecordChild1,
19056
0
   OPC_RecordChild2,
19057
0
   OPC_RecordChild3,
19058
0
   OPC_MoveChild3,
19059
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19060
0
   OPC_MoveParent,
19061
0
   OPC_Scope, 12, 
19062
0
    OPC_CheckPatternPredicate2,
19063
0
    OPC_EmitNodeXForm, 8, 2,
19064
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
19065
0
                  MVT::v16i8, 3, 0, 1, 3, 
19066
0
   12, 
19067
0
    OPC_CheckPatternPredicate4,
19068
0
    OPC_EmitNodeXForm, 8, 2,
19069
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
19070
0
                  MVT::v16i8, 3, 0, 1, 3, 
19071
0
   0, 
19072
0
  39, 
19073
0
   OPC_CheckChild0Integer, 118|128,104, 
19074
0
   OPC_RecordChild1,
19075
0
   OPC_RecordChild2,
19076
0
   OPC_RecordChild3,
19077
0
   OPC_MoveChild3,
19078
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19079
0
   OPC_MoveParent,
19080
0
   OPC_Scope, 12, 
19081
0
    OPC_CheckPatternPredicate2,
19082
0
    OPC_EmitNodeXForm, 8, 2,
19083
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
19084
0
                  MVT::v16i8, 3, 0, 1, 3, 
19085
0
   12, 
19086
0
    OPC_CheckPatternPredicate4,
19087
0
    OPC_EmitNodeXForm, 8, 2,
19088
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
19089
0
                  MVT::v16i8, 3, 0, 1, 3, 
19090
0
   0, 
19091
0
  39, 
19092
0
   OPC_CheckChild0Integer, 62|128,104, 
19093
0
   OPC_RecordChild1,
19094
0
   OPC_RecordChild2,
19095
0
   OPC_RecordChild3,
19096
0
   OPC_MoveChild3,
19097
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19098
0
   OPC_MoveParent,
19099
0
   OPC_Scope, 12, 
19100
0
    OPC_CheckPatternPredicate2,
19101
0
    OPC_EmitNodeXForm, 8, 2,
19102
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
19103
0
                  MVT::v16i8, 3, 0, 1, 3, 
19104
0
   12, 
19105
0
    OPC_CheckPatternPredicate4,
19106
0
    OPC_EmitNodeXForm, 8, 2,
19107
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
19108
0
                  MVT::v16i8, 3, 0, 1, 3, 
19109
0
   0, 
19110
0
  39, 
19111
0
   OPC_CheckChild0Integer, 120|128,104, 
19112
0
   OPC_RecordChild1,
19113
0
   OPC_RecordChild2,
19114
0
   OPC_RecordChild3,
19115
0
   OPC_MoveChild3,
19116
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19117
0
   OPC_MoveParent,
19118
0
   OPC_Scope, 12, 
19119
0
    OPC_CheckPatternPredicate2,
19120
0
    OPC_EmitNodeXForm, 8, 2,
19121
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
19122
0
                  MVT::v16i8, 3, 0, 1, 3, 
19123
0
   12, 
19124
0
    OPC_CheckPatternPredicate4,
19125
0
    OPC_EmitNodeXForm, 8, 2,
19126
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
19127
0
                  MVT::v16i8, 3, 0, 1, 3, 
19128
0
   0, 
19129
0
  39, 
19130
0
   OPC_CheckChild0Integer, 64|128,104, 
19131
0
   OPC_RecordChild1,
19132
0
   OPC_RecordChild2,
19133
0
   OPC_RecordChild3,
19134
0
   OPC_MoveChild3,
19135
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19136
0
   OPC_MoveParent,
19137
0
   OPC_Scope, 12, 
19138
0
    OPC_CheckPatternPredicate2,
19139
0
    OPC_EmitNodeXForm, 8, 2,
19140
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
19141
0
                  MVT::v16i8, 3, 0, 1, 3, 
19142
0
   12, 
19143
0
    OPC_CheckPatternPredicate4,
19144
0
    OPC_EmitNodeXForm, 8, 2,
19145
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
19146
0
                  MVT::v16i8, 3, 0, 1, 3, 
19147
0
   0, 
19148
0
  39, 
19149
0
   OPC_CheckChild0Integer, 18|128,105, 
19150
0
   OPC_RecordChild1,
19151
0
   OPC_RecordChild2,
19152
0
   OPC_RecordChild3,
19153
0
   OPC_MoveChild3,
19154
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19155
0
   OPC_MoveParent,
19156
0
   OPC_Scope, 12, 
19157
0
    OPC_CheckPatternPredicate2,
19158
0
    OPC_EmitNodeXForm, 8, 2,
19159
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
19160
0
                  MVT::v16i8, 3, 0, 1, 3, 
19161
0
   12, 
19162
0
    OPC_CheckPatternPredicate4,
19163
0
    OPC_EmitNodeXForm, 8, 2,
19164
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
19165
0
                  MVT::v16i8, 3, 0, 1, 3, 
19166
0
   0, 
19167
0
  39, 
19168
0
   OPC_CheckChild0Integer, 90|128,104, 
19169
0
   OPC_RecordChild1,
19170
0
   OPC_RecordChild2,
19171
0
   OPC_RecordChild3,
19172
0
   OPC_MoveChild3,
19173
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19174
0
   OPC_MoveParent,
19175
0
   OPC_Scope, 12, 
19176
0
    OPC_CheckPatternPredicate2,
19177
0
    OPC_EmitNodeXForm, 8, 2,
19178
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
19179
0
                  MVT::v16i8, 3, 0, 1, 3, 
19180
0
   12, 
19181
0
    OPC_CheckPatternPredicate4,
19182
0
    OPC_EmitNodeXForm, 8, 2,
19183
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
19184
0
                  MVT::v16i8, 3, 0, 1, 3, 
19185
0
   0, 
19186
0
  39, 
19187
0
   OPC_CheckChild0Integer, 20|128,105, 
19188
0
   OPC_RecordChild1,
19189
0
   OPC_RecordChild2,
19190
0
   OPC_RecordChild3,
19191
0
   OPC_MoveChild3,
19192
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19193
0
   OPC_MoveParent,
19194
0
   OPC_Scope, 12, 
19195
0
    OPC_CheckPatternPredicate2,
19196
0
    OPC_EmitNodeXForm, 8, 2,
19197
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
19198
0
                  MVT::v16i8, 3, 0, 1, 3, 
19199
0
   12, 
19200
0
    OPC_CheckPatternPredicate4,
19201
0
    OPC_EmitNodeXForm, 8, 2,
19202
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
19203
0
                  MVT::v16i8, 3, 0, 1, 3, 
19204
0
   0, 
19205
0
  39, 
19206
0
   OPC_CheckChild0Integer, 92|128,104, 
19207
0
   OPC_RecordChild1,
19208
0
   OPC_RecordChild2,
19209
0
   OPC_RecordChild3,
19210
0
   OPC_MoveChild3,
19211
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19212
0
   OPC_MoveParent,
19213
0
   OPC_Scope, 12, 
19214
0
    OPC_CheckPatternPredicate2,
19215
0
    OPC_EmitNodeXForm, 8, 2,
19216
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
19217
0
                  MVT::v16i8, 3, 0, 1, 3, 
19218
0
   12, 
19219
0
    OPC_CheckPatternPredicate4,
19220
0
    OPC_EmitNodeXForm, 8, 2,
19221
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
19222
0
                  MVT::v16i8, 3, 0, 1, 3, 
19223
0
   0, 
19224
0
  39, 
19225
0
   OPC_CheckChild0Integer, 42|128,98, 
19226
0
   OPC_RecordChild1,
19227
0
   OPC_RecordChild2,
19228
0
   OPC_RecordChild3,
19229
0
   OPC_MoveChild3,
19230
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19231
0
   OPC_MoveParent,
19232
0
   OPC_Scope, 12, 
19233
0
    OPC_CheckPatternPredicate2,
19234
0
    OPC_EmitNodeXForm, 8, 2,
19235
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
19236
0
                  MVT::v16i8, 3, 0, 1, 3, 
19237
0
   12, 
19238
0
    OPC_CheckPatternPredicate4,
19239
0
    OPC_EmitNodeXForm, 8, 2,
19240
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
19241
0
                  MVT::v16i8, 3, 0, 1, 3, 
19242
0
   0, 
19243
0
  39, 
19244
0
   OPC_CheckChild0Integer, 18|128,96, 
19245
0
   OPC_RecordChild1,
19246
0
   OPC_RecordChild2,
19247
0
   OPC_RecordChild3,
19248
0
   OPC_MoveChild3,
19249
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19250
0
   OPC_MoveParent,
19251
0
   OPC_Scope, 12, 
19252
0
    OPC_CheckPatternPredicate2,
19253
0
    OPC_EmitNodeXForm, 8, 2,
19254
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
19255
0
                  MVT::v16i8, 3, 0, 1, 3, 
19256
0
   12, 
19257
0
    OPC_CheckPatternPredicate4,
19258
0
    OPC_EmitNodeXForm, 8, 2,
19259
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
19260
0
                  MVT::v16i8, 3, 0, 1, 3, 
19261
0
   0, 
19262
0
  39, 
19263
0
   OPC_CheckChild0Integer, 92|128,96, 
19264
0
   OPC_RecordChild1,
19265
0
   OPC_RecordChild2,
19266
0
   OPC_RecordChild3,
19267
0
   OPC_MoveChild3,
19268
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19269
0
   OPC_MoveParent,
19270
0
   OPC_Scope, 12, 
19271
0
    OPC_CheckPatternPredicate2,
19272
0
    OPC_EmitNodeXForm, 8, 2,
19273
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
19274
0
                  MVT::v16i8, 3, 0, 1, 3, 
19275
0
   12, 
19276
0
    OPC_CheckPatternPredicate4,
19277
0
    OPC_EmitNodeXForm, 8, 2,
19278
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
19279
0
                  MVT::v16i8, 3, 0, 1, 3, 
19280
0
   0, 
19281
0
  39, 
19282
0
   OPC_CheckChild0Integer, 16|128,104, 
19283
0
   OPC_RecordChild1,
19284
0
   OPC_RecordChild2,
19285
0
   OPC_RecordChild3,
19286
0
   OPC_MoveChild3,
19287
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19288
0
   OPC_MoveParent,
19289
0
   OPC_Scope, 12, 
19290
0
    OPC_CheckPatternPredicate2,
19291
0
    OPC_EmitNodeXForm, 8, 2,
19292
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
19293
0
                  MVT::v8i16, 3, 0, 1, 3, 
19294
0
   12, 
19295
0
    OPC_CheckPatternPredicate4,
19296
0
    OPC_EmitNodeXForm, 8, 2,
19297
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
19298
0
                  MVT::v8i16, 3, 0, 1, 3, 
19299
0
   0, 
19300
0
  39, 
19301
0
   OPC_CheckChild0Integer, 84|128,103, 
19302
0
   OPC_RecordChild1,
19303
0
   OPC_RecordChild2,
19304
0
   OPC_RecordChild3,
19305
0
   OPC_MoveChild3,
19306
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19307
0
   OPC_MoveParent,
19308
0
   OPC_Scope, 12, 
19309
0
    OPC_CheckPatternPredicate2,
19310
0
    OPC_EmitNodeXForm, 8, 2,
19311
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
19312
0
                  MVT::v8i16, 3, 0, 1, 3, 
19313
0
   12, 
19314
0
    OPC_CheckPatternPredicate4,
19315
0
    OPC_EmitNodeXForm, 8, 2,
19316
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
19317
0
                  MVT::v8i16, 3, 0, 1, 3, 
19318
0
   0, 
19319
0
  39, 
19320
0
   OPC_CheckChild0Integer, 46|128,104, 
19321
0
   OPC_RecordChild1,
19322
0
   OPC_RecordChild2,
19323
0
   OPC_RecordChild3,
19324
0
   OPC_MoveChild3,
19325
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19326
0
   OPC_MoveParent,
19327
0
   OPC_Scope, 12, 
19328
0
    OPC_CheckPatternPredicate2,
19329
0
    OPC_EmitNodeXForm, 8, 2,
19330
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
19331
0
                  MVT::v8i16, 3, 0, 1, 3, 
19332
0
   12, 
19333
0
    OPC_CheckPatternPredicate4,
19334
0
    OPC_EmitNodeXForm, 8, 2,
19335
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
19336
0
                  MVT::v8i16, 3, 0, 1, 3, 
19337
0
   0, 
19338
0
  39, 
19339
0
   OPC_CheckChild0Integer, 114|128,103, 
19340
0
   OPC_RecordChild1,
19341
0
   OPC_RecordChild2,
19342
0
   OPC_RecordChild3,
19343
0
   OPC_MoveChild3,
19344
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19345
0
   OPC_MoveParent,
19346
0
   OPC_Scope, 12, 
19347
0
    OPC_CheckPatternPredicate2,
19348
0
    OPC_EmitNodeXForm, 8, 2,
19349
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
19350
0
                  MVT::v8i16, 3, 0, 1, 3, 
19351
0
   12, 
19352
0
    OPC_CheckPatternPredicate4,
19353
0
    OPC_EmitNodeXForm, 8, 2,
19354
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
19355
0
                  MVT::v8i16, 3, 0, 1, 3, 
19356
0
   0, 
19357
0
  39, 
19358
0
   OPC_CheckChild0Integer, 126|128,104, 
19359
0
   OPC_RecordChild1,
19360
0
   OPC_RecordChild2,
19361
0
   OPC_RecordChild3,
19362
0
   OPC_MoveChild3,
19363
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19364
0
   OPC_MoveParent,
19365
0
   OPC_Scope, 12, 
19366
0
    OPC_CheckPatternPredicate2,
19367
0
    OPC_EmitNodeXForm, 8, 2,
19368
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
19369
0
                  MVT::v8i16, 3, 0, 1, 3, 
19370
0
   12, 
19371
0
    OPC_CheckPatternPredicate4,
19372
0
    OPC_EmitNodeXForm, 8, 2,
19373
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
19374
0
                  MVT::v8i16, 3, 0, 1, 3, 
19375
0
   0, 
19376
0
  39, 
19377
0
   OPC_CheckChild0Integer, 70|128,104, 
19378
0
   OPC_RecordChild1,
19379
0
   OPC_RecordChild2,
19380
0
   OPC_RecordChild3,
19381
0
   OPC_MoveChild3,
19382
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19383
0
   OPC_MoveParent,
19384
0
   OPC_Scope, 12, 
19385
0
    OPC_CheckPatternPredicate2,
19386
0
    OPC_EmitNodeXForm, 8, 2,
19387
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
19388
0
                  MVT::v8i16, 3, 0, 1, 3, 
19389
0
   12, 
19390
0
    OPC_CheckPatternPredicate4,
19391
0
    OPC_EmitNodeXForm, 8, 2,
19392
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
19393
0
                  MVT::v8i16, 3, 0, 1, 3, 
19394
0
   0, 
19395
0
  39, 
19396
0
   OPC_CheckChild0Integer, 0|128,105, 
19397
0
   OPC_RecordChild1,
19398
0
   OPC_RecordChild2,
19399
0
   OPC_RecordChild3,
19400
0
   OPC_MoveChild3,
19401
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19402
0
   OPC_MoveParent,
19403
0
   OPC_Scope, 12, 
19404
0
    OPC_CheckPatternPredicate2,
19405
0
    OPC_EmitNodeXForm, 8, 2,
19406
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
19407
0
                  MVT::v8i16, 3, 0, 1, 3, 
19408
0
   12, 
19409
0
    OPC_CheckPatternPredicate4,
19410
0
    OPC_EmitNodeXForm, 8, 2,
19411
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
19412
0
                  MVT::v8i16, 3, 0, 1, 3, 
19413
0
   0, 
19414
0
  39, 
19415
0
   OPC_CheckChild0Integer, 72|128,104, 
19416
0
   OPC_RecordChild1,
19417
0
   OPC_RecordChild2,
19418
0
   OPC_RecordChild3,
19419
0
   OPC_MoveChild3,
19420
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19421
0
   OPC_MoveParent,
19422
0
   OPC_Scope, 12, 
19423
0
    OPC_CheckPatternPredicate2,
19424
0
    OPC_EmitNodeXForm, 8, 2,
19425
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
19426
0
                  MVT::v8i16, 3, 0, 1, 3, 
19427
0
   12, 
19428
0
    OPC_CheckPatternPredicate4,
19429
0
    OPC_EmitNodeXForm, 8, 2,
19430
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
19431
0
                  MVT::v8i16, 3, 0, 1, 3, 
19432
0
   0, 
19433
0
  39, 
19434
0
   OPC_CheckChild0Integer, 26|128,105, 
19435
0
   OPC_RecordChild1,
19436
0
   OPC_RecordChild2,
19437
0
   OPC_RecordChild3,
19438
0
   OPC_MoveChild3,
19439
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19440
0
   OPC_MoveParent,
19441
0
   OPC_Scope, 12, 
19442
0
    OPC_CheckPatternPredicate2,
19443
0
    OPC_EmitNodeXForm, 8, 2,
19444
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
19445
0
                  MVT::v8i16, 3, 0, 1, 3, 
19446
0
   12, 
19447
0
    OPC_CheckPatternPredicate4,
19448
0
    OPC_EmitNodeXForm, 8, 2,
19449
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
19450
0
                  MVT::v8i16, 3, 0, 1, 3, 
19451
0
   0, 
19452
0
  39, 
19453
0
   OPC_CheckChild0Integer, 98|128,104, 
19454
0
   OPC_RecordChild1,
19455
0
   OPC_RecordChild2,
19456
0
   OPC_RecordChild3,
19457
0
   OPC_MoveChild3,
19458
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19459
0
   OPC_MoveParent,
19460
0
   OPC_Scope, 12, 
19461
0
    OPC_CheckPatternPredicate2,
19462
0
    OPC_EmitNodeXForm, 8, 2,
19463
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
19464
0
                  MVT::v8i16, 3, 0, 1, 3, 
19465
0
   12, 
19466
0
    OPC_CheckPatternPredicate4,
19467
0
    OPC_EmitNodeXForm, 8, 2,
19468
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
19469
0
                  MVT::v8i16, 3, 0, 1, 3, 
19470
0
   0, 
19471
0
  39, 
19472
0
   OPC_CheckChild0Integer, 28|128,105, 
19473
0
   OPC_RecordChild1,
19474
0
   OPC_RecordChild2,
19475
0
   OPC_RecordChild3,
19476
0
   OPC_MoveChild3,
19477
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19478
0
   OPC_MoveParent,
19479
0
   OPC_Scope, 12, 
19480
0
    OPC_CheckPatternPredicate2,
19481
0
    OPC_EmitNodeXForm, 8, 2,
19482
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
19483
0
                  MVT::v8i16, 3, 0, 1, 3, 
19484
0
   12, 
19485
0
    OPC_CheckPatternPredicate4,
19486
0
    OPC_EmitNodeXForm, 8, 2,
19487
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
19488
0
                  MVT::v8i16, 3, 0, 1, 3, 
19489
0
   0, 
19490
0
  39, 
19491
0
   OPC_CheckChild0Integer, 100|128,104, 
19492
0
   OPC_RecordChild1,
19493
0
   OPC_RecordChild2,
19494
0
   OPC_RecordChild3,
19495
0
   OPC_MoveChild3,
19496
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19497
0
   OPC_MoveParent,
19498
0
   OPC_Scope, 12, 
19499
0
    OPC_CheckPatternPredicate2,
19500
0
    OPC_EmitNodeXForm, 8, 2,
19501
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
19502
0
                  MVT::v8i16, 3, 0, 1, 3, 
19503
0
   12, 
19504
0
    OPC_CheckPatternPredicate4,
19505
0
    OPC_EmitNodeXForm, 8, 2,
19506
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
19507
0
                  MVT::v8i16, 3, 0, 1, 3, 
19508
0
   0, 
19509
0
  39, 
19510
0
   OPC_CheckChild0Integer, 44|128,98, 
19511
0
   OPC_RecordChild1,
19512
0
   OPC_RecordChild2,
19513
0
   OPC_RecordChild3,
19514
0
   OPC_MoveChild3,
19515
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19516
0
   OPC_MoveParent,
19517
0
   OPC_Scope, 12, 
19518
0
    OPC_CheckPatternPredicate2,
19519
0
    OPC_EmitNodeXForm, 8, 2,
19520
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
19521
0
                  MVT::v8i16, 3, 0, 1, 3, 
19522
0
   12, 
19523
0
    OPC_CheckPatternPredicate4,
19524
0
    OPC_EmitNodeXForm, 8, 2,
19525
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
19526
0
                  MVT::v8i16, 3, 0, 1, 3, 
19527
0
   0, 
19528
0
  39, 
19529
0
   OPC_CheckChild0Integer, 96|128,96, 
19530
0
   OPC_RecordChild1,
19531
0
   OPC_RecordChild2,
19532
0
   OPC_RecordChild3,
19533
0
   OPC_MoveChild3,
19534
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19535
0
   OPC_MoveParent,
19536
0
   OPC_Scope, 12, 
19537
0
    OPC_CheckPatternPredicate2,
19538
0
    OPC_EmitNodeXForm, 8, 2,
19539
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
19540
0
                  MVT::v8i16, 3, 0, 1, 3, 
19541
0
   12, 
19542
0
    OPC_CheckPatternPredicate4,
19543
0
    OPC_EmitNodeXForm, 8, 2,
19544
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
19545
0
                  MVT::v8i16, 3, 0, 1, 3, 
19546
0
   0, 
19547
0
  39, 
19548
0
   OPC_CheckChild0Integer, 18|128,104, 
19549
0
   OPC_RecordChild1,
19550
0
   OPC_RecordChild2,
19551
0
   OPC_RecordChild3,
19552
0
   OPC_MoveChild3,
19553
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19554
0
   OPC_MoveParent,
19555
0
   OPC_Scope, 12, 
19556
0
    OPC_CheckPatternPredicate2,
19557
0
    OPC_EmitNodeXForm, 8, 2,
19558
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
19559
0
                  MVT::v4i32, 3, 0, 1, 3, 
19560
0
   12, 
19561
0
    OPC_CheckPatternPredicate4,
19562
0
    OPC_EmitNodeXForm, 8, 2,
19563
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
19564
0
                  MVT::v4i32, 3, 0, 1, 3, 
19565
0
   0, 
19566
0
  39, 
19567
0
   OPC_CheckChild0Integer, 86|128,103, 
19568
0
   OPC_RecordChild1,
19569
0
   OPC_RecordChild2,
19570
0
   OPC_RecordChild3,
19571
0
   OPC_MoveChild3,
19572
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19573
0
   OPC_MoveParent,
19574
0
   OPC_Scope, 12, 
19575
0
    OPC_CheckPatternPredicate2,
19576
0
    OPC_EmitNodeXForm, 8, 2,
19577
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
19578
0
                  MVT::v4i32, 3, 0, 1, 3, 
19579
0
   12, 
19580
0
    OPC_CheckPatternPredicate4,
19581
0
    OPC_EmitNodeXForm, 8, 2,
19582
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
19583
0
                  MVT::v4i32, 3, 0, 1, 3, 
19584
0
   0, 
19585
0
  39, 
19586
0
   OPC_CheckChild0Integer, 48|128,104, 
19587
0
   OPC_RecordChild1,
19588
0
   OPC_RecordChild2,
19589
0
   OPC_RecordChild3,
19590
0
   OPC_MoveChild3,
19591
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19592
0
   OPC_MoveParent,
19593
0
   OPC_Scope, 12, 
19594
0
    OPC_CheckPatternPredicate2,
19595
0
    OPC_EmitNodeXForm, 8, 2,
19596
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
19597
0
                  MVT::v4i32, 3, 0, 1, 3, 
19598
0
   12, 
19599
0
    OPC_CheckPatternPredicate4,
19600
0
    OPC_EmitNodeXForm, 8, 2,
19601
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
19602
0
                  MVT::v4i32, 3, 0, 1, 3, 
19603
0
   0, 
19604
0
  39, 
19605
0
   OPC_CheckChild0Integer, 116|128,103, 
19606
0
   OPC_RecordChild1,
19607
0
   OPC_RecordChild2,
19608
0
   OPC_RecordChild3,
19609
0
   OPC_MoveChild3,
19610
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19611
0
   OPC_MoveParent,
19612
0
   OPC_Scope, 12, 
19613
0
    OPC_CheckPatternPredicate2,
19614
0
    OPC_EmitNodeXForm, 8, 2,
19615
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
19616
0
                  MVT::v4i32, 3, 0, 1, 3, 
19617
0
   12, 
19618
0
    OPC_CheckPatternPredicate4,
19619
0
    OPC_EmitNodeXForm, 8, 2,
19620
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
19621
0
                  MVT::v4i32, 3, 0, 1, 3, 
19622
0
   0, 
19623
0
  39, 
19624
0
   OPC_CheckChild0Integer, 2|128,105, 
19625
0
   OPC_RecordChild1,
19626
0
   OPC_RecordChild2,
19627
0
   OPC_RecordChild3,
19628
0
   OPC_MoveChild3,
19629
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19630
0
   OPC_MoveParent,
19631
0
   OPC_Scope, 12, 
19632
0
    OPC_CheckPatternPredicate2,
19633
0
    OPC_EmitNodeXForm, 8, 2,
19634
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
19635
0
                  MVT::v4i32, 3, 0, 1, 3, 
19636
0
   12, 
19637
0
    OPC_CheckPatternPredicate4,
19638
0
    OPC_EmitNodeXForm, 8, 2,
19639
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
19640
0
                  MVT::v4i32, 3, 0, 1, 3, 
19641
0
   0, 
19642
0
  39, 
19643
0
   OPC_CheckChild0Integer, 74|128,104, 
19644
0
   OPC_RecordChild1,
19645
0
   OPC_RecordChild2,
19646
0
   OPC_RecordChild3,
19647
0
   OPC_MoveChild3,
19648
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19649
0
   OPC_MoveParent,
19650
0
   OPC_Scope, 12, 
19651
0
    OPC_CheckPatternPredicate2,
19652
0
    OPC_EmitNodeXForm, 8, 2,
19653
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
19654
0
                  MVT::v4i32, 3, 0, 1, 3, 
19655
0
   12, 
19656
0
    OPC_CheckPatternPredicate4,
19657
0
    OPC_EmitNodeXForm, 8, 2,
19658
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
19659
0
                  MVT::v4i32, 3, 0, 1, 3, 
19660
0
   0, 
19661
0
  39, 
19662
0
   OPC_CheckChild0Integer, 4|128,105, 
19663
0
   OPC_RecordChild1,
19664
0
   OPC_RecordChild2,
19665
0
   OPC_RecordChild3,
19666
0
   OPC_MoveChild3,
19667
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19668
0
   OPC_MoveParent,
19669
0
   OPC_Scope, 12, 
19670
0
    OPC_CheckPatternPredicate2,
19671
0
    OPC_EmitNodeXForm, 8, 2,
19672
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
19673
0
                  MVT::v4i32, 3, 0, 1, 3, 
19674
0
   12, 
19675
0
    OPC_CheckPatternPredicate4,
19676
0
    OPC_EmitNodeXForm, 8, 2,
19677
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
19678
0
                  MVT::v4i32, 3, 0, 1, 3, 
19679
0
   0, 
19680
0
  39, 
19681
0
   OPC_CheckChild0Integer, 76|128,104, 
19682
0
   OPC_RecordChild1,
19683
0
   OPC_RecordChild2,
19684
0
   OPC_RecordChild3,
19685
0
   OPC_MoveChild3,
19686
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19687
0
   OPC_MoveParent,
19688
0
   OPC_Scope, 12, 
19689
0
    OPC_CheckPatternPredicate2,
19690
0
    OPC_EmitNodeXForm, 8, 2,
19691
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
19692
0
                  MVT::v4i32, 3, 0, 1, 3, 
19693
0
   12, 
19694
0
    OPC_CheckPatternPredicate4,
19695
0
    OPC_EmitNodeXForm, 8, 2,
19696
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
19697
0
                  MVT::v4i32, 3, 0, 1, 3, 
19698
0
   0, 
19699
0
  39, 
19700
0
   OPC_CheckChild0Integer, 30|128,105, 
19701
0
   OPC_RecordChild1,
19702
0
   OPC_RecordChild2,
19703
0
   OPC_RecordChild3,
19704
0
   OPC_MoveChild3,
19705
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19706
0
   OPC_MoveParent,
19707
0
   OPC_Scope, 12, 
19708
0
    OPC_CheckPatternPredicate2,
19709
0
    OPC_EmitNodeXForm, 8, 2,
19710
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
19711
0
                  MVT::v4i32, 3, 0, 1, 3, 
19712
0
   12, 
19713
0
    OPC_CheckPatternPredicate4,
19714
0
    OPC_EmitNodeXForm, 8, 2,
19715
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
19716
0
                  MVT::v4i32, 3, 0, 1, 3, 
19717
0
   0, 
19718
0
  39, 
19719
0
   OPC_CheckChild0Integer, 102|128,104, 
19720
0
   OPC_RecordChild1,
19721
0
   OPC_RecordChild2,
19722
0
   OPC_RecordChild3,
19723
0
   OPC_MoveChild3,
19724
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19725
0
   OPC_MoveParent,
19726
0
   OPC_Scope, 12, 
19727
0
    OPC_CheckPatternPredicate2,
19728
0
    OPC_EmitNodeXForm, 8, 2,
19729
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
19730
0
                  MVT::v4i32, 3, 0, 1, 3, 
19731
0
   12, 
19732
0
    OPC_CheckPatternPredicate4,
19733
0
    OPC_EmitNodeXForm, 8, 2,
19734
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
19735
0
                  MVT::v4i32, 3, 0, 1, 3, 
19736
0
   0, 
19737
0
  39, 
19738
0
   OPC_CheckChild0Integer, 32|128,105, 
19739
0
   OPC_RecordChild1,
19740
0
   OPC_RecordChild2,
19741
0
   OPC_RecordChild3,
19742
0
   OPC_MoveChild3,
19743
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19744
0
   OPC_MoveParent,
19745
0
   OPC_Scope, 12, 
19746
0
    OPC_CheckPatternPredicate2,
19747
0
    OPC_EmitNodeXForm, 8, 2,
19748
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
19749
0
                  MVT::v4i32, 3, 0, 1, 3, 
19750
0
   12, 
19751
0
    OPC_CheckPatternPredicate4,
19752
0
    OPC_EmitNodeXForm, 8, 2,
19753
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
19754
0
                  MVT::v4i32, 3, 0, 1, 3, 
19755
0
   0, 
19756
0
  39, 
19757
0
   OPC_CheckChild0Integer, 104|128,104, 
19758
0
   OPC_RecordChild1,
19759
0
   OPC_RecordChild2,
19760
0
   OPC_RecordChild3,
19761
0
   OPC_MoveChild3,
19762
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19763
0
   OPC_MoveParent,
19764
0
   OPC_Scope, 12, 
19765
0
    OPC_CheckPatternPredicate2,
19766
0
    OPC_EmitNodeXForm, 8, 2,
19767
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
19768
0
                  MVT::v4i32, 3, 0, 1, 3, 
19769
0
   12, 
19770
0
    OPC_CheckPatternPredicate4,
19771
0
    OPC_EmitNodeXForm, 8, 2,
19772
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
19773
0
                  MVT::v4i32, 3, 0, 1, 3, 
19774
0
   0, 
19775
0
  39, 
19776
0
   OPC_CheckChild0Integer, 68|128,101, 
19777
0
   OPC_RecordChild1,
19778
0
   OPC_RecordChild2,
19779
0
   OPC_RecordChild3,
19780
0
   OPC_MoveChild3,
19781
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19782
0
   OPC_MoveParent,
19783
0
   OPC_Scope, 12, 
19784
0
    OPC_CheckPatternPredicate2,
19785
0
    OPC_EmitNodeXForm, 8, 2,
19786
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
19787
0
                  MVT::v4i32, 3, 0, 1, 3, 
19788
0
   12, 
19789
0
    OPC_CheckPatternPredicate4,
19790
0
    OPC_EmitNodeXForm, 8, 2,
19791
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
19792
0
                  MVT::v4i32, 3, 0, 1, 3, 
19793
0
   0, 
19794
0
  39, 
19795
0
   OPC_CheckChild0Integer, 98|128,96, 
19796
0
   OPC_RecordChild1,
19797
0
   OPC_RecordChild2,
19798
0
   OPC_RecordChild3,
19799
0
   OPC_MoveChild3,
19800
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19801
0
   OPC_MoveParent,
19802
0
   OPC_Scope, 12, 
19803
0
    OPC_CheckPatternPredicate2,
19804
0
    OPC_EmitNodeXForm, 8, 2,
19805
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
19806
0
                  MVT::v4i32, 3, 0, 1, 3, 
19807
0
   12, 
19808
0
    OPC_CheckPatternPredicate4,
19809
0
    OPC_EmitNodeXForm, 8, 2,
19810
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
19811
0
                  MVT::v4i32, 3, 0, 1, 3, 
19812
0
   0, 
19813
0
  39, 
19814
0
   OPC_CheckChild0Integer, 14|128,104, 
19815
0
   OPC_RecordChild1,
19816
0
   OPC_RecordChild2,
19817
0
   OPC_RecordChild3,
19818
0
   OPC_MoveChild3,
19819
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19820
0
   OPC_MoveParent,
19821
0
   OPC_Scope, 12, 
19822
0
    OPC_CheckPatternPredicate2,
19823
0
    OPC_EmitNodeXForm, 8, 2,
19824
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
19825
0
                  MVT::v2i64, 3, 0, 1, 3, 
19826
0
   12, 
19827
0
    OPC_CheckPatternPredicate4,
19828
0
    OPC_EmitNodeXForm, 8, 2,
19829
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
19830
0
                  MVT::v2i64, 3, 0, 1, 3, 
19831
0
   0, 
19832
0
  39, 
19833
0
   OPC_CheckChild0Integer, 82|128,103, 
19834
0
   OPC_RecordChild1,
19835
0
   OPC_RecordChild2,
19836
0
   OPC_RecordChild3,
19837
0
   OPC_MoveChild3,
19838
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19839
0
   OPC_MoveParent,
19840
0
   OPC_Scope, 12, 
19841
0
    OPC_CheckPatternPredicate2,
19842
0
    OPC_EmitNodeXForm, 8, 2,
19843
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
19844
0
                  MVT::v2i64, 3, 0, 1, 3, 
19845
0
   12, 
19846
0
    OPC_CheckPatternPredicate4,
19847
0
    OPC_EmitNodeXForm, 8, 2,
19848
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
19849
0
                  MVT::v2i64, 3, 0, 1, 3, 
19850
0
   0, 
19851
0
  39, 
19852
0
   OPC_CheckChild0Integer, 44|128,104, 
19853
0
   OPC_RecordChild1,
19854
0
   OPC_RecordChild2,
19855
0
   OPC_RecordChild3,
19856
0
   OPC_MoveChild3,
19857
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19858
0
   OPC_MoveParent,
19859
0
   OPC_Scope, 12, 
19860
0
    OPC_CheckPatternPredicate2,
19861
0
    OPC_EmitNodeXForm, 8, 2,
19862
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
19863
0
                  MVT::v2i64, 3, 0, 1, 3, 
19864
0
   12, 
19865
0
    OPC_CheckPatternPredicate4,
19866
0
    OPC_EmitNodeXForm, 8, 2,
19867
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
19868
0
                  MVT::v2i64, 3, 0, 1, 3, 
19869
0
   0, 
19870
0
  39, 
19871
0
   OPC_CheckChild0Integer, 112|128,103, 
19872
0
   OPC_RecordChild1,
19873
0
   OPC_RecordChild2,
19874
0
   OPC_RecordChild3,
19875
0
   OPC_MoveChild3,
19876
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19877
0
   OPC_MoveParent,
19878
0
   OPC_Scope, 12, 
19879
0
    OPC_CheckPatternPredicate2,
19880
0
    OPC_EmitNodeXForm, 8, 2,
19881
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
19882
0
                  MVT::v2i64, 3, 0, 1, 3, 
19883
0
   12, 
19884
0
    OPC_CheckPatternPredicate4,
19885
0
    OPC_EmitNodeXForm, 8, 2,
19886
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
19887
0
                  MVT::v2i64, 3, 0, 1, 3, 
19888
0
   0, 
19889
0
  39, 
19890
0
   OPC_CheckChild0Integer, 122|128,104, 
19891
0
   OPC_RecordChild1,
19892
0
   OPC_RecordChild2,
19893
0
   OPC_RecordChild3,
19894
0
   OPC_MoveChild3,
19895
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19896
0
   OPC_MoveParent,
19897
0
   OPC_Scope, 12, 
19898
0
    OPC_CheckPatternPredicate2,
19899
0
    OPC_EmitNodeXForm, 8, 2,
19900
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
19901
0
                  MVT::v2i64, 3, 0, 1, 3, 
19902
0
   12, 
19903
0
    OPC_CheckPatternPredicate4,
19904
0
    OPC_EmitNodeXForm, 8, 2,
19905
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
19906
0
                  MVT::v2i64, 3, 0, 1, 3, 
19907
0
   0, 
19908
0
  39, 
19909
0
   OPC_CheckChild0Integer, 66|128,104, 
19910
0
   OPC_RecordChild1,
19911
0
   OPC_RecordChild2,
19912
0
   OPC_RecordChild3,
19913
0
   OPC_MoveChild3,
19914
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19915
0
   OPC_MoveParent,
19916
0
   OPC_Scope, 12, 
19917
0
    OPC_CheckPatternPredicate2,
19918
0
    OPC_EmitNodeXForm, 8, 2,
19919
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
19920
0
                  MVT::v2i64, 3, 0, 1, 3, 
19921
0
   12, 
19922
0
    OPC_CheckPatternPredicate4,
19923
0
    OPC_EmitNodeXForm, 8, 2,
19924
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
19925
0
                  MVT::v2i64, 3, 0, 1, 3, 
19926
0
   0, 
19927
0
  39, 
19928
0
   OPC_CheckChild0Integer, 124|128,104, 
19929
0
   OPC_RecordChild1,
19930
0
   OPC_RecordChild2,
19931
0
   OPC_RecordChild3,
19932
0
   OPC_MoveChild3,
19933
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19934
0
   OPC_MoveParent,
19935
0
   OPC_Scope, 12, 
19936
0
    OPC_CheckPatternPredicate2,
19937
0
    OPC_EmitNodeXForm, 8, 2,
19938
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
19939
0
                  MVT::v2i64, 3, 0, 1, 3, 
19940
0
   12, 
19941
0
    OPC_CheckPatternPredicate4,
19942
0
    OPC_EmitNodeXForm, 8, 2,
19943
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
19944
0
                  MVT::v2i64, 3, 0, 1, 3, 
19945
0
   0, 
19946
0
  39, 
19947
0
   OPC_CheckChild0Integer, 68|128,104, 
19948
0
   OPC_RecordChild1,
19949
0
   OPC_RecordChild2,
19950
0
   OPC_RecordChild3,
19951
0
   OPC_MoveChild3,
19952
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19953
0
   OPC_MoveParent,
19954
0
   OPC_Scope, 12, 
19955
0
    OPC_CheckPatternPredicate2,
19956
0
    OPC_EmitNodeXForm, 8, 2,
19957
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
19958
0
                  MVT::v2i64, 3, 0, 1, 3, 
19959
0
   12, 
19960
0
    OPC_CheckPatternPredicate4,
19961
0
    OPC_EmitNodeXForm, 8, 2,
19962
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
19963
0
                  MVT::v2i64, 3, 0, 1, 3, 
19964
0
   0, 
19965
0
  39, 
19966
0
   OPC_CheckChild0Integer, 22|128,105, 
19967
0
   OPC_RecordChild1,
19968
0
   OPC_RecordChild2,
19969
0
   OPC_RecordChild3,
19970
0
   OPC_MoveChild3,
19971
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19972
0
   OPC_MoveParent,
19973
0
   OPC_Scope, 12, 
19974
0
    OPC_CheckPatternPredicate2,
19975
0
    OPC_EmitNodeXForm, 8, 2,
19976
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
19977
0
                  MVT::v2i64, 3, 0, 1, 3, 
19978
0
   12, 
19979
0
    OPC_CheckPatternPredicate4,
19980
0
    OPC_EmitNodeXForm, 8, 2,
19981
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
19982
0
                  MVT::v2i64, 3, 0, 1, 3, 
19983
0
   0, 
19984
0
  39, 
19985
0
   OPC_CheckChild0Integer, 94|128,104, 
19986
0
   OPC_RecordChild1,
19987
0
   OPC_RecordChild2,
19988
0
   OPC_RecordChild3,
19989
0
   OPC_MoveChild3,
19990
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19991
0
   OPC_MoveParent,
19992
0
   OPC_Scope, 12, 
19993
0
    OPC_CheckPatternPredicate2,
19994
0
    OPC_EmitNodeXForm, 8, 2,
19995
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
19996
0
                  MVT::v2i64, 3, 0, 1, 3, 
19997
0
   12, 
19998
0
    OPC_CheckPatternPredicate4,
19999
0
    OPC_EmitNodeXForm, 8, 2,
20000
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
20001
0
                  MVT::v2i64, 3, 0, 1, 3, 
20002
0
   0, 
20003
0
  39, 
20004
0
   OPC_CheckChild0Integer, 24|128,105, 
20005
0
   OPC_RecordChild1,
20006
0
   OPC_RecordChild2,
20007
0
   OPC_RecordChild3,
20008
0
   OPC_MoveChild3,
20009
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20010
0
   OPC_MoveParent,
20011
0
   OPC_Scope, 12, 
20012
0
    OPC_CheckPatternPredicate2,
20013
0
    OPC_EmitNodeXForm, 8, 2,
20014
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
20015
0
                  MVT::v2i64, 3, 0, 1, 3, 
20016
0
   12, 
20017
0
    OPC_CheckPatternPredicate4,
20018
0
    OPC_EmitNodeXForm, 8, 2,
20019
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
20020
0
                  MVT::v2i64, 3, 0, 1, 3, 
20021
0
   0, 
20022
0
  39, 
20023
0
   OPC_CheckChild0Integer, 96|128,104, 
20024
0
   OPC_RecordChild1,
20025
0
   OPC_RecordChild2,
20026
0
   OPC_RecordChild3,
20027
0
   OPC_MoveChild3,
20028
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20029
0
   OPC_MoveParent,
20030
0
   OPC_Scope, 12, 
20031
0
    OPC_CheckPatternPredicate2,
20032
0
    OPC_EmitNodeXForm, 8, 2,
20033
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
20034
0
                  MVT::v2i64, 3, 0, 1, 3, 
20035
0
   12, 
20036
0
    OPC_CheckPatternPredicate4,
20037
0
    OPC_EmitNodeXForm, 8, 2,
20038
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
20039
0
                  MVT::v2i64, 3, 0, 1, 3, 
20040
0
   0, 
20041
0
  39, 
20042
0
   OPC_CheckChild0Integer, 80|128,102, 
20043
0
   OPC_RecordChild1,
20044
0
   OPC_RecordChild2,
20045
0
   OPC_RecordChild3,
20046
0
   OPC_MoveChild3,
20047
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20048
0
   OPC_MoveParent,
20049
0
   OPC_Scope, 12, 
20050
0
    OPC_CheckPatternPredicate2,
20051
0
    OPC_EmitNodeXForm, 8, 2,
20052
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
20053
0
                  MVT::v2i64, 3, 0, 1, 3, 
20054
0
   12, 
20055
0
    OPC_CheckPatternPredicate4,
20056
0
    OPC_EmitNodeXForm, 8, 2,
20057
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
20058
0
                  MVT::v2i64, 3, 0, 1, 3, 
20059
0
   0, 
20060
0
  39, 
20061
0
   OPC_CheckChild0Integer, 94|128,96, 
20062
0
   OPC_RecordChild1,
20063
0
   OPC_RecordChild2,
20064
0
   OPC_RecordChild3,
20065
0
   OPC_MoveChild3,
20066
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20067
0
   OPC_MoveParent,
20068
0
   OPC_Scope, 12, 
20069
0
    OPC_CheckPatternPredicate2,
20070
0
    OPC_EmitNodeXForm, 8, 2,
20071
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
20072
0
                  MVT::v2i64, 3, 0, 1, 3, 
20073
0
   12, 
20074
0
    OPC_CheckPatternPredicate4,
20075
0
    OPC_EmitNodeXForm, 8, 2,
20076
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
20077
0
                  MVT::v2i64, 3, 0, 1, 3, 
20078
0
   0, 
20079
0
  33, 
20080
0
   OPC_CheckChild0Integer, 126|128,87, 
20081
0
   OPC_RecordChild1,
20082
0
   OPC_MoveChild1,
20083
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20084
0
   OPC_MoveParent,
20085
0
   OPC_Scope, 10, 
20086
0
    OPC_CheckPatternPredicate3,
20087
0
    OPC_EmitNodeXForm, 8, 0,
20088
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
20089
0
                  MVT::v4i64, 1, 1, 
20090
0
   10, 
20091
0
    OPC_CheckPatternPredicate5,
20092
0
    OPC_EmitNodeXForm, 8, 0,
20093
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
20094
0
                  MVT::v4i64, 1, 1, 
20095
0
   0, 
20096
0
  33, 
20097
0
   OPC_CheckChild0Integer, 80|128,90, 
20098
0
   OPC_RecordChild1,
20099
0
   OPC_MoveChild1,
20100
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20101
0
   OPC_MoveParent,
20102
0
   OPC_Scope, 10, 
20103
0
    OPC_CheckPatternPredicate3,
20104
0
    OPC_EmitNodeXForm, 8, 0,
20105
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
20106
0
                  MVT::v32i8, 1, 1, 
20107
0
   10, 
20108
0
    OPC_CheckPatternPredicate5,
20109
0
    OPC_EmitNodeXForm, 8, 0,
20110
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
20111
0
                  MVT::v32i8, 1, 1, 
20112
0
   0, 
20113
0
  33, 
20114
0
   OPC_CheckChild0Integer, 84|128,90, 
20115
0
   OPC_RecordChild1,
20116
0
   OPC_MoveChild1,
20117
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20118
0
   OPC_MoveParent,
20119
0
   OPC_Scope, 10, 
20120
0
    OPC_CheckPatternPredicate3,
20121
0
    OPC_EmitNodeXForm, 8, 0,
20122
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
20123
0
                  MVT::v16i16, 1, 1, 
20124
0
   10, 
20125
0
    OPC_CheckPatternPredicate5,
20126
0
    OPC_EmitNodeXForm, 8, 0,
20127
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
20128
0
                  MVT::v16i16, 1, 1, 
20129
0
   0, 
20130
0
  33, 
20131
0
   OPC_CheckChild0Integer, 86|128,90, 
20132
0
   OPC_RecordChild1,
20133
0
   OPC_MoveChild1,
20134
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20135
0
   OPC_MoveParent,
20136
0
   OPC_Scope, 10, 
20137
0
    OPC_CheckPatternPredicate3,
20138
0
    OPC_EmitNodeXForm, 8, 0,
20139
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
20140
0
                  MVT::v8i32, 1, 1, 
20141
0
   10, 
20142
0
    OPC_CheckPatternPredicate5,
20143
0
    OPC_EmitNodeXForm, 8, 0,
20144
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
20145
0
                  MVT::v8i32, 1, 1, 
20146
0
   0, 
20147
0
  33, 
20148
0
   OPC_CheckChild0Integer, 82|128,90, 
20149
0
   OPC_RecordChild1,
20150
0
   OPC_MoveChild1,
20151
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20152
0
   OPC_MoveParent,
20153
0
   OPC_Scope, 10, 
20154
0
    OPC_CheckPatternPredicate3,
20155
0
    OPC_EmitNodeXForm, 8, 0,
20156
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
20157
0
                  MVT::v4i64, 1, 1, 
20158
0
   10, 
20159
0
    OPC_CheckPatternPredicate5,
20160
0
    OPC_EmitNodeXForm, 8, 0,
20161
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
20162
0
                  MVT::v4i64, 1, 1, 
20163
0
   0, 
20164
0
  36, 
20165
0
   OPC_CheckChild0Integer, 10|128,91, 
20166
0
   OPC_RecordChild1,
20167
0
   OPC_RecordChild2,
20168
0
   OPC_MoveChild2,
20169
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20170
0
   OPC_MoveParent,
20171
0
   OPC_Scope, 11, 
20172
0
    OPC_CheckPatternPredicate3,
20173
0
    OPC_EmitNodeXForm, 8, 1,
20174
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
20175
0
                  MVT::v32i8, 2, 0, 2, 
20176
0
   11, 
20177
0
    OPC_CheckPatternPredicate5,
20178
0
    OPC_EmitNodeXForm, 8, 1,
20179
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
20180
0
                  MVT::v32i8, 2, 0, 2, 
20181
0
   0, 
20182
0
  36, 
20183
0
   OPC_CheckChild0Integer, 12|128,91, 
20184
0
   OPC_RecordChild1,
20185
0
   OPC_RecordChild2,
20186
0
   OPC_MoveChild2,
20187
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20188
0
   OPC_MoveParent,
20189
0
   OPC_Scope, 11, 
20190
0
    OPC_CheckPatternPredicate3,
20191
0
    OPC_EmitNodeXForm, 8, 1,
20192
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
20193
0
                  MVT::v32i8, 2, 0, 2, 
20194
0
   11, 
20195
0
    OPC_CheckPatternPredicate5,
20196
0
    OPC_EmitNodeXForm, 8, 1,
20197
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
20198
0
                  MVT::v32i8, 2, 0, 2, 
20199
0
   0, 
20200
0
  36, 
20201
0
   OPC_CheckChild0Integer, 120|128,89, 
20202
0
   OPC_RecordChild1,
20203
0
   OPC_RecordChild2,
20204
0
   OPC_MoveChild2,
20205
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20206
0
   OPC_MoveParent,
20207
0
   OPC_Scope, 11, 
20208
0
    OPC_CheckPatternPredicate3,
20209
0
    OPC_EmitNodeXForm, 8, 1,
20210
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
20211
0
                  MVT::v32i8, 2, 0, 2, 
20212
0
   11, 
20213
0
    OPC_CheckPatternPredicate5,
20214
0
    OPC_EmitNodeXForm, 8, 1,
20215
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
20216
0
                  MVT::v32i8, 2, 0, 2, 
20217
0
   0, 
20218
0
  36, 
20219
0
   OPC_CheckChild0Integer, 114|128,90, 
20220
0
   OPC_RecordChild1,
20221
0
   OPC_RecordChild2,
20222
0
   OPC_MoveChild2,
20223
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20224
0
   OPC_MoveParent,
20225
0
   OPC_Scope, 11, 
20226
0
    OPC_CheckPatternPredicate3,
20227
0
    OPC_EmitNodeXForm, 8, 1,
20228
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
20229
0
                  MVT::v32i8, 2, 0, 2, 
20230
0
   11, 
20231
0
    OPC_CheckPatternPredicate5,
20232
0
    OPC_EmitNodeXForm, 8, 1,
20233
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
20234
0
                  MVT::v32i8, 2, 0, 2, 
20235
0
   0, 
20236
0
  36, 
20237
0
   OPC_CheckChild0Integer, 118|128,91, 
20238
0
   OPC_RecordChild1,
20239
0
   OPC_RecordChild2,
20240
0
   OPC_MoveChild2,
20241
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20242
0
   OPC_MoveParent,
20243
0
   OPC_Scope, 11, 
20244
0
    OPC_CheckPatternPredicate3,
20245
0
    OPC_EmitNodeXForm, 8, 1,
20246
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
20247
0
                  MVT::v16i16, 2, 0, 2, 
20248
0
   11, 
20249
0
    OPC_CheckPatternPredicate5,
20250
0
    OPC_EmitNodeXForm, 8, 1,
20251
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
20252
0
                  MVT::v16i16, 2, 0, 2, 
20253
0
   0, 
20254
0
  36, 
20255
0
   OPC_CheckChild0Integer, 120|128,91, 
20256
0
   OPC_RecordChild1,
20257
0
   OPC_RecordChild2,
20258
0
   OPC_MoveChild2,
20259
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20260
0
   OPC_MoveParent,
20261
0
   OPC_Scope, 11, 
20262
0
    OPC_CheckPatternPredicate3,
20263
0
    OPC_EmitNodeXForm, 8, 1,
20264
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
20265
0
                  MVT::v16i16, 2, 0, 2, 
20266
0
   11, 
20267
0
    OPC_CheckPatternPredicate5,
20268
0
    OPC_EmitNodeXForm, 8, 1,
20269
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
20270
0
                  MVT::v16i16, 2, 0, 2, 
20271
0
   0, 
20272
0
  36, 
20273
0
   OPC_CheckChild0Integer, 0|128,93, 
20274
0
   OPC_RecordChild1,
20275
0
   OPC_RecordChild2,
20276
0
   OPC_MoveChild2,
20277
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20278
0
   OPC_MoveParent,
20279
0
   OPC_Scope, 11, 
20280
0
    OPC_CheckPatternPredicate3,
20281
0
    OPC_EmitNodeXForm, 8, 1,
20282
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
20283
0
                  MVT::v32i8, 2, 0, 2, 
20284
0
   11, 
20285
0
    OPC_CheckPatternPredicate5,
20286
0
    OPC_EmitNodeXForm, 8, 1,
20287
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
20288
0
                  MVT::v32i8, 2, 0, 2, 
20289
0
   0, 
20290
0
  36, 
20291
0
   OPC_CheckChild0Integer, 68|128,92, 
20292
0
   OPC_RecordChild1,
20293
0
   OPC_RecordChild2,
20294
0
   OPC_MoveChild2,
20295
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20296
0
   OPC_MoveParent,
20297
0
   OPC_Scope, 11, 
20298
0
    OPC_CheckPatternPredicate3,
20299
0
    OPC_EmitNodeXForm, 8, 1,
20300
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
20301
0
                  MVT::v32i8, 2, 0, 2, 
20302
0
   11, 
20303
0
    OPC_CheckPatternPredicate5,
20304
0
    OPC_EmitNodeXForm, 8, 1,
20305
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
20306
0
                  MVT::v32i8, 2, 0, 2, 
20307
0
   0, 
20308
0
  36, 
20309
0
   OPC_CheckChild0Integer, 34|128,91, 
20310
0
   OPC_RecordChild1,
20311
0
   OPC_RecordChild2,
20312
0
   OPC_MoveChild2,
20313
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20314
0
   OPC_MoveParent,
20315
0
   OPC_Scope, 11, 
20316
0
    OPC_CheckPatternPredicate3,
20317
0
    OPC_EmitNodeXForm, 8, 1,
20318
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
20319
0
                  MVT::v32i8, 2, 0, 2, 
20320
0
   11, 
20321
0
    OPC_CheckPatternPredicate5,
20322
0
    OPC_EmitNodeXForm, 8, 1,
20323
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
20324
0
                  MVT::v32i8, 2, 0, 2, 
20325
0
   0, 
20326
0
  36, 
20327
0
   OPC_CheckChild0Integer, 82|128,91, 
20328
0
   OPC_RecordChild1,
20329
0
   OPC_RecordChild2,
20330
0
   OPC_MoveChild2,
20331
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20332
0
   OPC_MoveParent,
20333
0
   OPC_Scope, 11, 
20334
0
    OPC_CheckPatternPredicate3,
20335
0
    OPC_EmitNodeXForm, 8, 1,
20336
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
20337
0
                  MVT::v32i8, 2, 0, 2, 
20338
0
   11, 
20339
0
    OPC_CheckPatternPredicate5,
20340
0
    OPC_EmitNodeXForm, 8, 1,
20341
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
20342
0
                  MVT::v32i8, 2, 0, 2, 
20343
0
   0, 
20344
0
  36, 
20345
0
   OPC_CheckChild0Integer, 84|128,91, 
20346
0
   OPC_RecordChild1,
20347
0
   OPC_RecordChild2,
20348
0
   OPC_MoveChild2,
20349
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20350
0
   OPC_MoveParent,
20351
0
   OPC_Scope, 11, 
20352
0
    OPC_CheckPatternPredicate3,
20353
0
    OPC_EmitNodeXForm, 8, 1,
20354
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
20355
0
                  MVT::v32i8, 2, 0, 2, 
20356
0
   11, 
20357
0
    OPC_CheckPatternPredicate5,
20358
0
    OPC_EmitNodeXForm, 8, 1,
20359
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
20360
0
                  MVT::v32i8, 2, 0, 2, 
20361
0
   0, 
20362
0
  36, 
20363
0
   OPC_CheckChild0Integer, 14|128,92, 
20364
0
   OPC_RecordChild1,
20365
0
   OPC_RecordChild2,
20366
0
   OPC_MoveChild2,
20367
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20368
0
   OPC_MoveParent,
20369
0
   OPC_Scope, 11, 
20370
0
    OPC_CheckPatternPredicate3,
20371
0
    OPC_EmitNodeXForm, 8, 1,
20372
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
20373
0
                  MVT::v32i8, 2, 0, 2, 
20374
0
   11, 
20375
0
    OPC_CheckPatternPredicate5,
20376
0
    OPC_EmitNodeXForm, 8, 1,
20377
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
20378
0
                  MVT::v32i8, 2, 0, 2, 
20379
0
   0, 
20380
0
  36, 
20381
0
   OPC_CheckChild0Integer, 16|128,92, 
20382
0
   OPC_RecordChild1,
20383
0
   OPC_RecordChild2,
20384
0
   OPC_MoveChild2,
20385
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20386
0
   OPC_MoveParent,
20387
0
   OPC_Scope, 11, 
20388
0
    OPC_CheckPatternPredicate3,
20389
0
    OPC_EmitNodeXForm, 8, 1,
20390
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
20391
0
                  MVT::v32i8, 2, 0, 2, 
20392
0
   11, 
20393
0
    OPC_CheckPatternPredicate5,
20394
0
    OPC_EmitNodeXForm, 8, 1,
20395
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
20396
0
                  MVT::v32i8, 2, 0, 2, 
20397
0
   0, 
20398
0
  36, 
20399
0
   OPC_CheckChild0Integer, 64|128,90, 
20400
0
   OPC_RecordChild1,
20401
0
   OPC_RecordChild2,
20402
0
   OPC_MoveChild2,
20403
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20404
0
   OPC_MoveParent,
20405
0
   OPC_Scope, 11, 
20406
0
    OPC_CheckPatternPredicate3,
20407
0
    OPC_EmitNodeXForm, 8, 1,
20408
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
20409
0
                  MVT::v32i8, 2, 0, 2, 
20410
0
   11, 
20411
0
    OPC_CheckPatternPredicate5,
20412
0
    OPC_EmitNodeXForm, 8, 1,
20413
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
20414
0
                  MVT::v32i8, 2, 0, 2, 
20415
0
   0, 
20416
0
  36, 
20417
0
   OPC_CheckChild0Integer, 120|128,84, 
20418
0
   OPC_RecordChild1,
20419
0
   OPC_RecordChild2,
20420
0
   OPC_MoveChild2,
20421
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20422
0
   OPC_MoveParent,
20423
0
   OPC_Scope, 11, 
20424
0
    OPC_CheckPatternPredicate3,
20425
0
    OPC_EmitNodeXForm, 8, 1,
20426
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
20427
0
                  MVT::v32i8, 2, 0, 2, 
20428
0
   11, 
20429
0
    OPC_CheckPatternPredicate5,
20430
0
    OPC_EmitNodeXForm, 8, 1,
20431
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
20432
0
                  MVT::v32i8, 2, 0, 2, 
20433
0
   0, 
20434
0
  36, 
20435
0
   OPC_CheckChild0Integer, 122|128,84, 
20436
0
   OPC_RecordChild1,
20437
0
   OPC_RecordChild2,
20438
0
   OPC_MoveChild2,
20439
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20440
0
   OPC_MoveParent,
20441
0
   OPC_Scope, 11, 
20442
0
    OPC_CheckPatternPredicate3,
20443
0
    OPC_EmitNodeXForm, 8, 1,
20444
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
20445
0
                  MVT::v32i8, 2, 0, 2, 
20446
0
   11, 
20447
0
    OPC_CheckPatternPredicate5,
20448
0
    OPC_EmitNodeXForm, 8, 1,
20449
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
20450
0
                  MVT::v32i8, 2, 0, 2, 
20451
0
   0, 
20452
0
  36, 
20453
0
   OPC_CheckChild0Integer, 50|128,91, 
20454
0
   OPC_RecordChild1,
20455
0
   OPC_RecordChild2,
20456
0
   OPC_MoveChild2,
20457
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20458
0
   OPC_MoveParent,
20459
0
   OPC_Scope, 11, 
20460
0
    OPC_CheckPatternPredicate3,
20461
0
    OPC_EmitNodeXForm, 8, 1,
20462
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
20463
0
                  MVT::v32i8, 2, 0, 2, 
20464
0
   11, 
20465
0
    OPC_CheckPatternPredicate5,
20466
0
    OPC_EmitNodeXForm, 8, 1,
20467
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
20468
0
                  MVT::v32i8, 2, 0, 2, 
20469
0
   0, 
20470
0
  36, 
20471
0
   OPC_CheckChild0Integer, 18|128,91, 
20472
0
   OPC_RecordChild1,
20473
0
   OPC_RecordChild2,
20474
0
   OPC_MoveChild2,
20475
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20476
0
   OPC_MoveParent,
20477
0
   OPC_Scope, 11, 
20478
0
    OPC_CheckPatternPredicate3,
20479
0
    OPC_EmitNodeXForm, 8, 1,
20480
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
20481
0
                  MVT::v16i16, 2, 0, 2, 
20482
0
   11, 
20483
0
    OPC_CheckPatternPredicate5,
20484
0
    OPC_EmitNodeXForm, 8, 1,
20485
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
20486
0
                  MVT::v16i16, 2, 0, 2, 
20487
0
   0, 
20488
0
  36, 
20489
0
   OPC_CheckChild0Integer, 20|128,91, 
20490
0
   OPC_RecordChild1,
20491
0
   OPC_RecordChild2,
20492
0
   OPC_MoveChild2,
20493
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20494
0
   OPC_MoveParent,
20495
0
   OPC_Scope, 11, 
20496
0
    OPC_CheckPatternPredicate3,
20497
0
    OPC_EmitNodeXForm, 8, 1,
20498
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
20499
0
                  MVT::v16i16, 2, 0, 2, 
20500
0
   11, 
20501
0
    OPC_CheckPatternPredicate5,
20502
0
    OPC_EmitNodeXForm, 8, 1,
20503
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
20504
0
                  MVT::v16i16, 2, 0, 2, 
20505
0
   0, 
20506
0
  36, 
20507
0
   OPC_CheckChild0Integer, 118|128,90, 
20508
0
   OPC_RecordChild1,
20509
0
   OPC_RecordChild2,
20510
0
   OPC_MoveChild2,
20511
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20512
0
   OPC_MoveParent,
20513
0
   OPC_Scope, 11, 
20514
0
    OPC_CheckPatternPredicate3,
20515
0
    OPC_EmitNodeXForm, 8, 1,
20516
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
20517
0
                  MVT::v16i16, 2, 0, 2, 
20518
0
   11, 
20519
0
    OPC_CheckPatternPredicate5,
20520
0
    OPC_EmitNodeXForm, 8, 1,
20521
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
20522
0
                  MVT::v16i16, 2, 0, 2, 
20523
0
   0, 
20524
0
  36, 
20525
0
   OPC_CheckChild0Integer, 122|128,91, 
20526
0
   OPC_RecordChild1,
20527
0
   OPC_RecordChild2,
20528
0
   OPC_MoveChild2,
20529
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20530
0
   OPC_MoveParent,
20531
0
   OPC_Scope, 11, 
20532
0
    OPC_CheckPatternPredicate3,
20533
0
    OPC_EmitNodeXForm, 8, 1,
20534
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
20535
0
                  MVT::v8i32, 2, 0, 2, 
20536
0
   11, 
20537
0
    OPC_CheckPatternPredicate5,
20538
0
    OPC_EmitNodeXForm, 8, 1,
20539
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
20540
0
                  MVT::v8i32, 2, 0, 2, 
20541
0
   0, 
20542
0
  36, 
20543
0
   OPC_CheckChild0Integer, 124|128,91, 
20544
0
   OPC_RecordChild1,
20545
0
   OPC_RecordChild2,
20546
0
   OPC_MoveChild2,
20547
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20548
0
   OPC_MoveParent,
20549
0
   OPC_Scope, 11, 
20550
0
    OPC_CheckPatternPredicate3,
20551
0
    OPC_EmitNodeXForm, 8, 1,
20552
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
20553
0
                  MVT::v8i32, 2, 0, 2, 
20554
0
   11, 
20555
0
    OPC_CheckPatternPredicate5,
20556
0
    OPC_EmitNodeXForm, 8, 1,
20557
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
20558
0
                  MVT::v8i32, 2, 0, 2, 
20559
0
   0, 
20560
0
  36, 
20561
0
   OPC_CheckChild0Integer, 4|128,93, 
20562
0
   OPC_RecordChild1,
20563
0
   OPC_RecordChild2,
20564
0
   OPC_MoveChild2,
20565
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20566
0
   OPC_MoveParent,
20567
0
   OPC_Scope, 11, 
20568
0
    OPC_CheckPatternPredicate3,
20569
0
    OPC_EmitNodeXForm, 8, 1,
20570
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
20571
0
                  MVT::v16i16, 2, 0, 2, 
20572
0
   11, 
20573
0
    OPC_CheckPatternPredicate5,
20574
0
    OPC_EmitNodeXForm, 8, 1,
20575
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
20576
0
                  MVT::v16i16, 2, 0, 2, 
20577
0
   0, 
20578
0
  36, 
20579
0
   OPC_CheckChild0Integer, 72|128,92, 
20580
0
   OPC_RecordChild1,
20581
0
   OPC_RecordChild2,
20582
0
   OPC_MoveChild2,
20583
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20584
0
   OPC_MoveParent,
20585
0
   OPC_Scope, 11, 
20586
0
    OPC_CheckPatternPredicate3,
20587
0
    OPC_EmitNodeXForm, 8, 1,
20588
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
20589
0
                  MVT::v16i16, 2, 0, 2, 
20590
0
   11, 
20591
0
    OPC_CheckPatternPredicate5,
20592
0
    OPC_EmitNodeXForm, 8, 1,
20593
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
20594
0
                  MVT::v16i16, 2, 0, 2, 
20595
0
   0, 
20596
0
  36, 
20597
0
   OPC_CheckChild0Integer, 38|128,91, 
20598
0
   OPC_RecordChild1,
20599
0
   OPC_RecordChild2,
20600
0
   OPC_MoveChild2,
20601
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20602
0
   OPC_MoveParent,
20603
0
   OPC_Scope, 11, 
20604
0
    OPC_CheckPatternPredicate3,
20605
0
    OPC_EmitNodeXForm, 8, 1,
20606
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
20607
0
                  MVT::v16i16, 2, 0, 2, 
20608
0
   11, 
20609
0
    OPC_CheckPatternPredicate5,
20610
0
    OPC_EmitNodeXForm, 8, 1,
20611
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
20612
0
                  MVT::v16i16, 2, 0, 2, 
20613
0
   0, 
20614
0
  36, 
20615
0
   OPC_CheckChild0Integer, 90|128,91, 
20616
0
   OPC_RecordChild1,
20617
0
   OPC_RecordChild2,
20618
0
   OPC_MoveChild2,
20619
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20620
0
   OPC_MoveParent,
20621
0
   OPC_Scope, 11, 
20622
0
    OPC_CheckPatternPredicate3,
20623
0
    OPC_EmitNodeXForm, 8, 1,
20624
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
20625
0
                  MVT::v16i16, 2, 0, 2, 
20626
0
   11, 
20627
0
    OPC_CheckPatternPredicate5,
20628
0
    OPC_EmitNodeXForm, 8, 1,
20629
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
20630
0
                  MVT::v16i16, 2, 0, 2, 
20631
0
   0, 
20632
0
  36, 
20633
0
   OPC_CheckChild0Integer, 92|128,91, 
20634
0
   OPC_RecordChild1,
20635
0
   OPC_RecordChild2,
20636
0
   OPC_MoveChild2,
20637
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20638
0
   OPC_MoveParent,
20639
0
   OPC_Scope, 11, 
20640
0
    OPC_CheckPatternPredicate3,
20641
0
    OPC_EmitNodeXForm, 8, 1,
20642
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
20643
0
                  MVT::v16i16, 2, 0, 2, 
20644
0
   11, 
20645
0
    OPC_CheckPatternPredicate5,
20646
0
    OPC_EmitNodeXForm, 8, 1,
20647
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
20648
0
                  MVT::v16i16, 2, 0, 2, 
20649
0
   0, 
20650
0
  36, 
20651
0
   OPC_CheckChild0Integer, 22|128,92, 
20652
0
   OPC_RecordChild1,
20653
0
   OPC_RecordChild2,
20654
0
   OPC_MoveChild2,
20655
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20656
0
   OPC_MoveParent,
20657
0
   OPC_Scope, 11, 
20658
0
    OPC_CheckPatternPredicate3,
20659
0
    OPC_EmitNodeXForm, 8, 1,
20660
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
20661
0
                  MVT::v16i16, 2, 0, 2, 
20662
0
   11, 
20663
0
    OPC_CheckPatternPredicate5,
20664
0
    OPC_EmitNodeXForm, 8, 1,
20665
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
20666
0
                  MVT::v16i16, 2, 0, 2, 
20667
0
   0, 
20668
0
  36, 
20669
0
   OPC_CheckChild0Integer, 24|128,92, 
20670
0
   OPC_RecordChild1,
20671
0
   OPC_RecordChild2,
20672
0
   OPC_MoveChild2,
20673
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20674
0
   OPC_MoveParent,
20675
0
   OPC_Scope, 11, 
20676
0
    OPC_CheckPatternPredicate3,
20677
0
    OPC_EmitNodeXForm, 8, 1,
20678
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
20679
0
                  MVT::v16i16, 2, 0, 2, 
20680
0
   11, 
20681
0
    OPC_CheckPatternPredicate5,
20682
0
    OPC_EmitNodeXForm, 8, 1,
20683
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
20684
0
                  MVT::v16i16, 2, 0, 2, 
20685
0
   0, 
20686
0
  36, 
20687
0
   OPC_CheckChild0Integer, 68|128,90, 
20688
0
   OPC_RecordChild1,
20689
0
   OPC_RecordChild2,
20690
0
   OPC_MoveChild2,
20691
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20692
0
   OPC_MoveParent,
20693
0
   OPC_Scope, 11, 
20694
0
    OPC_CheckPatternPredicate3,
20695
0
    OPC_EmitNodeXForm, 8, 1,
20696
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
20697
0
                  MVT::v16i16, 2, 0, 2, 
20698
0
   11, 
20699
0
    OPC_CheckPatternPredicate5,
20700
0
    OPC_EmitNodeXForm, 8, 1,
20701
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
20702
0
                  MVT::v16i16, 2, 0, 2, 
20703
0
   0, 
20704
0
  36, 
20705
0
   OPC_CheckChild0Integer, 54|128,91, 
20706
0
   OPC_RecordChild1,
20707
0
   OPC_RecordChild2,
20708
0
   OPC_MoveChild2,
20709
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20710
0
   OPC_MoveParent,
20711
0
   OPC_Scope, 11, 
20712
0
    OPC_CheckPatternPredicate3,
20713
0
    OPC_EmitNodeXForm, 8, 1,
20714
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
20715
0
                  MVT::v16i16, 2, 0, 2, 
20716
0
   11, 
20717
0
    OPC_CheckPatternPredicate5,
20718
0
    OPC_EmitNodeXForm, 8, 1,
20719
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
20720
0
                  MVT::v16i16, 2, 0, 2, 
20721
0
   0, 
20722
0
  36, 
20723
0
   OPC_CheckChild0Integer, 22|128,91, 
20724
0
   OPC_RecordChild1,
20725
0
   OPC_RecordChild2,
20726
0
   OPC_MoveChild2,
20727
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20728
0
   OPC_MoveParent,
20729
0
   OPC_Scope, 11, 
20730
0
    OPC_CheckPatternPredicate3,
20731
0
    OPC_EmitNodeXForm, 8, 1,
20732
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
20733
0
                  MVT::v8i32, 2, 0, 2, 
20734
0
   11, 
20735
0
    OPC_CheckPatternPredicate5,
20736
0
    OPC_EmitNodeXForm, 8, 1,
20737
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
20738
0
                  MVT::v8i32, 2, 0, 2, 
20739
0
   0, 
20740
0
  36, 
20741
0
   OPC_CheckChild0Integer, 24|128,91, 
20742
0
   OPC_RecordChild1,
20743
0
   OPC_RecordChild2,
20744
0
   OPC_MoveChild2,
20745
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20746
0
   OPC_MoveParent,
20747
0
   OPC_Scope, 11, 
20748
0
    OPC_CheckPatternPredicate3,
20749
0
    OPC_EmitNodeXForm, 8, 1,
20750
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
20751
0
                  MVT::v8i32, 2, 0, 2, 
20752
0
   11, 
20753
0
    OPC_CheckPatternPredicate5,
20754
0
    OPC_EmitNodeXForm, 8, 1,
20755
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
20756
0
                  MVT::v8i32, 2, 0, 2, 
20757
0
   0, 
20758
0
  36, 
20759
0
   OPC_CheckChild0Integer, 120|128,90, 
20760
0
   OPC_RecordChild1,
20761
0
   OPC_RecordChild2,
20762
0
   OPC_MoveChild2,
20763
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20764
0
   OPC_MoveParent,
20765
0
   OPC_Scope, 11, 
20766
0
    OPC_CheckPatternPredicate3,
20767
0
    OPC_EmitNodeXForm, 8, 1,
20768
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
20769
0
                  MVT::v8i32, 2, 0, 2, 
20770
0
   11, 
20771
0
    OPC_CheckPatternPredicate5,
20772
0
    OPC_EmitNodeXForm, 8, 1,
20773
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
20774
0
                  MVT::v8i32, 2, 0, 2, 
20775
0
   0, 
20776
0
  36, 
20777
0
   OPC_CheckChild0Integer, 114|128,91, 
20778
0
   OPC_RecordChild1,
20779
0
   OPC_RecordChild2,
20780
0
   OPC_MoveChild2,
20781
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20782
0
   OPC_MoveParent,
20783
0
   OPC_Scope, 11, 
20784
0
    OPC_CheckPatternPredicate3,
20785
0
    OPC_EmitNodeXForm, 8, 1,
20786
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
20787
0
                  MVT::v4i64, 2, 0, 2, 
20788
0
   11, 
20789
0
    OPC_CheckPatternPredicate5,
20790
0
    OPC_EmitNodeXForm, 8, 1,
20791
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
20792
0
                  MVT::v4i64, 2, 0, 2, 
20793
0
   0, 
20794
0
  36, 
20795
0
   OPC_CheckChild0Integer, 116|128,91, 
20796
0
   OPC_RecordChild1,
20797
0
   OPC_RecordChild2,
20798
0
   OPC_MoveChild2,
20799
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20800
0
   OPC_MoveParent,
20801
0
   OPC_Scope, 11, 
20802
0
    OPC_CheckPatternPredicate3,
20803
0
    OPC_EmitNodeXForm, 8, 1,
20804
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
20805
0
                  MVT::v4i64, 2, 0, 2, 
20806
0
   11, 
20807
0
    OPC_CheckPatternPredicate5,
20808
0
    OPC_EmitNodeXForm, 8, 1,
20809
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
20810
0
                  MVT::v4i64, 2, 0, 2, 
20811
0
   0, 
20812
0
  36, 
20813
0
   OPC_CheckChild0Integer, 6|128,93, 
20814
0
   OPC_RecordChild1,
20815
0
   OPC_RecordChild2,
20816
0
   OPC_MoveChild2,
20817
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20818
0
   OPC_MoveParent,
20819
0
   OPC_Scope, 11, 
20820
0
    OPC_CheckPatternPredicate3,
20821
0
    OPC_EmitNodeXForm, 8, 1,
20822
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
20823
0
                  MVT::v8i32, 2, 0, 2, 
20824
0
   11, 
20825
0
    OPC_CheckPatternPredicate5,
20826
0
    OPC_EmitNodeXForm, 8, 1,
20827
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
20828
0
                  MVT::v8i32, 2, 0, 2, 
20829
0
   0, 
20830
0
  36, 
20831
0
   OPC_CheckChild0Integer, 74|128,92, 
20832
0
   OPC_RecordChild1,
20833
0
   OPC_RecordChild2,
20834
0
   OPC_MoveChild2,
20835
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20836
0
   OPC_MoveParent,
20837
0
   OPC_Scope, 11, 
20838
0
    OPC_CheckPatternPredicate3,
20839
0
    OPC_EmitNodeXForm, 8, 1,
20840
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
20841
0
                  MVT::v8i32, 2, 0, 2, 
20842
0
   11, 
20843
0
    OPC_CheckPatternPredicate5,
20844
0
    OPC_EmitNodeXForm, 8, 1,
20845
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
20846
0
                  MVT::v8i32, 2, 0, 2, 
20847
0
   0, 
20848
0
  36, 
20849
0
   OPC_CheckChild0Integer, 40|128,91, 
20850
0
   OPC_RecordChild1,
20851
0
   OPC_RecordChild2,
20852
0
   OPC_MoveChild2,
20853
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20854
0
   OPC_MoveParent,
20855
0
   OPC_Scope, 11, 
20856
0
    OPC_CheckPatternPredicate3,
20857
0
    OPC_EmitNodeXForm, 8, 1,
20858
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
20859
0
                  MVT::v8i32, 2, 0, 2, 
20860
0
   11, 
20861
0
    OPC_CheckPatternPredicate5,
20862
0
    OPC_EmitNodeXForm, 8, 1,
20863
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
20864
0
                  MVT::v8i32, 2, 0, 2, 
20865
0
   0, 
20866
0
  36, 
20867
0
   OPC_CheckChild0Integer, 94|128,91, 
20868
0
   OPC_RecordChild1,
20869
0
   OPC_RecordChild2,
20870
0
   OPC_MoveChild2,
20871
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20872
0
   OPC_MoveParent,
20873
0
   OPC_Scope, 11, 
20874
0
    OPC_CheckPatternPredicate3,
20875
0
    OPC_EmitNodeXForm, 8, 1,
20876
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
20877
0
                  MVT::v8i32, 2, 0, 2, 
20878
0
   11, 
20879
0
    OPC_CheckPatternPredicate5,
20880
0
    OPC_EmitNodeXForm, 8, 1,
20881
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
20882
0
                  MVT::v8i32, 2, 0, 2, 
20883
0
   0, 
20884
0
  36, 
20885
0
   OPC_CheckChild0Integer, 96|128,91, 
20886
0
   OPC_RecordChild1,
20887
0
   OPC_RecordChild2,
20888
0
   OPC_MoveChild2,
20889
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20890
0
   OPC_MoveParent,
20891
0
   OPC_Scope, 11, 
20892
0
    OPC_CheckPatternPredicate3,
20893
0
    OPC_EmitNodeXForm, 8, 1,
20894
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
20895
0
                  MVT::v8i32, 2, 0, 2, 
20896
0
   11, 
20897
0
    OPC_CheckPatternPredicate5,
20898
0
    OPC_EmitNodeXForm, 8, 1,
20899
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
20900
0
                  MVT::v8i32, 2, 0, 2, 
20901
0
   0, 
20902
0
  36, 
20903
0
   OPC_CheckChild0Integer, 26|128,92, 
20904
0
   OPC_RecordChild1,
20905
0
   OPC_RecordChild2,
20906
0
   OPC_MoveChild2,
20907
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20908
0
   OPC_MoveParent,
20909
0
   OPC_Scope, 11, 
20910
0
    OPC_CheckPatternPredicate3,
20911
0
    OPC_EmitNodeXForm, 8, 1,
20912
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
20913
0
                  MVT::v8i32, 2, 0, 2, 
20914
0
   11, 
20915
0
    OPC_CheckPatternPredicate5,
20916
0
    OPC_EmitNodeXForm, 8, 1,
20917
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
20918
0
                  MVT::v8i32, 2, 0, 2, 
20919
0
   0, 
20920
0
  36, 
20921
0
   OPC_CheckChild0Integer, 28|128,92, 
20922
0
   OPC_RecordChild1,
20923
0
   OPC_RecordChild2,
20924
0
   OPC_MoveChild2,
20925
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20926
0
   OPC_MoveParent,
20927
0
   OPC_Scope, 11, 
20928
0
    OPC_CheckPatternPredicate3,
20929
0
    OPC_EmitNodeXForm, 8, 1,
20930
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
20931
0
                  MVT::v8i32, 2, 0, 2, 
20932
0
   11, 
20933
0
    OPC_CheckPatternPredicate5,
20934
0
    OPC_EmitNodeXForm, 8, 1,
20935
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
20936
0
                  MVT::v8i32, 2, 0, 2, 
20937
0
   0, 
20938
0
  36, 
20939
0
   OPC_CheckChild0Integer, 70|128,90, 
20940
0
   OPC_RecordChild1,
20941
0
   OPC_RecordChild2,
20942
0
   OPC_MoveChild2,
20943
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20944
0
   OPC_MoveParent,
20945
0
   OPC_Scope, 11, 
20946
0
    OPC_CheckPatternPredicate3,
20947
0
    OPC_EmitNodeXForm, 8, 1,
20948
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
20949
0
                  MVT::v8i32, 2, 0, 2, 
20950
0
   11, 
20951
0
    OPC_CheckPatternPredicate5,
20952
0
    OPC_EmitNodeXForm, 8, 1,
20953
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
20954
0
                  MVT::v8i32, 2, 0, 2, 
20955
0
   0, 
20956
0
  36, 
20957
0
   OPC_CheckChild0Integer, 56|128,91, 
20958
0
   OPC_RecordChild1,
20959
0
   OPC_RecordChild2,
20960
0
   OPC_MoveChild2,
20961
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20962
0
   OPC_MoveParent,
20963
0
   OPC_Scope, 11, 
20964
0
    OPC_CheckPatternPredicate3,
20965
0
    OPC_EmitNodeXForm, 8, 1,
20966
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
20967
0
                  MVT::v8i32, 2, 0, 2, 
20968
0
   11, 
20969
0
    OPC_CheckPatternPredicate5,
20970
0
    OPC_EmitNodeXForm, 8, 1,
20971
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
20972
0
                  MVT::v8i32, 2, 0, 2, 
20973
0
   0, 
20974
0
  36, 
20975
0
   OPC_CheckChild0Integer, 52|128,90, 
20976
0
   OPC_RecordChild1,
20977
0
   OPC_RecordChild2,
20978
0
   OPC_MoveChild2,
20979
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20980
0
   OPC_MoveParent,
20981
0
   OPC_Scope, 11, 
20982
0
    OPC_CheckPatternPredicate3,
20983
0
    OPC_EmitNodeXForm, 8, 1,
20984
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
20985
0
                  MVT::v8i32, 2, 0, 2, 
20986
0
   11, 
20987
0
    OPC_CheckPatternPredicate5,
20988
0
    OPC_EmitNodeXForm, 8, 1,
20989
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
20990
0
                  MVT::v8i32, 2, 0, 2, 
20991
0
   0, 
20992
0
  36, 
20993
0
   OPC_CheckChild0Integer, 14|128,91, 
20994
0
   OPC_RecordChild1,
20995
0
   OPC_RecordChild2,
20996
0
   OPC_MoveChild2,
20997
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20998
0
   OPC_MoveParent,
20999
0
   OPC_Scope, 11, 
21000
0
    OPC_CheckPatternPredicate3,
21001
0
    OPC_EmitNodeXForm, 8, 1,
21002
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
21003
0
                  MVT::v4i64, 2, 0, 2, 
21004
0
   11, 
21005
0
    OPC_CheckPatternPredicate5,
21006
0
    OPC_EmitNodeXForm, 8, 1,
21007
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
21008
0
                  MVT::v4i64, 2, 0, 2, 
21009
0
   0, 
21010
0
  36, 
21011
0
   OPC_CheckChild0Integer, 16|128,91, 
21012
0
   OPC_RecordChild1,
21013
0
   OPC_RecordChild2,
21014
0
   OPC_MoveChild2,
21015
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21016
0
   OPC_MoveParent,
21017
0
   OPC_Scope, 11, 
21018
0
    OPC_CheckPatternPredicate3,
21019
0
    OPC_EmitNodeXForm, 8, 1,
21020
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
21021
0
                  MVT::v4i64, 2, 0, 2, 
21022
0
   11, 
21023
0
    OPC_CheckPatternPredicate5,
21024
0
    OPC_EmitNodeXForm, 8, 1,
21025
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
21026
0
                  MVT::v4i64, 2, 0, 2, 
21027
0
   0, 
21028
0
  36, 
21029
0
   OPC_CheckChild0Integer, 116|128,90, 
21030
0
   OPC_RecordChild1,
21031
0
   OPC_RecordChild2,
21032
0
   OPC_MoveChild2,
21033
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21034
0
   OPC_MoveParent,
21035
0
   OPC_Scope, 11, 
21036
0
    OPC_CheckPatternPredicate3,
21037
0
    OPC_EmitNodeXForm, 8, 1,
21038
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
21039
0
                  MVT::v4i64, 2, 0, 2, 
21040
0
   11, 
21041
0
    OPC_CheckPatternPredicate5,
21042
0
    OPC_EmitNodeXForm, 8, 1,
21043
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
21044
0
                  MVT::v4i64, 2, 0, 2, 
21045
0
   0, 
21046
0
  36, 
21047
0
   OPC_CheckChild0Integer, 2|128,93, 
21048
0
   OPC_RecordChild1,
21049
0
   OPC_RecordChild2,
21050
0
   OPC_MoveChild2,
21051
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21052
0
   OPC_MoveParent,
21053
0
   OPC_Scope, 11, 
21054
0
    OPC_CheckPatternPredicate3,
21055
0
    OPC_EmitNodeXForm, 8, 1,
21056
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
21057
0
                  MVT::v4i64, 2, 0, 2, 
21058
0
   11, 
21059
0
    OPC_CheckPatternPredicate5,
21060
0
    OPC_EmitNodeXForm, 8, 1,
21061
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
21062
0
                  MVT::v4i64, 2, 0, 2, 
21063
0
   0, 
21064
0
  36, 
21065
0
   OPC_CheckChild0Integer, 70|128,92, 
21066
0
   OPC_RecordChild1,
21067
0
   OPC_RecordChild2,
21068
0
   OPC_MoveChild2,
21069
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21070
0
   OPC_MoveParent,
21071
0
   OPC_Scope, 11, 
21072
0
    OPC_CheckPatternPredicate3,
21073
0
    OPC_EmitNodeXForm, 8, 1,
21074
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
21075
0
                  MVT::v4i64, 2, 0, 2, 
21076
0
   11, 
21077
0
    OPC_CheckPatternPredicate5,
21078
0
    OPC_EmitNodeXForm, 8, 1,
21079
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
21080
0
                  MVT::v4i64, 2, 0, 2, 
21081
0
   0, 
21082
0
  36, 
21083
0
   OPC_CheckChild0Integer, 36|128,91, 
21084
0
   OPC_RecordChild1,
21085
0
   OPC_RecordChild2,
21086
0
   OPC_MoveChild2,
21087
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21088
0
   OPC_MoveParent,
21089
0
   OPC_Scope, 11, 
21090
0
    OPC_CheckPatternPredicate3,
21091
0
    OPC_EmitNodeXForm, 8, 1,
21092
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
21093
0
                  MVT::v4i64, 2, 0, 2, 
21094
0
   11, 
21095
0
    OPC_CheckPatternPredicate5,
21096
0
    OPC_EmitNodeXForm, 8, 1,
21097
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
21098
0
                  MVT::v4i64, 2, 0, 2, 
21099
0
   0, 
21100
0
  36, 
21101
0
   OPC_CheckChild0Integer, 86|128,91, 
21102
0
   OPC_RecordChild1,
21103
0
   OPC_RecordChild2,
21104
0
   OPC_MoveChild2,
21105
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21106
0
   OPC_MoveParent,
21107
0
   OPC_Scope, 11, 
21108
0
    OPC_CheckPatternPredicate3,
21109
0
    OPC_EmitNodeXForm, 8, 1,
21110
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
21111
0
                  MVT::v4i64, 2, 0, 2, 
21112
0
   11, 
21113
0
    OPC_CheckPatternPredicate5,
21114
0
    OPC_EmitNodeXForm, 8, 1,
21115
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
21116
0
                  MVT::v4i64, 2, 0, 2, 
21117
0
   0, 
21118
0
  36, 
21119
0
   OPC_CheckChild0Integer, 88|128,91, 
21120
0
   OPC_RecordChild1,
21121
0
   OPC_RecordChild2,
21122
0
   OPC_MoveChild2,
21123
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21124
0
   OPC_MoveParent,
21125
0
   OPC_Scope, 11, 
21126
0
    OPC_CheckPatternPredicate3,
21127
0
    OPC_EmitNodeXForm, 8, 1,
21128
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
21129
0
                  MVT::v4i64, 2, 0, 2, 
21130
0
   11, 
21131
0
    OPC_CheckPatternPredicate5,
21132
0
    OPC_EmitNodeXForm, 8, 1,
21133
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
21134
0
                  MVT::v4i64, 2, 0, 2, 
21135
0
   0, 
21136
0
  36, 
21137
0
   OPC_CheckChild0Integer, 18|128,92, 
21138
0
   OPC_RecordChild1,
21139
0
   OPC_RecordChild2,
21140
0
   OPC_MoveChild2,
21141
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21142
0
   OPC_MoveParent,
21143
0
   OPC_Scope, 11, 
21144
0
    OPC_CheckPatternPredicate3,
21145
0
    OPC_EmitNodeXForm, 8, 1,
21146
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
21147
0
                  MVT::v4i64, 2, 0, 2, 
21148
0
   11, 
21149
0
    OPC_CheckPatternPredicate5,
21150
0
    OPC_EmitNodeXForm, 8, 1,
21151
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
21152
0
                  MVT::v4i64, 2, 0, 2, 
21153
0
   0, 
21154
0
  36, 
21155
0
   OPC_CheckChild0Integer, 20|128,92, 
21156
0
   OPC_RecordChild1,
21157
0
   OPC_RecordChild2,
21158
0
   OPC_MoveChild2,
21159
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21160
0
   OPC_MoveParent,
21161
0
   OPC_Scope, 11, 
21162
0
    OPC_CheckPatternPredicate3,
21163
0
    OPC_EmitNodeXForm, 8, 1,
21164
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
21165
0
                  MVT::v4i64, 2, 0, 2, 
21166
0
   11, 
21167
0
    OPC_CheckPatternPredicate5,
21168
0
    OPC_EmitNodeXForm, 8, 1,
21169
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
21170
0
                  MVT::v4i64, 2, 0, 2, 
21171
0
   0, 
21172
0
  36, 
21173
0
   OPC_CheckChild0Integer, 66|128,90, 
21174
0
   OPC_RecordChild1,
21175
0
   OPC_RecordChild2,
21176
0
   OPC_MoveChild2,
21177
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21178
0
   OPC_MoveParent,
21179
0
   OPC_Scope, 11, 
21180
0
    OPC_CheckPatternPredicate3,
21181
0
    OPC_EmitNodeXForm, 8, 1,
21182
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
21183
0
                  MVT::v4i64, 2, 0, 2, 
21184
0
   11, 
21185
0
    OPC_CheckPatternPredicate5,
21186
0
    OPC_EmitNodeXForm, 8, 1,
21187
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
21188
0
                  MVT::v4i64, 2, 0, 2, 
21189
0
   0, 
21190
0
  36, 
21191
0
   OPC_CheckChild0Integer, 26|128,90, 
21192
0
   OPC_RecordChild1,
21193
0
   OPC_RecordChild2,
21194
0
   OPC_MoveChild2,
21195
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21196
0
   OPC_MoveParent,
21197
0
   OPC_Scope, 11, 
21198
0
    OPC_CheckPatternPredicate3,
21199
0
    OPC_EmitNodeXForm, 8, 1,
21200
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
21201
0
                  MVT::v4i64, 2, 0, 2, 
21202
0
   11, 
21203
0
    OPC_CheckPatternPredicate5,
21204
0
    OPC_EmitNodeXForm, 8, 1,
21205
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
21206
0
                  MVT::v4i64, 2, 0, 2, 
21207
0
   0, 
21208
0
  36, 
21209
0
   OPC_CheckChild0Integer, 48|128,90, 
21210
0
   OPC_RecordChild1,
21211
0
   OPC_RecordChild2,
21212
0
   OPC_MoveChild2,
21213
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21214
0
   OPC_MoveParent,
21215
0
   OPC_Scope, 11, 
21216
0
    OPC_CheckPatternPredicate3,
21217
0
    OPC_EmitNodeXForm, 8, 1,
21218
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
21219
0
                  MVT::v4i64, 2, 0, 2, 
21220
0
   11, 
21221
0
    OPC_CheckPatternPredicate5,
21222
0
    OPC_EmitNodeXForm, 8, 1,
21223
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
21224
0
                  MVT::v4i64, 2, 0, 2, 
21225
0
   0, 
21226
0
  39, 
21227
0
   OPC_CheckChild0Integer, 112|128,92, 
21228
0
   OPC_RecordChild1,
21229
0
   OPC_RecordChild2,
21230
0
   OPC_RecordChild3,
21231
0
   OPC_MoveChild3,
21232
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21233
0
   OPC_MoveParent,
21234
0
   OPC_Scope, 12, 
21235
0
    OPC_CheckPatternPredicate3,
21236
0
    OPC_EmitNodeXForm, 8, 2,
21237
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
21238
0
                  MVT::v32i8, 3, 0, 1, 3, 
21239
0
   12, 
21240
0
    OPC_CheckPatternPredicate5,
21241
0
    OPC_EmitNodeXForm, 8, 2,
21242
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
21243
0
                  MVT::v32i8, 3, 0, 1, 3, 
21244
0
   0, 
21245
0
  39, 
21246
0
   OPC_CheckChild0Integer, 52|128,92, 
21247
0
   OPC_RecordChild1,
21248
0
   OPC_RecordChild2,
21249
0
   OPC_RecordChild3,
21250
0
   OPC_MoveChild3,
21251
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21252
0
   OPC_MoveParent,
21253
0
   OPC_Scope, 12, 
21254
0
    OPC_CheckPatternPredicate3,
21255
0
    OPC_EmitNodeXForm, 8, 2,
21256
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
21257
0
                  MVT::v32i8, 3, 0, 1, 3, 
21258
0
   12, 
21259
0
    OPC_CheckPatternPredicate5,
21260
0
    OPC_EmitNodeXForm, 8, 2,
21261
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
21262
0
                  MVT::v32i8, 3, 0, 1, 3, 
21263
0
   0, 
21264
0
  39, 
21265
0
   OPC_CheckChild0Integer, 14|128,93, 
21266
0
   OPC_RecordChild1,
21267
0
   OPC_RecordChild2,
21268
0
   OPC_RecordChild3,
21269
0
   OPC_MoveChild3,
21270
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21271
0
   OPC_MoveParent,
21272
0
   OPC_Scope, 12, 
21273
0
    OPC_CheckPatternPredicate3,
21274
0
    OPC_EmitNodeXForm, 8, 2,
21275
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
21276
0
                  MVT::v32i8, 3, 0, 1, 3, 
21277
0
   12, 
21278
0
    OPC_CheckPatternPredicate5,
21279
0
    OPC_EmitNodeXForm, 8, 2,
21280
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
21281
0
                  MVT::v32i8, 3, 0, 1, 3, 
21282
0
   0, 
21283
0
  39, 
21284
0
   OPC_CheckChild0Integer, 82|128,92, 
21285
0
   OPC_RecordChild1,
21286
0
   OPC_RecordChild2,
21287
0
   OPC_RecordChild3,
21288
0
   OPC_MoveChild3,
21289
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21290
0
   OPC_MoveParent,
21291
0
   OPC_Scope, 12, 
21292
0
    OPC_CheckPatternPredicate3,
21293
0
    OPC_EmitNodeXForm, 8, 2,
21294
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
21295
0
                  MVT::v32i8, 3, 0, 1, 3, 
21296
0
   12, 
21297
0
    OPC_CheckPatternPredicate5,
21298
0
    OPC_EmitNodeXForm, 8, 2,
21299
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
21300
0
                  MVT::v32i8, 3, 0, 1, 3, 
21301
0
   0, 
21302
0
  39, 
21303
0
   OPC_CheckChild0Integer, 90|128,93, 
21304
0
   OPC_RecordChild1,
21305
0
   OPC_RecordChild2,
21306
0
   OPC_RecordChild3,
21307
0
   OPC_MoveChild3,
21308
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21309
0
   OPC_MoveParent,
21310
0
   OPC_Scope, 12, 
21311
0
    OPC_CheckPatternPredicate3,
21312
0
    OPC_EmitNodeXForm, 8, 2,
21313
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
21314
0
                  MVT::v32i8, 3, 0, 1, 3, 
21315
0
   12, 
21316
0
    OPC_CheckPatternPredicate5,
21317
0
    OPC_EmitNodeXForm, 8, 2,
21318
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
21319
0
                  MVT::v32i8, 3, 0, 1, 3, 
21320
0
   0, 
21321
0
  39, 
21322
0
   OPC_CheckChild0Integer, 34|128,93, 
21323
0
   OPC_RecordChild1,
21324
0
   OPC_RecordChild2,
21325
0
   OPC_RecordChild3,
21326
0
   OPC_MoveChild3,
21327
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21328
0
   OPC_MoveParent,
21329
0
   OPC_Scope, 12, 
21330
0
    OPC_CheckPatternPredicate3,
21331
0
    OPC_EmitNodeXForm, 8, 2,
21332
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
21333
0
                  MVT::v32i8, 3, 0, 1, 3, 
21334
0
   12, 
21335
0
    OPC_CheckPatternPredicate5,
21336
0
    OPC_EmitNodeXForm, 8, 2,
21337
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
21338
0
                  MVT::v32i8, 3, 0, 1, 3, 
21339
0
   0, 
21340
0
  39, 
21341
0
   OPC_CheckChild0Integer, 92|128,93, 
21342
0
   OPC_RecordChild1,
21343
0
   OPC_RecordChild2,
21344
0
   OPC_RecordChild3,
21345
0
   OPC_MoveChild3,
21346
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21347
0
   OPC_MoveParent,
21348
0
   OPC_Scope, 12, 
21349
0
    OPC_CheckPatternPredicate3,
21350
0
    OPC_EmitNodeXForm, 8, 2,
21351
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
21352
0
                  MVT::v32i8, 3, 0, 1, 3, 
21353
0
   12, 
21354
0
    OPC_CheckPatternPredicate5,
21355
0
    OPC_EmitNodeXForm, 8, 2,
21356
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
21357
0
                  MVT::v32i8, 3, 0, 1, 3, 
21358
0
   0, 
21359
0
  39, 
21360
0
   OPC_CheckChild0Integer, 36|128,93, 
21361
0
   OPC_RecordChild1,
21362
0
   OPC_RecordChild2,
21363
0
   OPC_RecordChild3,
21364
0
   OPC_MoveChild3,
21365
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21366
0
   OPC_MoveParent,
21367
0
   OPC_Scope, 12, 
21368
0
    OPC_CheckPatternPredicate3,
21369
0
    OPC_EmitNodeXForm, 8, 2,
21370
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
21371
0
                  MVT::v32i8, 3, 0, 1, 3, 
21372
0
   12, 
21373
0
    OPC_CheckPatternPredicate5,
21374
0
    OPC_EmitNodeXForm, 8, 2,
21375
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
21376
0
                  MVT::v32i8, 3, 0, 1, 3, 
21377
0
   0, 
21378
0
  39, 
21379
0
   OPC_CheckChild0Integer, 118|128,93, 
21380
0
   OPC_RecordChild1,
21381
0
   OPC_RecordChild2,
21382
0
   OPC_RecordChild3,
21383
0
   OPC_MoveChild3,
21384
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21385
0
   OPC_MoveParent,
21386
0
   OPC_Scope, 12, 
21387
0
    OPC_CheckPatternPredicate3,
21388
0
    OPC_EmitNodeXForm, 8, 2,
21389
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
21390
0
                  MVT::v32i8, 3, 0, 1, 3, 
21391
0
   12, 
21392
0
    OPC_CheckPatternPredicate5,
21393
0
    OPC_EmitNodeXForm, 8, 2,
21394
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
21395
0
                  MVT::v32i8, 3, 0, 1, 3, 
21396
0
   0, 
21397
0
  39, 
21398
0
   OPC_CheckChild0Integer, 62|128,93, 
21399
0
   OPC_RecordChild1,
21400
0
   OPC_RecordChild2,
21401
0
   OPC_RecordChild3,
21402
0
   OPC_MoveChild3,
21403
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21404
0
   OPC_MoveParent,
21405
0
   OPC_Scope, 12, 
21406
0
    OPC_CheckPatternPredicate3,
21407
0
    OPC_EmitNodeXForm, 8, 2,
21408
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
21409
0
                  MVT::v32i8, 3, 0, 1, 3, 
21410
0
   12, 
21411
0
    OPC_CheckPatternPredicate5,
21412
0
    OPC_EmitNodeXForm, 8, 2,
21413
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
21414
0
                  MVT::v32i8, 3, 0, 1, 3, 
21415
0
   0, 
21416
0
  39, 
21417
0
   OPC_CheckChild0Integer, 120|128,93, 
21418
0
   OPC_RecordChild1,
21419
0
   OPC_RecordChild2,
21420
0
   OPC_RecordChild3,
21421
0
   OPC_MoveChild3,
21422
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21423
0
   OPC_MoveParent,
21424
0
   OPC_Scope, 12, 
21425
0
    OPC_CheckPatternPredicate3,
21426
0
    OPC_EmitNodeXForm, 8, 2,
21427
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
21428
0
                  MVT::v32i8, 3, 0, 1, 3, 
21429
0
   12, 
21430
0
    OPC_CheckPatternPredicate5,
21431
0
    OPC_EmitNodeXForm, 8, 2,
21432
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
21433
0
                  MVT::v32i8, 3, 0, 1, 3, 
21434
0
   0, 
21435
0
  39, 
21436
0
   OPC_CheckChild0Integer, 64|128,93, 
21437
0
   OPC_RecordChild1,
21438
0
   OPC_RecordChild2,
21439
0
   OPC_RecordChild3,
21440
0
   OPC_MoveChild3,
21441
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21442
0
   OPC_MoveParent,
21443
0
   OPC_Scope, 12, 
21444
0
    OPC_CheckPatternPredicate3,
21445
0
    OPC_EmitNodeXForm, 8, 2,
21446
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
21447
0
                  MVT::v32i8, 3, 0, 1, 3, 
21448
0
   12, 
21449
0
    OPC_CheckPatternPredicate5,
21450
0
    OPC_EmitNodeXForm, 8, 2,
21451
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
21452
0
                  MVT::v32i8, 3, 0, 1, 3, 
21453
0
   0, 
21454
0
  39, 
21455
0
   OPC_CheckChild0Integer, 126|128,86, 
21456
0
   OPC_RecordChild1,
21457
0
   OPC_RecordChild2,
21458
0
   OPC_RecordChild3,
21459
0
   OPC_MoveChild3,
21460
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21461
0
   OPC_MoveParent,
21462
0
   OPC_Scope, 12, 
21463
0
    OPC_CheckPatternPredicate3,
21464
0
    OPC_EmitNodeXForm, 8, 2,
21465
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
21466
0
                  MVT::v32i8, 3, 0, 1, 3, 
21467
0
   12, 
21468
0
    OPC_CheckPatternPredicate5,
21469
0
    OPC_EmitNodeXForm, 8, 2,
21470
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
21471
0
                  MVT::v32i8, 3, 0, 1, 3, 
21472
0
   0, 
21473
0
  39, 
21474
0
   OPC_CheckChild0Integer, 102|128,84, 
21475
0
   OPC_RecordChild1,
21476
0
   OPC_RecordChild2,
21477
0
   OPC_RecordChild3,
21478
0
   OPC_MoveChild3,
21479
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21480
0
   OPC_MoveParent,
21481
0
   OPC_Scope, 12, 
21482
0
    OPC_CheckPatternPredicate3,
21483
0
    OPC_EmitNodeXForm, 8, 2,
21484
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
21485
0
                  MVT::v32i8, 3, 0, 1, 3, 
21486
0
   12, 
21487
0
    OPC_CheckPatternPredicate5,
21488
0
    OPC_EmitNodeXForm, 8, 2,
21489
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
21490
0
                  MVT::v32i8, 3, 0, 1, 3, 
21491
0
   0, 
21492
0
  39, 
21493
0
   OPC_CheckChild0Integer, 48|128,85, 
21494
0
   OPC_RecordChild1,
21495
0
   OPC_RecordChild2,
21496
0
   OPC_RecordChild3,
21497
0
   OPC_MoveChild3,
21498
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21499
0
   OPC_MoveParent,
21500
0
   OPC_Scope, 12, 
21501
0
    OPC_CheckPatternPredicate3,
21502
0
    OPC_EmitNodeXForm, 8, 2,
21503
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
21504
0
                  MVT::v32i8, 3, 0, 1, 3, 
21505
0
   12, 
21506
0
    OPC_CheckPatternPredicate5,
21507
0
    OPC_EmitNodeXForm, 8, 2,
21508
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
21509
0
                  MVT::v32i8, 3, 0, 1, 3, 
21510
0
   0, 
21511
0
  39, 
21512
0
   OPC_CheckChild0Integer, 28|128,90, 
21513
0
   OPC_RecordChild1,
21514
0
   OPC_RecordChild2,
21515
0
   OPC_RecordChild3,
21516
0
   OPC_MoveChild3,
21517
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21518
0
   OPC_MoveParent,
21519
0
   OPC_Scope, 12, 
21520
0
    OPC_CheckPatternPredicate3,
21521
0
    OPC_EmitNodeXForm, 8, 2,
21522
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21523
0
                  MVT::v32i8, 3, 0, 1, 3, 
21524
0
   12, 
21525
0
    OPC_CheckPatternPredicate5,
21526
0
    OPC_EmitNodeXForm, 8, 2,
21527
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21528
0
                  MVT::v32i8, 3, 0, 1, 3, 
21529
0
   0, 
21530
0
  39, 
21531
0
   OPC_CheckChild0Integer, 116|128,92, 
21532
0
   OPC_RecordChild1,
21533
0
   OPC_RecordChild2,
21534
0
   OPC_RecordChild3,
21535
0
   OPC_MoveChild3,
21536
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21537
0
   OPC_MoveParent,
21538
0
   OPC_Scope, 12, 
21539
0
    OPC_CheckPatternPredicate3,
21540
0
    OPC_EmitNodeXForm, 8, 2,
21541
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
21542
0
                  MVT::v16i16, 3, 0, 1, 3, 
21543
0
   12, 
21544
0
    OPC_CheckPatternPredicate5,
21545
0
    OPC_EmitNodeXForm, 8, 2,
21546
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
21547
0
                  MVT::v16i16, 3, 0, 1, 3, 
21548
0
   0, 
21549
0
  39, 
21550
0
   OPC_CheckChild0Integer, 56|128,92, 
21551
0
   OPC_RecordChild1,
21552
0
   OPC_RecordChild2,
21553
0
   OPC_RecordChild3,
21554
0
   OPC_MoveChild3,
21555
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21556
0
   OPC_MoveParent,
21557
0
   OPC_Scope, 12, 
21558
0
    OPC_CheckPatternPredicate3,
21559
0
    OPC_EmitNodeXForm, 8, 2,
21560
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
21561
0
                  MVT::v16i16, 3, 0, 1, 3, 
21562
0
   12, 
21563
0
    OPC_CheckPatternPredicate5,
21564
0
    OPC_EmitNodeXForm, 8, 2,
21565
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
21566
0
                  MVT::v16i16, 3, 0, 1, 3, 
21567
0
   0, 
21568
0
  39, 
21569
0
   OPC_CheckChild0Integer, 18|128,93, 
21570
0
   OPC_RecordChild1,
21571
0
   OPC_RecordChild2,
21572
0
   OPC_RecordChild3,
21573
0
   OPC_MoveChild3,
21574
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21575
0
   OPC_MoveParent,
21576
0
   OPC_Scope, 12, 
21577
0
    OPC_CheckPatternPredicate3,
21578
0
    OPC_EmitNodeXForm, 8, 2,
21579
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
21580
0
                  MVT::v16i16, 3, 0, 1, 3, 
21581
0
   12, 
21582
0
    OPC_CheckPatternPredicate5,
21583
0
    OPC_EmitNodeXForm, 8, 2,
21584
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
21585
0
                  MVT::v16i16, 3, 0, 1, 3, 
21586
0
   0, 
21587
0
  39, 
21588
0
   OPC_CheckChild0Integer, 86|128,92, 
21589
0
   OPC_RecordChild1,
21590
0
   OPC_RecordChild2,
21591
0
   OPC_RecordChild3,
21592
0
   OPC_MoveChild3,
21593
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21594
0
   OPC_MoveParent,
21595
0
   OPC_Scope, 12, 
21596
0
    OPC_CheckPatternPredicate3,
21597
0
    OPC_EmitNodeXForm, 8, 2,
21598
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
21599
0
                  MVT::v16i16, 3, 0, 1, 3, 
21600
0
   12, 
21601
0
    OPC_CheckPatternPredicate5,
21602
0
    OPC_EmitNodeXForm, 8, 2,
21603
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
21604
0
                  MVT::v16i16, 3, 0, 1, 3, 
21605
0
   0, 
21606
0
  39, 
21607
0
   OPC_CheckChild0Integer, 98|128,93, 
21608
0
   OPC_RecordChild1,
21609
0
   OPC_RecordChild2,
21610
0
   OPC_RecordChild3,
21611
0
   OPC_MoveChild3,
21612
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21613
0
   OPC_MoveParent,
21614
0
   OPC_Scope, 12, 
21615
0
    OPC_CheckPatternPredicate3,
21616
0
    OPC_EmitNodeXForm, 8, 2,
21617
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
21618
0
                  MVT::v16i16, 3, 0, 1, 3, 
21619
0
   12, 
21620
0
    OPC_CheckPatternPredicate5,
21621
0
    OPC_EmitNodeXForm, 8, 2,
21622
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
21623
0
                  MVT::v16i16, 3, 0, 1, 3, 
21624
0
   0, 
21625
0
  39, 
21626
0
   OPC_CheckChild0Integer, 42|128,93, 
21627
0
   OPC_RecordChild1,
21628
0
   OPC_RecordChild2,
21629
0
   OPC_RecordChild3,
21630
0
   OPC_MoveChild3,
21631
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21632
0
   OPC_MoveParent,
21633
0
   OPC_Scope, 12, 
21634
0
    OPC_CheckPatternPredicate3,
21635
0
    OPC_EmitNodeXForm, 8, 2,
21636
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
21637
0
                  MVT::v16i16, 3, 0, 1, 3, 
21638
0
   12, 
21639
0
    OPC_CheckPatternPredicate5,
21640
0
    OPC_EmitNodeXForm, 8, 2,
21641
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
21642
0
                  MVT::v16i16, 3, 0, 1, 3, 
21643
0
   0, 
21644
0
  39, 
21645
0
   OPC_CheckChild0Integer, 100|128,93, 
21646
0
   OPC_RecordChild1,
21647
0
   OPC_RecordChild2,
21648
0
   OPC_RecordChild3,
21649
0
   OPC_MoveChild3,
21650
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21651
0
   OPC_MoveParent,
21652
0
   OPC_Scope, 12, 
21653
0
    OPC_CheckPatternPredicate3,
21654
0
    OPC_EmitNodeXForm, 8, 2,
21655
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
21656
0
                  MVT::v16i16, 3, 0, 1, 3, 
21657
0
   12, 
21658
0
    OPC_CheckPatternPredicate5,
21659
0
    OPC_EmitNodeXForm, 8, 2,
21660
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
21661
0
                  MVT::v16i16, 3, 0, 1, 3, 
21662
0
   0, 
21663
0
  39, 
21664
0
   OPC_CheckChild0Integer, 44|128,93, 
21665
0
   OPC_RecordChild1,
21666
0
   OPC_RecordChild2,
21667
0
   OPC_RecordChild3,
21668
0
   OPC_MoveChild3,
21669
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21670
0
   OPC_MoveParent,
21671
0
   OPC_Scope, 12, 
21672
0
    OPC_CheckPatternPredicate3,
21673
0
    OPC_EmitNodeXForm, 8, 2,
21674
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
21675
0
                  MVT::v16i16, 3, 0, 1, 3, 
21676
0
   12, 
21677
0
    OPC_CheckPatternPredicate5,
21678
0
    OPC_EmitNodeXForm, 8, 2,
21679
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
21680
0
                  MVT::v16i16, 3, 0, 1, 3, 
21681
0
   0, 
21682
0
  39, 
21683
0
   OPC_CheckChild0Integer, 126|128,93, 
21684
0
   OPC_RecordChild1,
21685
0
   OPC_RecordChild2,
21686
0
   OPC_RecordChild3,
21687
0
   OPC_MoveChild3,
21688
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21689
0
   OPC_MoveParent,
21690
0
   OPC_Scope, 12, 
21691
0
    OPC_CheckPatternPredicate3,
21692
0
    OPC_EmitNodeXForm, 8, 2,
21693
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
21694
0
                  MVT::v16i16, 3, 0, 1, 3, 
21695
0
   12, 
21696
0
    OPC_CheckPatternPredicate5,
21697
0
    OPC_EmitNodeXForm, 8, 2,
21698
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
21699
0
                  MVT::v16i16, 3, 0, 1, 3, 
21700
0
   0, 
21701
0
  39, 
21702
0
   OPC_CheckChild0Integer, 70|128,93, 
21703
0
   OPC_RecordChild1,
21704
0
   OPC_RecordChild2,
21705
0
   OPC_RecordChild3,
21706
0
   OPC_MoveChild3,
21707
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21708
0
   OPC_MoveParent,
21709
0
   OPC_Scope, 12, 
21710
0
    OPC_CheckPatternPredicate3,
21711
0
    OPC_EmitNodeXForm, 8, 2,
21712
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
21713
0
                  MVT::v16i16, 3, 0, 1, 3, 
21714
0
   12, 
21715
0
    OPC_CheckPatternPredicate5,
21716
0
    OPC_EmitNodeXForm, 8, 2,
21717
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
21718
0
                  MVT::v16i16, 3, 0, 1, 3, 
21719
0
   0, 
21720
0
  39, 
21721
0
   OPC_CheckChild0Integer, 0|128,94, 
21722
0
   OPC_RecordChild1,
21723
0
   OPC_RecordChild2,
21724
0
   OPC_RecordChild3,
21725
0
   OPC_MoveChild3,
21726
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21727
0
   OPC_MoveParent,
21728
0
   OPC_Scope, 12, 
21729
0
    OPC_CheckPatternPredicate3,
21730
0
    OPC_EmitNodeXForm, 8, 2,
21731
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
21732
0
                  MVT::v16i16, 3, 0, 1, 3, 
21733
0
   12, 
21734
0
    OPC_CheckPatternPredicate5,
21735
0
    OPC_EmitNodeXForm, 8, 2,
21736
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
21737
0
                  MVT::v16i16, 3, 0, 1, 3, 
21738
0
   0, 
21739
0
  39, 
21740
0
   OPC_CheckChild0Integer, 72|128,93, 
21741
0
   OPC_RecordChild1,
21742
0
   OPC_RecordChild2,
21743
0
   OPC_RecordChild3,
21744
0
   OPC_MoveChild3,
21745
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21746
0
   OPC_MoveParent,
21747
0
   OPC_Scope, 12, 
21748
0
    OPC_CheckPatternPredicate3,
21749
0
    OPC_EmitNodeXForm, 8, 2,
21750
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
21751
0
                  MVT::v16i16, 3, 0, 1, 3, 
21752
0
   12, 
21753
0
    OPC_CheckPatternPredicate5,
21754
0
    OPC_EmitNodeXForm, 8, 2,
21755
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
21756
0
                  MVT::v16i16, 3, 0, 1, 3, 
21757
0
   0, 
21758
0
  39, 
21759
0
   OPC_CheckChild0Integer, 0|128,87, 
21760
0
   OPC_RecordChild1,
21761
0
   OPC_RecordChild2,
21762
0
   OPC_RecordChild3,
21763
0
   OPC_MoveChild3,
21764
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21765
0
   OPC_MoveParent,
21766
0
   OPC_Scope, 12, 
21767
0
    OPC_CheckPatternPredicate3,
21768
0
    OPC_EmitNodeXForm, 8, 2,
21769
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
21770
0
                  MVT::v16i16, 3, 0, 1, 3, 
21771
0
   12, 
21772
0
    OPC_CheckPatternPredicate5,
21773
0
    OPC_EmitNodeXForm, 8, 2,
21774
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
21775
0
                  MVT::v16i16, 3, 0, 1, 3, 
21776
0
   0, 
21777
0
  39, 
21778
0
   OPC_CheckChild0Integer, 52|128,85, 
21779
0
   OPC_RecordChild1,
21780
0
   OPC_RecordChild2,
21781
0
   OPC_RecordChild3,
21782
0
   OPC_MoveChild3,
21783
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21784
0
   OPC_MoveParent,
21785
0
   OPC_Scope, 12, 
21786
0
    OPC_CheckPatternPredicate3,
21787
0
    OPC_EmitNodeXForm, 8, 2,
21788
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
21789
0
                  MVT::v16i16, 3, 0, 1, 3, 
21790
0
   12, 
21791
0
    OPC_CheckPatternPredicate5,
21792
0
    OPC_EmitNodeXForm, 8, 2,
21793
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
21794
0
                  MVT::v16i16, 3, 0, 1, 3, 
21795
0
   0, 
21796
0
  39, 
21797
0
   OPC_CheckChild0Integer, 118|128,92, 
21798
0
   OPC_RecordChild1,
21799
0
   OPC_RecordChild2,
21800
0
   OPC_RecordChild3,
21801
0
   OPC_MoveChild3,
21802
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21803
0
   OPC_MoveParent,
21804
0
   OPC_Scope, 12, 
21805
0
    OPC_CheckPatternPredicate3,
21806
0
    OPC_EmitNodeXForm, 8, 2,
21807
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
21808
0
                  MVT::v8i32, 3, 0, 1, 3, 
21809
0
   12, 
21810
0
    OPC_CheckPatternPredicate5,
21811
0
    OPC_EmitNodeXForm, 8, 2,
21812
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
21813
0
                  MVT::v8i32, 3, 0, 1, 3, 
21814
0
   0, 
21815
0
  39, 
21816
0
   OPC_CheckChild0Integer, 58|128,92, 
21817
0
   OPC_RecordChild1,
21818
0
   OPC_RecordChild2,
21819
0
   OPC_RecordChild3,
21820
0
   OPC_MoveChild3,
21821
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21822
0
   OPC_MoveParent,
21823
0
   OPC_Scope, 12, 
21824
0
    OPC_CheckPatternPredicate3,
21825
0
    OPC_EmitNodeXForm, 8, 2,
21826
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
21827
0
                  MVT::v8i32, 3, 0, 1, 3, 
21828
0
   12, 
21829
0
    OPC_CheckPatternPredicate5,
21830
0
    OPC_EmitNodeXForm, 8, 2,
21831
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
21832
0
                  MVT::v8i32, 3, 0, 1, 3, 
21833
0
   0, 
21834
0
  39, 
21835
0
   OPC_CheckChild0Integer, 20|128,93, 
21836
0
   OPC_RecordChild1,
21837
0
   OPC_RecordChild2,
21838
0
   OPC_RecordChild3,
21839
0
   OPC_MoveChild3,
21840
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21841
0
   OPC_MoveParent,
21842
0
   OPC_Scope, 12, 
21843
0
    OPC_CheckPatternPredicate3,
21844
0
    OPC_EmitNodeXForm, 8, 2,
21845
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
21846
0
                  MVT::v8i32, 3, 0, 1, 3, 
21847
0
   12, 
21848
0
    OPC_CheckPatternPredicate5,
21849
0
    OPC_EmitNodeXForm, 8, 2,
21850
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
21851
0
                  MVT::v8i32, 3, 0, 1, 3, 
21852
0
   0, 
21853
0
  39, 
21854
0
   OPC_CheckChild0Integer, 88|128,92, 
21855
0
   OPC_RecordChild1,
21856
0
   OPC_RecordChild2,
21857
0
   OPC_RecordChild3,
21858
0
   OPC_MoveChild3,
21859
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21860
0
   OPC_MoveParent,
21861
0
   OPC_Scope, 12, 
21862
0
    OPC_CheckPatternPredicate3,
21863
0
    OPC_EmitNodeXForm, 8, 2,
21864
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
21865
0
                  MVT::v8i32, 3, 0, 1, 3, 
21866
0
   12, 
21867
0
    OPC_CheckPatternPredicate5,
21868
0
    OPC_EmitNodeXForm, 8, 2,
21869
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
21870
0
                  MVT::v8i32, 3, 0, 1, 3, 
21871
0
   0, 
21872
0
  39, 
21873
0
   OPC_CheckChild0Integer, 102|128,93, 
21874
0
   OPC_RecordChild1,
21875
0
   OPC_RecordChild2,
21876
0
   OPC_RecordChild3,
21877
0
   OPC_MoveChild3,
21878
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21879
0
   OPC_MoveParent,
21880
0
   OPC_Scope, 12, 
21881
0
    OPC_CheckPatternPredicate3,
21882
0
    OPC_EmitNodeXForm, 8, 2,
21883
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
21884
0
                  MVT::v8i32, 3, 0, 1, 3, 
21885
0
   12, 
21886
0
    OPC_CheckPatternPredicate5,
21887
0
    OPC_EmitNodeXForm, 8, 2,
21888
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
21889
0
                  MVT::v8i32, 3, 0, 1, 3, 
21890
0
   0, 
21891
0
  39, 
21892
0
   OPC_CheckChild0Integer, 46|128,93, 
21893
0
   OPC_RecordChild1,
21894
0
   OPC_RecordChild2,
21895
0
   OPC_RecordChild3,
21896
0
   OPC_MoveChild3,
21897
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21898
0
   OPC_MoveParent,
21899
0
   OPC_Scope, 12, 
21900
0
    OPC_CheckPatternPredicate3,
21901
0
    OPC_EmitNodeXForm, 8, 2,
21902
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
21903
0
                  MVT::v8i32, 3, 0, 1, 3, 
21904
0
   12, 
21905
0
    OPC_CheckPatternPredicate5,
21906
0
    OPC_EmitNodeXForm, 8, 2,
21907
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
21908
0
                  MVT::v8i32, 3, 0, 1, 3, 
21909
0
   0, 
21910
0
  39, 
21911
0
   OPC_CheckChild0Integer, 104|128,93, 
21912
0
   OPC_RecordChild1,
21913
0
   OPC_RecordChild2,
21914
0
   OPC_RecordChild3,
21915
0
   OPC_MoveChild3,
21916
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21917
0
   OPC_MoveParent,
21918
0
   OPC_Scope, 12, 
21919
0
    OPC_CheckPatternPredicate3,
21920
0
    OPC_EmitNodeXForm, 8, 2,
21921
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
21922
0
                  MVT::v8i32, 3, 0, 1, 3, 
21923
0
   12, 
21924
0
    OPC_CheckPatternPredicate5,
21925
0
    OPC_EmitNodeXForm, 8, 2,
21926
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
21927
0
                  MVT::v8i32, 3, 0, 1, 3, 
21928
0
   0, 
21929
0
  39, 
21930
0
   OPC_CheckChild0Integer, 48|128,93, 
21931
0
   OPC_RecordChild1,
21932
0
   OPC_RecordChild2,
21933
0
   OPC_RecordChild3,
21934
0
   OPC_MoveChild3,
21935
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21936
0
   OPC_MoveParent,
21937
0
   OPC_Scope, 12, 
21938
0
    OPC_CheckPatternPredicate3,
21939
0
    OPC_EmitNodeXForm, 8, 2,
21940
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
21941
0
                  MVT::v8i32, 3, 0, 1, 3, 
21942
0
   12, 
21943
0
    OPC_CheckPatternPredicate5,
21944
0
    OPC_EmitNodeXForm, 8, 2,
21945
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
21946
0
                  MVT::v8i32, 3, 0, 1, 3, 
21947
0
   0, 
21948
0
  39, 
21949
0
   OPC_CheckChild0Integer, 2|128,94, 
21950
0
   OPC_RecordChild1,
21951
0
   OPC_RecordChild2,
21952
0
   OPC_RecordChild3,
21953
0
   OPC_MoveChild3,
21954
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21955
0
   OPC_MoveParent,
21956
0
   OPC_Scope, 12, 
21957
0
    OPC_CheckPatternPredicate3,
21958
0
    OPC_EmitNodeXForm, 8, 2,
21959
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
21960
0
                  MVT::v8i32, 3, 0, 1, 3, 
21961
0
   12, 
21962
0
    OPC_CheckPatternPredicate5,
21963
0
    OPC_EmitNodeXForm, 8, 2,
21964
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
21965
0
                  MVT::v8i32, 3, 0, 1, 3, 
21966
0
   0, 
21967
0
  39, 
21968
0
   OPC_CheckChild0Integer, 74|128,93, 
21969
0
   OPC_RecordChild1,
21970
0
   OPC_RecordChild2,
21971
0
   OPC_RecordChild3,
21972
0
   OPC_MoveChild3,
21973
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21974
0
   OPC_MoveParent,
21975
0
   OPC_Scope, 12, 
21976
0
    OPC_CheckPatternPredicate3,
21977
0
    OPC_EmitNodeXForm, 8, 2,
21978
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
21979
0
                  MVT::v8i32, 3, 0, 1, 3, 
21980
0
   12, 
21981
0
    OPC_CheckPatternPredicate5,
21982
0
    OPC_EmitNodeXForm, 8, 2,
21983
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
21984
0
                  MVT::v8i32, 3, 0, 1, 3, 
21985
0
   0, 
21986
0
  39, 
21987
0
   OPC_CheckChild0Integer, 4|128,94, 
21988
0
   OPC_RecordChild1,
21989
0
   OPC_RecordChild2,
21990
0
   OPC_RecordChild3,
21991
0
   OPC_MoveChild3,
21992
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21993
0
   OPC_MoveParent,
21994
0
   OPC_Scope, 12, 
21995
0
    OPC_CheckPatternPredicate3,
21996
0
    OPC_EmitNodeXForm, 8, 2,
21997
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
21998
0
                  MVT::v8i32, 3, 0, 1, 3, 
21999
0
   12, 
22000
0
    OPC_CheckPatternPredicate5,
22001
0
    OPC_EmitNodeXForm, 8, 2,
22002
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
22003
0
                  MVT::v8i32, 3, 0, 1, 3, 
22004
0
   0, 
22005
0
  39, 
22006
0
   OPC_CheckChild0Integer, 76|128,93, 
22007
0
   OPC_RecordChild1,
22008
0
   OPC_RecordChild2,
22009
0
   OPC_RecordChild3,
22010
0
   OPC_MoveChild3,
22011
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22012
0
   OPC_MoveParent,
22013
0
   OPC_Scope, 12, 
22014
0
    OPC_CheckPatternPredicate3,
22015
0
    OPC_EmitNodeXForm, 8, 2,
22016
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
22017
0
                  MVT::v8i32, 3, 0, 1, 3, 
22018
0
   12, 
22019
0
    OPC_CheckPatternPredicate5,
22020
0
    OPC_EmitNodeXForm, 8, 2,
22021
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
22022
0
                  MVT::v8i32, 3, 0, 1, 3, 
22023
0
   0, 
22024
0
  39, 
22025
0
   OPC_CheckChild0Integer, 30|128,90, 
22026
0
   OPC_RecordChild1,
22027
0
   OPC_RecordChild2,
22028
0
   OPC_RecordChild3,
22029
0
   OPC_MoveChild3,
22030
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22031
0
   OPC_MoveParent,
22032
0
   OPC_Scope, 12, 
22033
0
    OPC_CheckPatternPredicate3,
22034
0
    OPC_EmitNodeXForm, 8, 2,
22035
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
22036
0
                  MVT::v8i32, 3, 0, 1, 3, 
22037
0
   12, 
22038
0
    OPC_CheckPatternPredicate5,
22039
0
    OPC_EmitNodeXForm, 8, 2,
22040
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
22041
0
                  MVT::v8i32, 3, 0, 1, 3, 
22042
0
   0, 
22043
0
  39, 
22044
0
   OPC_CheckChild0Integer, 54|128,85, 
22045
0
   OPC_RecordChild1,
22046
0
   OPC_RecordChild2,
22047
0
   OPC_RecordChild3,
22048
0
   OPC_MoveChild3,
22049
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22050
0
   OPC_MoveParent,
22051
0
   OPC_Scope, 12, 
22052
0
    OPC_CheckPatternPredicate3,
22053
0
    OPC_EmitNodeXForm, 8, 2,
22054
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
22055
0
                  MVT::v8i32, 3, 0, 1, 3, 
22056
0
   12, 
22057
0
    OPC_CheckPatternPredicate5,
22058
0
    OPC_EmitNodeXForm, 8, 2,
22059
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
22060
0
                  MVT::v8i32, 3, 0, 1, 3, 
22061
0
   0, 
22062
0
  39, 
22063
0
   OPC_CheckChild0Integer, 122|128,87, 
22064
0
   OPC_RecordChild1,
22065
0
   OPC_RecordChild2,
22066
0
   OPC_RecordChild3,
22067
0
   OPC_MoveChild3,
22068
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22069
0
   OPC_MoveParent,
22070
0
   OPC_Scope, 12, 
22071
0
    OPC_CheckPatternPredicate3,
22072
0
    OPC_EmitNodeXForm, 8, 2,
22073
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
22074
0
                  MVT::v8i32, 3, 0, 1, 3, 
22075
0
   12, 
22076
0
    OPC_CheckPatternPredicate5,
22077
0
    OPC_EmitNodeXForm, 8, 2,
22078
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
22079
0
                  MVT::v8i32, 3, 0, 1, 3, 
22080
0
   0, 
22081
0
  39, 
22082
0
   OPC_CheckChild0Integer, 114|128,92, 
22083
0
   OPC_RecordChild1,
22084
0
   OPC_RecordChild2,
22085
0
   OPC_RecordChild3,
22086
0
   OPC_MoveChild3,
22087
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22088
0
   OPC_MoveParent,
22089
0
   OPC_Scope, 12, 
22090
0
    OPC_CheckPatternPredicate3,
22091
0
    OPC_EmitNodeXForm, 8, 2,
22092
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
22093
0
                  MVT::v4i64, 3, 0, 1, 3, 
22094
0
   12, 
22095
0
    OPC_CheckPatternPredicate5,
22096
0
    OPC_EmitNodeXForm, 8, 2,
22097
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
22098
0
                  MVT::v4i64, 3, 0, 1, 3, 
22099
0
   0, 
22100
0
  39, 
22101
0
   OPC_CheckChild0Integer, 54|128,92, 
22102
0
   OPC_RecordChild1,
22103
0
   OPC_RecordChild2,
22104
0
   OPC_RecordChild3,
22105
0
   OPC_MoveChild3,
22106
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22107
0
   OPC_MoveParent,
22108
0
   OPC_Scope, 12, 
22109
0
    OPC_CheckPatternPredicate3,
22110
0
    OPC_EmitNodeXForm, 8, 2,
22111
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
22112
0
                  MVT::v4i64, 3, 0, 1, 3, 
22113
0
   12, 
22114
0
    OPC_CheckPatternPredicate5,
22115
0
    OPC_EmitNodeXForm, 8, 2,
22116
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
22117
0
                  MVT::v4i64, 3, 0, 1, 3, 
22118
0
   0, 
22119
0
  39, 
22120
0
   OPC_CheckChild0Integer, 16|128,93, 
22121
0
   OPC_RecordChild1,
22122
0
   OPC_RecordChild2,
22123
0
   OPC_RecordChild3,
22124
0
   OPC_MoveChild3,
22125
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22126
0
   OPC_MoveParent,
22127
0
   OPC_Scope, 12, 
22128
0
    OPC_CheckPatternPredicate3,
22129
0
    OPC_EmitNodeXForm, 8, 2,
22130
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
22131
0
                  MVT::v4i64, 3, 0, 1, 3, 
22132
0
   12, 
22133
0
    OPC_CheckPatternPredicate5,
22134
0
    OPC_EmitNodeXForm, 8, 2,
22135
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
22136
0
                  MVT::v4i64, 3, 0, 1, 3, 
22137
0
   0, 
22138
0
  39, 
22139
0
   OPC_CheckChild0Integer, 84|128,92, 
22140
0
   OPC_RecordChild1,
22141
0
   OPC_RecordChild2,
22142
0
   OPC_RecordChild3,
22143
0
   OPC_MoveChild3,
22144
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22145
0
   OPC_MoveParent,
22146
0
   OPC_Scope, 12, 
22147
0
    OPC_CheckPatternPredicate3,
22148
0
    OPC_EmitNodeXForm, 8, 2,
22149
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
22150
0
                  MVT::v4i64, 3, 0, 1, 3, 
22151
0
   12, 
22152
0
    OPC_CheckPatternPredicate5,
22153
0
    OPC_EmitNodeXForm, 8, 2,
22154
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
22155
0
                  MVT::v4i64, 3, 0, 1, 3, 
22156
0
   0, 
22157
0
  39, 
22158
0
   OPC_CheckChild0Integer, 94|128,93, 
22159
0
   OPC_RecordChild1,
22160
0
   OPC_RecordChild2,
22161
0
   OPC_RecordChild3,
22162
0
   OPC_MoveChild3,
22163
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22164
0
   OPC_MoveParent,
22165
0
   OPC_Scope, 12, 
22166
0
    OPC_CheckPatternPredicate3,
22167
0
    OPC_EmitNodeXForm, 8, 2,
22168
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
22169
0
                  MVT::v4i64, 3, 0, 1, 3, 
22170
0
   12, 
22171
0
    OPC_CheckPatternPredicate5,
22172
0
    OPC_EmitNodeXForm, 8, 2,
22173
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
22174
0
                  MVT::v4i64, 3, 0, 1, 3, 
22175
0
   0, 
22176
0
  39, 
22177
0
   OPC_CheckChild0Integer, 38|128,93, 
22178
0
   OPC_RecordChild1,
22179
0
   OPC_RecordChild2,
22180
0
   OPC_RecordChild3,
22181
0
   OPC_MoveChild3,
22182
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22183
0
   OPC_MoveParent,
22184
0
   OPC_Scope, 12, 
22185
0
    OPC_CheckPatternPredicate3,
22186
0
    OPC_EmitNodeXForm, 8, 2,
22187
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
22188
0
                  MVT::v4i64, 3, 0, 1, 3, 
22189
0
   12, 
22190
0
    OPC_CheckPatternPredicate5,
22191
0
    OPC_EmitNodeXForm, 8, 2,
22192
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
22193
0
                  MVT::v4i64, 3, 0, 1, 3, 
22194
0
   0, 
22195
0
  39, 
22196
0
   OPC_CheckChild0Integer, 96|128,93, 
22197
0
   OPC_RecordChild1,
22198
0
   OPC_RecordChild2,
22199
0
   OPC_RecordChild3,
22200
0
   OPC_MoveChild3,
22201
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22202
0
   OPC_MoveParent,
22203
0
   OPC_Scope, 12, 
22204
0
    OPC_CheckPatternPredicate3,
22205
0
    OPC_EmitNodeXForm, 8, 2,
22206
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
22207
0
                  MVT::v4i64, 3, 0, 1, 3, 
22208
0
   12, 
22209
0
    OPC_CheckPatternPredicate5,
22210
0
    OPC_EmitNodeXForm, 8, 2,
22211
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
22212
0
                  MVT::v4i64, 3, 0, 1, 3, 
22213
0
   0, 
22214
0
  39, 
22215
0
   OPC_CheckChild0Integer, 40|128,93, 
22216
0
   OPC_RecordChild1,
22217
0
   OPC_RecordChild2,
22218
0
   OPC_RecordChild3,
22219
0
   OPC_MoveChild3,
22220
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22221
0
   OPC_MoveParent,
22222
0
   OPC_Scope, 12, 
22223
0
    OPC_CheckPatternPredicate3,
22224
0
    OPC_EmitNodeXForm, 8, 2,
22225
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
22226
0
                  MVT::v4i64, 3, 0, 1, 3, 
22227
0
   12, 
22228
0
    OPC_CheckPatternPredicate5,
22229
0
    OPC_EmitNodeXForm, 8, 2,
22230
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
22231
0
                  MVT::v4i64, 3, 0, 1, 3, 
22232
0
   0, 
22233
0
  39, 
22234
0
   OPC_CheckChild0Integer, 122|128,93, 
22235
0
   OPC_RecordChild1,
22236
0
   OPC_RecordChild2,
22237
0
   OPC_RecordChild3,
22238
0
   OPC_MoveChild3,
22239
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22240
0
   OPC_MoveParent,
22241
0
   OPC_Scope, 12, 
22242
0
    OPC_CheckPatternPredicate3,
22243
0
    OPC_EmitNodeXForm, 8, 2,
22244
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
22245
0
                  MVT::v4i64, 3, 0, 1, 3, 
22246
0
   12, 
22247
0
    OPC_CheckPatternPredicate5,
22248
0
    OPC_EmitNodeXForm, 8, 2,
22249
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
22250
0
                  MVT::v4i64, 3, 0, 1, 3, 
22251
0
   0, 
22252
0
  39, 
22253
0
   OPC_CheckChild0Integer, 66|128,93, 
22254
0
   OPC_RecordChild1,
22255
0
   OPC_RecordChild2,
22256
0
   OPC_RecordChild3,
22257
0
   OPC_MoveChild3,
22258
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22259
0
   OPC_MoveParent,
22260
0
   OPC_Scope, 12, 
22261
0
    OPC_CheckPatternPredicate3,
22262
0
    OPC_EmitNodeXForm, 8, 2,
22263
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
22264
0
                  MVT::v4i64, 3, 0, 1, 3, 
22265
0
   12, 
22266
0
    OPC_CheckPatternPredicate5,
22267
0
    OPC_EmitNodeXForm, 8, 2,
22268
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
22269
0
                  MVT::v4i64, 3, 0, 1, 3, 
22270
0
   0, 
22271
0
  39, 
22272
0
   OPC_CheckChild0Integer, 124|128,93, 
22273
0
   OPC_RecordChild1,
22274
0
   OPC_RecordChild2,
22275
0
   OPC_RecordChild3,
22276
0
   OPC_MoveChild3,
22277
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22278
0
   OPC_MoveParent,
22279
0
   OPC_Scope, 12, 
22280
0
    OPC_CheckPatternPredicate3,
22281
0
    OPC_EmitNodeXForm, 8, 2,
22282
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
22283
0
                  MVT::v4i64, 3, 0, 1, 3, 
22284
0
   12, 
22285
0
    OPC_CheckPatternPredicate5,
22286
0
    OPC_EmitNodeXForm, 8, 2,
22287
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
22288
0
                  MVT::v4i64, 3, 0, 1, 3, 
22289
0
   0, 
22290
0
  39, 
22291
0
   OPC_CheckChild0Integer, 68|128,93, 
22292
0
   OPC_RecordChild1,
22293
0
   OPC_RecordChild2,
22294
0
   OPC_RecordChild3,
22295
0
   OPC_MoveChild3,
22296
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22297
0
   OPC_MoveParent,
22298
0
   OPC_Scope, 12, 
22299
0
    OPC_CheckPatternPredicate3,
22300
0
    OPC_EmitNodeXForm, 8, 2,
22301
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
22302
0
                  MVT::v4i64, 3, 0, 1, 3, 
22303
0
   12, 
22304
0
    OPC_CheckPatternPredicate5,
22305
0
    OPC_EmitNodeXForm, 8, 2,
22306
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
22307
0
                  MVT::v4i64, 3, 0, 1, 3, 
22308
0
   0, 
22309
0
  39, 
22310
0
   OPC_CheckChild0Integer, 52|128,91, 
22311
0
   OPC_RecordChild1,
22312
0
   OPC_RecordChild2,
22313
0
   OPC_RecordChild3,
22314
0
   OPC_MoveChild3,
22315
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22316
0
   OPC_MoveParent,
22317
0
   OPC_Scope, 12, 
22318
0
    OPC_CheckPatternPredicate3,
22319
0
    OPC_EmitNodeXForm, 8, 2,
22320
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
22321
0
                  MVT::v4i64, 3, 0, 1, 3, 
22322
0
   12, 
22323
0
    OPC_CheckPatternPredicate5,
22324
0
    OPC_EmitNodeXForm, 8, 2,
22325
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
22326
0
                  MVT::v4i64, 3, 0, 1, 3, 
22327
0
   0, 
22328
0
  39, 
22329
0
   OPC_CheckChild0Integer, 50|128,85, 
22330
0
   OPC_RecordChild1,
22331
0
   OPC_RecordChild2,
22332
0
   OPC_RecordChild3,
22333
0
   OPC_MoveChild3,
22334
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22335
0
   OPC_MoveParent,
22336
0
   OPC_Scope, 12, 
22337
0
    OPC_CheckPatternPredicate3,
22338
0
    OPC_EmitNodeXForm, 8, 2,
22339
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
22340
0
                  MVT::v4i64, 3, 0, 1, 3, 
22341
0
   12, 
22342
0
    OPC_CheckPatternPredicate5,
22343
0
    OPC_EmitNodeXForm, 8, 2,
22344
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
22345
0
                  MVT::v4i64, 3, 0, 1, 3, 
22346
0
   0, 
22347
0
  39, 
22348
0
   OPC_CheckChild0Integer, 120|128,87, 
22349
0
   OPC_RecordChild1,
22350
0
   OPC_RecordChild2,
22351
0
   OPC_RecordChild3,
22352
0
   OPC_MoveChild3,
22353
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22354
0
   OPC_MoveParent,
22355
0
   OPC_Scope, 12, 
22356
0
    OPC_CheckPatternPredicate3,
22357
0
    OPC_EmitNodeXForm, 8, 2,
22358
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
22359
0
                  MVT::v4i64, 3, 0, 1, 3, 
22360
0
   12, 
22361
0
    OPC_CheckPatternPredicate5,
22362
0
    OPC_EmitNodeXForm, 8, 2,
22363
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
22364
0
                  MVT::v4i64, 3, 0, 1, 3, 
22365
0
   0, 
22366
0
  13, 
22367
0
   OPC_CheckChild0Integer, 22|128,102, 
22368
0
   OPC_RecordChild1,
22369
0
   OPC_RecordChild2,
22370
0
   OPC_CheckPatternPredicate1,
22371
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
22372
0
                 MVT::v16i8, 2, 0, 1, 
22373
0
  13, 
22374
0
   OPC_CheckChild0Integer, 24|128,102, 
22375
0
   OPC_RecordChild1,
22376
0
   OPC_RecordChild2,
22377
0
   OPC_CheckPatternPredicate1,
22378
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
22379
0
                 MVT::v16i8, 2, 0, 1, 
22380
0
  13, 
22381
0
   OPC_CheckChild0Integer, 34|128,105, 
22382
0
   OPC_RecordChild1,
22383
0
   OPC_RecordChild2,
22384
0
   OPC_CheckPatternPredicate1,
22385
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
22386
0
                 MVT::v16i8, 2, 0, 1, 
22387
0
  13, 
22388
0
   OPC_CheckChild0Integer, 36|128,105, 
22389
0
   OPC_RecordChild1,
22390
0
   OPC_RecordChild2,
22391
0
   OPC_CheckPatternPredicate1,
22392
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
22393
0
                 MVT::v16i8, 2, 0, 1, 
22394
0
  13, 
22395
0
   OPC_CheckChild0Integer, 116|128,98, 
22396
0
   OPC_RecordChild1,
22397
0
   OPC_RecordChild2,
22398
0
   OPC_CheckPatternPredicate1,
22399
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
22400
0
                 MVT::v8i16, 2, 0, 1, 
22401
0
  13, 
22402
0
   OPC_CheckChild0Integer, 118|128,98, 
22403
0
   OPC_RecordChild1,
22404
0
   OPC_RecordChild2,
22405
0
   OPC_CheckPatternPredicate1,
22406
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
22407
0
                 MVT::v8i16, 2, 0, 1, 
22408
0
  13, 
22409
0
   OPC_CheckChild0Integer, 4|128,99, 
22410
0
   OPC_RecordChild1,
22411
0
   OPC_RecordChild2,
22412
0
   OPC_CheckPatternPredicate1,
22413
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
22414
0
                 MVT::v8i16, 2, 0, 1, 
22415
0
  13, 
22416
0
   OPC_CheckChild0Integer, 6|128,99, 
22417
0
   OPC_RecordChild1,
22418
0
   OPC_RecordChild2,
22419
0
   OPC_CheckPatternPredicate1,
22420
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
22421
0
                 MVT::v8i16, 2, 0, 1, 
22422
0
  13, 
22423
0
   OPC_CheckChild0Integer, 32|128,95, 
22424
0
   OPC_RecordChild1,
22425
0
   OPC_RecordChild2,
22426
0
   OPC_CheckPatternPredicate1,
22427
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_B),
22428
0
                 MVT::v8i16, 2, 0, 1, 
22429
0
  13, 
22430
0
   OPC_CheckChild0Integer, 56|128,95, 
22431
0
   OPC_RecordChild1,
22432
0
   OPC_RecordChild2,
22433
0
   OPC_CheckPatternPredicate1,
22434
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_B),
22435
0
                 MVT::v8i16, 2, 0, 1, 
22436
0
  13, 
22437
0
   OPC_CheckChild0Integer, 84|128,105, 
22438
0
   OPC_RecordChild1,
22439
0
   OPC_RecordChild2,
22440
0
   OPC_CheckPatternPredicate1,
22441
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_B),
22442
0
                 MVT::v8i16, 2, 0, 1, 
22443
0
  13, 
22444
0
   OPC_CheckChild0Integer, 100|128,105, 
22445
0
   OPC_RecordChild1,
22446
0
   OPC_RecordChild2,
22447
0
   OPC_CheckPatternPredicate1,
22448
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_B),
22449
0
                 MVT::v8i16, 2, 0, 1, 
22450
0
  13, 
22451
0
   OPC_CheckChild0Integer, 34|128,95, 
22452
0
   OPC_RecordChild1,
22453
0
   OPC_RecordChild2,
22454
0
   OPC_CheckPatternPredicate1,
22455
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU),
22456
0
                 MVT::v8i16, 2, 0, 1, 
22457
0
  13, 
22458
0
   OPC_CheckChild0Integer, 58|128,95, 
22459
0
   OPC_RecordChild1,
22460
0
   OPC_RecordChild2,
22461
0
   OPC_CheckPatternPredicate1,
22462
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU),
22463
0
                 MVT::v8i16, 2, 0, 1, 
22464
0
  13, 
22465
0
   OPC_CheckChild0Integer, 86|128,105, 
22466
0
   OPC_RecordChild1,
22467
0
   OPC_RecordChild2,
22468
0
   OPC_CheckPatternPredicate1,
22469
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_BU),
22470
0
                 MVT::v8i16, 2, 0, 1, 
22471
0
  13, 
22472
0
   OPC_CheckChild0Integer, 102|128,105, 
22473
0
   OPC_RecordChild1,
22474
0
   OPC_RecordChild2,
22475
0
   OPC_CheckPatternPredicate1,
22476
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_BU),
22477
0
                 MVT::v8i16, 2, 0, 1, 
22478
0
  13, 
22479
0
   OPC_CheckChild0Integer, 36|128,95, 
22480
0
   OPC_RecordChild1,
22481
0
   OPC_RecordChild2,
22482
0
   OPC_CheckPatternPredicate1,
22483
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU_B),
22484
0
                 MVT::v8i16, 2, 0, 1, 
22485
0
  13, 
22486
0
   OPC_CheckChild0Integer, 60|128,95, 
22487
0
   OPC_RecordChild1,
22488
0
   OPC_RecordChild2,
22489
0
   OPC_CheckPatternPredicate1,
22490
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU_B),
22491
0
                 MVT::v8i16, 2, 0, 1, 
22492
0
  13, 
22493
0
   OPC_CheckChild0Integer, 80|128,95, 
22494
0
   OPC_RecordChild1,
22495
0
   OPC_RecordChild2,
22496
0
   OPC_CheckPatternPredicate1,
22497
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
22498
0
                 MVT::v16i8, 2, 0, 1, 
22499
0
  13, 
22500
0
   OPC_CheckChild0Integer, 82|128,95, 
22501
0
   OPC_RecordChild1,
22502
0
   OPC_RecordChild2,
22503
0
   OPC_CheckPatternPredicate1,
22504
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
22505
0
                 MVT::v16i8, 2, 0, 1, 
22506
0
  13, 
22507
0
   OPC_CheckChild0Integer, 96|128,95, 
22508
0
   OPC_RecordChild1,
22509
0
   OPC_RecordChild2,
22510
0
   OPC_CheckPatternPredicate1,
22511
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
22512
0
                 MVT::v16i8, 2, 0, 1, 
22513
0
  13, 
22514
0
   OPC_CheckChild0Integer, 98|128,95, 
22515
0
   OPC_RecordChild1,
22516
0
   OPC_RecordChild2,
22517
0
   OPC_CheckPatternPredicate1,
22518
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
22519
0
                 MVT::v16i8, 2, 0, 1, 
22520
0
  13, 
22521
0
   OPC_CheckChild0Integer, 112|128,94, 
22522
0
   OPC_RecordChild1,
22523
0
   OPC_RecordChild2,
22524
0
   OPC_CheckPatternPredicate1,
22525
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
22526
0
                 MVT::v16i8, 2, 0, 1, 
22527
0
  13, 
22528
0
   OPC_CheckChild0Integer, 114|128,94, 
22529
0
   OPC_RecordChild1,
22530
0
   OPC_RecordChild2,
22531
0
   OPC_CheckPatternPredicate1,
22532
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
22533
0
                 MVT::v16i8, 2, 0, 1, 
22534
0
  13, 
22535
0
   OPC_CheckChild0Integer, 10|128,95, 
22536
0
   OPC_RecordChild1,
22537
0
   OPC_RecordChild2,
22538
0
   OPC_CheckPatternPredicate1,
22539
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
22540
0
                 MVT::v16i8, 2, 0, 1, 
22541
0
  13, 
22542
0
   OPC_CheckChild0Integer, 82|128,100, 
22543
0
   OPC_RecordChild1,
22544
0
   OPC_RecordChild2,
22545
0
   OPC_CheckPatternPredicate1,
22546
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
22547
0
                 MVT::v16i8, 2, 0, 1, 
22548
0
  13, 
22549
0
   OPC_CheckChild0Integer, 84|128,100, 
22550
0
   OPC_RecordChild1,
22551
0
   OPC_RecordChild2,
22552
0
   OPC_CheckPatternPredicate1,
22553
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
22554
0
                 MVT::v16i8, 2, 0, 1, 
22555
0
  13, 
22556
0
   OPC_CheckChild0Integer, 112|128,100, 
22557
0
   OPC_RecordChild1,
22558
0
   OPC_RecordChild2,
22559
0
   OPC_CheckPatternPredicate1,
22560
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_B),
22561
0
                 MVT::v8i16, 2, 0, 1, 
22562
0
  13, 
22563
0
   OPC_CheckChild0Integer, 8|128,101, 
22564
0
   OPC_RecordChild1,
22565
0
   OPC_RecordChild2,
22566
0
   OPC_CheckPatternPredicate1,
22567
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_B),
22568
0
                 MVT::v8i16, 2, 0, 1, 
22569
0
  13, 
22570
0
   OPC_CheckChild0Integer, 114|128,100, 
22571
0
   OPC_RecordChild1,
22572
0
   OPC_RecordChild2,
22573
0
   OPC_CheckPatternPredicate1,
22574
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU),
22575
0
                 MVT::v8i16, 2, 0, 1, 
22576
0
  13, 
22577
0
   OPC_CheckChild0Integer, 10|128,101, 
22578
0
   OPC_RecordChild1,
22579
0
   OPC_RecordChild2,
22580
0
   OPC_CheckPatternPredicate1,
22581
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU),
22582
0
                 MVT::v8i16, 2, 0, 1, 
22583
0
  13, 
22584
0
   OPC_CheckChild0Integer, 116|128,100, 
22585
0
   OPC_RecordChild1,
22586
0
   OPC_RecordChild2,
22587
0
   OPC_CheckPatternPredicate1,
22588
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU_B),
22589
0
                 MVT::v8i16, 2, 0, 1, 
22590
0
  13, 
22591
0
   OPC_CheckChild0Integer, 12|128,101, 
22592
0
   OPC_RecordChild1,
22593
0
   OPC_RecordChild2,
22594
0
   OPC_CheckPatternPredicate1,
22595
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU_B),
22596
0
                 MVT::v8i16, 2, 0, 1, 
22597
0
  13, 
22598
0
   OPC_CheckChild0Integer, 86|128,102, 
22599
0
   OPC_RecordChild1,
22600
0
   OPC_RecordChild2,
22601
0
   OPC_CheckPatternPredicate1,
22602
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
22603
0
                 MVT::v16i8, 2, 0, 1, 
22604
0
  13, 
22605
0
   OPC_CheckChild0Integer, 78|128,95, 
22606
0
   OPC_RecordChild1,
22607
0
   OPC_RecordChild2,
22608
0
   OPC_CheckPatternPredicate1,
22609
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
22610
0
                 MVT::v16i8, 2, 0, 1, 
22611
0
  13, 
22612
0
   OPC_CheckChild0Integer, 42|128,101, 
22613
0
   OPC_RecordChild1,
22614
0
   OPC_RecordChild2,
22615
0
   OPC_CheckPatternPredicate1,
22616
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
22617
0
                 MVT::v16i8, 2, 0, 1, 
22618
0
  13, 
22619
0
   OPC_CheckChild0Integer, 6|128,102, 
22620
0
   OPC_RecordChild1,
22621
0
   OPC_RecordChild2,
22622
0
   OPC_CheckPatternPredicate1,
22623
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
22624
0
                 MVT::v16i8, 2, 0, 1, 
22625
0
  13, 
22626
0
   OPC_CheckChild0Integer, 20|128,104, 
22627
0
   OPC_RecordChild1,
22628
0
   OPC_RecordChild2,
22629
0
   OPC_CheckPatternPredicate1,
22630
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
22631
0
                 MVT::v16i8, 2, 0, 1, 
22632
0
  13, 
22633
0
   OPC_CheckChild0Integer, 88|128,103, 
22634
0
   OPC_RecordChild1,
22635
0
   OPC_RecordChild2,
22636
0
   OPC_CheckPatternPredicate1,
22637
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
22638
0
                 MVT::v16i8, 2, 0, 1, 
22639
0
  13, 
22640
0
   OPC_CheckChild0Integer, 54|128,102, 
22641
0
   OPC_RecordChild1,
22642
0
   OPC_RecordChild2,
22643
0
   OPC_CheckPatternPredicate1,
22644
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
22645
0
                 MVT::v16i8, 2, 0, 1, 
22646
0
  13, 
22647
0
   OPC_CheckChild0Integer, 94|128,102, 
22648
0
   OPC_RecordChild1,
22649
0
   OPC_RecordChild2,
22650
0
   OPC_CheckPatternPredicate1,
22651
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
22652
0
                 MVT::v16i8, 2, 0, 1, 
22653
0
  13, 
22654
0
   OPC_CheckChild0Integer, 96|128,102, 
22655
0
   OPC_RecordChild1,
22656
0
   OPC_RecordChild2,
22657
0
   OPC_CheckPatternPredicate1,
22658
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
22659
0
                 MVT::v16i8, 2, 0, 1, 
22660
0
  13, 
22661
0
   OPC_CheckChild0Integer, 26|128,103, 
22662
0
   OPC_RecordChild1,
22663
0
   OPC_RecordChild2,
22664
0
   OPC_CheckPatternPredicate1,
22665
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
22666
0
                 MVT::v16i8, 2, 0, 1, 
22667
0
  13, 
22668
0
   OPC_CheckChild0Integer, 28|128,103, 
22669
0
   OPC_RecordChild1,
22670
0
   OPC_RecordChild2,
22671
0
   OPC_CheckPatternPredicate1,
22672
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
22673
0
                 MVT::v16i8, 2, 0, 1, 
22674
0
  13, 
22675
0
   OPC_CheckChild0Integer, 44|128,101, 
22676
0
   OPC_RecordChild1,
22677
0
   OPC_RecordChild2,
22678
0
   OPC_CheckPatternPredicate1,
22679
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
22680
0
                 MVT::v16i8, 2, 0, 1, 
22681
0
  13, 
22682
0
   OPC_CheckChild0Integer, 52|128,101, 
22683
0
   OPC_RecordChild1,
22684
0
   OPC_RecordChild2,
22685
0
   OPC_CheckPatternPredicate1,
22686
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
22687
0
                 MVT::v16i8, 2, 0, 1, 
22688
0
  13, 
22689
0
   OPC_CheckChild0Integer, 70|128,101, 
22690
0
   OPC_RecordChild1,
22691
0
   OPC_RecordChild2,
22692
0
   OPC_CheckPatternPredicate1,
22693
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
22694
0
                 MVT::v16i8, 2, 0, 1, 
22695
0
  13, 
22696
0
   OPC_CheckChild0Integer, 78|128,101, 
22697
0
   OPC_RecordChild1,
22698
0
   OPC_RecordChild2,
22699
0
   OPC_CheckPatternPredicate1,
22700
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
22701
0
                 MVT::v16i8, 2, 0, 1, 
22702
0
  13, 
22703
0
   OPC_CheckChild0Integer, 24|128,99, 
22704
0
   OPC_RecordChild1,
22705
0
   OPC_RecordChild2,
22706
0
   OPC_CheckPatternPredicate1,
22707
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
22708
0
                 MVT::v16i8, 2, 0, 1, 
22709
0
  13, 
22710
0
   OPC_CheckChild0Integer, 16|128,99, 
22711
0
   OPC_RecordChild1,
22712
0
   OPC_RecordChild2,
22713
0
   OPC_CheckPatternPredicate1,
22714
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
22715
0
                 MVT::v16i8, 2, 0, 1, 
22716
0
  13, 
22717
0
   OPC_CheckChild0Integer, 30|128,102, 
22718
0
   OPC_RecordChild1,
22719
0
   OPC_RecordChild2,
22720
0
   OPC_CheckPatternPredicate1,
22721
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
22722
0
                 MVT::v8i16, 2, 0, 1, 
22723
0
  13, 
22724
0
   OPC_CheckChild0Integer, 32|128,102, 
22725
0
   OPC_RecordChild1,
22726
0
   OPC_RecordChild2,
22727
0
   OPC_CheckPatternPredicate1,
22728
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
22729
0
                 MVT::v8i16, 2, 0, 1, 
22730
0
  13, 
22731
0
   OPC_CheckChild0Integer, 42|128,105, 
22732
0
   OPC_RecordChild1,
22733
0
   OPC_RecordChild2,
22734
0
   OPC_CheckPatternPredicate1,
22735
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
22736
0
                 MVT::v8i16, 2, 0, 1, 
22737
0
  13, 
22738
0
   OPC_CheckChild0Integer, 44|128,105, 
22739
0
   OPC_RecordChild1,
22740
0
   OPC_RecordChild2,
22741
0
   OPC_CheckPatternPredicate1,
22742
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
22743
0
                 MVT::v8i16, 2, 0, 1, 
22744
0
  13, 
22745
0
   OPC_CheckChild0Integer, 124|128,98, 
22746
0
   OPC_RecordChild1,
22747
0
   OPC_RecordChild2,
22748
0
   OPC_CheckPatternPredicate1,
22749
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
22750
0
                 MVT::v4i32, 2, 0, 1, 
22751
0
  13, 
22752
0
   OPC_CheckChild0Integer, 126|128,98, 
22753
0
   OPC_RecordChild1,
22754
0
   OPC_RecordChild2,
22755
0
   OPC_CheckPatternPredicate1,
22756
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
22757
0
                 MVT::v4i32, 2, 0, 1, 
22758
0
  13, 
22759
0
   OPC_CheckChild0Integer, 12|128,99, 
22760
0
   OPC_RecordChild1,
22761
0
   OPC_RecordChild2,
22762
0
   OPC_CheckPatternPredicate1,
22763
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
22764
0
                 MVT::v4i32, 2, 0, 1, 
22765
0
  13, 
22766
0
   OPC_CheckChild0Integer, 14|128,99, 
22767
0
   OPC_RecordChild1,
22768
0
   OPC_RecordChild2,
22769
0
   OPC_CheckPatternPredicate1,
22770
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
22771
0
                 MVT::v4i32, 2, 0, 1, 
22772
0
  13, 
22773
0
   OPC_CheckChild0Integer, 44|128,95, 
22774
0
   OPC_RecordChild1,
22775
0
   OPC_RecordChild2,
22776
0
   OPC_CheckPatternPredicate1,
22777
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_H),
22778
0
                 MVT::v4i32, 2, 0, 1, 
22779
0
  13, 
22780
0
   OPC_CheckChild0Integer, 68|128,95, 
22781
0
   OPC_RecordChild1,
22782
0
   OPC_RecordChild2,
22783
0
   OPC_CheckPatternPredicate1,
22784
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_H),
22785
0
                 MVT::v4i32, 2, 0, 1, 
22786
0
  13, 
22787
0
   OPC_CheckChild0Integer, 92|128,105, 
22788
0
   OPC_RecordChild1,
22789
0
   OPC_RecordChild2,
22790
0
   OPC_CheckPatternPredicate1,
22791
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_H),
22792
0
                 MVT::v4i32, 2, 0, 1, 
22793
0
  13, 
22794
0
   OPC_CheckChild0Integer, 108|128,105, 
22795
0
   OPC_RecordChild1,
22796
0
   OPC_RecordChild2,
22797
0
   OPC_CheckPatternPredicate1,
22798
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_H),
22799
0
                 MVT::v4i32, 2, 0, 1, 
22800
0
  13, 
22801
0
   OPC_CheckChild0Integer, 46|128,95, 
22802
0
   OPC_RecordChild1,
22803
0
   OPC_RecordChild2,
22804
0
   OPC_CheckPatternPredicate1,
22805
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU),
22806
0
                 MVT::v4i32, 2, 0, 1, 
22807
0
  13, 
22808
0
   OPC_CheckChild0Integer, 70|128,95, 
22809
0
   OPC_RecordChild1,
22810
0
   OPC_RecordChild2,
22811
0
   OPC_CheckPatternPredicate1,
22812
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU),
22813
0
                 MVT::v4i32, 2, 0, 1, 
22814
0
  13, 
22815
0
   OPC_CheckChild0Integer, 94|128,105, 
22816
0
   OPC_RecordChild1,
22817
0
   OPC_RecordChild2,
22818
0
   OPC_CheckPatternPredicate1,
22819
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_HU),
22820
0
                 MVT::v4i32, 2, 0, 1, 
22821
0
  13, 
22822
0
   OPC_CheckChild0Integer, 110|128,105, 
22823
0
   OPC_RecordChild1,
22824
0
   OPC_RecordChild2,
22825
0
   OPC_CheckPatternPredicate1,
22826
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_HU),
22827
0
                 MVT::v4i32, 2, 0, 1, 
22828
0
  13, 
22829
0
   OPC_CheckChild0Integer, 48|128,95, 
22830
0
   OPC_RecordChild1,
22831
0
   OPC_RecordChild2,
22832
0
   OPC_CheckPatternPredicate1,
22833
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU_H),
22834
0
                 MVT::v4i32, 2, 0, 1, 
22835
0
  13, 
22836
0
   OPC_CheckChild0Integer, 72|128,95, 
22837
0
   OPC_RecordChild1,
22838
0
   OPC_RecordChild2,
22839
0
   OPC_CheckPatternPredicate1,
22840
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU_H),
22841
0
                 MVT::v4i32, 2, 0, 1, 
22842
0
  13, 
22843
0
   OPC_CheckChild0Integer, 88|128,95, 
22844
0
   OPC_RecordChild1,
22845
0
   OPC_RecordChild2,
22846
0
   OPC_CheckPatternPredicate1,
22847
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
22848
0
                 MVT::v8i16, 2, 0, 1, 
22849
0
  13, 
22850
0
   OPC_CheckChild0Integer, 90|128,95, 
22851
0
   OPC_RecordChild1,
22852
0
   OPC_RecordChild2,
22853
0
   OPC_CheckPatternPredicate1,
22854
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
22855
0
                 MVT::v8i16, 2, 0, 1, 
22856
0
  13, 
22857
0
   OPC_CheckChild0Integer, 104|128,95, 
22858
0
   OPC_RecordChild1,
22859
0
   OPC_RecordChild2,
22860
0
   OPC_CheckPatternPredicate1,
22861
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
22862
0
                 MVT::v8i16, 2, 0, 1, 
22863
0
  13, 
22864
0
   OPC_CheckChild0Integer, 106|128,95, 
22865
0
   OPC_RecordChild1,
22866
0
   OPC_RecordChild2,
22867
0
   OPC_CheckPatternPredicate1,
22868
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
22869
0
                 MVT::v8i16, 2, 0, 1, 
22870
0
  13, 
22871
0
   OPC_CheckChild0Integer, 120|128,94, 
22872
0
   OPC_RecordChild1,
22873
0
   OPC_RecordChild2,
22874
0
   OPC_CheckPatternPredicate1,
22875
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
22876
0
                 MVT::v8i16, 2, 0, 1, 
22877
0
  13, 
22878
0
   OPC_CheckChild0Integer, 122|128,94, 
22879
0
   OPC_RecordChild1,
22880
0
   OPC_RecordChild2,
22881
0
   OPC_CheckPatternPredicate1,
22882
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
22883
0
                 MVT::v8i16, 2, 0, 1, 
22884
0
  13, 
22885
0
   OPC_CheckChild0Integer, 14|128,95, 
22886
0
   OPC_RecordChild1,
22887
0
   OPC_RecordChild2,
22888
0
   OPC_CheckPatternPredicate1,
22889
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
22890
0
                 MVT::v8i16, 2, 0, 1, 
22891
0
  13, 
22892
0
   OPC_CheckChild0Integer, 90|128,100, 
22893
0
   OPC_RecordChild1,
22894
0
   OPC_RecordChild2,
22895
0
   OPC_CheckPatternPredicate1,
22896
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
22897
0
                 MVT::v8i16, 2, 0, 1, 
22898
0
  13, 
22899
0
   OPC_CheckChild0Integer, 92|128,100, 
22900
0
   OPC_RecordChild1,
22901
0
   OPC_RecordChild2,
22902
0
   OPC_CheckPatternPredicate1,
22903
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
22904
0
                 MVT::v8i16, 2, 0, 1, 
22905
0
  13, 
22906
0
   OPC_CheckChild0Integer, 124|128,100, 
22907
0
   OPC_RecordChild1,
22908
0
   OPC_RecordChild2,
22909
0
   OPC_CheckPatternPredicate1,
22910
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_H),
22911
0
                 MVT::v4i32, 2, 0, 1, 
22912
0
  13, 
22913
0
   OPC_CheckChild0Integer, 20|128,101, 
22914
0
   OPC_RecordChild1,
22915
0
   OPC_RecordChild2,
22916
0
   OPC_CheckPatternPredicate1,
22917
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_H),
22918
0
                 MVT::v4i32, 2, 0, 1, 
22919
0
  13, 
22920
0
   OPC_CheckChild0Integer, 126|128,100, 
22921
0
   OPC_RecordChild1,
22922
0
   OPC_RecordChild2,
22923
0
   OPC_CheckPatternPredicate1,
22924
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU),
22925
0
                 MVT::v4i32, 2, 0, 1, 
22926
0
  13, 
22927
0
   OPC_CheckChild0Integer, 22|128,101, 
22928
0
   OPC_RecordChild1,
22929
0
   OPC_RecordChild2,
22930
0
   OPC_CheckPatternPredicate1,
22931
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU),
22932
0
                 MVT::v4i32, 2, 0, 1, 
22933
0
  13, 
22934
0
   OPC_CheckChild0Integer, 0|128,101, 
22935
0
   OPC_RecordChild1,
22936
0
   OPC_RecordChild2,
22937
0
   OPC_CheckPatternPredicate1,
22938
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU_H),
22939
0
                 MVT::v4i32, 2, 0, 1, 
22940
0
  13, 
22941
0
   OPC_CheckChild0Integer, 24|128,101, 
22942
0
   OPC_RecordChild1,
22943
0
   OPC_RecordChild2,
22944
0
   OPC_CheckPatternPredicate1,
22945
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU_H),
22946
0
                 MVT::v4i32, 2, 0, 1, 
22947
0
  13, 
22948
0
   OPC_CheckChild0Integer, 90|128,102, 
22949
0
   OPC_RecordChild1,
22950
0
   OPC_RecordChild2,
22951
0
   OPC_CheckPatternPredicate1,
22952
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
22953
0
                 MVT::v8i16, 2, 0, 1, 
22954
0
  13, 
22955
0
   OPC_CheckChild0Integer, 10|128,102, 
22956
0
   OPC_RecordChild1,
22957
0
   OPC_RecordChild2,
22958
0
   OPC_CheckPatternPredicate1,
22959
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
22960
0
                 MVT::v8i16, 2, 0, 1, 
22961
0
  13, 
22962
0
   OPC_CheckChild0Integer, 24|128,104, 
22963
0
   OPC_RecordChild1,
22964
0
   OPC_RecordChild2,
22965
0
   OPC_CheckPatternPredicate1,
22966
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
22967
0
                 MVT::v8i16, 2, 0, 1, 
22968
0
  13, 
22969
0
   OPC_CheckChild0Integer, 92|128,103, 
22970
0
   OPC_RecordChild1,
22971
0
   OPC_RecordChild2,
22972
0
   OPC_CheckPatternPredicate1,
22973
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
22974
0
                 MVT::v8i16, 2, 0, 1, 
22975
0
  13, 
22976
0
   OPC_CheckChild0Integer, 6|128,104, 
22977
0
   OPC_RecordChild1,
22978
0
   OPC_RecordChild2,
22979
0
   OPC_CheckPatternPredicate1,
22980
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_B_H),
22981
0
                 MVT::v16i8, 2, 0, 1, 
22982
0
  13, 
22983
0
   OPC_CheckChild0Integer, 74|128,103, 
22984
0
   OPC_RecordChild1,
22985
0
   OPC_RecordChild2,
22986
0
   OPC_CheckPatternPredicate1,
22987
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_B_H),
22988
0
                 MVT::v16i8, 2, 0, 1, 
22989
0
  13, 
22990
0
   OPC_CheckChild0Integer, 36|128,104, 
22991
0
   OPC_RecordChild1,
22992
0
   OPC_RecordChild2,
22993
0
   OPC_CheckPatternPredicate1,
22994
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_B_H),
22995
0
                 MVT::v16i8, 2, 0, 1, 
22996
0
  13, 
22997
0
   OPC_CheckChild0Integer, 104|128,103, 
22998
0
   OPC_RecordChild1,
22999
0
   OPC_RecordChild2,
23000
0
   OPC_CheckPatternPredicate1,
23001
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_B_H),
23002
0
                 MVT::v16i8, 2, 0, 1, 
23003
0
  13, 
23004
0
   OPC_CheckChild0Integer, 106|128,104, 
23005
0
   OPC_RecordChild1,
23006
0
   OPC_RecordChild2,
23007
0
   OPC_CheckPatternPredicate1,
23008
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_B_H),
23009
0
                 MVT::v16i8, 2, 0, 1, 
23010
0
  13, 
23011
0
   OPC_CheckChild0Integer, 50|128,104, 
23012
0
   OPC_RecordChild1,
23013
0
   OPC_RecordChild2,
23014
0
   OPC_CheckPatternPredicate1,
23015
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_B_H),
23016
0
                 MVT::v16i8, 2, 0, 1, 
23017
0
  13, 
23018
0
   OPC_CheckChild0Integer, 108|128,104, 
23019
0
   OPC_RecordChild1,
23020
0
   OPC_RecordChild2,
23021
0
   OPC_CheckPatternPredicate1,
23022
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_BU_H),
23023
0
                 MVT::v16i8, 2, 0, 1, 
23024
0
  13, 
23025
0
   OPC_CheckChild0Integer, 52|128,104, 
23026
0
   OPC_RecordChild1,
23027
0
   OPC_RecordChild2,
23028
0
   OPC_CheckPatternPredicate1,
23029
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_BU_H),
23030
0
                 MVT::v16i8, 2, 0, 1, 
23031
0
  13, 
23032
0
   OPC_CheckChild0Integer, 6|128,105, 
23033
0
   OPC_RecordChild1,
23034
0
   OPC_RecordChild2,
23035
0
   OPC_CheckPatternPredicate1,
23036
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_B_H),
23037
0
                 MVT::v16i8, 2, 0, 1, 
23038
0
  13, 
23039
0
   OPC_CheckChild0Integer, 78|128,104, 
23040
0
   OPC_RecordChild1,
23041
0
   OPC_RecordChild2,
23042
0
   OPC_CheckPatternPredicate1,
23043
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_B_H),
23044
0
                 MVT::v16i8, 2, 0, 1, 
23045
0
  13, 
23046
0
   OPC_CheckChild0Integer, 8|128,105, 
23047
0
   OPC_RecordChild1,
23048
0
   OPC_RecordChild2,
23049
0
   OPC_CheckPatternPredicate1,
23050
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_BU_H),
23051
0
                 MVT::v16i8, 2, 0, 1, 
23052
0
  13, 
23053
0
   OPC_CheckChild0Integer, 80|128,104, 
23054
0
   OPC_RecordChild1,
23055
0
   OPC_RecordChild2,
23056
0
   OPC_CheckPatternPredicate1,
23057
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_BU_H),
23058
0
                 MVT::v16i8, 2, 0, 1, 
23059
0
  13, 
23060
0
   OPC_CheckChild0Integer, 58|128,102, 
23061
0
   OPC_RecordChild1,
23062
0
   OPC_RecordChild2,
23063
0
   OPC_CheckPatternPredicate1,
23064
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
23065
0
                 MVT::v8i16, 2, 0, 1, 
23066
0
  13, 
23067
0
   OPC_CheckChild0Integer, 102|128,102, 
23068
0
   OPC_RecordChild1,
23069
0
   OPC_RecordChild2,
23070
0
   OPC_CheckPatternPredicate1,
23071
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
23072
0
                 MVT::v8i16, 2, 0, 1, 
23073
0
  13, 
23074
0
   OPC_CheckChild0Integer, 104|128,102, 
23075
0
   OPC_RecordChild1,
23076
0
   OPC_RecordChild2,
23077
0
   OPC_CheckPatternPredicate1,
23078
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
23079
0
                 MVT::v8i16, 2, 0, 1, 
23080
0
  13, 
23081
0
   OPC_CheckChild0Integer, 34|128,103, 
23082
0
   OPC_RecordChild1,
23083
0
   OPC_RecordChild2,
23084
0
   OPC_CheckPatternPredicate1,
23085
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
23086
0
                 MVT::v8i16, 2, 0, 1, 
23087
0
  13, 
23088
0
   OPC_CheckChild0Integer, 36|128,103, 
23089
0
   OPC_RecordChild1,
23090
0
   OPC_RecordChild2,
23091
0
   OPC_CheckPatternPredicate1,
23092
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
23093
0
                 MVT::v8i16, 2, 0, 1, 
23094
0
  13, 
23095
0
   OPC_CheckChild0Integer, 48|128,101, 
23096
0
   OPC_RecordChild1,
23097
0
   OPC_RecordChild2,
23098
0
   OPC_CheckPatternPredicate1,
23099
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
23100
0
                 MVT::v8i16, 2, 0, 1, 
23101
0
  13, 
23102
0
   OPC_CheckChild0Integer, 56|128,101, 
23103
0
   OPC_RecordChild1,
23104
0
   OPC_RecordChild2,
23105
0
   OPC_CheckPatternPredicate1,
23106
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
23107
0
                 MVT::v8i16, 2, 0, 1, 
23108
0
  13, 
23109
0
   OPC_CheckChild0Integer, 74|128,101, 
23110
0
   OPC_RecordChild1,
23111
0
   OPC_RecordChild2,
23112
0
   OPC_CheckPatternPredicate1,
23113
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
23114
0
                 MVT::v8i16, 2, 0, 1, 
23115
0
  13, 
23116
0
   OPC_CheckChild0Integer, 82|128,101, 
23117
0
   OPC_RecordChild1,
23118
0
   OPC_RecordChild2,
23119
0
   OPC_CheckPatternPredicate1,
23120
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
23121
0
                 MVT::v8i16, 2, 0, 1, 
23122
0
  13, 
23123
0
   OPC_CheckChild0Integer, 28|128,99, 
23124
0
   OPC_RecordChild1,
23125
0
   OPC_RecordChild2,
23126
0
   OPC_CheckPatternPredicate1,
23127
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
23128
0
                 MVT::v8i16, 2, 0, 1, 
23129
0
  13, 
23130
0
   OPC_CheckChild0Integer, 20|128,99, 
23131
0
   OPC_RecordChild1,
23132
0
   OPC_RecordChild2,
23133
0
   OPC_CheckPatternPredicate1,
23134
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
23135
0
                 MVT::v8i16, 2, 0, 1, 
23136
0
  13, 
23137
0
   OPC_CheckChild0Integer, 34|128,102, 
23138
0
   OPC_RecordChild1,
23139
0
   OPC_RecordChild2,
23140
0
   OPC_CheckPatternPredicate1,
23141
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
23142
0
                 MVT::v4i32, 2, 0, 1, 
23143
0
  13, 
23144
0
   OPC_CheckChild0Integer, 36|128,102, 
23145
0
   OPC_RecordChild1,
23146
0
   OPC_RecordChild2,
23147
0
   OPC_CheckPatternPredicate1,
23148
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
23149
0
                 MVT::v4i32, 2, 0, 1, 
23150
0
  13, 
23151
0
   OPC_CheckChild0Integer, 46|128,105, 
23152
0
   OPC_RecordChild1,
23153
0
   OPC_RecordChild2,
23154
0
   OPC_CheckPatternPredicate1,
23155
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
23156
0
                 MVT::v4i32, 2, 0, 1, 
23157
0
  13, 
23158
0
   OPC_CheckChild0Integer, 48|128,105, 
23159
0
   OPC_RecordChild1,
23160
0
   OPC_RecordChild2,
23161
0
   OPC_CheckPatternPredicate1,
23162
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
23163
0
                 MVT::v4i32, 2, 0, 1, 
23164
0
  13, 
23165
0
   OPC_CheckChild0Integer, 112|128,98, 
23166
0
   OPC_RecordChild1,
23167
0
   OPC_RecordChild2,
23168
0
   OPC_CheckPatternPredicate1,
23169
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
23170
0
                 MVT::v2i64, 2, 0, 1, 
23171
0
  13, 
23172
0
   OPC_CheckChild0Integer, 114|128,98, 
23173
0
   OPC_RecordChild1,
23174
0
   OPC_RecordChild2,
23175
0
   OPC_CheckPatternPredicate1,
23176
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
23177
0
                 MVT::v2i64, 2, 0, 1, 
23178
0
  13, 
23179
0
   OPC_CheckChild0Integer, 0|128,99, 
23180
0
   OPC_RecordChild1,
23181
0
   OPC_RecordChild2,
23182
0
   OPC_CheckPatternPredicate1,
23183
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
23184
0
                 MVT::v2i64, 2, 0, 1, 
23185
0
  13, 
23186
0
   OPC_CheckChild0Integer, 2|128,99, 
23187
0
   OPC_RecordChild1,
23188
0
   OPC_RecordChild2,
23189
0
   OPC_CheckPatternPredicate1,
23190
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
23191
0
                 MVT::v2i64, 2, 0, 1, 
23192
0
  13, 
23193
0
   OPC_CheckChild0Integer, 26|128,95, 
23194
0
   OPC_RecordChild1,
23195
0
   OPC_RecordChild2,
23196
0
   OPC_CheckPatternPredicate1,
23197
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_W),
23198
0
                 MVT::v2i64, 2, 0, 1, 
23199
0
  13, 
23200
0
   OPC_CheckChild0Integer, 50|128,95, 
23201
0
   OPC_RecordChild1,
23202
0
   OPC_RecordChild2,
23203
0
   OPC_CheckPatternPredicate1,
23204
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_W),
23205
0
                 MVT::v2i64, 2, 0, 1, 
23206
0
  13, 
23207
0
   OPC_CheckChild0Integer, 80|128,105, 
23208
0
   OPC_RecordChild1,
23209
0
   OPC_RecordChild2,
23210
0
   OPC_CheckPatternPredicate1,
23211
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_W),
23212
0
                 MVT::v2i64, 2, 0, 1, 
23213
0
  13, 
23214
0
   OPC_CheckChild0Integer, 96|128,105, 
23215
0
   OPC_RecordChild1,
23216
0
   OPC_RecordChild2,
23217
0
   OPC_CheckPatternPredicate1,
23218
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_W),
23219
0
                 MVT::v2i64, 2, 0, 1, 
23220
0
  13, 
23221
0
   OPC_CheckChild0Integer, 28|128,95, 
23222
0
   OPC_RecordChild1,
23223
0
   OPC_RecordChild2,
23224
0
   OPC_CheckPatternPredicate1,
23225
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU),
23226
0
                 MVT::v2i64, 2, 0, 1, 
23227
0
  13, 
23228
0
   OPC_CheckChild0Integer, 52|128,95, 
23229
0
   OPC_RecordChild1,
23230
0
   OPC_RecordChild2,
23231
0
   OPC_CheckPatternPredicate1,
23232
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU),
23233
0
                 MVT::v2i64, 2, 0, 1, 
23234
0
  13, 
23235
0
   OPC_CheckChild0Integer, 82|128,105, 
23236
0
   OPC_RecordChild1,
23237
0
   OPC_RecordChild2,
23238
0
   OPC_CheckPatternPredicate1,
23239
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_WU),
23240
0
                 MVT::v2i64, 2, 0, 1, 
23241
0
  13, 
23242
0
   OPC_CheckChild0Integer, 98|128,105, 
23243
0
   OPC_RecordChild1,
23244
0
   OPC_RecordChild2,
23245
0
   OPC_CheckPatternPredicate1,
23246
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_WU),
23247
0
                 MVT::v2i64, 2, 0, 1, 
23248
0
  13, 
23249
0
   OPC_CheckChild0Integer, 30|128,95, 
23250
0
   OPC_RecordChild1,
23251
0
   OPC_RecordChild2,
23252
0
   OPC_CheckPatternPredicate1,
23253
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU_W),
23254
0
                 MVT::v2i64, 2, 0, 1, 
23255
0
  13, 
23256
0
   OPC_CheckChild0Integer, 54|128,95, 
23257
0
   OPC_RecordChild1,
23258
0
   OPC_RecordChild2,
23259
0
   OPC_CheckPatternPredicate1,
23260
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU_W),
23261
0
                 MVT::v2i64, 2, 0, 1, 
23262
0
  13, 
23263
0
   OPC_CheckChild0Integer, 92|128,95, 
23264
0
   OPC_RecordChild1,
23265
0
   OPC_RecordChild2,
23266
0
   OPC_CheckPatternPredicate1,
23267
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
23268
0
                 MVT::v4i32, 2, 0, 1, 
23269
0
  13, 
23270
0
   OPC_CheckChild0Integer, 94|128,95, 
23271
0
   OPC_RecordChild1,
23272
0
   OPC_RecordChild2,
23273
0
   OPC_CheckPatternPredicate1,
23274
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
23275
0
                 MVT::v4i32, 2, 0, 1, 
23276
0
  13, 
23277
0
   OPC_CheckChild0Integer, 108|128,95, 
23278
0
   OPC_RecordChild1,
23279
0
   OPC_RecordChild2,
23280
0
   OPC_CheckPatternPredicate1,
23281
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
23282
0
                 MVT::v4i32, 2, 0, 1, 
23283
0
  13, 
23284
0
   OPC_CheckChild0Integer, 110|128,95, 
23285
0
   OPC_RecordChild1,
23286
0
   OPC_RecordChild2,
23287
0
   OPC_CheckPatternPredicate1,
23288
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
23289
0
                 MVT::v4i32, 2, 0, 1, 
23290
0
  13, 
23291
0
   OPC_CheckChild0Integer, 124|128,94, 
23292
0
   OPC_RecordChild1,
23293
0
   OPC_RecordChild2,
23294
0
   OPC_CheckPatternPredicate1,
23295
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
23296
0
                 MVT::v4i32, 2, 0, 1, 
23297
0
  13, 
23298
0
   OPC_CheckChild0Integer, 126|128,94, 
23299
0
   OPC_RecordChild1,
23300
0
   OPC_RecordChild2,
23301
0
   OPC_CheckPatternPredicate1,
23302
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
23303
0
                 MVT::v4i32, 2, 0, 1, 
23304
0
  13, 
23305
0
   OPC_CheckChild0Integer, 16|128,95, 
23306
0
   OPC_RecordChild1,
23307
0
   OPC_RecordChild2,
23308
0
   OPC_CheckPatternPredicate1,
23309
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
23310
0
                 MVT::v4i32, 2, 0, 1, 
23311
0
  13, 
23312
0
   OPC_CheckChild0Integer, 94|128,100, 
23313
0
   OPC_RecordChild1,
23314
0
   OPC_RecordChild2,
23315
0
   OPC_CheckPatternPredicate1,
23316
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
23317
0
                 MVT::v4i32, 2, 0, 1, 
23318
0
  13, 
23319
0
   OPC_CheckChild0Integer, 96|128,100, 
23320
0
   OPC_RecordChild1,
23321
0
   OPC_RecordChild2,
23322
0
   OPC_CheckPatternPredicate1,
23323
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
23324
0
                 MVT::v4i32, 2, 0, 1, 
23325
0
  13, 
23326
0
   OPC_CheckChild0Integer, 106|128,100, 
23327
0
   OPC_RecordChild1,
23328
0
   OPC_RecordChild2,
23329
0
   OPC_CheckPatternPredicate1,
23330
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_W),
23331
0
                 MVT::v2i64, 2, 0, 1, 
23332
0
  13, 
23333
0
   OPC_CheckChild0Integer, 2|128,101, 
23334
0
   OPC_RecordChild1,
23335
0
   OPC_RecordChild2,
23336
0
   OPC_CheckPatternPredicate1,
23337
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_W),
23338
0
                 MVT::v2i64, 2, 0, 1, 
23339
0
  13, 
23340
0
   OPC_CheckChild0Integer, 108|128,100, 
23341
0
   OPC_RecordChild1,
23342
0
   OPC_RecordChild2,
23343
0
   OPC_CheckPatternPredicate1,
23344
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU),
23345
0
                 MVT::v2i64, 2, 0, 1, 
23346
0
  13, 
23347
0
   OPC_CheckChild0Integer, 4|128,101, 
23348
0
   OPC_RecordChild1,
23349
0
   OPC_RecordChild2,
23350
0
   OPC_CheckPatternPredicate1,
23351
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU),
23352
0
                 MVT::v2i64, 2, 0, 1, 
23353
0
  13, 
23354
0
   OPC_CheckChild0Integer, 110|128,100, 
23355
0
   OPC_RecordChild1,
23356
0
   OPC_RecordChild2,
23357
0
   OPC_CheckPatternPredicate1,
23358
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU_W),
23359
0
                 MVT::v2i64, 2, 0, 1, 
23360
0
  13, 
23361
0
   OPC_CheckChild0Integer, 6|128,101, 
23362
0
   OPC_RecordChild1,
23363
0
   OPC_RecordChild2,
23364
0
   OPC_CheckPatternPredicate1,
23365
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU_W),
23366
0
                 MVT::v2i64, 2, 0, 1, 
23367
0
  13, 
23368
0
   OPC_CheckChild0Integer, 92|128,102, 
23369
0
   OPC_RecordChild1,
23370
0
   OPC_RecordChild2,
23371
0
   OPC_CheckPatternPredicate1,
23372
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
23373
0
                 MVT::v4i32, 2, 0, 1, 
23374
0
  13, 
23375
0
   OPC_CheckChild0Integer, 12|128,102, 
23376
0
   OPC_RecordChild1,
23377
0
   OPC_RecordChild2,
23378
0
   OPC_CheckPatternPredicate1,
23379
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
23380
0
                 MVT::v4i32, 2, 0, 1, 
23381
0
  13, 
23382
0
   OPC_CheckChild0Integer, 26|128,104, 
23383
0
   OPC_RecordChild1,
23384
0
   OPC_RecordChild2,
23385
0
   OPC_CheckPatternPredicate1,
23386
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
23387
0
                 MVT::v4i32, 2, 0, 1, 
23388
0
  13, 
23389
0
   OPC_CheckChild0Integer, 94|128,103, 
23390
0
   OPC_RecordChild1,
23391
0
   OPC_RecordChild2,
23392
0
   OPC_CheckPatternPredicate1,
23393
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
23394
0
                 MVT::v4i32, 2, 0, 1, 
23395
0
  13, 
23396
0
   OPC_CheckChild0Integer, 8|128,104, 
23397
0
   OPC_RecordChild1,
23398
0
   OPC_RecordChild2,
23399
0
   OPC_CheckPatternPredicate1,
23400
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_H_W),
23401
0
                 MVT::v8i16, 2, 0, 1, 
23402
0
  13, 
23403
0
   OPC_CheckChild0Integer, 76|128,103, 
23404
0
   OPC_RecordChild1,
23405
0
   OPC_RecordChild2,
23406
0
   OPC_CheckPatternPredicate1,
23407
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_H_W),
23408
0
                 MVT::v8i16, 2, 0, 1, 
23409
0
  13, 
23410
0
   OPC_CheckChild0Integer, 38|128,104, 
23411
0
   OPC_RecordChild1,
23412
0
   OPC_RecordChild2,
23413
0
   OPC_CheckPatternPredicate1,
23414
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_H_W),
23415
0
                 MVT::v8i16, 2, 0, 1, 
23416
0
  13, 
23417
0
   OPC_CheckChild0Integer, 106|128,103, 
23418
0
   OPC_RecordChild1,
23419
0
   OPC_RecordChild2,
23420
0
   OPC_CheckPatternPredicate1,
23421
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_H_W),
23422
0
                 MVT::v8i16, 2, 0, 1, 
23423
0
  13, 
23424
0
   OPC_CheckChild0Integer, 110|128,104, 
23425
0
   OPC_RecordChild1,
23426
0
   OPC_RecordChild2,
23427
0
   OPC_CheckPatternPredicate1,
23428
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_H_W),
23429
0
                 MVT::v8i16, 2, 0, 1, 
23430
0
  13, 
23431
0
   OPC_CheckChild0Integer, 54|128,104, 
23432
0
   OPC_RecordChild1,
23433
0
   OPC_RecordChild2,
23434
0
   OPC_CheckPatternPredicate1,
23435
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_H_W),
23436
0
                 MVT::v8i16, 2, 0, 1, 
23437
0
  13, 
23438
0
   OPC_CheckChild0Integer, 112|128,104, 
23439
0
   OPC_RecordChild1,
23440
0
   OPC_RecordChild2,
23441
0
   OPC_CheckPatternPredicate1,
23442
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_HU_W),
23443
0
                 MVT::v8i16, 2, 0, 1, 
23444
0
  13, 
23445
0
   OPC_CheckChild0Integer, 56|128,104, 
23446
0
   OPC_RecordChild1,
23447
0
   OPC_RecordChild2,
23448
0
   OPC_CheckPatternPredicate1,
23449
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_HU_W),
23450
0
                 MVT::v8i16, 2, 0, 1, 
23451
0
  13, 
23452
0
   OPC_CheckChild0Integer, 10|128,105, 
23453
0
   OPC_RecordChild1,
23454
0
   OPC_RecordChild2,
23455
0
   OPC_CheckPatternPredicate1,
23456
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_H_W),
23457
0
                 MVT::v8i16, 2, 0, 1, 
23458
0
  13, 
23459
0
   OPC_CheckChild0Integer, 82|128,104, 
23460
0
   OPC_RecordChild1,
23461
0
   OPC_RecordChild2,
23462
0
   OPC_CheckPatternPredicate1,
23463
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_H_W),
23464
0
                 MVT::v8i16, 2, 0, 1, 
23465
0
  13, 
23466
0
   OPC_CheckChild0Integer, 12|128,105, 
23467
0
   OPC_RecordChild1,
23468
0
   OPC_RecordChild2,
23469
0
   OPC_CheckPatternPredicate1,
23470
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_HU_W),
23471
0
                 MVT::v8i16, 2, 0, 1, 
23472
0
  13, 
23473
0
   OPC_CheckChild0Integer, 84|128,104, 
23474
0
   OPC_RecordChild1,
23475
0
   OPC_RecordChild2,
23476
0
   OPC_CheckPatternPredicate1,
23477
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_HU_W),
23478
0
                 MVT::v8i16, 2, 0, 1, 
23479
0
  13, 
23480
0
   OPC_CheckChild0Integer, 60|128,102, 
23481
0
   OPC_RecordChild1,
23482
0
   OPC_RecordChild2,
23483
0
   OPC_CheckPatternPredicate1,
23484
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
23485
0
                 MVT::v4i32, 2, 0, 1, 
23486
0
  13, 
23487
0
   OPC_CheckChild0Integer, 106|128,102, 
23488
0
   OPC_RecordChild1,
23489
0
   OPC_RecordChild2,
23490
0
   OPC_CheckPatternPredicate1,
23491
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
23492
0
                 MVT::v4i32, 2, 0, 1, 
23493
0
  13, 
23494
0
   OPC_CheckChild0Integer, 108|128,102, 
23495
0
   OPC_RecordChild1,
23496
0
   OPC_RecordChild2,
23497
0
   OPC_CheckPatternPredicate1,
23498
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
23499
0
                 MVT::v4i32, 2, 0, 1, 
23500
0
  13, 
23501
0
   OPC_CheckChild0Integer, 38|128,103, 
23502
0
   OPC_RecordChild1,
23503
0
   OPC_RecordChild2,
23504
0
   OPC_CheckPatternPredicate1,
23505
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
23506
0
                 MVT::v4i32, 2, 0, 1, 
23507
0
  13, 
23508
0
   OPC_CheckChild0Integer, 40|128,103, 
23509
0
   OPC_RecordChild1,
23510
0
   OPC_RecordChild2,
23511
0
   OPC_CheckPatternPredicate1,
23512
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
23513
0
                 MVT::v4i32, 2, 0, 1, 
23514
0
  13, 
23515
0
   OPC_CheckChild0Integer, 50|128,101, 
23516
0
   OPC_RecordChild1,
23517
0
   OPC_RecordChild2,
23518
0
   OPC_CheckPatternPredicate1,
23519
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
23520
0
                 MVT::v4i32, 2, 0, 1, 
23521
0
  13, 
23522
0
   OPC_CheckChild0Integer, 58|128,101, 
23523
0
   OPC_RecordChild1,
23524
0
   OPC_RecordChild2,
23525
0
   OPC_CheckPatternPredicate1,
23526
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
23527
0
                 MVT::v4i32, 2, 0, 1, 
23528
0
  13, 
23529
0
   OPC_CheckChild0Integer, 76|128,101, 
23530
0
   OPC_RecordChild1,
23531
0
   OPC_RecordChild2,
23532
0
   OPC_CheckPatternPredicate1,
23533
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
23534
0
                 MVT::v4i32, 2, 0, 1, 
23535
0
  13, 
23536
0
   OPC_CheckChild0Integer, 84|128,101, 
23537
0
   OPC_RecordChild1,
23538
0
   OPC_RecordChild2,
23539
0
   OPC_CheckPatternPredicate1,
23540
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
23541
0
                 MVT::v4i32, 2, 0, 1, 
23542
0
  13, 
23543
0
   OPC_CheckChild0Integer, 30|128,99, 
23544
0
   OPC_RecordChild1,
23545
0
   OPC_RecordChild2,
23546
0
   OPC_CheckPatternPredicate1,
23547
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
23548
0
                 MVT::v4i32, 2, 0, 1, 
23549
0
  13, 
23550
0
   OPC_CheckChild0Integer, 22|128,99, 
23551
0
   OPC_RecordChild1,
23552
0
   OPC_RecordChild2,
23553
0
   OPC_CheckPatternPredicate1,
23554
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
23555
0
                 MVT::v4i32, 2, 0, 1, 
23556
0
  13, 
23557
0
   OPC_CheckChild0Integer, 6|128,95, 
23558
0
   OPC_RecordChild1,
23559
0
   OPC_RecordChild2,
23560
0
   OPC_CheckPatternPredicate1,
23561
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_Q),
23562
0
                 MVT::v2i64, 2, 0, 1, 
23563
0
  13, 
23564
0
   OPC_CheckChild0Integer, 68|128,105, 
23565
0
   OPC_RecordChild1,
23566
0
   OPC_RecordChild2,
23567
0
   OPC_CheckPatternPredicate1,
23568
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_Q),
23569
0
                 MVT::v2i64, 2, 0, 1, 
23570
0
  13, 
23571
0
   OPC_CheckChild0Integer, 26|128,102, 
23572
0
   OPC_RecordChild1,
23573
0
   OPC_RecordChild2,
23574
0
   OPC_CheckPatternPredicate1,
23575
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
23576
0
                 MVT::v2i64, 2, 0, 1, 
23577
0
  13, 
23578
0
   OPC_CheckChild0Integer, 28|128,102, 
23579
0
   OPC_RecordChild1,
23580
0
   OPC_RecordChild2,
23581
0
   OPC_CheckPatternPredicate1,
23582
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
23583
0
                 MVT::v2i64, 2, 0, 1, 
23584
0
  13, 
23585
0
   OPC_CheckChild0Integer, 38|128,105, 
23586
0
   OPC_RecordChild1,
23587
0
   OPC_RecordChild2,
23588
0
   OPC_CheckPatternPredicate1,
23589
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
23590
0
                 MVT::v2i64, 2, 0, 1, 
23591
0
  13, 
23592
0
   OPC_CheckChild0Integer, 40|128,105, 
23593
0
   OPC_RecordChild1,
23594
0
   OPC_RecordChild2,
23595
0
   OPC_CheckPatternPredicate1,
23596
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
23597
0
                 MVT::v2i64, 2, 0, 1, 
23598
0
  13, 
23599
0
   OPC_CheckChild0Integer, 120|128,98, 
23600
0
   OPC_RecordChild1,
23601
0
   OPC_RecordChild2,
23602
0
   OPC_CheckPatternPredicate1,
23603
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
23604
0
                 MVT::v2i64, 2, 0, 1, 
23605
0
  13, 
23606
0
   OPC_CheckChild0Integer, 122|128,98, 
23607
0
   OPC_RecordChild1,
23608
0
   OPC_RecordChild2,
23609
0
   OPC_CheckPatternPredicate1,
23610
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
23611
0
                 MVT::v2i64, 2, 0, 1, 
23612
0
  13, 
23613
0
   OPC_CheckChild0Integer, 8|128,99, 
23614
0
   OPC_RecordChild1,
23615
0
   OPC_RecordChild2,
23616
0
   OPC_CheckPatternPredicate1,
23617
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
23618
0
                 MVT::v2i64, 2, 0, 1, 
23619
0
  13, 
23620
0
   OPC_CheckChild0Integer, 10|128,99, 
23621
0
   OPC_RecordChild1,
23622
0
   OPC_RecordChild2,
23623
0
   OPC_CheckPatternPredicate1,
23624
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
23625
0
                 MVT::v2i64, 2, 0, 1, 
23626
0
  13, 
23627
0
   OPC_CheckChild0Integer, 38|128,95, 
23628
0
   OPC_RecordChild1,
23629
0
   OPC_RecordChild2,
23630
0
   OPC_CheckPatternPredicate1,
23631
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_D),
23632
0
                 MVT::v2i64, 2, 0, 1, 
23633
0
  13, 
23634
0
   OPC_CheckChild0Integer, 62|128,95, 
23635
0
   OPC_RecordChild1,
23636
0
   OPC_RecordChild2,
23637
0
   OPC_CheckPatternPredicate1,
23638
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_D),
23639
0
                 MVT::v2i64, 2, 0, 1, 
23640
0
  13, 
23641
0
   OPC_CheckChild0Integer, 88|128,105, 
23642
0
   OPC_RecordChild1,
23643
0
   OPC_RecordChild2,
23644
0
   OPC_CheckPatternPredicate1,
23645
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_D),
23646
0
                 MVT::v2i64, 2, 0, 1, 
23647
0
  13, 
23648
0
   OPC_CheckChild0Integer, 104|128,105, 
23649
0
   OPC_RecordChild1,
23650
0
   OPC_RecordChild2,
23651
0
   OPC_CheckPatternPredicate1,
23652
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_D),
23653
0
                 MVT::v2i64, 2, 0, 1, 
23654
0
  13, 
23655
0
   OPC_CheckChild0Integer, 40|128,95, 
23656
0
   OPC_RecordChild1,
23657
0
   OPC_RecordChild2,
23658
0
   OPC_CheckPatternPredicate1,
23659
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU),
23660
0
                 MVT::v2i64, 2, 0, 1, 
23661
0
  13, 
23662
0
   OPC_CheckChild0Integer, 64|128,95, 
23663
0
   OPC_RecordChild1,
23664
0
   OPC_RecordChild2,
23665
0
   OPC_CheckPatternPredicate1,
23666
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU),
23667
0
                 MVT::v2i64, 2, 0, 1, 
23668
0
  13, 
23669
0
   OPC_CheckChild0Integer, 90|128,105, 
23670
0
   OPC_RecordChild1,
23671
0
   OPC_RecordChild2,
23672
0
   OPC_CheckPatternPredicate1,
23673
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_DU),
23674
0
                 MVT::v2i64, 2, 0, 1, 
23675
0
  13, 
23676
0
   OPC_CheckChild0Integer, 106|128,105, 
23677
0
   OPC_RecordChild1,
23678
0
   OPC_RecordChild2,
23679
0
   OPC_CheckPatternPredicate1,
23680
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_DU),
23681
0
                 MVT::v2i64, 2, 0, 1, 
23682
0
  13, 
23683
0
   OPC_CheckChild0Integer, 42|128,95, 
23684
0
   OPC_RecordChild1,
23685
0
   OPC_RecordChild2,
23686
0
   OPC_CheckPatternPredicate1,
23687
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU_D),
23688
0
                 MVT::v2i64, 2, 0, 1, 
23689
0
  13, 
23690
0
   OPC_CheckChild0Integer, 66|128,95, 
23691
0
   OPC_RecordChild1,
23692
0
   OPC_RecordChild2,
23693
0
   OPC_CheckPatternPredicate1,
23694
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU_D),
23695
0
                 MVT::v2i64, 2, 0, 1, 
23696
0
  13, 
23697
0
   OPC_CheckChild0Integer, 84|128,95, 
23698
0
   OPC_RecordChild1,
23699
0
   OPC_RecordChild2,
23700
0
   OPC_CheckPatternPredicate1,
23701
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
23702
0
                 MVT::v2i64, 2, 0, 1, 
23703
0
  13, 
23704
0
   OPC_CheckChild0Integer, 86|128,95, 
23705
0
   OPC_RecordChild1,
23706
0
   OPC_RecordChild2,
23707
0
   OPC_CheckPatternPredicate1,
23708
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
23709
0
                 MVT::v2i64, 2, 0, 1, 
23710
0
  13, 
23711
0
   OPC_CheckChild0Integer, 100|128,95, 
23712
0
   OPC_RecordChild1,
23713
0
   OPC_RecordChild2,
23714
0
   OPC_CheckPatternPredicate1,
23715
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
23716
0
                 MVT::v2i64, 2, 0, 1, 
23717
0
  13, 
23718
0
   OPC_CheckChild0Integer, 102|128,95, 
23719
0
   OPC_RecordChild1,
23720
0
   OPC_RecordChild2,
23721
0
   OPC_CheckPatternPredicate1,
23722
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
23723
0
                 MVT::v2i64, 2, 0, 1, 
23724
0
  13, 
23725
0
   OPC_CheckChild0Integer, 116|128,94, 
23726
0
   OPC_RecordChild1,
23727
0
   OPC_RecordChild2,
23728
0
   OPC_CheckPatternPredicate1,
23729
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
23730
0
                 MVT::v2i64, 2, 0, 1, 
23731
0
  13, 
23732
0
   OPC_CheckChild0Integer, 118|128,94, 
23733
0
   OPC_RecordChild1,
23734
0
   OPC_RecordChild2,
23735
0
   OPC_CheckPatternPredicate1,
23736
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
23737
0
                 MVT::v2i64, 2, 0, 1, 
23738
0
  13, 
23739
0
   OPC_CheckChild0Integer, 12|128,95, 
23740
0
   OPC_RecordChild1,
23741
0
   OPC_RecordChild2,
23742
0
   OPC_CheckPatternPredicate1,
23743
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
23744
0
                 MVT::v2i64, 2, 0, 1, 
23745
0
  13, 
23746
0
   OPC_CheckChild0Integer, 86|128,100, 
23747
0
   OPC_RecordChild1,
23748
0
   OPC_RecordChild2,
23749
0
   OPC_CheckPatternPredicate1,
23750
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
23751
0
                 MVT::v2i64, 2, 0, 1, 
23752
0
  13, 
23753
0
   OPC_CheckChild0Integer, 88|128,100, 
23754
0
   OPC_RecordChild1,
23755
0
   OPC_RecordChild2,
23756
0
   OPC_CheckPatternPredicate1,
23757
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
23758
0
                 MVT::v2i64, 2, 0, 1, 
23759
0
  13, 
23760
0
   OPC_CheckChild0Integer, 118|128,100, 
23761
0
   OPC_RecordChild1,
23762
0
   OPC_RecordChild2,
23763
0
   OPC_CheckPatternPredicate1,
23764
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_D),
23765
0
                 MVT::v2i64, 2, 0, 1, 
23766
0
  13, 
23767
0
   OPC_CheckChild0Integer, 14|128,101, 
23768
0
   OPC_RecordChild1,
23769
0
   OPC_RecordChild2,
23770
0
   OPC_CheckPatternPredicate1,
23771
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_D),
23772
0
                 MVT::v2i64, 2, 0, 1, 
23773
0
  13, 
23774
0
   OPC_CheckChild0Integer, 120|128,100, 
23775
0
   OPC_RecordChild1,
23776
0
   OPC_RecordChild2,
23777
0
   OPC_CheckPatternPredicate1,
23778
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU),
23779
0
                 MVT::v2i64, 2, 0, 1, 
23780
0
  13, 
23781
0
   OPC_CheckChild0Integer, 16|128,101, 
23782
0
   OPC_RecordChild1,
23783
0
   OPC_RecordChild2,
23784
0
   OPC_CheckPatternPredicate1,
23785
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU),
23786
0
                 MVT::v2i64, 2, 0, 1, 
23787
0
  13, 
23788
0
   OPC_CheckChild0Integer, 122|128,100, 
23789
0
   OPC_RecordChild1,
23790
0
   OPC_RecordChild2,
23791
0
   OPC_CheckPatternPredicate1,
23792
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU_D),
23793
0
                 MVT::v2i64, 2, 0, 1, 
23794
0
  13, 
23795
0
   OPC_CheckChild0Integer, 18|128,101, 
23796
0
   OPC_RecordChild1,
23797
0
   OPC_RecordChild2,
23798
0
   OPC_CheckPatternPredicate1,
23799
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU_D),
23800
0
                 MVT::v2i64, 2, 0, 1, 
23801
0
  13, 
23802
0
   OPC_CheckChild0Integer, 88|128,102, 
23803
0
   OPC_RecordChild1,
23804
0
   OPC_RecordChild2,
23805
0
   OPC_CheckPatternPredicate1,
23806
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
23807
0
                 MVT::v2i64, 2, 0, 1, 
23808
0
  13, 
23809
0
   OPC_CheckChild0Integer, 8|128,102, 
23810
0
   OPC_RecordChild1,
23811
0
   OPC_RecordChild2,
23812
0
   OPC_CheckPatternPredicate1,
23813
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
23814
0
                 MVT::v2i64, 2, 0, 1, 
23815
0
  13, 
23816
0
   OPC_CheckChild0Integer, 22|128,104, 
23817
0
   OPC_RecordChild1,
23818
0
   OPC_RecordChild2,
23819
0
   OPC_CheckPatternPredicate1,
23820
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
23821
0
                 MVT::v2i64, 2, 0, 1, 
23822
0
  13, 
23823
0
   OPC_CheckChild0Integer, 90|128,103, 
23824
0
   OPC_RecordChild1,
23825
0
   OPC_RecordChild2,
23826
0
   OPC_CheckPatternPredicate1,
23827
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
23828
0
                 MVT::v2i64, 2, 0, 1, 
23829
0
  13, 
23830
0
   OPC_CheckChild0Integer, 10|128,104, 
23831
0
   OPC_RecordChild1,
23832
0
   OPC_RecordChild2,
23833
0
   OPC_CheckPatternPredicate1,
23834
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_W_D),
23835
0
                 MVT::v4i32, 2, 0, 1, 
23836
0
  13, 
23837
0
   OPC_CheckChild0Integer, 78|128,103, 
23838
0
   OPC_RecordChild1,
23839
0
   OPC_RecordChild2,
23840
0
   OPC_CheckPatternPredicate1,
23841
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_W_D),
23842
0
                 MVT::v4i32, 2, 0, 1, 
23843
0
  13, 
23844
0
   OPC_CheckChild0Integer, 40|128,104, 
23845
0
   OPC_RecordChild1,
23846
0
   OPC_RecordChild2,
23847
0
   OPC_CheckPatternPredicate1,
23848
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_W_D),
23849
0
                 MVT::v4i32, 2, 0, 1, 
23850
0
  13, 
23851
0
   OPC_CheckChild0Integer, 108|128,103, 
23852
0
   OPC_RecordChild1,
23853
0
   OPC_RecordChild2,
23854
0
   OPC_CheckPatternPredicate1,
23855
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_W_D),
23856
0
                 MVT::v4i32, 2, 0, 1, 
23857
0
  13, 
23858
0
   OPC_CheckChild0Integer, 114|128,104, 
23859
0
   OPC_RecordChild1,
23860
0
   OPC_RecordChild2,
23861
0
   OPC_CheckPatternPredicate1,
23862
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_W_D),
23863
0
                 MVT::v4i32, 2, 0, 1, 
23864
0
  13, 
23865
0
   OPC_CheckChild0Integer, 58|128,104, 
23866
0
   OPC_RecordChild1,
23867
0
   OPC_RecordChild2,
23868
0
   OPC_CheckPatternPredicate1,
23869
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_W_D),
23870
0
                 MVT::v4i32, 2, 0, 1, 
23871
0
  13, 
23872
0
   OPC_CheckChild0Integer, 116|128,104, 
23873
0
   OPC_RecordChild1,
23874
0
   OPC_RecordChild2,
23875
0
   OPC_CheckPatternPredicate1,
23876
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_WU_D),
23877
0
                 MVT::v4i32, 2, 0, 1, 
23878
0
  13, 
23879
0
   OPC_CheckChild0Integer, 60|128,104, 
23880
0
   OPC_RecordChild1,
23881
0
   OPC_RecordChild2,
23882
0
   OPC_CheckPatternPredicate1,
23883
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_WU_D),
23884
0
                 MVT::v4i32, 2, 0, 1, 
23885
0
  13, 
23886
0
   OPC_CheckChild0Integer, 14|128,105, 
23887
0
   OPC_RecordChild1,
23888
0
   OPC_RecordChild2,
23889
0
   OPC_CheckPatternPredicate1,
23890
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_W_D),
23891
0
                 MVT::v4i32, 2, 0, 1, 
23892
0
  13, 
23893
0
   OPC_CheckChild0Integer, 86|128,104, 
23894
0
   OPC_RecordChild1,
23895
0
   OPC_RecordChild2,
23896
0
   OPC_CheckPatternPredicate1,
23897
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_W_D),
23898
0
                 MVT::v4i32, 2, 0, 1, 
23899
0
  13, 
23900
0
   OPC_CheckChild0Integer, 16|128,105, 
23901
0
   OPC_RecordChild1,
23902
0
   OPC_RecordChild2,
23903
0
   OPC_CheckPatternPredicate1,
23904
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_WU_D),
23905
0
                 MVT::v4i32, 2, 0, 1, 
23906
0
  13, 
23907
0
   OPC_CheckChild0Integer, 88|128,104, 
23908
0
   OPC_RecordChild1,
23909
0
   OPC_RecordChild2,
23910
0
   OPC_CheckPatternPredicate1,
23911
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_WU_D),
23912
0
                 MVT::v4i32, 2, 0, 1, 
23913
0
  13, 
23914
0
   OPC_CheckChild0Integer, 56|128,102, 
23915
0
   OPC_RecordChild1,
23916
0
   OPC_RecordChild2,
23917
0
   OPC_CheckPatternPredicate1,
23918
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
23919
0
                 MVT::v2i64, 2, 0, 1, 
23920
0
  13, 
23921
0
   OPC_CheckChild0Integer, 98|128,102, 
23922
0
   OPC_RecordChild1,
23923
0
   OPC_RecordChild2,
23924
0
   OPC_CheckPatternPredicate1,
23925
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
23926
0
                 MVT::v2i64, 2, 0, 1, 
23927
0
  13, 
23928
0
   OPC_CheckChild0Integer, 100|128,102, 
23929
0
   OPC_RecordChild1,
23930
0
   OPC_RecordChild2,
23931
0
   OPC_CheckPatternPredicate1,
23932
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
23933
0
                 MVT::v2i64, 2, 0, 1, 
23934
0
  13, 
23935
0
   OPC_CheckChild0Integer, 30|128,103, 
23936
0
   OPC_RecordChild1,
23937
0
   OPC_RecordChild2,
23938
0
   OPC_CheckPatternPredicate1,
23939
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
23940
0
                 MVT::v2i64, 2, 0, 1, 
23941
0
  13, 
23942
0
   OPC_CheckChild0Integer, 32|128,103, 
23943
0
   OPC_RecordChild1,
23944
0
   OPC_RecordChild2,
23945
0
   OPC_CheckPatternPredicate1,
23946
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
23947
0
                 MVT::v2i64, 2, 0, 1, 
23948
0
  13, 
23949
0
   OPC_CheckChild0Integer, 46|128,101, 
23950
0
   OPC_RecordChild1,
23951
0
   OPC_RecordChild2,
23952
0
   OPC_CheckPatternPredicate1,
23953
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
23954
0
                 MVT::v2i64, 2, 0, 1, 
23955
0
  13, 
23956
0
   OPC_CheckChild0Integer, 54|128,101, 
23957
0
   OPC_RecordChild1,
23958
0
   OPC_RecordChild2,
23959
0
   OPC_CheckPatternPredicate1,
23960
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
23961
0
                 MVT::v2i64, 2, 0, 1, 
23962
0
  13, 
23963
0
   OPC_CheckChild0Integer, 72|128,101, 
23964
0
   OPC_RecordChild1,
23965
0
   OPC_RecordChild2,
23966
0
   OPC_CheckPatternPredicate1,
23967
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
23968
0
                 MVT::v2i64, 2, 0, 1, 
23969
0
  13, 
23970
0
   OPC_CheckChild0Integer, 80|128,101, 
23971
0
   OPC_RecordChild1,
23972
0
   OPC_RecordChild2,
23973
0
   OPC_CheckPatternPredicate1,
23974
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
23975
0
                 MVT::v2i64, 2, 0, 1, 
23976
0
  13, 
23977
0
   OPC_CheckChild0Integer, 26|128,99, 
23978
0
   OPC_RecordChild1,
23979
0
   OPC_RecordChild2,
23980
0
   OPC_CheckPatternPredicate1,
23981
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
23982
0
                 MVT::v2i64, 2, 0, 1, 
23983
0
  13, 
23984
0
   OPC_CheckChild0Integer, 18|128,99, 
23985
0
   OPC_RecordChild1,
23986
0
   OPC_RecordChild2,
23987
0
   OPC_CheckPatternPredicate1,
23988
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
23989
0
                 MVT::v2i64, 2, 0, 1, 
23990
0
  15, 
23991
0
   OPC_CheckChild0Integer, 68|128,99, 
23992
0
   OPC_RecordChild1,
23993
0
   OPC_RecordChild2,
23994
0
   OPC_RecordChild3,
23995
0
   OPC_CheckPatternPredicate1,
23996
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_B),
23997
0
                 MVT::v8i16, 3, 0, 1, 2, 
23998
0
  15, 
23999
0
   OPC_CheckChild0Integer, 92|128,99, 
24000
0
   OPC_RecordChild1,
24001
0
   OPC_RecordChild2,
24002
0
   OPC_RecordChild3,
24003
0
   OPC_CheckPatternPredicate1,
24004
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_B),
24005
0
                 MVT::v8i16, 3, 0, 1, 2, 
24006
0
  15, 
24007
0
   OPC_CheckChild0Integer, 70|128,99, 
24008
0
   OPC_RecordChild1,
24009
0
   OPC_RecordChild2,
24010
0
   OPC_RecordChild3,
24011
0
   OPC_CheckPatternPredicate1,
24012
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU),
24013
0
                 MVT::v8i16, 3, 0, 1, 2, 
24014
0
  15, 
24015
0
   OPC_CheckChild0Integer, 94|128,99, 
24016
0
   OPC_RecordChild1,
24017
0
   OPC_RecordChild2,
24018
0
   OPC_RecordChild3,
24019
0
   OPC_CheckPatternPredicate1,
24020
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU),
24021
0
                 MVT::v8i16, 3, 0, 1, 2, 
24022
0
  15, 
24023
0
   OPC_CheckChild0Integer, 72|128,99, 
24024
0
   OPC_RecordChild1,
24025
0
   OPC_RecordChild2,
24026
0
   OPC_RecordChild3,
24027
0
   OPC_CheckPatternPredicate1,
24028
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU_B),
24029
0
                 MVT::v8i16, 3, 0, 1, 2, 
24030
0
  15, 
24031
0
   OPC_CheckChild0Integer, 96|128,99, 
24032
0
   OPC_RecordChild1,
24033
0
   OPC_RecordChild2,
24034
0
   OPC_RecordChild3,
24035
0
   OPC_CheckPatternPredicate1,
24036
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU_B),
24037
0
                 MVT::v8i16, 3, 0, 1, 2, 
24038
0
  15, 
24039
0
   OPC_CheckChild0Integer, 80|128,99, 
24040
0
   OPC_RecordChild1,
24041
0
   OPC_RecordChild2,
24042
0
   OPC_RecordChild3,
24043
0
   OPC_CheckPatternPredicate1,
24044
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_H),
24045
0
                 MVT::v4i32, 3, 0, 1, 2, 
24046
0
  15, 
24047
0
   OPC_CheckChild0Integer, 104|128,99, 
24048
0
   OPC_RecordChild1,
24049
0
   OPC_RecordChild2,
24050
0
   OPC_RecordChild3,
24051
0
   OPC_CheckPatternPredicate1,
24052
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_H),
24053
0
                 MVT::v4i32, 3, 0, 1, 2, 
24054
0
  15, 
24055
0
   OPC_CheckChild0Integer, 82|128,99, 
24056
0
   OPC_RecordChild1,
24057
0
   OPC_RecordChild2,
24058
0
   OPC_RecordChild3,
24059
0
   OPC_CheckPatternPredicate1,
24060
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU),
24061
0
                 MVT::v4i32, 3, 0, 1, 2, 
24062
0
  15, 
24063
0
   OPC_CheckChild0Integer, 106|128,99, 
24064
0
   OPC_RecordChild1,
24065
0
   OPC_RecordChild2,
24066
0
   OPC_RecordChild3,
24067
0
   OPC_CheckPatternPredicate1,
24068
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU),
24069
0
                 MVT::v4i32, 3, 0, 1, 2, 
24070
0
  15, 
24071
0
   OPC_CheckChild0Integer, 84|128,99, 
24072
0
   OPC_RecordChild1,
24073
0
   OPC_RecordChild2,
24074
0
   OPC_RecordChild3,
24075
0
   OPC_CheckPatternPredicate1,
24076
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU_H),
24077
0
                 MVT::v4i32, 3, 0, 1, 2, 
24078
0
  15, 
24079
0
   OPC_CheckChild0Integer, 108|128,99, 
24080
0
   OPC_RecordChild1,
24081
0
   OPC_RecordChild2,
24082
0
   OPC_RecordChild3,
24083
0
   OPC_CheckPatternPredicate1,
24084
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU_H),
24085
0
                 MVT::v4i32, 3, 0, 1, 2, 
24086
0
  15, 
24087
0
   OPC_CheckChild0Integer, 62|128,99, 
24088
0
   OPC_RecordChild1,
24089
0
   OPC_RecordChild2,
24090
0
   OPC_RecordChild3,
24091
0
   OPC_CheckPatternPredicate1,
24092
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_W),
24093
0
                 MVT::v2i64, 3, 0, 1, 2, 
24094
0
  15, 
24095
0
   OPC_CheckChild0Integer, 86|128,99, 
24096
0
   OPC_RecordChild1,
24097
0
   OPC_RecordChild2,
24098
0
   OPC_RecordChild3,
24099
0
   OPC_CheckPatternPredicate1,
24100
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_W),
24101
0
                 MVT::v2i64, 3, 0, 1, 2, 
24102
0
  15, 
24103
0
   OPC_CheckChild0Integer, 64|128,99, 
24104
0
   OPC_RecordChild1,
24105
0
   OPC_RecordChild2,
24106
0
   OPC_RecordChild3,
24107
0
   OPC_CheckPatternPredicate1,
24108
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU),
24109
0
                 MVT::v2i64, 3, 0, 1, 2, 
24110
0
  15, 
24111
0
   OPC_CheckChild0Integer, 88|128,99, 
24112
0
   OPC_RecordChild1,
24113
0
   OPC_RecordChild2,
24114
0
   OPC_RecordChild3,
24115
0
   OPC_CheckPatternPredicate1,
24116
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU),
24117
0
                 MVT::v2i64, 3, 0, 1, 2, 
24118
0
  15, 
24119
0
   OPC_CheckChild0Integer, 66|128,99, 
24120
0
   OPC_RecordChild1,
24121
0
   OPC_RecordChild2,
24122
0
   OPC_RecordChild3,
24123
0
   OPC_CheckPatternPredicate1,
24124
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU_W),
24125
0
                 MVT::v2i64, 3, 0, 1, 2, 
24126
0
  15, 
24127
0
   OPC_CheckChild0Integer, 90|128,99, 
24128
0
   OPC_RecordChild1,
24129
0
   OPC_RecordChild2,
24130
0
   OPC_RecordChild3,
24131
0
   OPC_CheckPatternPredicate1,
24132
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU_W),
24133
0
                 MVT::v2i64, 3, 0, 1, 2, 
24134
0
  15, 
24135
0
   OPC_CheckChild0Integer, 74|128,99, 
24136
0
   OPC_RecordChild1,
24137
0
   OPC_RecordChild2,
24138
0
   OPC_RecordChild3,
24139
0
   OPC_CheckPatternPredicate1,
24140
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_D),
24141
0
                 MVT::v2i64, 3, 0, 1, 2, 
24142
0
  15, 
24143
0
   OPC_CheckChild0Integer, 98|128,99, 
24144
0
   OPC_RecordChild1,
24145
0
   OPC_RecordChild2,
24146
0
   OPC_RecordChild3,
24147
0
   OPC_CheckPatternPredicate1,
24148
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_D),
24149
0
                 MVT::v2i64, 3, 0, 1, 2, 
24150
0
  15, 
24151
0
   OPC_CheckChild0Integer, 76|128,99, 
24152
0
   OPC_RecordChild1,
24153
0
   OPC_RecordChild2,
24154
0
   OPC_RecordChild3,
24155
0
   OPC_CheckPatternPredicate1,
24156
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU),
24157
0
                 MVT::v2i64, 3, 0, 1, 2, 
24158
0
  15, 
24159
0
   OPC_CheckChild0Integer, 100|128,99, 
24160
0
   OPC_RecordChild1,
24161
0
   OPC_RecordChild2,
24162
0
   OPC_RecordChild3,
24163
0
   OPC_CheckPatternPredicate1,
24164
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU),
24165
0
                 MVT::v2i64, 3, 0, 1, 2, 
24166
0
  15, 
24167
0
   OPC_CheckChild0Integer, 78|128,99, 
24168
0
   OPC_RecordChild1,
24169
0
   OPC_RecordChild2,
24170
0
   OPC_RecordChild3,
24171
0
   OPC_CheckPatternPredicate1,
24172
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU_D),
24173
0
                 MVT::v2i64, 3, 0, 1, 2, 
24174
0
  15, 
24175
0
   OPC_CheckChild0Integer, 102|128,99, 
24176
0
   OPC_RecordChild1,
24177
0
   OPC_RecordChild2,
24178
0
   OPC_RecordChild3,
24179
0
   OPC_CheckPatternPredicate1,
24180
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU_D),
24181
0
                 MVT::v2i64, 3, 0, 1, 2, 
24182
0
  11, 
24183
0
   OPC_CheckChild0Integer, 76|128,96, 
24184
0
   OPC_RecordChild1,
24185
0
   OPC_CheckPatternPredicate1,
24186
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
24187
0
                 MVT::v8i16, 1, 0, 
24188
0
  11, 
24189
0
   OPC_CheckChild0Integer, 78|128,96, 
24190
0
   OPC_RecordChild1,
24191
0
   OPC_CheckPatternPredicate1,
24192
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
24193
0
                 MVT::v8i16, 1, 0, 
24194
0
  11, 
24195
0
   OPC_CheckChild0Integer, 64|128,100, 
24196
0
   OPC_RecordChild1,
24197
0
   OPC_CheckPatternPredicate1,
24198
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_B),
24199
0
                 MVT::v16i8, 1, 0, 
24200
0
  11, 
24201
0
   OPC_CheckChild0Integer, 62|128,100, 
24202
0
   OPC_RecordChild1,
24203
0
   OPC_CheckPatternPredicate1,
24204
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKGEZ_B),
24205
0
                 MVT::v16i8, 1, 0, 
24206
0
  11, 
24207
0
   OPC_CheckChild0Integer, 72|128,100, 
24208
0
   OPC_RecordChild1,
24209
0
   OPC_CheckPatternPredicate1,
24210
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKNZ_B),
24211
0
                 MVT::v16i8, 1, 0, 
24212
0
  11, 
24213
0
   OPC_CheckChild0Integer, 40|128,96, 
24214
0
   OPC_RecordChild1,
24215
0
   OPC_CheckPatternPredicate1,
24216
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
24217
0
                 MVT::v16i8, 1, 0, 
24218
0
  11, 
24219
0
   OPC_CheckChild0Integer, 84|128,96, 
24220
0
   OPC_RecordChild1,
24221
0
   OPC_CheckPatternPredicate1,
24222
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
24223
0
                 MVT::v4i32, 1, 0, 
24224
0
  11, 
24225
0
   OPC_CheckChild0Integer, 86|128,96, 
24226
0
   OPC_RecordChild1,
24227
0
   OPC_CheckPatternPredicate1,
24228
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
24229
0
                 MVT::v4i32, 1, 0, 
24230
0
  11, 
24231
0
   OPC_CheckChild0Integer, 68|128,100, 
24232
0
   OPC_RecordChild1,
24233
0
   OPC_CheckPatternPredicate1,
24234
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_H),
24235
0
                 MVT::v8i16, 1, 0, 
24236
0
  11, 
24237
0
   OPC_CheckChild0Integer, 44|128,96, 
24238
0
   OPC_RecordChild1,
24239
0
   OPC_CheckPatternPredicate1,
24240
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
24241
0
                 MVT::v8i16, 1, 0, 
24242
0
  11, 
24243
0
   OPC_CheckChild0Integer, 72|128,96, 
24244
0
   OPC_RecordChild1,
24245
0
   OPC_CheckPatternPredicate1,
24246
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
24247
0
                 MVT::v2i64, 1, 0, 
24248
0
  11, 
24249
0
   OPC_CheckChild0Integer, 74|128,96, 
24250
0
   OPC_RecordChild1,
24251
0
   OPC_CheckPatternPredicate1,
24252
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
24253
0
                 MVT::v2i64, 1, 0, 
24254
0
  11, 
24255
0
   OPC_CheckChild0Integer, 70|128,100, 
24256
0
   OPC_RecordChild1,
24257
0
   OPC_CheckPatternPredicate1,
24258
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_W),
24259
0
                 MVT::v4i32, 1, 0, 
24260
0
  11, 
24261
0
   OPC_CheckChild0Integer, 46|128,96, 
24262
0
   OPC_RecordChild1,
24263
0
   OPC_CheckPatternPredicate1,
24264
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
24265
0
                 MVT::v4i32, 1, 0, 
24266
0
  11, 
24267
0
   OPC_CheckChild0Integer, 80|128,96, 
24268
0
   OPC_RecordChild1,
24269
0
   OPC_CheckPatternPredicate1,
24270
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_Q_D),
24271
0
                 MVT::v2i64, 1, 0, 
24272
0
  11, 
24273
0
   OPC_CheckChild0Integer, 82|128,96, 
24274
0
   OPC_RecordChild1,
24275
0
   OPC_CheckPatternPredicate1,
24276
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_QU_DU),
24277
0
                 MVT::v2i64, 1, 0, 
24278
0
  11, 
24279
0
   OPC_CheckChild0Integer, 66|128,100, 
24280
0
   OPC_RecordChild1,
24281
0
   OPC_CheckPatternPredicate1,
24282
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_D),
24283
0
                 MVT::v2i64, 1, 0, 
24284
0
  11, 
24285
0
   OPC_CheckChild0Integer, 88|128,96, 
24286
0
   OPC_RecordChild1,
24287
0
   OPC_CheckPatternPredicate1,
24288
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_Q_D),
24289
0
                 MVT::v2i64, 1, 0, 
24290
0
  11, 
24291
0
   OPC_CheckChild0Integer, 90|128,96, 
24292
0
   OPC_RecordChild1,
24293
0
   OPC_CheckPatternPredicate1,
24294
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_QU_DU),
24295
0
                 MVT::v2i64, 1, 0, 
24296
0
  11, 
24297
0
   OPC_CheckChild0Integer, 42|128,96, 
24298
0
   OPC_RecordChild1,
24299
0
   OPC_CheckPatternPredicate1,
24300
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
24301
0
                 MVT::v2i64, 1, 0, 
24302
0
  15, 
24303
0
   OPC_CheckChild0Integer, 38|128,98, 
24304
0
   OPC_RecordChild1,
24305
0
   OPC_RecordChild2,
24306
0
   OPC_RecordChild3,
24307
0
   OPC_CheckPatternPredicate1,
24308
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_B),
24309
0
                 MVT::v16i8, 3, 0, 1, 2, 
24310
0
  15, 
24311
0
   OPC_CheckChild0Integer, 16|128,96, 
24312
0
   OPC_RecordChild1,
24313
0
   OPC_RecordChild2,
24314
0
   OPC_RecordChild3,
24315
0
   OPC_CheckPatternPredicate1,
24316
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
24317
0
                 MVT::v16i8, 3, 0, 1, 2, 
24318
0
  15, 
24319
0
   OPC_CheckChild0Integer, 70|128,102, 
24320
0
   OPC_RecordChild1,
24321
0
   OPC_RecordChild2,
24322
0
   OPC_RecordChild3,
24323
0
   OPC_CheckPatternPredicate1,
24324
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
24325
0
                 MVT::v16i8, 3, 0, 1, 2, 
24326
0
  15, 
24327
0
   OPC_CheckChild0Integer, 40|128,98, 
24328
0
   OPC_RecordChild1,
24329
0
   OPC_RecordChild2,
24330
0
   OPC_RecordChild3,
24331
0
   OPC_CheckPatternPredicate1,
24332
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_H),
24333
0
                 MVT::v8i16, 3, 0, 1, 2, 
24334
0
  15, 
24335
0
   OPC_CheckChild0Integer, 74|128,102, 
24336
0
   OPC_RecordChild1,
24337
0
   OPC_RecordChild2,
24338
0
   OPC_RecordChild3,
24339
0
   OPC_CheckPatternPredicate1,
24340
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
24341
0
                 MVT::v8i16, 3, 0, 1, 2, 
24342
0
  15, 
24343
0
   OPC_CheckChild0Integer, 76|128,102, 
24344
0
   OPC_RecordChild1,
24345
0
   OPC_RecordChild2,
24346
0
   OPC_RecordChild3,
24347
0
   OPC_CheckPatternPredicate1,
24348
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
24349
0
                 MVT::v4i32, 3, 0, 1, 2, 
24350
0
  15, 
24351
0
   OPC_CheckChild0Integer, 72|128,102, 
24352
0
   OPC_RecordChild1,
24353
0
   OPC_RecordChild2,
24354
0
   OPC_RecordChild3,
24355
0
   OPC_CheckPatternPredicate1,
24356
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
24357
0
                 MVT::v2i64, 3, 0, 1, 2, 
24358
0
  13, 
24359
0
   OPC_CheckChild0Integer, 68|128,97, 
24360
0
   OPC_RecordChild1,
24361
0
   OPC_RecordChild2,
24362
0
   OPC_CheckPatternPredicate1,
24363
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_H_S),
24364
0
                 MVT::v8i16, 2, 0, 1, 
24365
0
  13, 
24366
0
   OPC_CheckChild0Integer, 110|128,96, 
24367
0
   OPC_RecordChild1,
24368
0
   OPC_RecordChild2,
24369
0
   OPC_CheckPatternPredicate1,
24370
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_S),
24371
0
                 MVT::v4i32, 2, 0, 1, 
24372
0
  13, 
24373
0
   OPC_CheckChild0Integer, 18|128,97, 
24374
0
   OPC_RecordChild1,
24375
0
   OPC_RecordChild2,
24376
0
   OPC_CheckPatternPredicate1,
24377
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
24378
0
                 MVT::v4i32, 2, 0, 1, 
24379
0
  13, 
24380
0
   OPC_CheckChild0Integer, 114|128,96, 
24381
0
   OPC_RecordChild1,
24382
0
   OPC_RecordChild2,
24383
0
   OPC_CheckPatternPredicate1,
24384
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
24385
0
                 MVT::v4i32, 2, 0, 1, 
24386
0
  13, 
24387
0
   OPC_CheckChild0Integer, 6|128,97, 
24388
0
   OPC_RecordChild1,
24389
0
   OPC_RecordChild2,
24390
0
   OPC_CheckPatternPredicate1,
24391
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
24392
0
                 MVT::v4i32, 2, 0, 1, 
24393
0
  13, 
24394
0
   OPC_CheckChild0Integer, 122|128,96, 
24395
0
   OPC_RecordChild1,
24396
0
   OPC_RecordChild2,
24397
0
   OPC_CheckPatternPredicate1,
24398
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
24399
0
                 MVT::v4i32, 2, 0, 1, 
24400
0
  13, 
24401
0
   OPC_CheckChild0Integer, 14|128,97, 
24402
0
   OPC_RecordChild1,
24403
0
   OPC_RecordChild2,
24404
0
   OPC_CheckPatternPredicate1,
24405
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
24406
0
                 MVT::v4i32, 2, 0, 1, 
24407
0
  13, 
24408
0
   OPC_CheckChild0Integer, 118|128,96, 
24409
0
   OPC_RecordChild1,
24410
0
   OPC_RecordChild2,
24411
0
   OPC_CheckPatternPredicate1,
24412
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
24413
0
                 MVT::v4i32, 2, 0, 1, 
24414
0
  13, 
24415
0
   OPC_CheckChild0Integer, 10|128,97, 
24416
0
   OPC_RecordChild1,
24417
0
   OPC_RecordChild2,
24418
0
   OPC_CheckPatternPredicate1,
24419
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
24420
0
                 MVT::v4i32, 2, 0, 1, 
24421
0
  13, 
24422
0
   OPC_CheckChild0Integer, 126|128,96, 
24423
0
   OPC_RecordChild1,
24424
0
   OPC_RecordChild2,
24425
0
   OPC_CheckPatternPredicate1,
24426
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
24427
0
                 MVT::v4i32, 2, 0, 1, 
24428
0
  13, 
24429
0
   OPC_CheckChild0Integer, 2|128,97, 
24430
0
   OPC_RecordChild1,
24431
0
   OPC_RecordChild2,
24432
0
   OPC_CheckPatternPredicate1,
24433
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
24434
0
                 MVT::v4i32, 2, 0, 1, 
24435
0
  13, 
24436
0
   OPC_CheckChild0Integer, 22|128,97, 
24437
0
   OPC_RecordChild1,
24438
0
   OPC_RecordChild2,
24439
0
   OPC_CheckPatternPredicate1,
24440
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
24441
0
                 MVT::v4i32, 2, 0, 1, 
24442
0
  13, 
24443
0
   OPC_CheckChild0Integer, 26|128,97, 
24444
0
   OPC_RecordChild1,
24445
0
   OPC_RecordChild2,
24446
0
   OPC_CheckPatternPredicate1,
24447
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_S),
24448
0
                 MVT::v4i32, 2, 0, 1, 
24449
0
  13, 
24450
0
   OPC_CheckChild0Integer, 62|128,97, 
24451
0
   OPC_RecordChild1,
24452
0
   OPC_RecordChild2,
24453
0
   OPC_CheckPatternPredicate1,
24454
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_S),
24455
0
                 MVT::v4i32, 2, 0, 1, 
24456
0
  13, 
24457
0
   OPC_CheckChild0Integer, 30|128,97, 
24458
0
   OPC_RecordChild1,
24459
0
   OPC_RecordChild2,
24460
0
   OPC_CheckPatternPredicate1,
24461
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_S),
24462
0
                 MVT::v4i32, 2, 0, 1, 
24463
0
  13, 
24464
0
   OPC_CheckChild0Integer, 50|128,97, 
24465
0
   OPC_RecordChild1,
24466
0
   OPC_RecordChild2,
24467
0
   OPC_CheckPatternPredicate1,
24468
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_S),
24469
0
                 MVT::v4i32, 2, 0, 1, 
24470
0
  13, 
24471
0
   OPC_CheckChild0Integer, 38|128,97, 
24472
0
   OPC_RecordChild1,
24473
0
   OPC_RecordChild2,
24474
0
   OPC_CheckPatternPredicate1,
24475
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_S),
24476
0
                 MVT::v4i32, 2, 0, 1, 
24477
0
  13, 
24478
0
   OPC_CheckChild0Integer, 58|128,97, 
24479
0
   OPC_RecordChild1,
24480
0
   OPC_RecordChild2,
24481
0
   OPC_CheckPatternPredicate1,
24482
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_S),
24483
0
                 MVT::v4i32, 2, 0, 1, 
24484
0
  13, 
24485
0
   OPC_CheckChild0Integer, 34|128,97, 
24486
0
   OPC_RecordChild1,
24487
0
   OPC_RecordChild2,
24488
0
   OPC_CheckPatternPredicate1,
24489
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_S),
24490
0
                 MVT::v4i32, 2, 0, 1, 
24491
0
  13, 
24492
0
   OPC_CheckChild0Integer, 54|128,97, 
24493
0
   OPC_RecordChild1,
24494
0
   OPC_RecordChild2,
24495
0
   OPC_CheckPatternPredicate1,
24496
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_S),
24497
0
                 MVT::v4i32, 2, 0, 1, 
24498
0
  13, 
24499
0
   OPC_CheckChild0Integer, 42|128,97, 
24500
0
   OPC_RecordChild1,
24501
0
   OPC_RecordChild2,
24502
0
   OPC_CheckPatternPredicate1,
24503
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_S),
24504
0
                 MVT::v4i32, 2, 0, 1, 
24505
0
  13, 
24506
0
   OPC_CheckChild0Integer, 46|128,97, 
24507
0
   OPC_RecordChild1,
24508
0
   OPC_RecordChild2,
24509
0
   OPC_CheckPatternPredicate1,
24510
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_S),
24511
0
                 MVT::v4i32, 2, 0, 1, 
24512
0
  13, 
24513
0
   OPC_CheckChild0Integer, 66|128,97, 
24514
0
   OPC_RecordChild1,
24515
0
   OPC_RecordChild2,
24516
0
   OPC_CheckPatternPredicate1,
24517
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_S),
24518
0
                 MVT::v4i32, 2, 0, 1, 
24519
0
  13, 
24520
0
   OPC_CheckChild0Integer, 80|128,98, 
24521
0
   OPC_RecordChild1,
24522
0
   OPC_RecordChild2,
24523
0
   OPC_CheckPatternPredicate1,
24524
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_D),
24525
0
                 MVT::v4i32, 2, 0, 1, 
24526
0
  13, 
24527
0
   OPC_CheckChild0Integer, 102|128,98, 
24528
0
   OPC_RecordChild1,
24529
0
   OPC_RecordChild2,
24530
0
   OPC_CheckPatternPredicate1,
24531
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
24532
0
                 MVT::v4i32, 2, 0, 1, 
24533
0
  13, 
24534
0
   OPC_CheckChild0Integer, 90|128,98, 
24535
0
   OPC_RecordChild1,
24536
0
   OPC_RecordChild2,
24537
0
   OPC_CheckPatternPredicate1,
24538
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_D),
24539
0
                 MVT::v4i32, 2, 0, 1, 
24540
0
  13, 
24541
0
   OPC_CheckChild0Integer, 70|128,98, 
24542
0
   OPC_RecordChild1,
24543
0
   OPC_RecordChild2,
24544
0
   OPC_CheckPatternPredicate1,
24545
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_D),
24546
0
                 MVT::v4i32, 2, 0, 1, 
24547
0
  13, 
24548
0
   OPC_CheckChild0Integer, 58|128,98, 
24549
0
   OPC_RecordChild1,
24550
0
   OPC_RecordChild2,
24551
0
   OPC_CheckPatternPredicate1,
24552
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_D),
24553
0
                 MVT::v4i32, 2, 0, 1, 
24554
0
  13, 
24555
0
   OPC_CheckChild0Integer, 108|128,96, 
24556
0
   OPC_RecordChild1,
24557
0
   OPC_RecordChild2,
24558
0
   OPC_CheckPatternPredicate1,
24559
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_D),
24560
0
                 MVT::v2i64, 2, 0, 1, 
24561
0
  13, 
24562
0
   OPC_CheckChild0Integer, 16|128,97, 
24563
0
   OPC_RecordChild1,
24564
0
   OPC_RecordChild2,
24565
0
   OPC_CheckPatternPredicate1,
24566
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
24567
0
                 MVT::v2i64, 2, 0, 1, 
24568
0
  13, 
24569
0
   OPC_CheckChild0Integer, 112|128,96, 
24570
0
   OPC_RecordChild1,
24571
0
   OPC_RecordChild2,
24572
0
   OPC_CheckPatternPredicate1,
24573
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
24574
0
                 MVT::v2i64, 2, 0, 1, 
24575
0
  13, 
24576
0
   OPC_CheckChild0Integer, 4|128,97, 
24577
0
   OPC_RecordChild1,
24578
0
   OPC_RecordChild2,
24579
0
   OPC_CheckPatternPredicate1,
24580
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
24581
0
                 MVT::v2i64, 2, 0, 1, 
24582
0
  13, 
24583
0
   OPC_CheckChild0Integer, 120|128,96, 
24584
0
   OPC_RecordChild1,
24585
0
   OPC_RecordChild2,
24586
0
   OPC_CheckPatternPredicate1,
24587
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
24588
0
                 MVT::v2i64, 2, 0, 1, 
24589
0
  13, 
24590
0
   OPC_CheckChild0Integer, 12|128,97, 
24591
0
   OPC_RecordChild1,
24592
0
   OPC_RecordChild2,
24593
0
   OPC_CheckPatternPredicate1,
24594
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
24595
0
                 MVT::v2i64, 2, 0, 1, 
24596
0
  13, 
24597
0
   OPC_CheckChild0Integer, 116|128,96, 
24598
0
   OPC_RecordChild1,
24599
0
   OPC_RecordChild2,
24600
0
   OPC_CheckPatternPredicate1,
24601
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
24602
0
                 MVT::v2i64, 2, 0, 1, 
24603
0
  13, 
24604
0
   OPC_CheckChild0Integer, 8|128,97, 
24605
0
   OPC_RecordChild1,
24606
0
   OPC_RecordChild2,
24607
0
   OPC_CheckPatternPredicate1,
24608
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
24609
0
                 MVT::v2i64, 2, 0, 1, 
24610
0
  13, 
24611
0
   OPC_CheckChild0Integer, 124|128,96, 
24612
0
   OPC_RecordChild1,
24613
0
   OPC_RecordChild2,
24614
0
   OPC_CheckPatternPredicate1,
24615
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
24616
0
                 MVT::v2i64, 2, 0, 1, 
24617
0
  13, 
24618
0
   OPC_CheckChild0Integer, 0|128,97, 
24619
0
   OPC_RecordChild1,
24620
0
   OPC_RecordChild2,
24621
0
   OPC_CheckPatternPredicate1,
24622
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
24623
0
                 MVT::v2i64, 2, 0, 1, 
24624
0
  13, 
24625
0
   OPC_CheckChild0Integer, 20|128,97, 
24626
0
   OPC_RecordChild1,
24627
0
   OPC_RecordChild2,
24628
0
   OPC_CheckPatternPredicate1,
24629
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
24630
0
                 MVT::v2i64, 2, 0, 1, 
24631
0
  13, 
24632
0
   OPC_CheckChild0Integer, 24|128,97, 
24633
0
   OPC_RecordChild1,
24634
0
   OPC_RecordChild2,
24635
0
   OPC_CheckPatternPredicate1,
24636
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_D),
24637
0
                 MVT::v2i64, 2, 0, 1, 
24638
0
  13, 
24639
0
   OPC_CheckChild0Integer, 60|128,97, 
24640
0
   OPC_RecordChild1,
24641
0
   OPC_RecordChild2,
24642
0
   OPC_CheckPatternPredicate1,
24643
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_D),
24644
0
                 MVT::v2i64, 2, 0, 1, 
24645
0
  13, 
24646
0
   OPC_CheckChild0Integer, 28|128,97, 
24647
0
   OPC_RecordChild1,
24648
0
   OPC_RecordChild2,
24649
0
   OPC_CheckPatternPredicate1,
24650
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_D),
24651
0
                 MVT::v2i64, 2, 0, 1, 
24652
0
  13, 
24653
0
   OPC_CheckChild0Integer, 48|128,97, 
24654
0
   OPC_RecordChild1,
24655
0
   OPC_RecordChild2,
24656
0
   OPC_CheckPatternPredicate1,
24657
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_D),
24658
0
                 MVT::v2i64, 2, 0, 1, 
24659
0
  13, 
24660
0
   OPC_CheckChild0Integer, 36|128,97, 
24661
0
   OPC_RecordChild1,
24662
0
   OPC_RecordChild2,
24663
0
   OPC_CheckPatternPredicate1,
24664
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_D),
24665
0
                 MVT::v2i64, 2, 0, 1, 
24666
0
  13, 
24667
0
   OPC_CheckChild0Integer, 56|128,97, 
24668
0
   OPC_RecordChild1,
24669
0
   OPC_RecordChild2,
24670
0
   OPC_CheckPatternPredicate1,
24671
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_D),
24672
0
                 MVT::v2i64, 2, 0, 1, 
24673
0
  13, 
24674
0
   OPC_CheckChild0Integer, 32|128,97, 
24675
0
   OPC_RecordChild1,
24676
0
   OPC_RecordChild2,
24677
0
   OPC_CheckPatternPredicate1,
24678
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_D),
24679
0
                 MVT::v2i64, 2, 0, 1, 
24680
0
  13, 
24681
0
   OPC_CheckChild0Integer, 52|128,97, 
24682
0
   OPC_RecordChild1,
24683
0
   OPC_RecordChild2,
24684
0
   OPC_CheckPatternPredicate1,
24685
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_D),
24686
0
                 MVT::v2i64, 2, 0, 1, 
24687
0
  13, 
24688
0
   OPC_CheckChild0Integer, 40|128,97, 
24689
0
   OPC_RecordChild1,
24690
0
   OPC_RecordChild2,
24691
0
   OPC_CheckPatternPredicate1,
24692
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_D),
24693
0
                 MVT::v2i64, 2, 0, 1, 
24694
0
  13, 
24695
0
   OPC_CheckChild0Integer, 44|128,97, 
24696
0
   OPC_RecordChild1,
24697
0
   OPC_RecordChild2,
24698
0
   OPC_CheckPatternPredicate1,
24699
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_D),
24700
0
                 MVT::v2i64, 2, 0, 1, 
24701
0
  13, 
24702
0
   OPC_CheckChild0Integer, 64|128,97, 
24703
0
   OPC_RecordChild1,
24704
0
   OPC_RecordChild2,
24705
0
   OPC_CheckPatternPredicate1,
24706
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_D),
24707
0
                 MVT::v2i64, 2, 0, 1, 
24708
0
  11, 
24709
0
   OPC_CheckChild0Integer, 106|128,96, 
24710
0
   OPC_RecordChild1,
24711
0
   OPC_CheckPatternPredicate1,
24712
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_S),
24713
0
                 MVT::v4i32, 1, 0, 
24714
0
  11, 
24715
0
   OPC_CheckChild0Integer, 82|128,98, 
24716
0
   OPC_RecordChild1,
24717
0
   OPC_CheckPatternPredicate1,
24718
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_S),
24719
0
                 MVT::v4i32, 1, 0, 
24720
0
  11, 
24721
0
   OPC_CheckChild0Integer, 104|128,98, 
24722
0
   OPC_RecordChild1,
24723
0
   OPC_CheckPatternPredicate1,
24724
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
24725
0
                 MVT::v4i32, 1, 0, 
24726
0
  11, 
24727
0
   OPC_CheckChild0Integer, 92|128,98, 
24728
0
   OPC_RecordChild1,
24729
0
   OPC_CheckPatternPredicate1,
24730
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_S),
24731
0
                 MVT::v4i32, 1, 0, 
24732
0
  11, 
24733
0
   OPC_CheckChild0Integer, 72|128,98, 
24734
0
   OPC_RecordChild1,
24735
0
   OPC_CheckPatternPredicate1,
24736
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_S),
24737
0
                 MVT::v4i32, 1, 0, 
24738
0
  11, 
24739
0
   OPC_CheckChild0Integer, 60|128,98, 
24740
0
   OPC_RecordChild1,
24741
0
   OPC_CheckPatternPredicate1,
24742
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_S),
24743
0
                 MVT::v4i32, 1, 0, 
24744
0
  11, 
24745
0
   OPC_CheckChild0Integer, 106|128,98, 
24746
0
   OPC_RecordChild1,
24747
0
   OPC_CheckPatternPredicate1,
24748
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
24749
0
                 MVT::v4i32, 1, 0, 
24750
0
  11, 
24751
0
   OPC_CheckChild0Integer, 62|128,98, 
24752
0
   OPC_RecordChild1,
24753
0
   OPC_CheckPatternPredicate1,
24754
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_WU_S),
24755
0
                 MVT::v4i32, 1, 0, 
24756
0
  11, 
24757
0
   OPC_CheckChild0Integer, 86|128,98, 
24758
0
   OPC_RecordChild1,
24759
0
   OPC_CheckPatternPredicate1,
24760
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEL_L_S),
24761
0
                 MVT::v2i64, 1, 0, 
24762
0
  11, 
24763
0
   OPC_CheckChild0Integer, 84|128,98, 
24764
0
   OPC_RecordChild1,
24765
0
   OPC_CheckPatternPredicate1,
24766
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEH_L_S),
24767
0
                 MVT::v2i64, 1, 0, 
24768
0
  11, 
24769
0
   OPC_CheckChild0Integer, 110|128,98, 
24770
0
   OPC_RecordChild1,
24771
0
   OPC_CheckPatternPredicate1,
24772
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZL_L_S),
24773
0
                 MVT::v2i64, 1, 0, 
24774
0
  11, 
24775
0
   OPC_CheckChild0Integer, 108|128,98, 
24776
0
   OPC_RecordChild1,
24777
0
   OPC_CheckPatternPredicate1,
24778
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZH_L_S),
24779
0
                 MVT::v2i64, 1, 0, 
24780
0
  11, 
24781
0
   OPC_CheckChild0Integer, 96|128,98, 
24782
0
   OPC_RecordChild1,
24783
0
   OPC_CheckPatternPredicate1,
24784
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPL_L_S),
24785
0
                 MVT::v2i64, 1, 0, 
24786
0
  11, 
24787
0
   OPC_CheckChild0Integer, 94|128,98, 
24788
0
   OPC_RecordChild1,
24789
0
   OPC_CheckPatternPredicate1,
24790
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPH_L_S),
24791
0
                 MVT::v2i64, 1, 0, 
24792
0
  11, 
24793
0
   OPC_CheckChild0Integer, 76|128,98, 
24794
0
   OPC_RecordChild1,
24795
0
   OPC_CheckPatternPredicate1,
24796
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRML_L_S),
24797
0
                 MVT::v2i64, 1, 0, 
24798
0
  11, 
24799
0
   OPC_CheckChild0Integer, 74|128,98, 
24800
0
   OPC_RecordChild1,
24801
0
   OPC_CheckPatternPredicate1,
24802
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRMH_L_S),
24803
0
                 MVT::v2i64, 1, 0, 
24804
0
  11, 
24805
0
   OPC_CheckChild0Integer, 66|128,98, 
24806
0
   OPC_RecordChild1,
24807
0
   OPC_CheckPatternPredicate1,
24808
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTL_L_S),
24809
0
                 MVT::v2i64, 1, 0, 
24810
0
  11, 
24811
0
   OPC_CheckChild0Integer, 64|128,98, 
24812
0
   OPC_RecordChild1,
24813
0
   OPC_CheckPatternPredicate1,
24814
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTH_L_S),
24815
0
                 MVT::v2i64, 1, 0, 
24816
0
  11, 
24817
0
   OPC_CheckChild0Integer, 104|128,96, 
24818
0
   OPC_RecordChild1,
24819
0
   OPC_CheckPatternPredicate1,
24820
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_D),
24821
0
                 MVT::v2i64, 1, 0, 
24822
0
  11, 
24823
0
   OPC_CheckChild0Integer, 78|128,98, 
24824
0
   OPC_RecordChild1,
24825
0
   OPC_CheckPatternPredicate1,
24826
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_L_D),
24827
0
                 MVT::v2i64, 1, 0, 
24828
0
  11, 
24829
0
   OPC_CheckChild0Integer, 98|128,98, 
24830
0
   OPC_RecordChild1,
24831
0
   OPC_CheckPatternPredicate1,
24832
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
24833
0
                 MVT::v2i64, 1, 0, 
24834
0
  11, 
24835
0
   OPC_CheckChild0Integer, 88|128,98, 
24836
0
   OPC_RecordChild1,
24837
0
   OPC_CheckPatternPredicate1,
24838
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_L_D),
24839
0
                 MVT::v2i64, 1, 0, 
24840
0
  11, 
24841
0
   OPC_CheckChild0Integer, 68|128,98, 
24842
0
   OPC_RecordChild1,
24843
0
   OPC_CheckPatternPredicate1,
24844
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_L_D),
24845
0
                 MVT::v2i64, 1, 0, 
24846
0
  11, 
24847
0
   OPC_CheckChild0Integer, 54|128,98, 
24848
0
   OPC_RecordChild1,
24849
0
   OPC_CheckPatternPredicate1,
24850
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_L_D),
24851
0
                 MVT::v2i64, 1, 0, 
24852
0
  11, 
24853
0
   OPC_CheckChild0Integer, 100|128,98, 
24854
0
   OPC_RecordChild1,
24855
0
   OPC_CheckPatternPredicate1,
24856
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
24857
0
                 MVT::v2i64, 1, 0, 
24858
0
  11, 
24859
0
   OPC_CheckChild0Integer, 56|128,98, 
24860
0
   OPC_RecordChild1,
24861
0
   OPC_CheckPatternPredicate1,
24862
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_LU_D),
24863
0
                 MVT::v2i64, 1, 0, 
24864
0
  13, 
24865
0
   OPC_CheckChild0Integer, 122|128,90, 
24866
0
   OPC_RecordChild1,
24867
0
   OPC_RecordChild2,
24868
0
   OPC_CheckPatternPredicate0,
24869
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
24870
0
                 MVT::v32i8, 2, 0, 1, 
24871
0
  13, 
24872
0
   OPC_CheckChild0Integer, 124|128,90, 
24873
0
   OPC_RecordChild1,
24874
0
   OPC_RecordChild2,
24875
0
   OPC_CheckPatternPredicate0,
24876
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
24877
0
                 MVT::v32i8, 2, 0, 1, 
24878
0
  13, 
24879
0
   OPC_CheckChild0Integer, 6|128,94, 
24880
0
   OPC_RecordChild1,
24881
0
   OPC_RecordChild2,
24882
0
   OPC_CheckPatternPredicate0,
24883
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
24884
0
                 MVT::v32i8, 2, 0, 1, 
24885
0
  13, 
24886
0
   OPC_CheckChild0Integer, 8|128,94, 
24887
0
   OPC_RecordChild1,
24888
0
   OPC_RecordChild2,
24889
0
   OPC_CheckPatternPredicate0,
24890
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
24891
0
                 MVT::v32i8, 2, 0, 1, 
24892
0
  13, 
24893
0
   OPC_CheckChild0Integer, 72|128,87, 
24894
0
   OPC_RecordChild1,
24895
0
   OPC_RecordChild2,
24896
0
   OPC_CheckPatternPredicate0,
24897
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
24898
0
                 MVT::v16i16, 2, 0, 1, 
24899
0
  13, 
24900
0
   OPC_CheckChild0Integer, 74|128,87, 
24901
0
   OPC_RecordChild1,
24902
0
   OPC_RecordChild2,
24903
0
   OPC_CheckPatternPredicate0,
24904
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
24905
0
                 MVT::v16i16, 2, 0, 1, 
24906
0
  13, 
24907
0
   OPC_CheckChild0Integer, 88|128,87, 
24908
0
   OPC_RecordChild1,
24909
0
   OPC_RecordChild2,
24910
0
   OPC_CheckPatternPredicate0,
24911
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
24912
0
                 MVT::v16i16, 2, 0, 1, 
24913
0
  13, 
24914
0
   OPC_CheckChild0Integer, 90|128,87, 
24915
0
   OPC_RecordChild1,
24916
0
   OPC_RecordChild2,
24917
0
   OPC_CheckPatternPredicate0,
24918
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
24919
0
                 MVT::v16i16, 2, 0, 1, 
24920
0
  13, 
24921
0
   OPC_CheckChild0Integer, 116|128,83, 
24922
0
   OPC_RecordChild1,
24923
0
   OPC_RecordChild2,
24924
0
   OPC_CheckPatternPredicate0,
24925
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_B),
24926
0
                 MVT::v16i16, 2, 0, 1, 
24927
0
  13, 
24928
0
   OPC_CheckChild0Integer, 12|128,84, 
24929
0
   OPC_RecordChild1,
24930
0
   OPC_RecordChild2,
24931
0
   OPC_CheckPatternPredicate0,
24932
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_B),
24933
0
                 MVT::v16i16, 2, 0, 1, 
24934
0
  13, 
24935
0
   OPC_CheckChild0Integer, 56|128,94, 
24936
0
   OPC_RecordChild1,
24937
0
   OPC_RecordChild2,
24938
0
   OPC_CheckPatternPredicate0,
24939
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_B),
24940
0
                 MVT::v16i16, 2, 0, 1, 
24941
0
  13, 
24942
0
   OPC_CheckChild0Integer, 72|128,94, 
24943
0
   OPC_RecordChild1,
24944
0
   OPC_RecordChild2,
24945
0
   OPC_CheckPatternPredicate0,
24946
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_B),
24947
0
                 MVT::v16i16, 2, 0, 1, 
24948
0
  13, 
24949
0
   OPC_CheckChild0Integer, 118|128,83, 
24950
0
   OPC_RecordChild1,
24951
0
   OPC_RecordChild2,
24952
0
   OPC_CheckPatternPredicate0,
24953
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU),
24954
0
                 MVT::v16i16, 2, 0, 1, 
24955
0
  13, 
24956
0
   OPC_CheckChild0Integer, 14|128,84, 
24957
0
   OPC_RecordChild1,
24958
0
   OPC_RecordChild2,
24959
0
   OPC_CheckPatternPredicate0,
24960
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU),
24961
0
                 MVT::v16i16, 2, 0, 1, 
24962
0
  13, 
24963
0
   OPC_CheckChild0Integer, 58|128,94, 
24964
0
   OPC_RecordChild1,
24965
0
   OPC_RecordChild2,
24966
0
   OPC_CheckPatternPredicate0,
24967
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_BU),
24968
0
                 MVT::v16i16, 2, 0, 1, 
24969
0
  13, 
24970
0
   OPC_CheckChild0Integer, 74|128,94, 
24971
0
   OPC_RecordChild1,
24972
0
   OPC_RecordChild2,
24973
0
   OPC_CheckPatternPredicate0,
24974
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_BU),
24975
0
                 MVT::v16i16, 2, 0, 1, 
24976
0
  13, 
24977
0
   OPC_CheckChild0Integer, 120|128,83, 
24978
0
   OPC_RecordChild1,
24979
0
   OPC_RecordChild2,
24980
0
   OPC_CheckPatternPredicate0,
24981
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU_B),
24982
0
                 MVT::v16i16, 2, 0, 1, 
24983
0
  13, 
24984
0
   OPC_CheckChild0Integer, 16|128,84, 
24985
0
   OPC_RecordChild1,
24986
0
   OPC_RecordChild2,
24987
0
   OPC_CheckPatternPredicate0,
24988
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU_B),
24989
0
                 MVT::v16i16, 2, 0, 1, 
24990
0
  13, 
24991
0
   OPC_CheckChild0Integer, 36|128,84, 
24992
0
   OPC_RecordChild1,
24993
0
   OPC_RecordChild2,
24994
0
   OPC_CheckPatternPredicate0,
24995
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
24996
0
                 MVT::v32i8, 2, 0, 1, 
24997
0
  13, 
24998
0
   OPC_CheckChild0Integer, 38|128,84, 
24999
0
   OPC_RecordChild1,
25000
0
   OPC_RecordChild2,
25001
0
   OPC_CheckPatternPredicate0,
25002
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
25003
0
                 MVT::v32i8, 2, 0, 1, 
25004
0
  13, 
25005
0
   OPC_CheckChild0Integer, 52|128,84, 
25006
0
   OPC_RecordChild1,
25007
0
   OPC_RecordChild2,
25008
0
   OPC_CheckPatternPredicate0,
25009
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
25010
0
                 MVT::v32i8, 2, 0, 1, 
25011
0
  13, 
25012
0
   OPC_CheckChild0Integer, 54|128,84, 
25013
0
   OPC_RecordChild1,
25014
0
   OPC_RecordChild2,
25015
0
   OPC_CheckPatternPredicate0,
25016
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
25017
0
                 MVT::v32i8, 2, 0, 1, 
25018
0
  13, 
25019
0
   OPC_CheckChild0Integer, 68|128,83, 
25020
0
   OPC_RecordChild1,
25021
0
   OPC_RecordChild2,
25022
0
   OPC_CheckPatternPredicate0,
25023
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
25024
0
                 MVT::v32i8, 2, 0, 1, 
25025
0
  13, 
25026
0
   OPC_CheckChild0Integer, 70|128,83, 
25027
0
   OPC_RecordChild1,
25028
0
   OPC_RecordChild2,
25029
0
   OPC_CheckPatternPredicate0,
25030
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
25031
0
                 MVT::v32i8, 2, 0, 1, 
25032
0
  13, 
25033
0
   OPC_CheckChild0Integer, 94|128,83, 
25034
0
   OPC_RecordChild1,
25035
0
   OPC_RecordChild2,
25036
0
   OPC_CheckPatternPredicate0,
25037
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
25038
0
                 MVT::v32i8, 2, 0, 1, 
25039
0
  13, 
25040
0
   OPC_CheckChild0Integer, 38|128,89, 
25041
0
   OPC_RecordChild1,
25042
0
   OPC_RecordChild2,
25043
0
   OPC_CheckPatternPredicate0,
25044
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
25045
0
                 MVT::v32i8, 2, 0, 1, 
25046
0
  13, 
25047
0
   OPC_CheckChild0Integer, 40|128,89, 
25048
0
   OPC_RecordChild1,
25049
0
   OPC_RecordChild2,
25050
0
   OPC_CheckPatternPredicate0,
25051
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
25052
0
                 MVT::v32i8, 2, 0, 1, 
25053
0
  13, 
25054
0
   OPC_CheckChild0Integer, 68|128,89, 
25055
0
   OPC_RecordChild1,
25056
0
   OPC_RecordChild2,
25057
0
   OPC_CheckPatternPredicate0,
25058
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_B),
25059
0
                 MVT::v16i16, 2, 0, 1, 
25060
0
  13, 
25061
0
   OPC_CheckChild0Integer, 92|128,89, 
25062
0
   OPC_RecordChild1,
25063
0
   OPC_RecordChild2,
25064
0
   OPC_CheckPatternPredicate0,
25065
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_B),
25066
0
                 MVT::v16i16, 2, 0, 1, 
25067
0
  13, 
25068
0
   OPC_CheckChild0Integer, 70|128,89, 
25069
0
   OPC_RecordChild1,
25070
0
   OPC_RecordChild2,
25071
0
   OPC_CheckPatternPredicate0,
25072
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU),
25073
0
                 MVT::v16i16, 2, 0, 1, 
25074
0
  13, 
25075
0
   OPC_CheckChild0Integer, 94|128,89, 
25076
0
   OPC_RecordChild1,
25077
0
   OPC_RecordChild2,
25078
0
   OPC_CheckPatternPredicate0,
25079
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU),
25080
0
                 MVT::v16i16, 2, 0, 1, 
25081
0
  13, 
25082
0
   OPC_CheckChild0Integer, 72|128,89, 
25083
0
   OPC_RecordChild1,
25084
0
   OPC_RecordChild2,
25085
0
   OPC_CheckPatternPredicate0,
25086
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU_B),
25087
0
                 MVT::v16i16, 2, 0, 1, 
25088
0
  13, 
25089
0
   OPC_CheckChild0Integer, 96|128,89, 
25090
0
   OPC_RecordChild1,
25091
0
   OPC_RecordChild2,
25092
0
   OPC_CheckPatternPredicate0,
25093
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU_B),
25094
0
                 MVT::v16i16, 2, 0, 1, 
25095
0
  13, 
25096
0
   OPC_CheckChild0Integer, 58|128,91, 
25097
0
   OPC_RecordChild1,
25098
0
   OPC_RecordChild2,
25099
0
   OPC_CheckPatternPredicate0,
25100
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
25101
0
                 MVT::v32i8, 2, 0, 1, 
25102
0
  13, 
25103
0
   OPC_CheckChild0Integer, 34|128,84, 
25104
0
   OPC_RecordChild1,
25105
0
   OPC_RecordChild2,
25106
0
   OPC_CheckPatternPredicate0,
25107
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
25108
0
                 MVT::v32i8, 2, 0, 1, 
25109
0
  13, 
25110
0
   OPC_CheckChild0Integer, 126|128,89, 
25111
0
   OPC_RecordChild1,
25112
0
   OPC_RecordChild2,
25113
0
   OPC_CheckPatternPredicate0,
25114
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
25115
0
                 MVT::v32i8, 2, 0, 1, 
25116
0
  13, 
25117
0
   OPC_CheckChild0Integer, 106|128,90, 
25118
0
   OPC_RecordChild1,
25119
0
   OPC_RecordChild2,
25120
0
   OPC_CheckPatternPredicate0,
25121
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
25122
0
                 MVT::v32i8, 2, 0, 1, 
25123
0
  13, 
25124
0
   OPC_CheckChild0Integer, 120|128,92, 
25125
0
   OPC_RecordChild1,
25126
0
   OPC_RecordChild2,
25127
0
   OPC_CheckPatternPredicate0,
25128
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
25129
0
                 MVT::v32i8, 2, 0, 1, 
25130
0
  13, 
25131
0
   OPC_CheckChild0Integer, 60|128,92, 
25132
0
   OPC_RecordChild1,
25133
0
   OPC_RecordChild2,
25134
0
   OPC_CheckPatternPredicate0,
25135
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
25136
0
                 MVT::v32i8, 2, 0, 1, 
25137
0
  13, 
25138
0
   OPC_CheckChild0Integer, 26|128,91, 
25139
0
   OPC_RecordChild1,
25140
0
   OPC_RecordChild2,
25141
0
   OPC_CheckPatternPredicate0,
25142
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
25143
0
                 MVT::v32i8, 2, 0, 1, 
25144
0
  13, 
25145
0
   OPC_CheckChild0Integer, 66|128,91, 
25146
0
   OPC_RecordChild1,
25147
0
   OPC_RecordChild2,
25148
0
   OPC_CheckPatternPredicate0,
25149
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
25150
0
                 MVT::v32i8, 2, 0, 1, 
25151
0
  13, 
25152
0
   OPC_CheckChild0Integer, 68|128,91, 
25153
0
   OPC_RecordChild1,
25154
0
   OPC_RecordChild2,
25155
0
   OPC_CheckPatternPredicate0,
25156
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
25157
0
                 MVT::v32i8, 2, 0, 1, 
25158
0
  13, 
25159
0
   OPC_CheckChild0Integer, 126|128,91, 
25160
0
   OPC_RecordChild1,
25161
0
   OPC_RecordChild2,
25162
0
   OPC_CheckPatternPredicate0,
25163
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
25164
0
                 MVT::v32i8, 2, 0, 1, 
25165
0
  13, 
25166
0
   OPC_CheckChild0Integer, 0|128,92, 
25167
0
   OPC_RecordChild1,
25168
0
   OPC_RecordChild2,
25169
0
   OPC_CheckPatternPredicate0,
25170
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
25171
0
                 MVT::v32i8, 2, 0, 1, 
25172
0
  13, 
25173
0
   OPC_CheckChild0Integer, 0|128,90, 
25174
0
   OPC_RecordChild1,
25175
0
   OPC_RecordChild2,
25176
0
   OPC_CheckPatternPredicate0,
25177
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
25178
0
                 MVT::v32i8, 2, 0, 1, 
25179
0
  13, 
25180
0
   OPC_CheckChild0Integer, 8|128,90, 
25181
0
   OPC_RecordChild1,
25182
0
   OPC_RecordChild2,
25183
0
   OPC_CheckPatternPredicate0,
25184
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
25185
0
                 MVT::v32i8, 2, 0, 1, 
25186
0
  13, 
25187
0
   OPC_CheckChild0Integer, 32|128,90, 
25188
0
   OPC_RecordChild1,
25189
0
   OPC_RecordChild2,
25190
0
   OPC_CheckPatternPredicate0,
25191
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
25192
0
                 MVT::v32i8, 2, 0, 1, 
25193
0
  13, 
25194
0
   OPC_CheckChild0Integer, 40|128,90, 
25195
0
   OPC_RecordChild1,
25196
0
   OPC_RecordChild2,
25197
0
   OPC_CheckPatternPredicate0,
25198
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
25199
0
                 MVT::v32i8, 2, 0, 1, 
25200
0
  13, 
25201
0
   OPC_CheckChild0Integer, 108|128,87, 
25202
0
   OPC_RecordChild1,
25203
0
   OPC_RecordChild2,
25204
0
   OPC_CheckPatternPredicate0,
25205
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
25206
0
                 MVT::v32i8, 2, 0, 1, 
25207
0
  13, 
25208
0
   OPC_CheckChild0Integer, 100|128,87, 
25209
0
   OPC_RecordChild1,
25210
0
   OPC_RecordChild2,
25211
0
   OPC_CheckPatternPredicate0,
25212
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
25213
0
                 MVT::v32i8, 2, 0, 1, 
25214
0
  13, 
25215
0
   OPC_CheckChild0Integer, 2|128,91, 
25216
0
   OPC_RecordChild1,
25217
0
   OPC_RecordChild2,
25218
0
   OPC_CheckPatternPredicate0,
25219
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
25220
0
                 MVT::v16i16, 2, 0, 1, 
25221
0
  13, 
25222
0
   OPC_CheckChild0Integer, 4|128,91, 
25223
0
   OPC_RecordChild1,
25224
0
   OPC_RecordChild2,
25225
0
   OPC_CheckPatternPredicate0,
25226
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
25227
0
                 MVT::v16i16, 2, 0, 1, 
25228
0
  13, 
25229
0
   OPC_CheckChild0Integer, 14|128,94, 
25230
0
   OPC_RecordChild1,
25231
0
   OPC_RecordChild2,
25232
0
   OPC_CheckPatternPredicate0,
25233
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
25234
0
                 MVT::v16i16, 2, 0, 1, 
25235
0
  13, 
25236
0
   OPC_CheckChild0Integer, 16|128,94, 
25237
0
   OPC_RecordChild1,
25238
0
   OPC_RecordChild2,
25239
0
   OPC_CheckPatternPredicate0,
25240
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
25241
0
                 MVT::v16i16, 2, 0, 1, 
25242
0
  13, 
25243
0
   OPC_CheckChild0Integer, 80|128,87, 
25244
0
   OPC_RecordChild1,
25245
0
   OPC_RecordChild2,
25246
0
   OPC_CheckPatternPredicate0,
25247
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
25248
0
                 MVT::v8i32, 2, 0, 1, 
25249
0
  13, 
25250
0
   OPC_CheckChild0Integer, 82|128,87, 
25251
0
   OPC_RecordChild1,
25252
0
   OPC_RecordChild2,
25253
0
   OPC_CheckPatternPredicate0,
25254
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
25255
0
                 MVT::v8i32, 2, 0, 1, 
25256
0
  13, 
25257
0
   OPC_CheckChild0Integer, 96|128,87, 
25258
0
   OPC_RecordChild1,
25259
0
   OPC_RecordChild2,
25260
0
   OPC_CheckPatternPredicate0,
25261
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
25262
0
                 MVT::v8i32, 2, 0, 1, 
25263
0
  13, 
25264
0
   OPC_CheckChild0Integer, 98|128,87, 
25265
0
   OPC_RecordChild1,
25266
0
   OPC_RecordChild2,
25267
0
   OPC_CheckPatternPredicate0,
25268
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
25269
0
                 MVT::v8i32, 2, 0, 1, 
25270
0
  13, 
25271
0
   OPC_CheckChild0Integer, 0|128,84, 
25272
0
   OPC_RecordChild1,
25273
0
   OPC_RecordChild2,
25274
0
   OPC_CheckPatternPredicate0,
25275
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_H),
25276
0
                 MVT::v8i32, 2, 0, 1, 
25277
0
  13, 
25278
0
   OPC_CheckChild0Integer, 24|128,84, 
25279
0
   OPC_RecordChild1,
25280
0
   OPC_RecordChild2,
25281
0
   OPC_CheckPatternPredicate0,
25282
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_H),
25283
0
                 MVT::v8i32, 2, 0, 1, 
25284
0
  13, 
25285
0
   OPC_CheckChild0Integer, 64|128,94, 
25286
0
   OPC_RecordChild1,
25287
0
   OPC_RecordChild2,
25288
0
   OPC_CheckPatternPredicate0,
25289
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_H),
25290
0
                 MVT::v8i32, 2, 0, 1, 
25291
0
  13, 
25292
0
   OPC_CheckChild0Integer, 80|128,94, 
25293
0
   OPC_RecordChild1,
25294
0
   OPC_RecordChild2,
25295
0
   OPC_CheckPatternPredicate0,
25296
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_H),
25297
0
                 MVT::v8i32, 2, 0, 1, 
25298
0
  13, 
25299
0
   OPC_CheckChild0Integer, 2|128,84, 
25300
0
   OPC_RecordChild1,
25301
0
   OPC_RecordChild2,
25302
0
   OPC_CheckPatternPredicate0,
25303
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU),
25304
0
                 MVT::v8i32, 2, 0, 1, 
25305
0
  13, 
25306
0
   OPC_CheckChild0Integer, 26|128,84, 
25307
0
   OPC_RecordChild1,
25308
0
   OPC_RecordChild2,
25309
0
   OPC_CheckPatternPredicate0,
25310
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU),
25311
0
                 MVT::v8i32, 2, 0, 1, 
25312
0
  13, 
25313
0
   OPC_CheckChild0Integer, 66|128,94, 
25314
0
   OPC_RecordChild1,
25315
0
   OPC_RecordChild2,
25316
0
   OPC_CheckPatternPredicate0,
25317
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_HU),
25318
0
                 MVT::v8i32, 2, 0, 1, 
25319
0
  13, 
25320
0
   OPC_CheckChild0Integer, 82|128,94, 
25321
0
   OPC_RecordChild1,
25322
0
   OPC_RecordChild2,
25323
0
   OPC_CheckPatternPredicate0,
25324
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_HU),
25325
0
                 MVT::v8i32, 2, 0, 1, 
25326
0
  13, 
25327
0
   OPC_CheckChild0Integer, 4|128,84, 
25328
0
   OPC_RecordChild1,
25329
0
   OPC_RecordChild2,
25330
0
   OPC_CheckPatternPredicate0,
25331
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU_H),
25332
0
                 MVT::v8i32, 2, 0, 1, 
25333
0
  13, 
25334
0
   OPC_CheckChild0Integer, 28|128,84, 
25335
0
   OPC_RecordChild1,
25336
0
   OPC_RecordChild2,
25337
0
   OPC_CheckPatternPredicate0,
25338
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU_H),
25339
0
                 MVT::v8i32, 2, 0, 1, 
25340
0
  13, 
25341
0
   OPC_CheckChild0Integer, 44|128,84, 
25342
0
   OPC_RecordChild1,
25343
0
   OPC_RecordChild2,
25344
0
   OPC_CheckPatternPredicate0,
25345
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
25346
0
                 MVT::v16i16, 2, 0, 1, 
25347
0
  13, 
25348
0
   OPC_CheckChild0Integer, 46|128,84, 
25349
0
   OPC_RecordChild1,
25350
0
   OPC_RecordChild2,
25351
0
   OPC_CheckPatternPredicate0,
25352
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
25353
0
                 MVT::v16i16, 2, 0, 1, 
25354
0
  13, 
25355
0
   OPC_CheckChild0Integer, 60|128,84, 
25356
0
   OPC_RecordChild1,
25357
0
   OPC_RecordChild2,
25358
0
   OPC_CheckPatternPredicate0,
25359
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
25360
0
                 MVT::v16i16, 2, 0, 1, 
25361
0
  13, 
25362
0
   OPC_CheckChild0Integer, 62|128,84, 
25363
0
   OPC_RecordChild1,
25364
0
   OPC_RecordChild2,
25365
0
   OPC_CheckPatternPredicate0,
25366
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
25367
0
                 MVT::v16i16, 2, 0, 1, 
25368
0
  13, 
25369
0
   OPC_CheckChild0Integer, 76|128,83, 
25370
0
   OPC_RecordChild1,
25371
0
   OPC_RecordChild2,
25372
0
   OPC_CheckPatternPredicate0,
25373
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
25374
0
                 MVT::v16i16, 2, 0, 1, 
25375
0
  13, 
25376
0
   OPC_CheckChild0Integer, 78|128,83, 
25377
0
   OPC_RecordChild1,
25378
0
   OPC_RecordChild2,
25379
0
   OPC_CheckPatternPredicate0,
25380
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
25381
0
                 MVT::v16i16, 2, 0, 1, 
25382
0
  13, 
25383
0
   OPC_CheckChild0Integer, 98|128,83, 
25384
0
   OPC_RecordChild1,
25385
0
   OPC_RecordChild2,
25386
0
   OPC_CheckPatternPredicate0,
25387
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
25388
0
                 MVT::v16i16, 2, 0, 1, 
25389
0
  13, 
25390
0
   OPC_CheckChild0Integer, 46|128,89, 
25391
0
   OPC_RecordChild1,
25392
0
   OPC_RecordChild2,
25393
0
   OPC_CheckPatternPredicate0,
25394
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
25395
0
                 MVT::v16i16, 2, 0, 1, 
25396
0
  13, 
25397
0
   OPC_CheckChild0Integer, 48|128,89, 
25398
0
   OPC_RecordChild1,
25399
0
   OPC_RecordChild2,
25400
0
   OPC_CheckPatternPredicate0,
25401
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
25402
0
                 MVT::v16i16, 2, 0, 1, 
25403
0
  13, 
25404
0
   OPC_CheckChild0Integer, 80|128,89, 
25405
0
   OPC_RecordChild1,
25406
0
   OPC_RecordChild2,
25407
0
   OPC_CheckPatternPredicate0,
25408
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_H),
25409
0
                 MVT::v8i32, 2, 0, 1, 
25410
0
  13, 
25411
0
   OPC_CheckChild0Integer, 104|128,89, 
25412
0
   OPC_RecordChild1,
25413
0
   OPC_RecordChild2,
25414
0
   OPC_CheckPatternPredicate0,
25415
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_H),
25416
0
                 MVT::v8i32, 2, 0, 1, 
25417
0
  13, 
25418
0
   OPC_CheckChild0Integer, 82|128,89, 
25419
0
   OPC_RecordChild1,
25420
0
   OPC_RecordChild2,
25421
0
   OPC_CheckPatternPredicate0,
25422
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU),
25423
0
                 MVT::v8i32, 2, 0, 1, 
25424
0
  13, 
25425
0
   OPC_CheckChild0Integer, 106|128,89, 
25426
0
   OPC_RecordChild1,
25427
0
   OPC_RecordChild2,
25428
0
   OPC_CheckPatternPredicate0,
25429
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU),
25430
0
                 MVT::v8i32, 2, 0, 1, 
25431
0
  13, 
25432
0
   OPC_CheckChild0Integer, 84|128,89, 
25433
0
   OPC_RecordChild1,
25434
0
   OPC_RecordChild2,
25435
0
   OPC_CheckPatternPredicate0,
25436
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU_H),
25437
0
                 MVT::v8i32, 2, 0, 1, 
25438
0
  13, 
25439
0
   OPC_CheckChild0Integer, 108|128,89, 
25440
0
   OPC_RecordChild1,
25441
0
   OPC_RecordChild2,
25442
0
   OPC_CheckPatternPredicate0,
25443
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU_H),
25444
0
                 MVT::v8i32, 2, 0, 1, 
25445
0
  13, 
25446
0
   OPC_CheckChild0Integer, 62|128,91, 
25447
0
   OPC_RecordChild1,
25448
0
   OPC_RecordChild2,
25449
0
   OPC_CheckPatternPredicate0,
25450
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
25451
0
                 MVT::v16i16, 2, 0, 1, 
25452
0
  13, 
25453
0
   OPC_CheckChild0Integer, 110|128,90, 
25454
0
   OPC_RecordChild1,
25455
0
   OPC_RecordChild2,
25456
0
   OPC_CheckPatternPredicate0,
25457
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
25458
0
                 MVT::v16i16, 2, 0, 1, 
25459
0
  13, 
25460
0
   OPC_CheckChild0Integer, 124|128,92, 
25461
0
   OPC_RecordChild1,
25462
0
   OPC_RecordChild2,
25463
0
   OPC_CheckPatternPredicate0,
25464
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
25465
0
                 MVT::v16i16, 2, 0, 1, 
25466
0
  13, 
25467
0
   OPC_CheckChild0Integer, 64|128,92, 
25468
0
   OPC_RecordChild1,
25469
0
   OPC_RecordChild2,
25470
0
   OPC_CheckPatternPredicate0,
25471
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
25472
0
                 MVT::v16i16, 2, 0, 1, 
25473
0
  13, 
25474
0
   OPC_CheckChild0Integer, 106|128,92, 
25475
0
   OPC_RecordChild1,
25476
0
   OPC_RecordChild2,
25477
0
   OPC_CheckPatternPredicate0,
25478
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_B_H),
25479
0
                 MVT::v32i8, 2, 0, 1, 
25480
0
  13, 
25481
0
   OPC_CheckChild0Integer, 46|128,92, 
25482
0
   OPC_RecordChild1,
25483
0
   OPC_RecordChild2,
25484
0
   OPC_CheckPatternPredicate0,
25485
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_B_H),
25486
0
                 MVT::v32i8, 2, 0, 1, 
25487
0
  13, 
25488
0
   OPC_CheckChild0Integer, 8|128,93, 
25489
0
   OPC_RecordChild1,
25490
0
   OPC_RecordChild2,
25491
0
   OPC_CheckPatternPredicate0,
25492
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_B_H),
25493
0
                 MVT::v32i8, 2, 0, 1, 
25494
0
  13, 
25495
0
   OPC_CheckChild0Integer, 76|128,92, 
25496
0
   OPC_RecordChild1,
25497
0
   OPC_RecordChild2,
25498
0
   OPC_CheckPatternPredicate0,
25499
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_B_H),
25500
0
                 MVT::v32i8, 2, 0, 1, 
25501
0
  13, 
25502
0
   OPC_CheckChild0Integer, 78|128,93, 
25503
0
   OPC_RecordChild1,
25504
0
   OPC_RecordChild2,
25505
0
   OPC_CheckPatternPredicate0,
25506
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_B_H),
25507
0
                 MVT::v32i8, 2, 0, 1, 
25508
0
  13, 
25509
0
   OPC_CheckChild0Integer, 22|128,93, 
25510
0
   OPC_RecordChild1,
25511
0
   OPC_RecordChild2,
25512
0
   OPC_CheckPatternPredicate0,
25513
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_B_H),
25514
0
                 MVT::v32i8, 2, 0, 1, 
25515
0
  13, 
25516
0
   OPC_CheckChild0Integer, 80|128,93, 
25517
0
   OPC_RecordChild1,
25518
0
   OPC_RecordChild2,
25519
0
   OPC_CheckPatternPredicate0,
25520
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_BU_H),
25521
0
                 MVT::v32i8, 2, 0, 1, 
25522
0
  13, 
25523
0
   OPC_CheckChild0Integer, 24|128,93, 
25524
0
   OPC_RecordChild1,
25525
0
   OPC_RecordChild2,
25526
0
   OPC_CheckPatternPredicate0,
25527
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_BU_H),
25528
0
                 MVT::v32i8, 2, 0, 1, 
25529
0
  13, 
25530
0
   OPC_CheckChild0Integer, 106|128,93, 
25531
0
   OPC_RecordChild1,
25532
0
   OPC_RecordChild2,
25533
0
   OPC_CheckPatternPredicate0,
25534
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_B_H),
25535
0
                 MVT::v32i8, 2, 0, 1, 
25536
0
  13, 
25537
0
   OPC_CheckChild0Integer, 50|128,93, 
25538
0
   OPC_RecordChild1,
25539
0
   OPC_RecordChild2,
25540
0
   OPC_CheckPatternPredicate0,
25541
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_B_H),
25542
0
                 MVT::v32i8, 2, 0, 1, 
25543
0
  13, 
25544
0
   OPC_CheckChild0Integer, 108|128,93, 
25545
0
   OPC_RecordChild1,
25546
0
   OPC_RecordChild2,
25547
0
   OPC_CheckPatternPredicate0,
25548
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_BU_H),
25549
0
                 MVT::v32i8, 2, 0, 1, 
25550
0
  13, 
25551
0
   OPC_CheckChild0Integer, 52|128,93, 
25552
0
   OPC_RecordChild1,
25553
0
   OPC_RecordChild2,
25554
0
   OPC_CheckPatternPredicate0,
25555
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_BU_H),
25556
0
                 MVT::v32i8, 2, 0, 1, 
25557
0
  13, 
25558
0
   OPC_CheckChild0Integer, 30|128,91, 
25559
0
   OPC_RecordChild1,
25560
0
   OPC_RecordChild2,
25561
0
   OPC_CheckPatternPredicate0,
25562
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
25563
0
                 MVT::v16i16, 2, 0, 1, 
25564
0
  13, 
25565
0
   OPC_CheckChild0Integer, 74|128,91, 
25566
0
   OPC_RecordChild1,
25567
0
   OPC_RecordChild2,
25568
0
   OPC_CheckPatternPredicate0,
25569
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
25570
0
                 MVT::v16i16, 2, 0, 1, 
25571
0
  13, 
25572
0
   OPC_CheckChild0Integer, 76|128,91, 
25573
0
   OPC_RecordChild1,
25574
0
   OPC_RecordChild2,
25575
0
   OPC_CheckPatternPredicate0,
25576
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
25577
0
                 MVT::v16i16, 2, 0, 1, 
25578
0
  13, 
25579
0
   OPC_CheckChild0Integer, 6|128,92, 
25580
0
   OPC_RecordChild1,
25581
0
   OPC_RecordChild2,
25582
0
   OPC_CheckPatternPredicate0,
25583
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
25584
0
                 MVT::v16i16, 2, 0, 1, 
25585
0
  13, 
25586
0
   OPC_CheckChild0Integer, 8|128,92, 
25587
0
   OPC_RecordChild1,
25588
0
   OPC_RecordChild2,
25589
0
   OPC_CheckPatternPredicate0,
25590
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
25591
0
                 MVT::v16i16, 2, 0, 1, 
25592
0
  13, 
25593
0
   OPC_CheckChild0Integer, 4|128,90, 
25594
0
   OPC_RecordChild1,
25595
0
   OPC_RecordChild2,
25596
0
   OPC_CheckPatternPredicate0,
25597
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
25598
0
                 MVT::v16i16, 2, 0, 1, 
25599
0
  13, 
25600
0
   OPC_CheckChild0Integer, 12|128,90, 
25601
0
   OPC_RecordChild1,
25602
0
   OPC_RecordChild2,
25603
0
   OPC_CheckPatternPredicate0,
25604
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
25605
0
                 MVT::v16i16, 2, 0, 1, 
25606
0
  13, 
25607
0
   OPC_CheckChild0Integer, 36|128,90, 
25608
0
   OPC_RecordChild1,
25609
0
   OPC_RecordChild2,
25610
0
   OPC_CheckPatternPredicate0,
25611
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
25612
0
                 MVT::v16i16, 2, 0, 1, 
25613
0
  13, 
25614
0
   OPC_CheckChild0Integer, 44|128,90, 
25615
0
   OPC_RecordChild1,
25616
0
   OPC_RecordChild2,
25617
0
   OPC_CheckPatternPredicate0,
25618
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
25619
0
                 MVT::v16i16, 2, 0, 1, 
25620
0
  13, 
25621
0
   OPC_CheckChild0Integer, 112|128,87, 
25622
0
   OPC_RecordChild1,
25623
0
   OPC_RecordChild2,
25624
0
   OPC_CheckPatternPredicate0,
25625
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
25626
0
                 MVT::v16i16, 2, 0, 1, 
25627
0
  13, 
25628
0
   OPC_CheckChild0Integer, 104|128,87, 
25629
0
   OPC_RecordChild1,
25630
0
   OPC_RecordChild2,
25631
0
   OPC_CheckPatternPredicate0,
25632
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
25633
0
                 MVT::v16i16, 2, 0, 1, 
25634
0
  13, 
25635
0
   OPC_CheckChild0Integer, 6|128,91, 
25636
0
   OPC_RecordChild1,
25637
0
   OPC_RecordChild2,
25638
0
   OPC_CheckPatternPredicate0,
25639
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
25640
0
                 MVT::v8i32, 2, 0, 1, 
25641
0
  13, 
25642
0
   OPC_CheckChild0Integer, 8|128,91, 
25643
0
   OPC_RecordChild1,
25644
0
   OPC_RecordChild2,
25645
0
   OPC_CheckPatternPredicate0,
25646
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
25647
0
                 MVT::v8i32, 2, 0, 1, 
25648
0
  13, 
25649
0
   OPC_CheckChild0Integer, 18|128,94, 
25650
0
   OPC_RecordChild1,
25651
0
   OPC_RecordChild2,
25652
0
   OPC_CheckPatternPredicate0,
25653
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
25654
0
                 MVT::v8i32, 2, 0, 1, 
25655
0
  13, 
25656
0
   OPC_CheckChild0Integer, 20|128,94, 
25657
0
   OPC_RecordChild1,
25658
0
   OPC_RecordChild2,
25659
0
   OPC_CheckPatternPredicate0,
25660
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
25661
0
                 MVT::v8i32, 2, 0, 1, 
25662
0
  13, 
25663
0
   OPC_CheckChild0Integer, 68|128,87, 
25664
0
   OPC_RecordChild1,
25665
0
   OPC_RecordChild2,
25666
0
   OPC_CheckPatternPredicate0,
25667
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
25668
0
                 MVT::v4i64, 2, 0, 1, 
25669
0
  13, 
25670
0
   OPC_CheckChild0Integer, 70|128,87, 
25671
0
   OPC_RecordChild1,
25672
0
   OPC_RecordChild2,
25673
0
   OPC_CheckPatternPredicate0,
25674
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
25675
0
                 MVT::v4i64, 2, 0, 1, 
25676
0
  13, 
25677
0
   OPC_CheckChild0Integer, 84|128,87, 
25678
0
   OPC_RecordChild1,
25679
0
   OPC_RecordChild2,
25680
0
   OPC_CheckPatternPredicate0,
25681
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
25682
0
                 MVT::v4i64, 2, 0, 1, 
25683
0
  13, 
25684
0
   OPC_CheckChild0Integer, 86|128,87, 
25685
0
   OPC_RecordChild1,
25686
0
   OPC_RecordChild2,
25687
0
   OPC_CheckPatternPredicate0,
25688
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
25689
0
                 MVT::v4i64, 2, 0, 1, 
25690
0
  13, 
25691
0
   OPC_CheckChild0Integer, 110|128,83, 
25692
0
   OPC_RecordChild1,
25693
0
   OPC_RecordChild2,
25694
0
   OPC_CheckPatternPredicate0,
25695
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_W),
25696
0
                 MVT::v4i64, 2, 0, 1, 
25697
0
  13, 
25698
0
   OPC_CheckChild0Integer, 6|128,84, 
25699
0
   OPC_RecordChild1,
25700
0
   OPC_RecordChild2,
25701
0
   OPC_CheckPatternPredicate0,
25702
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_W),
25703
0
                 MVT::v4i64, 2, 0, 1, 
25704
0
  13, 
25705
0
   OPC_CheckChild0Integer, 52|128,94, 
25706
0
   OPC_RecordChild1,
25707
0
   OPC_RecordChild2,
25708
0
   OPC_CheckPatternPredicate0,
25709
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_W),
25710
0
                 MVT::v4i64, 2, 0, 1, 
25711
0
  13, 
25712
0
   OPC_CheckChild0Integer, 68|128,94, 
25713
0
   OPC_RecordChild1,
25714
0
   OPC_RecordChild2,
25715
0
   OPC_CheckPatternPredicate0,
25716
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_W),
25717
0
                 MVT::v4i64, 2, 0, 1, 
25718
0
  13, 
25719
0
   OPC_CheckChild0Integer, 112|128,83, 
25720
0
   OPC_RecordChild1,
25721
0
   OPC_RecordChild2,
25722
0
   OPC_CheckPatternPredicate0,
25723
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU),
25724
0
                 MVT::v4i64, 2, 0, 1, 
25725
0
  13, 
25726
0
   OPC_CheckChild0Integer, 8|128,84, 
25727
0
   OPC_RecordChild1,
25728
0
   OPC_RecordChild2,
25729
0
   OPC_CheckPatternPredicate0,
25730
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU),
25731
0
                 MVT::v4i64, 2, 0, 1, 
25732
0
  13, 
25733
0
   OPC_CheckChild0Integer, 54|128,94, 
25734
0
   OPC_RecordChild1,
25735
0
   OPC_RecordChild2,
25736
0
   OPC_CheckPatternPredicate0,
25737
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_WU),
25738
0
                 MVT::v4i64, 2, 0, 1, 
25739
0
  13, 
25740
0
   OPC_CheckChild0Integer, 70|128,94, 
25741
0
   OPC_RecordChild1,
25742
0
   OPC_RecordChild2,
25743
0
   OPC_CheckPatternPredicate0,
25744
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_WU),
25745
0
                 MVT::v4i64, 2, 0, 1, 
25746
0
  13, 
25747
0
   OPC_CheckChild0Integer, 114|128,83, 
25748
0
   OPC_RecordChild1,
25749
0
   OPC_RecordChild2,
25750
0
   OPC_CheckPatternPredicate0,
25751
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU_W),
25752
0
                 MVT::v4i64, 2, 0, 1, 
25753
0
  13, 
25754
0
   OPC_CheckChild0Integer, 10|128,84, 
25755
0
   OPC_RecordChild1,
25756
0
   OPC_RecordChild2,
25757
0
   OPC_CheckPatternPredicate0,
25758
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU_W),
25759
0
                 MVT::v4i64, 2, 0, 1, 
25760
0
  13, 
25761
0
   OPC_CheckChild0Integer, 48|128,84, 
25762
0
   OPC_RecordChild1,
25763
0
   OPC_RecordChild2,
25764
0
   OPC_CheckPatternPredicate0,
25765
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
25766
0
                 MVT::v8i32, 2, 0, 1, 
25767
0
  13, 
25768
0
   OPC_CheckChild0Integer, 50|128,84, 
25769
0
   OPC_RecordChild1,
25770
0
   OPC_RecordChild2,
25771
0
   OPC_CheckPatternPredicate0,
25772
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
25773
0
                 MVT::v8i32, 2, 0, 1, 
25774
0
  13, 
25775
0
   OPC_CheckChild0Integer, 64|128,84, 
25776
0
   OPC_RecordChild1,
25777
0
   OPC_RecordChild2,
25778
0
   OPC_CheckPatternPredicate0,
25779
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
25780
0
                 MVT::v8i32, 2, 0, 1, 
25781
0
  13, 
25782
0
   OPC_CheckChild0Integer, 66|128,84, 
25783
0
   OPC_RecordChild1,
25784
0
   OPC_RecordChild2,
25785
0
   OPC_CheckPatternPredicate0,
25786
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
25787
0
                 MVT::v8i32, 2, 0, 1, 
25788
0
  13, 
25789
0
   OPC_CheckChild0Integer, 80|128,83, 
25790
0
   OPC_RecordChild1,
25791
0
   OPC_RecordChild2,
25792
0
   OPC_CheckPatternPredicate0,
25793
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
25794
0
                 MVT::v8i32, 2, 0, 1, 
25795
0
  13, 
25796
0
   OPC_CheckChild0Integer, 82|128,83, 
25797
0
   OPC_RecordChild1,
25798
0
   OPC_RecordChild2,
25799
0
   OPC_CheckPatternPredicate0,
25800
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
25801
0
                 MVT::v8i32, 2, 0, 1, 
25802
0
  13, 
25803
0
   OPC_CheckChild0Integer, 100|128,83, 
25804
0
   OPC_RecordChild1,
25805
0
   OPC_RecordChild2,
25806
0
   OPC_CheckPatternPredicate0,
25807
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
25808
0
                 MVT::v8i32, 2, 0, 1, 
25809
0
  13, 
25810
0
   OPC_CheckChild0Integer, 50|128,89, 
25811
0
   OPC_RecordChild1,
25812
0
   OPC_RecordChild2,
25813
0
   OPC_CheckPatternPredicate0,
25814
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
25815
0
                 MVT::v8i32, 2, 0, 1, 
25816
0
  13, 
25817
0
   OPC_CheckChild0Integer, 52|128,89, 
25818
0
   OPC_RecordChild1,
25819
0
   OPC_RecordChild2,
25820
0
   OPC_CheckPatternPredicate0,
25821
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
25822
0
                 MVT::v8i32, 2, 0, 1, 
25823
0
  13, 
25824
0
   OPC_CheckChild0Integer, 62|128,89, 
25825
0
   OPC_RecordChild1,
25826
0
   OPC_RecordChild2,
25827
0
   OPC_CheckPatternPredicate0,
25828
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_W),
25829
0
                 MVT::v4i64, 2, 0, 1, 
25830
0
  13, 
25831
0
   OPC_CheckChild0Integer, 86|128,89, 
25832
0
   OPC_RecordChild1,
25833
0
   OPC_RecordChild2,
25834
0
   OPC_CheckPatternPredicate0,
25835
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_W),
25836
0
                 MVT::v4i64, 2, 0, 1, 
25837
0
  13, 
25838
0
   OPC_CheckChild0Integer, 64|128,89, 
25839
0
   OPC_RecordChild1,
25840
0
   OPC_RecordChild2,
25841
0
   OPC_CheckPatternPredicate0,
25842
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU),
25843
0
                 MVT::v4i64, 2, 0, 1, 
25844
0
  13, 
25845
0
   OPC_CheckChild0Integer, 88|128,89, 
25846
0
   OPC_RecordChild1,
25847
0
   OPC_RecordChild2,
25848
0
   OPC_CheckPatternPredicate0,
25849
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU),
25850
0
                 MVT::v4i64, 2, 0, 1, 
25851
0
  13, 
25852
0
   OPC_CheckChild0Integer, 66|128,89, 
25853
0
   OPC_RecordChild1,
25854
0
   OPC_RecordChild2,
25855
0
   OPC_CheckPatternPredicate0,
25856
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU_W),
25857
0
                 MVT::v4i64, 2, 0, 1, 
25858
0
  13, 
25859
0
   OPC_CheckChild0Integer, 90|128,89, 
25860
0
   OPC_RecordChild1,
25861
0
   OPC_RecordChild2,
25862
0
   OPC_CheckPatternPredicate0,
25863
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU_W),
25864
0
                 MVT::v4i64, 2, 0, 1, 
25865
0
  13, 
25866
0
   OPC_CheckChild0Integer, 64|128,91, 
25867
0
   OPC_RecordChild1,
25868
0
   OPC_RecordChild2,
25869
0
   OPC_CheckPatternPredicate0,
25870
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
25871
0
                 MVT::v8i32, 2, 0, 1, 
25872
0
  13, 
25873
0
   OPC_CheckChild0Integer, 112|128,90, 
25874
0
   OPC_RecordChild1,
25875
0
   OPC_RecordChild2,
25876
0
   OPC_CheckPatternPredicate0,
25877
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
25878
0
                 MVT::v8i32, 2, 0, 1, 
25879
0
  13, 
25880
0
   OPC_CheckChild0Integer, 126|128,92, 
25881
0
   OPC_RecordChild1,
25882
0
   OPC_RecordChild2,
25883
0
   OPC_CheckPatternPredicate0,
25884
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
25885
0
                 MVT::v8i32, 2, 0, 1, 
25886
0
  13, 
25887
0
   OPC_CheckChild0Integer, 66|128,92, 
25888
0
   OPC_RecordChild1,
25889
0
   OPC_RecordChild2,
25890
0
   OPC_CheckPatternPredicate0,
25891
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
25892
0
                 MVT::v8i32, 2, 0, 1, 
25893
0
  13, 
25894
0
   OPC_CheckChild0Integer, 108|128,92, 
25895
0
   OPC_RecordChild1,
25896
0
   OPC_RecordChild2,
25897
0
   OPC_CheckPatternPredicate0,
25898
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_H_W),
25899
0
                 MVT::v16i16, 2, 0, 1, 
25900
0
  13, 
25901
0
   OPC_CheckChild0Integer, 48|128,92, 
25902
0
   OPC_RecordChild1,
25903
0
   OPC_RecordChild2,
25904
0
   OPC_CheckPatternPredicate0,
25905
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_H_W),
25906
0
                 MVT::v16i16, 2, 0, 1, 
25907
0
  13, 
25908
0
   OPC_CheckChild0Integer, 10|128,93, 
25909
0
   OPC_RecordChild1,
25910
0
   OPC_RecordChild2,
25911
0
   OPC_CheckPatternPredicate0,
25912
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_H_W),
25913
0
                 MVT::v16i16, 2, 0, 1, 
25914
0
  13, 
25915
0
   OPC_CheckChild0Integer, 78|128,92, 
25916
0
   OPC_RecordChild1,
25917
0
   OPC_RecordChild2,
25918
0
   OPC_CheckPatternPredicate0,
25919
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_H_W),
25920
0
                 MVT::v16i16, 2, 0, 1, 
25921
0
  13, 
25922
0
   OPC_CheckChild0Integer, 82|128,93, 
25923
0
   OPC_RecordChild1,
25924
0
   OPC_RecordChild2,
25925
0
   OPC_CheckPatternPredicate0,
25926
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_H_W),
25927
0
                 MVT::v16i16, 2, 0, 1, 
25928
0
  13, 
25929
0
   OPC_CheckChild0Integer, 26|128,93, 
25930
0
   OPC_RecordChild1,
25931
0
   OPC_RecordChild2,
25932
0
   OPC_CheckPatternPredicate0,
25933
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_H_W),
25934
0
                 MVT::v16i16, 2, 0, 1, 
25935
0
  13, 
25936
0
   OPC_CheckChild0Integer, 84|128,93, 
25937
0
   OPC_RecordChild1,
25938
0
   OPC_RecordChild2,
25939
0
   OPC_CheckPatternPredicate0,
25940
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_HU_W),
25941
0
                 MVT::v16i16, 2, 0, 1, 
25942
0
  13, 
25943
0
   OPC_CheckChild0Integer, 28|128,93, 
25944
0
   OPC_RecordChild1,
25945
0
   OPC_RecordChild2,
25946
0
   OPC_CheckPatternPredicate0,
25947
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_HU_W),
25948
0
                 MVT::v16i16, 2, 0, 1, 
25949
0
  13, 
25950
0
   OPC_CheckChild0Integer, 110|128,93, 
25951
0
   OPC_RecordChild1,
25952
0
   OPC_RecordChild2,
25953
0
   OPC_CheckPatternPredicate0,
25954
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_H_W),
25955
0
                 MVT::v16i16, 2, 0, 1, 
25956
0
  13, 
25957
0
   OPC_CheckChild0Integer, 54|128,93, 
25958
0
   OPC_RecordChild1,
25959
0
   OPC_RecordChild2,
25960
0
   OPC_CheckPatternPredicate0,
25961
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_H_W),
25962
0
                 MVT::v16i16, 2, 0, 1, 
25963
0
  13, 
25964
0
   OPC_CheckChild0Integer, 112|128,93, 
25965
0
   OPC_RecordChild1,
25966
0
   OPC_RecordChild2,
25967
0
   OPC_CheckPatternPredicate0,
25968
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_HU_W),
25969
0
                 MVT::v16i16, 2, 0, 1, 
25970
0
  13, 
25971
0
   OPC_CheckChild0Integer, 56|128,93, 
25972
0
   OPC_RecordChild1,
25973
0
   OPC_RecordChild2,
25974
0
   OPC_CheckPatternPredicate0,
25975
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_HU_W),
25976
0
                 MVT::v16i16, 2, 0, 1, 
25977
0
  13, 
25978
0
   OPC_CheckChild0Integer, 32|128,91, 
25979
0
   OPC_RecordChild1,
25980
0
   OPC_RecordChild2,
25981
0
   OPC_CheckPatternPredicate0,
25982
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
25983
0
                 MVT::v8i32, 2, 0, 1, 
25984
0
  13, 
25985
0
   OPC_CheckChild0Integer, 78|128,91, 
25986
0
   OPC_RecordChild1,
25987
0
   OPC_RecordChild2,
25988
0
   OPC_CheckPatternPredicate0,
25989
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
25990
0
                 MVT::v8i32, 2, 0, 1, 
25991
0
  13, 
25992
0
   OPC_CheckChild0Integer, 80|128,91, 
25993
0
   OPC_RecordChild1,
25994
0
   OPC_RecordChild2,
25995
0
   OPC_CheckPatternPredicate0,
25996
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
25997
0
                 MVT::v8i32, 2, 0, 1, 
25998
0
  13, 
25999
0
   OPC_CheckChild0Integer, 10|128,92, 
26000
0
   OPC_RecordChild1,
26001
0
   OPC_RecordChild2,
26002
0
   OPC_CheckPatternPredicate0,
26003
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
26004
0
                 MVT::v8i32, 2, 0, 1, 
26005
0
  13, 
26006
0
   OPC_CheckChild0Integer, 12|128,92, 
26007
0
   OPC_RecordChild1,
26008
0
   OPC_RecordChild2,
26009
0
   OPC_CheckPatternPredicate0,
26010
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
26011
0
                 MVT::v8i32, 2, 0, 1, 
26012
0
  13, 
26013
0
   OPC_CheckChild0Integer, 6|128,90, 
26014
0
   OPC_RecordChild1,
26015
0
   OPC_RecordChild2,
26016
0
   OPC_CheckPatternPredicate0,
26017
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
26018
0
                 MVT::v8i32, 2, 0, 1, 
26019
0
  13, 
26020
0
   OPC_CheckChild0Integer, 14|128,90, 
26021
0
   OPC_RecordChild1,
26022
0
   OPC_RecordChild2,
26023
0
   OPC_CheckPatternPredicate0,
26024
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
26025
0
                 MVT::v8i32, 2, 0, 1, 
26026
0
  13, 
26027
0
   OPC_CheckChild0Integer, 38|128,90, 
26028
0
   OPC_RecordChild1,
26029
0
   OPC_RecordChild2,
26030
0
   OPC_CheckPatternPredicate0,
26031
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
26032
0
                 MVT::v8i32, 2, 0, 1, 
26033
0
  13, 
26034
0
   OPC_CheckChild0Integer, 46|128,90, 
26035
0
   OPC_RecordChild1,
26036
0
   OPC_RecordChild2,
26037
0
   OPC_CheckPatternPredicate0,
26038
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
26039
0
                 MVT::v8i32, 2, 0, 1, 
26040
0
  13, 
26041
0
   OPC_CheckChild0Integer, 114|128,87, 
26042
0
   OPC_RecordChild1,
26043
0
   OPC_RecordChild2,
26044
0
   OPC_CheckPatternPredicate0,
26045
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
26046
0
                 MVT::v8i32, 2, 0, 1, 
26047
0
  13, 
26048
0
   OPC_CheckChild0Integer, 106|128,87, 
26049
0
   OPC_RecordChild1,
26050
0
   OPC_RecordChild2,
26051
0
   OPC_CheckPatternPredicate0,
26052
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
26053
0
                 MVT::v8i32, 2, 0, 1, 
26054
0
  13, 
26055
0
   OPC_CheckChild0Integer, 24|128,90, 
26056
0
   OPC_RecordChild1,
26057
0
   OPC_RecordChild2,
26058
0
   OPC_CheckPatternPredicate0,
26059
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
26060
0
                 MVT::v8i32, 2, 0, 1, 
26061
0
  13, 
26062
0
   OPC_CheckChild0Integer, 90|128,83, 
26063
0
   OPC_RecordChild1,
26064
0
   OPC_RecordChild2,
26065
0
   OPC_CheckPatternPredicate0,
26066
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_Q),
26067
0
                 MVT::v4i64, 2, 0, 1, 
26068
0
  13, 
26069
0
   OPC_CheckChild0Integer, 40|128,94, 
26070
0
   OPC_RecordChild1,
26071
0
   OPC_RecordChild2,
26072
0
   OPC_CheckPatternPredicate0,
26073
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_Q),
26074
0
                 MVT::v4i64, 2, 0, 1, 
26075
0
  13, 
26076
0
   OPC_CheckChild0Integer, 126|128,90, 
26077
0
   OPC_RecordChild1,
26078
0
   OPC_RecordChild2,
26079
0
   OPC_CheckPatternPredicate0,
26080
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
26081
0
                 MVT::v4i64, 2, 0, 1, 
26082
0
  13, 
26083
0
   OPC_CheckChild0Integer, 0|128,91, 
26084
0
   OPC_RecordChild1,
26085
0
   OPC_RecordChild2,
26086
0
   OPC_CheckPatternPredicate0,
26087
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
26088
0
                 MVT::v4i64, 2, 0, 1, 
26089
0
  13, 
26090
0
   OPC_CheckChild0Integer, 10|128,94, 
26091
0
   OPC_RecordChild1,
26092
0
   OPC_RecordChild2,
26093
0
   OPC_CheckPatternPredicate0,
26094
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
26095
0
                 MVT::v4i64, 2, 0, 1, 
26096
0
  13, 
26097
0
   OPC_CheckChild0Integer, 12|128,94, 
26098
0
   OPC_RecordChild1,
26099
0
   OPC_RecordChild2,
26100
0
   OPC_CheckPatternPredicate0,
26101
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
26102
0
                 MVT::v4i64, 2, 0, 1, 
26103
0
  13, 
26104
0
   OPC_CheckChild0Integer, 76|128,87, 
26105
0
   OPC_RecordChild1,
26106
0
   OPC_RecordChild2,
26107
0
   OPC_CheckPatternPredicate0,
26108
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
26109
0
                 MVT::v4i64, 2, 0, 1, 
26110
0
  13, 
26111
0
   OPC_CheckChild0Integer, 78|128,87, 
26112
0
   OPC_RecordChild1,
26113
0
   OPC_RecordChild2,
26114
0
   OPC_CheckPatternPredicate0,
26115
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
26116
0
                 MVT::v4i64, 2, 0, 1, 
26117
0
  13, 
26118
0
   OPC_CheckChild0Integer, 92|128,87, 
26119
0
   OPC_RecordChild1,
26120
0
   OPC_RecordChild2,
26121
0
   OPC_CheckPatternPredicate0,
26122
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
26123
0
                 MVT::v4i64, 2, 0, 1, 
26124
0
  13, 
26125
0
   OPC_CheckChild0Integer, 94|128,87, 
26126
0
   OPC_RecordChild1,
26127
0
   OPC_RecordChild2,
26128
0
   OPC_CheckPatternPredicate0,
26129
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
26130
0
                 MVT::v4i64, 2, 0, 1, 
26131
0
  13, 
26132
0
   OPC_CheckChild0Integer, 122|128,83, 
26133
0
   OPC_RecordChild1,
26134
0
   OPC_RecordChild2,
26135
0
   OPC_CheckPatternPredicate0,
26136
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_D),
26137
0
                 MVT::v4i64, 2, 0, 1, 
26138
0
  13, 
26139
0
   OPC_CheckChild0Integer, 18|128,84, 
26140
0
   OPC_RecordChild1,
26141
0
   OPC_RecordChild2,
26142
0
   OPC_CheckPatternPredicate0,
26143
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_D),
26144
0
                 MVT::v4i64, 2, 0, 1, 
26145
0
  13, 
26146
0
   OPC_CheckChild0Integer, 60|128,94, 
26147
0
   OPC_RecordChild1,
26148
0
   OPC_RecordChild2,
26149
0
   OPC_CheckPatternPredicate0,
26150
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_D),
26151
0
                 MVT::v4i64, 2, 0, 1, 
26152
0
  13, 
26153
0
   OPC_CheckChild0Integer, 76|128,94, 
26154
0
   OPC_RecordChild1,
26155
0
   OPC_RecordChild2,
26156
0
   OPC_CheckPatternPredicate0,
26157
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_D),
26158
0
                 MVT::v4i64, 2, 0, 1, 
26159
0
  13, 
26160
0
   OPC_CheckChild0Integer, 124|128,83, 
26161
0
   OPC_RecordChild1,
26162
0
   OPC_RecordChild2,
26163
0
   OPC_CheckPatternPredicate0,
26164
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU),
26165
0
                 MVT::v4i64, 2, 0, 1, 
26166
0
  13, 
26167
0
   OPC_CheckChild0Integer, 20|128,84, 
26168
0
   OPC_RecordChild1,
26169
0
   OPC_RecordChild2,
26170
0
   OPC_CheckPatternPredicate0,
26171
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU),
26172
0
                 MVT::v4i64, 2, 0, 1, 
26173
0
  13, 
26174
0
   OPC_CheckChild0Integer, 62|128,94, 
26175
0
   OPC_RecordChild1,
26176
0
   OPC_RecordChild2,
26177
0
   OPC_CheckPatternPredicate0,
26178
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_DU),
26179
0
                 MVT::v4i64, 2, 0, 1, 
26180
0
  13, 
26181
0
   OPC_CheckChild0Integer, 78|128,94, 
26182
0
   OPC_RecordChild1,
26183
0
   OPC_RecordChild2,
26184
0
   OPC_CheckPatternPredicate0,
26185
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_DU),
26186
0
                 MVT::v4i64, 2, 0, 1, 
26187
0
  13, 
26188
0
   OPC_CheckChild0Integer, 126|128,83, 
26189
0
   OPC_RecordChild1,
26190
0
   OPC_RecordChild2,
26191
0
   OPC_CheckPatternPredicate0,
26192
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU_D),
26193
0
                 MVT::v4i64, 2, 0, 1, 
26194
0
  13, 
26195
0
   OPC_CheckChild0Integer, 22|128,84, 
26196
0
   OPC_RecordChild1,
26197
0
   OPC_RecordChild2,
26198
0
   OPC_CheckPatternPredicate0,
26199
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU_D),
26200
0
                 MVT::v4i64, 2, 0, 1, 
26201
0
  13, 
26202
0
   OPC_CheckChild0Integer, 40|128,84, 
26203
0
   OPC_RecordChild1,
26204
0
   OPC_RecordChild2,
26205
0
   OPC_CheckPatternPredicate0,
26206
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
26207
0
                 MVT::v4i64, 2, 0, 1, 
26208
0
  13, 
26209
0
   OPC_CheckChild0Integer, 42|128,84, 
26210
0
   OPC_RecordChild1,
26211
0
   OPC_RecordChild2,
26212
0
   OPC_CheckPatternPredicate0,
26213
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
26214
0
                 MVT::v4i64, 2, 0, 1, 
26215
0
  13, 
26216
0
   OPC_CheckChild0Integer, 56|128,84, 
26217
0
   OPC_RecordChild1,
26218
0
   OPC_RecordChild2,
26219
0
   OPC_CheckPatternPredicate0,
26220
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
26221
0
                 MVT::v4i64, 2, 0, 1, 
26222
0
  13, 
26223
0
   OPC_CheckChild0Integer, 58|128,84, 
26224
0
   OPC_RecordChild1,
26225
0
   OPC_RecordChild2,
26226
0
   OPC_CheckPatternPredicate0,
26227
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
26228
0
                 MVT::v4i64, 2, 0, 1, 
26229
0
  13, 
26230
0
   OPC_CheckChild0Integer, 72|128,83, 
26231
0
   OPC_RecordChild1,
26232
0
   OPC_RecordChild2,
26233
0
   OPC_CheckPatternPredicate0,
26234
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
26235
0
                 MVT::v4i64, 2, 0, 1, 
26236
0
  13, 
26237
0
   OPC_CheckChild0Integer, 74|128,83, 
26238
0
   OPC_RecordChild1,
26239
0
   OPC_RecordChild2,
26240
0
   OPC_CheckPatternPredicate0,
26241
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
26242
0
                 MVT::v4i64, 2, 0, 1, 
26243
0
  13, 
26244
0
   OPC_CheckChild0Integer, 96|128,83, 
26245
0
   OPC_RecordChild1,
26246
0
   OPC_RecordChild2,
26247
0
   OPC_CheckPatternPredicate0,
26248
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
26249
0
                 MVT::v4i64, 2, 0, 1, 
26250
0
  13, 
26251
0
   OPC_CheckChild0Integer, 42|128,89, 
26252
0
   OPC_RecordChild1,
26253
0
   OPC_RecordChild2,
26254
0
   OPC_CheckPatternPredicate0,
26255
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
26256
0
                 MVT::v4i64, 2, 0, 1, 
26257
0
  13, 
26258
0
   OPC_CheckChild0Integer, 44|128,89, 
26259
0
   OPC_RecordChild1,
26260
0
   OPC_RecordChild2,
26261
0
   OPC_CheckPatternPredicate0,
26262
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
26263
0
                 MVT::v4i64, 2, 0, 1, 
26264
0
  13, 
26265
0
   OPC_CheckChild0Integer, 74|128,89, 
26266
0
   OPC_RecordChild1,
26267
0
   OPC_RecordChild2,
26268
0
   OPC_CheckPatternPredicate0,
26269
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_D),
26270
0
                 MVT::v4i64, 2, 0, 1, 
26271
0
  13, 
26272
0
   OPC_CheckChild0Integer, 98|128,89, 
26273
0
   OPC_RecordChild1,
26274
0
   OPC_RecordChild2,
26275
0
   OPC_CheckPatternPredicate0,
26276
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_D),
26277
0
                 MVT::v4i64, 2, 0, 1, 
26278
0
  13, 
26279
0
   OPC_CheckChild0Integer, 76|128,89, 
26280
0
   OPC_RecordChild1,
26281
0
   OPC_RecordChild2,
26282
0
   OPC_CheckPatternPredicate0,
26283
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU),
26284
0
                 MVT::v4i64, 2, 0, 1, 
26285
0
  13, 
26286
0
   OPC_CheckChild0Integer, 100|128,89, 
26287
0
   OPC_RecordChild1,
26288
0
   OPC_RecordChild2,
26289
0
   OPC_CheckPatternPredicate0,
26290
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU),
26291
0
                 MVT::v4i64, 2, 0, 1, 
26292
0
  13, 
26293
0
   OPC_CheckChild0Integer, 78|128,89, 
26294
0
   OPC_RecordChild1,
26295
0
   OPC_RecordChild2,
26296
0
   OPC_CheckPatternPredicate0,
26297
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU_D),
26298
0
                 MVT::v4i64, 2, 0, 1, 
26299
0
  13, 
26300
0
   OPC_CheckChild0Integer, 102|128,89, 
26301
0
   OPC_RecordChild1,
26302
0
   OPC_RecordChild2,
26303
0
   OPC_CheckPatternPredicate0,
26304
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU_D),
26305
0
                 MVT::v4i64, 2, 0, 1, 
26306
0
  13, 
26307
0
   OPC_CheckChild0Integer, 60|128,91, 
26308
0
   OPC_RecordChild1,
26309
0
   OPC_RecordChild2,
26310
0
   OPC_CheckPatternPredicate0,
26311
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
26312
0
                 MVT::v4i64, 2, 0, 1, 
26313
0
  13, 
26314
0
   OPC_CheckChild0Integer, 108|128,90, 
26315
0
   OPC_RecordChild1,
26316
0
   OPC_RecordChild2,
26317
0
   OPC_CheckPatternPredicate0,
26318
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
26319
0
                 MVT::v4i64, 2, 0, 1, 
26320
0
  13, 
26321
0
   OPC_CheckChild0Integer, 122|128,92, 
26322
0
   OPC_RecordChild1,
26323
0
   OPC_RecordChild2,
26324
0
   OPC_CheckPatternPredicate0,
26325
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
26326
0
                 MVT::v4i64, 2, 0, 1, 
26327
0
  13, 
26328
0
   OPC_CheckChild0Integer, 62|128,92, 
26329
0
   OPC_RecordChild1,
26330
0
   OPC_RecordChild2,
26331
0
   OPC_CheckPatternPredicate0,
26332
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
26333
0
                 MVT::v4i64, 2, 0, 1, 
26334
0
  13, 
26335
0
   OPC_CheckChild0Integer, 110|128,92, 
26336
0
   OPC_RecordChild1,
26337
0
   OPC_RecordChild2,
26338
0
   OPC_CheckPatternPredicate0,
26339
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_W_D),
26340
0
                 MVT::v8i32, 2, 0, 1, 
26341
0
  13, 
26342
0
   OPC_CheckChild0Integer, 50|128,92, 
26343
0
   OPC_RecordChild1,
26344
0
   OPC_RecordChild2,
26345
0
   OPC_CheckPatternPredicate0,
26346
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_W_D),
26347
0
                 MVT::v8i32, 2, 0, 1, 
26348
0
  13, 
26349
0
   OPC_CheckChild0Integer, 12|128,93, 
26350
0
   OPC_RecordChild1,
26351
0
   OPC_RecordChild2,
26352
0
   OPC_CheckPatternPredicate0,
26353
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_W_D),
26354
0
                 MVT::v8i32, 2, 0, 1, 
26355
0
  13, 
26356
0
   OPC_CheckChild0Integer, 80|128,92, 
26357
0
   OPC_RecordChild1,
26358
0
   OPC_RecordChild2,
26359
0
   OPC_CheckPatternPredicate0,
26360
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_W_D),
26361
0
                 MVT::v8i32, 2, 0, 1, 
26362
0
  13, 
26363
0
   OPC_CheckChild0Integer, 86|128,93, 
26364
0
   OPC_RecordChild1,
26365
0
   OPC_RecordChild2,
26366
0
   OPC_CheckPatternPredicate0,
26367
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_W_D),
26368
0
                 MVT::v8i32, 2, 0, 1, 
26369
0
  13, 
26370
0
   OPC_CheckChild0Integer, 30|128,93, 
26371
0
   OPC_RecordChild1,
26372
0
   OPC_RecordChild2,
26373
0
   OPC_CheckPatternPredicate0,
26374
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_W_D),
26375
0
                 MVT::v8i32, 2, 0, 1, 
26376
0
  13, 
26377
0
   OPC_CheckChild0Integer, 88|128,93, 
26378
0
   OPC_RecordChild1,
26379
0
   OPC_RecordChild2,
26380
0
   OPC_CheckPatternPredicate0,
26381
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_WU_D),
26382
0
                 MVT::v8i32, 2, 0, 1, 
26383
0
  13, 
26384
0
   OPC_CheckChild0Integer, 32|128,93, 
26385
0
   OPC_RecordChild1,
26386
0
   OPC_RecordChild2,
26387
0
   OPC_CheckPatternPredicate0,
26388
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_WU_D),
26389
0
                 MVT::v8i32, 2, 0, 1, 
26390
0
  13, 
26391
0
   OPC_CheckChild0Integer, 114|128,93, 
26392
0
   OPC_RecordChild1,
26393
0
   OPC_RecordChild2,
26394
0
   OPC_CheckPatternPredicate0,
26395
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_W_D),
26396
0
                 MVT::v8i32, 2, 0, 1, 
26397
0
  13, 
26398
0
   OPC_CheckChild0Integer, 58|128,93, 
26399
0
   OPC_RecordChild1,
26400
0
   OPC_RecordChild2,
26401
0
   OPC_CheckPatternPredicate0,
26402
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_W_D),
26403
0
                 MVT::v8i32, 2, 0, 1, 
26404
0
  13, 
26405
0
   OPC_CheckChild0Integer, 116|128,93, 
26406
0
   OPC_RecordChild1,
26407
0
   OPC_RecordChild2,
26408
0
   OPC_CheckPatternPredicate0,
26409
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_WU_D),
26410
0
                 MVT::v8i32, 2, 0, 1, 
26411
0
  13, 
26412
0
   OPC_CheckChild0Integer, 60|128,93, 
26413
0
   OPC_RecordChild1,
26414
0
   OPC_RecordChild2,
26415
0
   OPC_CheckPatternPredicate0,
26416
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_WU_D),
26417
0
                 MVT::v8i32, 2, 0, 1, 
26418
0
  13, 
26419
0
   OPC_CheckChild0Integer, 28|128,91, 
26420
0
   OPC_RecordChild1,
26421
0
   OPC_RecordChild2,
26422
0
   OPC_CheckPatternPredicate0,
26423
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
26424
0
                 MVT::v4i64, 2, 0, 1, 
26425
0
  13, 
26426
0
   OPC_CheckChild0Integer, 70|128,91, 
26427
0
   OPC_RecordChild1,
26428
0
   OPC_RecordChild2,
26429
0
   OPC_CheckPatternPredicate0,
26430
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
26431
0
                 MVT::v4i64, 2, 0, 1, 
26432
0
  13, 
26433
0
   OPC_CheckChild0Integer, 72|128,91, 
26434
0
   OPC_RecordChild1,
26435
0
   OPC_RecordChild2,
26436
0
   OPC_CheckPatternPredicate0,
26437
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
26438
0
                 MVT::v4i64, 2, 0, 1, 
26439
0
  13, 
26440
0
   OPC_CheckChild0Integer, 2|128,92, 
26441
0
   OPC_RecordChild1,
26442
0
   OPC_RecordChild2,
26443
0
   OPC_CheckPatternPredicate0,
26444
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
26445
0
                 MVT::v4i64, 2, 0, 1, 
26446
0
  13, 
26447
0
   OPC_CheckChild0Integer, 4|128,92, 
26448
0
   OPC_RecordChild1,
26449
0
   OPC_RecordChild2,
26450
0
   OPC_CheckPatternPredicate0,
26451
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
26452
0
                 MVT::v4i64, 2, 0, 1, 
26453
0
  13, 
26454
0
   OPC_CheckChild0Integer, 2|128,90, 
26455
0
   OPC_RecordChild1,
26456
0
   OPC_RecordChild2,
26457
0
   OPC_CheckPatternPredicate0,
26458
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
26459
0
                 MVT::v4i64, 2, 0, 1, 
26460
0
  13, 
26461
0
   OPC_CheckChild0Integer, 10|128,90, 
26462
0
   OPC_RecordChild1,
26463
0
   OPC_RecordChild2,
26464
0
   OPC_CheckPatternPredicate0,
26465
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
26466
0
                 MVT::v4i64, 2, 0, 1, 
26467
0
  13, 
26468
0
   OPC_CheckChild0Integer, 34|128,90, 
26469
0
   OPC_RecordChild1,
26470
0
   OPC_RecordChild2,
26471
0
   OPC_CheckPatternPredicate0,
26472
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
26473
0
                 MVT::v4i64, 2, 0, 1, 
26474
0
  13, 
26475
0
   OPC_CheckChild0Integer, 42|128,90, 
26476
0
   OPC_RecordChild1,
26477
0
   OPC_RecordChild2,
26478
0
   OPC_CheckPatternPredicate0,
26479
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
26480
0
                 MVT::v4i64, 2, 0, 1, 
26481
0
  13, 
26482
0
   OPC_CheckChild0Integer, 110|128,87, 
26483
0
   OPC_RecordChild1,
26484
0
   OPC_RecordChild2,
26485
0
   OPC_CheckPatternPredicate0,
26486
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
26487
0
                 MVT::v4i64, 2, 0, 1, 
26488
0
  13, 
26489
0
   OPC_CheckChild0Integer, 102|128,87, 
26490
0
   OPC_RecordChild1,
26491
0
   OPC_RecordChild2,
26492
0
   OPC_CheckPatternPredicate0,
26493
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
26494
0
                 MVT::v4i64, 2, 0, 1, 
26495
0
  15, 
26496
0
   OPC_CheckChild0Integer, 24|128,88, 
26497
0
   OPC_RecordChild1,
26498
0
   OPC_RecordChild2,
26499
0
   OPC_RecordChild3,
26500
0
   OPC_CheckPatternPredicate0,
26501
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_B),
26502
0
                 MVT::v16i16, 3, 0, 1, 2, 
26503
0
  15, 
26504
0
   OPC_CheckChild0Integer, 48|128,88, 
26505
0
   OPC_RecordChild1,
26506
0
   OPC_RecordChild2,
26507
0
   OPC_RecordChild3,
26508
0
   OPC_CheckPatternPredicate0,
26509
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_B),
26510
0
                 MVT::v16i16, 3, 0, 1, 2, 
26511
0
  15, 
26512
0
   OPC_CheckChild0Integer, 26|128,88, 
26513
0
   OPC_RecordChild1,
26514
0
   OPC_RecordChild2,
26515
0
   OPC_RecordChild3,
26516
0
   OPC_CheckPatternPredicate0,
26517
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU),
26518
0
                 MVT::v16i16, 3, 0, 1, 2, 
26519
0
  15, 
26520
0
   OPC_CheckChild0Integer, 50|128,88, 
26521
0
   OPC_RecordChild1,
26522
0
   OPC_RecordChild2,
26523
0
   OPC_RecordChild3,
26524
0
   OPC_CheckPatternPredicate0,
26525
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU),
26526
0
                 MVT::v16i16, 3, 0, 1, 2, 
26527
0
  15, 
26528
0
   OPC_CheckChild0Integer, 28|128,88, 
26529
0
   OPC_RecordChild1,
26530
0
   OPC_RecordChild2,
26531
0
   OPC_RecordChild3,
26532
0
   OPC_CheckPatternPredicate0,
26533
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU_B),
26534
0
                 MVT::v16i16, 3, 0, 1, 2, 
26535
0
  15, 
26536
0
   OPC_CheckChild0Integer, 52|128,88, 
26537
0
   OPC_RecordChild1,
26538
0
   OPC_RecordChild2,
26539
0
   OPC_RecordChild3,
26540
0
   OPC_CheckPatternPredicate0,
26541
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU_B),
26542
0
                 MVT::v16i16, 3, 0, 1, 2, 
26543
0
  15, 
26544
0
   OPC_CheckChild0Integer, 36|128,88, 
26545
0
   OPC_RecordChild1,
26546
0
   OPC_RecordChild2,
26547
0
   OPC_RecordChild3,
26548
0
   OPC_CheckPatternPredicate0,
26549
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_H),
26550
0
                 MVT::v8i32, 3, 0, 1, 2, 
26551
0
  15, 
26552
0
   OPC_CheckChild0Integer, 60|128,88, 
26553
0
   OPC_RecordChild1,
26554
0
   OPC_RecordChild2,
26555
0
   OPC_RecordChild3,
26556
0
   OPC_CheckPatternPredicate0,
26557
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_H),
26558
0
                 MVT::v8i32, 3, 0, 1, 2, 
26559
0
  15, 
26560
0
   OPC_CheckChild0Integer, 38|128,88, 
26561
0
   OPC_RecordChild1,
26562
0
   OPC_RecordChild2,
26563
0
   OPC_RecordChild3,
26564
0
   OPC_CheckPatternPredicate0,
26565
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU),
26566
0
                 MVT::v8i32, 3, 0, 1, 2, 
26567
0
  15, 
26568
0
   OPC_CheckChild0Integer, 62|128,88, 
26569
0
   OPC_RecordChild1,
26570
0
   OPC_RecordChild2,
26571
0
   OPC_RecordChild3,
26572
0
   OPC_CheckPatternPredicate0,
26573
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU),
26574
0
                 MVT::v8i32, 3, 0, 1, 2, 
26575
0
  15, 
26576
0
   OPC_CheckChild0Integer, 40|128,88, 
26577
0
   OPC_RecordChild1,
26578
0
   OPC_RecordChild2,
26579
0
   OPC_RecordChild3,
26580
0
   OPC_CheckPatternPredicate0,
26581
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU_H),
26582
0
                 MVT::v8i32, 3, 0, 1, 2, 
26583
0
  15, 
26584
0
   OPC_CheckChild0Integer, 64|128,88, 
26585
0
   OPC_RecordChild1,
26586
0
   OPC_RecordChild2,
26587
0
   OPC_RecordChild3,
26588
0
   OPC_CheckPatternPredicate0,
26589
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU_H),
26590
0
                 MVT::v8i32, 3, 0, 1, 2, 
26591
0
  15, 
26592
0
   OPC_CheckChild0Integer, 18|128,88, 
26593
0
   OPC_RecordChild1,
26594
0
   OPC_RecordChild2,
26595
0
   OPC_RecordChild3,
26596
0
   OPC_CheckPatternPredicate0,
26597
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_W),
26598
0
                 MVT::v4i64, 3, 0, 1, 2, 
26599
0
  15, 
26600
0
   OPC_CheckChild0Integer, 42|128,88, 
26601
0
   OPC_RecordChild1,
26602
0
   OPC_RecordChild2,
26603
0
   OPC_RecordChild3,
26604
0
   OPC_CheckPatternPredicate0,
26605
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_W),
26606
0
                 MVT::v4i64, 3, 0, 1, 2, 
26607
0
  15, 
26608
0
   OPC_CheckChild0Integer, 20|128,88, 
26609
0
   OPC_RecordChild1,
26610
0
   OPC_RecordChild2,
26611
0
   OPC_RecordChild3,
26612
0
   OPC_CheckPatternPredicate0,
26613
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU),
26614
0
                 MVT::v4i64, 3, 0, 1, 2, 
26615
0
  15, 
26616
0
   OPC_CheckChild0Integer, 44|128,88, 
26617
0
   OPC_RecordChild1,
26618
0
   OPC_RecordChild2,
26619
0
   OPC_RecordChild3,
26620
0
   OPC_CheckPatternPredicate0,
26621
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU),
26622
0
                 MVT::v4i64, 3, 0, 1, 2, 
26623
0
  15, 
26624
0
   OPC_CheckChild0Integer, 22|128,88, 
26625
0
   OPC_RecordChild1,
26626
0
   OPC_RecordChild2,
26627
0
   OPC_RecordChild3,
26628
0
   OPC_CheckPatternPredicate0,
26629
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU_W),
26630
0
                 MVT::v4i64, 3, 0, 1, 2, 
26631
0
  15, 
26632
0
   OPC_CheckChild0Integer, 46|128,88, 
26633
0
   OPC_RecordChild1,
26634
0
   OPC_RecordChild2,
26635
0
   OPC_RecordChild3,
26636
0
   OPC_CheckPatternPredicate0,
26637
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU_W),
26638
0
                 MVT::v4i64, 3, 0, 1, 2, 
26639
0
  15, 
26640
0
   OPC_CheckChild0Integer, 30|128,88, 
26641
0
   OPC_RecordChild1,
26642
0
   OPC_RecordChild2,
26643
0
   OPC_RecordChild3,
26644
0
   OPC_CheckPatternPredicate0,
26645
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_D),
26646
0
                 MVT::v4i64, 3, 0, 1, 2, 
26647
0
  15, 
26648
0
   OPC_CheckChild0Integer, 54|128,88, 
26649
0
   OPC_RecordChild1,
26650
0
   OPC_RecordChild2,
26651
0
   OPC_RecordChild3,
26652
0
   OPC_CheckPatternPredicate0,
26653
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_D),
26654
0
                 MVT::v4i64, 3, 0, 1, 2, 
26655
0
  15, 
26656
0
   OPC_CheckChild0Integer, 32|128,88, 
26657
0
   OPC_RecordChild1,
26658
0
   OPC_RecordChild2,
26659
0
   OPC_RecordChild3,
26660
0
   OPC_CheckPatternPredicate0,
26661
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU),
26662
0
                 MVT::v4i64, 3, 0, 1, 2, 
26663
0
  15, 
26664
0
   OPC_CheckChild0Integer, 56|128,88, 
26665
0
   OPC_RecordChild1,
26666
0
   OPC_RecordChild2,
26667
0
   OPC_RecordChild3,
26668
0
   OPC_CheckPatternPredicate0,
26669
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU),
26670
0
                 MVT::v4i64, 3, 0, 1, 2, 
26671
0
  15, 
26672
0
   OPC_CheckChild0Integer, 34|128,88, 
26673
0
   OPC_RecordChild1,
26674
0
   OPC_RecordChild2,
26675
0
   OPC_RecordChild3,
26676
0
   OPC_CheckPatternPredicate0,
26677
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU_D),
26678
0
                 MVT::v4i64, 3, 0, 1, 2, 
26679
0
  15, 
26680
0
   OPC_CheckChild0Integer, 58|128,88, 
26681
0
   OPC_RecordChild1,
26682
0
   OPC_RecordChild2,
26683
0
   OPC_RecordChild3,
26684
0
   OPC_CheckPatternPredicate0,
26685
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU_D),
26686
0
                 MVT::v4i64, 3, 0, 1, 2, 
26687
0
  11, 
26688
0
   OPC_CheckChild0Integer, 32|128,85, 
26689
0
   OPC_RecordChild1,
26690
0
   OPC_CheckPatternPredicate0,
26691
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
26692
0
                 MVT::v16i16, 1, 0, 
26693
0
  11, 
26694
0
   OPC_CheckChild0Integer, 34|128,85, 
26695
0
   OPC_RecordChild1,
26696
0
   OPC_CheckPatternPredicate0,
26697
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
26698
0
                 MVT::v16i16, 1, 0, 
26699
0
  11, 
26700
0
   OPC_CheckChild0Integer, 20|128,89, 
26701
0
   OPC_RecordChild1,
26702
0
   OPC_CheckPatternPredicate0,
26703
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_B),
26704
0
                 MVT::v32i8, 1, 0, 
26705
0
  11, 
26706
0
   OPC_CheckChild0Integer, 18|128,89, 
26707
0
   OPC_RecordChild1,
26708
0
   OPC_CheckPatternPredicate0,
26709
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKGEZ_B),
26710
0
                 MVT::v32i8, 1, 0, 
26711
0
  11, 
26712
0
   OPC_CheckChild0Integer, 28|128,89, 
26713
0
   OPC_RecordChild1,
26714
0
   OPC_CheckPatternPredicate0,
26715
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKNZ_B),
26716
0
                 MVT::v32i8, 1, 0, 
26717
0
  11, 
26718
0
   OPC_CheckChild0Integer, 124|128,84, 
26719
0
   OPC_RecordChild1,
26720
0
   OPC_CheckPatternPredicate0,
26721
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
26722
0
                 MVT::v32i8, 1, 0, 
26723
0
  11, 
26724
0
   OPC_CheckChild0Integer, 36|128,83, 
26725
0
   OPC_RecordChild1,
26726
0
   OPC_CheckPatternPredicate0,
26727
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
26728
0
                 MVT::v16i16, 1, 0, 
26729
0
  11, 
26730
0
   OPC_CheckChild0Integer, 38|128,83, 
26731
0
   OPC_RecordChild1,
26732
0
   OPC_CheckPatternPredicate0,
26733
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
26734
0
                 MVT::v16i16, 1, 0, 
26735
0
  11, 
26736
0
   OPC_CheckChild0Integer, 40|128,83, 
26737
0
   OPC_RecordChild1,
26738
0
   OPC_CheckPatternPredicate0,
26739
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
26740
0
                 MVT::v8i32, 1, 0, 
26741
0
  11, 
26742
0
   OPC_CheckChild0Integer, 44|128,83, 
26743
0
   OPC_RecordChild1,
26744
0
   OPC_CheckPatternPredicate0,
26745
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
26746
0
                 MVT::v8i32, 1, 0, 
26747
0
  11, 
26748
0
   OPC_CheckChild0Integer, 24|128,83, 
26749
0
   OPC_RecordChild1,
26750
0
   OPC_CheckPatternPredicate0,
26751
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
26752
0
                 MVT::v4i64, 1, 0, 
26753
0
  11, 
26754
0
   OPC_CheckChild0Integer, 30|128,83, 
26755
0
   OPC_RecordChild1,
26756
0
   OPC_CheckPatternPredicate0,
26757
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
26758
0
                 MVT::v4i64, 1, 0, 
26759
0
  11, 
26760
0
   OPC_CheckChild0Integer, 96|128,90, 
26761
0
   OPC_RecordChild1,
26762
0
   OPC_CheckPatternPredicate0,
26763
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
26764
0
                 MVT::v32i8, 1, 0, 
26765
0
  11, 
26766
0
   OPC_CheckChild0Integer, 102|128,90, 
26767
0
   OPC_RecordChild1,
26768
0
   OPC_CheckPatternPredicate0,
26769
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
26770
0
                 MVT::v32i8, 1, 0, 
26771
0
  11, 
26772
0
   OPC_CheckChild0Integer, 40|128,85, 
26773
0
   OPC_RecordChild1,
26774
0
   OPC_CheckPatternPredicate0,
26775
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
26776
0
                 MVT::v8i32, 1, 0, 
26777
0
  11, 
26778
0
   OPC_CheckChild0Integer, 42|128,85, 
26779
0
   OPC_RecordChild1,
26780
0
   OPC_CheckPatternPredicate0,
26781
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
26782
0
                 MVT::v8i32, 1, 0, 
26783
0
  11, 
26784
0
   OPC_CheckChild0Integer, 24|128,89, 
26785
0
   OPC_RecordChild1,
26786
0
   OPC_CheckPatternPredicate0,
26787
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_H),
26788
0
                 MVT::v16i16, 1, 0, 
26789
0
  11, 
26790
0
   OPC_CheckChild0Integer, 0|128,85, 
26791
0
   OPC_RecordChild1,
26792
0
   OPC_CheckPatternPredicate0,
26793
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
26794
0
                 MVT::v16i16, 1, 0, 
26795
0
  11, 
26796
0
   OPC_CheckChild0Integer, 42|128,83, 
26797
0
   OPC_RecordChild1,
26798
0
   OPC_CheckPatternPredicate0,
26799
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
26800
0
                 MVT::v8i32, 1, 0, 
26801
0
  11, 
26802
0
   OPC_CheckChild0Integer, 46|128,83, 
26803
0
   OPC_RecordChild1,
26804
0
   OPC_CheckPatternPredicate0,
26805
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
26806
0
                 MVT::v8i32, 1, 0, 
26807
0
  11, 
26808
0
   OPC_CheckChild0Integer, 26|128,83, 
26809
0
   OPC_RecordChild1,
26810
0
   OPC_CheckPatternPredicate0,
26811
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
26812
0
                 MVT::v4i64, 1, 0, 
26813
0
  11, 
26814
0
   OPC_CheckChild0Integer, 32|128,83, 
26815
0
   OPC_RecordChild1,
26816
0
   OPC_CheckPatternPredicate0,
26817
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
26818
0
                 MVT::v4i64, 1, 0, 
26819
0
  11, 
26820
0
   OPC_CheckChild0Integer, 100|128,90, 
26821
0
   OPC_RecordChild1,
26822
0
   OPC_CheckPatternPredicate0,
26823
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
26824
0
                 MVT::v16i16, 1, 0, 
26825
0
  11, 
26826
0
   OPC_CheckChild0Integer, 28|128,85, 
26827
0
   OPC_RecordChild1,
26828
0
   OPC_CheckPatternPredicate0,
26829
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
26830
0
                 MVT::v4i64, 1, 0, 
26831
0
  11, 
26832
0
   OPC_CheckChild0Integer, 30|128,85, 
26833
0
   OPC_RecordChild1,
26834
0
   OPC_CheckPatternPredicate0,
26835
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
26836
0
                 MVT::v4i64, 1, 0, 
26837
0
  11, 
26838
0
   OPC_CheckChild0Integer, 26|128,89, 
26839
0
   OPC_RecordChild1,
26840
0
   OPC_CheckPatternPredicate0,
26841
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_W),
26842
0
                 MVT::v8i32, 1, 0, 
26843
0
  11, 
26844
0
   OPC_CheckChild0Integer, 2|128,85, 
26845
0
   OPC_RecordChild1,
26846
0
   OPC_CheckPatternPredicate0,
26847
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
26848
0
                 MVT::v8i32, 1, 0, 
26849
0
  11, 
26850
0
   OPC_CheckChild0Integer, 28|128,83, 
26851
0
   OPC_RecordChild1,
26852
0
   OPC_CheckPatternPredicate0,
26853
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
26854
0
                 MVT::v4i64, 1, 0, 
26855
0
  11, 
26856
0
   OPC_CheckChild0Integer, 34|128,83, 
26857
0
   OPC_RecordChild1,
26858
0
   OPC_CheckPatternPredicate0,
26859
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
26860
0
                 MVT::v4i64, 1, 0, 
26861
0
  11, 
26862
0
   OPC_CheckChild0Integer, 104|128,90, 
26863
0
   OPC_RecordChild1,
26864
0
   OPC_CheckPatternPredicate0,
26865
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
26866
0
                 MVT::v8i32, 1, 0, 
26867
0
  11, 
26868
0
   OPC_CheckChild0Integer, 36|128,85, 
26869
0
   OPC_RecordChild1,
26870
0
   OPC_CheckPatternPredicate0,
26871
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_Q_D),
26872
0
                 MVT::v4i64, 1, 0, 
26873
0
  11, 
26874
0
   OPC_CheckChild0Integer, 38|128,85, 
26875
0
   OPC_RecordChild1,
26876
0
   OPC_CheckPatternPredicate0,
26877
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_QU_DU),
26878
0
                 MVT::v4i64, 1, 0, 
26879
0
  11, 
26880
0
   OPC_CheckChild0Integer, 22|128,89, 
26881
0
   OPC_RecordChild1,
26882
0
   OPC_CheckPatternPredicate0,
26883
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_D),
26884
0
                 MVT::v4i64, 1, 0, 
26885
0
  11, 
26886
0
   OPC_CheckChild0Integer, 44|128,85, 
26887
0
   OPC_RecordChild1,
26888
0
   OPC_CheckPatternPredicate0,
26889
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_Q_D),
26890
0
                 MVT::v4i64, 1, 0, 
26891
0
  11, 
26892
0
   OPC_CheckChild0Integer, 46|128,85, 
26893
0
   OPC_RecordChild1,
26894
0
   OPC_CheckPatternPredicate0,
26895
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_QU_DU),
26896
0
                 MVT::v4i64, 1, 0, 
26897
0
  11, 
26898
0
   OPC_CheckChild0Integer, 126|128,84, 
26899
0
   OPC_RecordChild1,
26900
0
   OPC_CheckPatternPredicate0,
26901
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
26902
0
                 MVT::v4i64, 1, 0, 
26903
0
  11, 
26904
0
   OPC_CheckChild0Integer, 98|128,90, 
26905
0
   OPC_RecordChild1,
26906
0
   OPC_CheckPatternPredicate0,
26907
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
26908
0
                 MVT::v4i64, 1, 0, 
26909
0
  15, 
26910
0
   OPC_CheckChild0Integer, 122|128,86, 
26911
0
   OPC_RecordChild1,
26912
0
   OPC_RecordChild2,
26913
0
   OPC_RecordChild3,
26914
0
   OPC_CheckPatternPredicate0,
26915
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_B),
26916
0
                 MVT::v32i8, 3, 0, 1, 2, 
26917
0
  15, 
26918
0
   OPC_CheckChild0Integer, 100|128,84, 
26919
0
   OPC_RecordChild1,
26920
0
   OPC_RecordChild2,
26921
0
   OPC_RecordChild3,
26922
0
   OPC_CheckPatternPredicate0,
26923
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
26924
0
                 MVT::v32i8, 3, 0, 1, 2, 
26925
0
  15, 
26926
0
   OPC_CheckChild0Integer, 42|128,91, 
26927
0
   OPC_RecordChild1,
26928
0
   OPC_RecordChild2,
26929
0
   OPC_RecordChild3,
26930
0
   OPC_CheckPatternPredicate0,
26931
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
26932
0
                 MVT::v32i8, 3, 0, 1, 2, 
26933
0
  15, 
26934
0
   OPC_CheckChild0Integer, 124|128,86, 
26935
0
   OPC_RecordChild1,
26936
0
   OPC_RecordChild2,
26937
0
   OPC_RecordChild3,
26938
0
   OPC_CheckPatternPredicate0,
26939
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_H),
26940
0
                 MVT::v16i16, 3, 0, 1, 2, 
26941
0
  15, 
26942
0
   OPC_CheckChild0Integer, 46|128,91, 
26943
0
   OPC_RecordChild1,
26944
0
   OPC_RecordChild2,
26945
0
   OPC_RecordChild3,
26946
0
   OPC_CheckPatternPredicate0,
26947
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
26948
0
                 MVT::v16i16, 3, 0, 1, 2, 
26949
0
  15, 
26950
0
   OPC_CheckChild0Integer, 48|128,91, 
26951
0
   OPC_RecordChild1,
26952
0
   OPC_RecordChild2,
26953
0
   OPC_RecordChild3,
26954
0
   OPC_CheckPatternPredicate0,
26955
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
26956
0
                 MVT::v8i32, 3, 0, 1, 2, 
26957
0
  15, 
26958
0
   OPC_CheckChild0Integer, 44|128,91, 
26959
0
   OPC_RecordChild1,
26960
0
   OPC_RecordChild2,
26961
0
   OPC_RecordChild3,
26962
0
   OPC_CheckPatternPredicate0,
26963
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
26964
0
                 MVT::v4i64, 3, 0, 1, 2, 
26965
0
  13, 
26966
0
   OPC_CheckChild0Integer, 24|128,86, 
26967
0
   OPC_RecordChild1,
26968
0
   OPC_RecordChild2,
26969
0
   OPC_CheckPatternPredicate0,
26970
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_H_S),
26971
0
                 MVT::v16i16, 2, 0, 1, 
26972
0
  13, 
26973
0
   OPC_CheckChild0Integer, 66|128,85, 
26974
0
   OPC_RecordChild1,
26975
0
   OPC_RecordChild2,
26976
0
   OPC_CheckPatternPredicate0,
26977
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_S),
26978
0
                 MVT::v8i32, 2, 0, 1, 
26979
0
  13, 
26980
0
   OPC_CheckChild0Integer, 102|128,85, 
26981
0
   OPC_RecordChild1,
26982
0
   OPC_RecordChild2,
26983
0
   OPC_CheckPatternPredicate0,
26984
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
26985
0
                 MVT::v8i32, 2, 0, 1, 
26986
0
  13, 
26987
0
   OPC_CheckChild0Integer, 70|128,85, 
26988
0
   OPC_RecordChild1,
26989
0
   OPC_RecordChild2,
26990
0
   OPC_CheckPatternPredicate0,
26991
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
26992
0
                 MVT::v8i32, 2, 0, 1, 
26993
0
  13, 
26994
0
   OPC_CheckChild0Integer, 90|128,85, 
26995
0
   OPC_RecordChild1,
26996
0
   OPC_RecordChild2,
26997
0
   OPC_CheckPatternPredicate0,
26998
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
26999
0
                 MVT::v8i32, 2, 0, 1, 
27000
0
  13, 
27001
0
   OPC_CheckChild0Integer, 78|128,85, 
27002
0
   OPC_RecordChild1,
27003
0
   OPC_RecordChild2,
27004
0
   OPC_CheckPatternPredicate0,
27005
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
27006
0
                 MVT::v8i32, 2, 0, 1, 
27007
0
  13, 
27008
0
   OPC_CheckChild0Integer, 98|128,85, 
27009
0
   OPC_RecordChild1,
27010
0
   OPC_RecordChild2,
27011
0
   OPC_CheckPatternPredicate0,
27012
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
27013
0
                 MVT::v8i32, 2, 0, 1, 
27014
0
  13, 
27015
0
   OPC_CheckChild0Integer, 74|128,85, 
27016
0
   OPC_RecordChild1,
27017
0
   OPC_RecordChild2,
27018
0
   OPC_CheckPatternPredicate0,
27019
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
27020
0
                 MVT::v8i32, 2, 0, 1, 
27021
0
  13, 
27022
0
   OPC_CheckChild0Integer, 94|128,85, 
27023
0
   OPC_RecordChild1,
27024
0
   OPC_RecordChild2,
27025
0
   OPC_CheckPatternPredicate0,
27026
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
27027
0
                 MVT::v8i32, 2, 0, 1, 
27028
0
  13, 
27029
0
   OPC_CheckChild0Integer, 82|128,85, 
27030
0
   OPC_RecordChild1,
27031
0
   OPC_RecordChild2,
27032
0
   OPC_CheckPatternPredicate0,
27033
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
27034
0
                 MVT::v8i32, 2, 0, 1, 
27035
0
  13, 
27036
0
   OPC_CheckChild0Integer, 86|128,85, 
27037
0
   OPC_RecordChild1,
27038
0
   OPC_RecordChild2,
27039
0
   OPC_CheckPatternPredicate0,
27040
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
27041
0
                 MVT::v8i32, 2, 0, 1, 
27042
0
  13, 
27043
0
   OPC_CheckChild0Integer, 106|128,85, 
27044
0
   OPC_RecordChild1,
27045
0
   OPC_RecordChild2,
27046
0
   OPC_CheckPatternPredicate0,
27047
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
27048
0
                 MVT::v8i32, 2, 0, 1, 
27049
0
  13, 
27050
0
   OPC_CheckChild0Integer, 110|128,85, 
27051
0
   OPC_RecordChild1,
27052
0
   OPC_RecordChild2,
27053
0
   OPC_CheckPatternPredicate0,
27054
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_S),
27055
0
                 MVT::v8i32, 2, 0, 1, 
27056
0
  13, 
27057
0
   OPC_CheckChild0Integer, 18|128,86, 
27058
0
   OPC_RecordChild1,
27059
0
   OPC_RecordChild2,
27060
0
   OPC_CheckPatternPredicate0,
27061
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_S),
27062
0
                 MVT::v8i32, 2, 0, 1, 
27063
0
  13, 
27064
0
   OPC_CheckChild0Integer, 114|128,85, 
27065
0
   OPC_RecordChild1,
27066
0
   OPC_RecordChild2,
27067
0
   OPC_CheckPatternPredicate0,
27068
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_S),
27069
0
                 MVT::v8i32, 2, 0, 1, 
27070
0
  13, 
27071
0
   OPC_CheckChild0Integer, 6|128,86, 
27072
0
   OPC_RecordChild1,
27073
0
   OPC_RecordChild2,
27074
0
   OPC_CheckPatternPredicate0,
27075
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_S),
27076
0
                 MVT::v8i32, 2, 0, 1, 
27077
0
  13, 
27078
0
   OPC_CheckChild0Integer, 122|128,85, 
27079
0
   OPC_RecordChild1,
27080
0
   OPC_RecordChild2,
27081
0
   OPC_CheckPatternPredicate0,
27082
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_S),
27083
0
                 MVT::v8i32, 2, 0, 1, 
27084
0
  13, 
27085
0
   OPC_CheckChild0Integer, 14|128,86, 
27086
0
   OPC_RecordChild1,
27087
0
   OPC_RecordChild2,
27088
0
   OPC_CheckPatternPredicate0,
27089
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_S),
27090
0
                 MVT::v8i32, 2, 0, 1, 
27091
0
  13, 
27092
0
   OPC_CheckChild0Integer, 118|128,85, 
27093
0
   OPC_RecordChild1,
27094
0
   OPC_RecordChild2,
27095
0
   OPC_CheckPatternPredicate0,
27096
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_S),
27097
0
                 MVT::v8i32, 2, 0, 1, 
27098
0
  13, 
27099
0
   OPC_CheckChild0Integer, 10|128,86, 
27100
0
   OPC_RecordChild1,
27101
0
   OPC_RecordChild2,
27102
0
   OPC_CheckPatternPredicate0,
27103
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_S),
27104
0
                 MVT::v8i32, 2, 0, 1, 
27105
0
  13, 
27106
0
   OPC_CheckChild0Integer, 126|128,85, 
27107
0
   OPC_RecordChild1,
27108
0
   OPC_RecordChild2,
27109
0
   OPC_CheckPatternPredicate0,
27110
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_S),
27111
0
                 MVT::v8i32, 2, 0, 1, 
27112
0
  13, 
27113
0
   OPC_CheckChild0Integer, 2|128,86, 
27114
0
   OPC_RecordChild1,
27115
0
   OPC_RecordChild2,
27116
0
   OPC_CheckPatternPredicate0,
27117
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_S),
27118
0
                 MVT::v8i32, 2, 0, 1, 
27119
0
  13, 
27120
0
   OPC_CheckChild0Integer, 22|128,86, 
27121
0
   OPC_RecordChild1,
27122
0
   OPC_RecordChild2,
27123
0
   OPC_CheckPatternPredicate0,
27124
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_S),
27125
0
                 MVT::v8i32, 2, 0, 1, 
27126
0
  13, 
27127
0
   OPC_CheckChild0Integer, 36|128,87, 
27128
0
   OPC_RecordChild1,
27129
0
   OPC_RecordChild2,
27130
0
   OPC_CheckPatternPredicate0,
27131
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_D),
27132
0
                 MVT::v8i32, 2, 0, 1, 
27133
0
  13, 
27134
0
   OPC_CheckChild0Integer, 58|128,87, 
27135
0
   OPC_RecordChild1,
27136
0
   OPC_RecordChild2,
27137
0
   OPC_CheckPatternPredicate0,
27138
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
27139
0
                 MVT::v8i32, 2, 0, 1, 
27140
0
  13, 
27141
0
   OPC_CheckChild0Integer, 46|128,87, 
27142
0
   OPC_RecordChild1,
27143
0
   OPC_RecordChild2,
27144
0
   OPC_CheckPatternPredicate0,
27145
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_D),
27146
0
                 MVT::v8i32, 2, 0, 1, 
27147
0
  13, 
27148
0
   OPC_CheckChild0Integer, 26|128,87, 
27149
0
   OPC_RecordChild1,
27150
0
   OPC_RecordChild2,
27151
0
   OPC_CheckPatternPredicate0,
27152
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_D),
27153
0
                 MVT::v8i32, 2, 0, 1, 
27154
0
  13, 
27155
0
   OPC_CheckChild0Integer, 14|128,87, 
27156
0
   OPC_RecordChild1,
27157
0
   OPC_RecordChild2,
27158
0
   OPC_CheckPatternPredicate0,
27159
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_D),
27160
0
                 MVT::v8i32, 2, 0, 1, 
27161
0
  13, 
27162
0
   OPC_CheckChild0Integer, 64|128,85, 
27163
0
   OPC_RecordChild1,
27164
0
   OPC_RecordChild2,
27165
0
   OPC_CheckPatternPredicate0,
27166
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_D),
27167
0
                 MVT::v4i64, 2, 0, 1, 
27168
0
  13, 
27169
0
   OPC_CheckChild0Integer, 100|128,85, 
27170
0
   OPC_RecordChild1,
27171
0
   OPC_RecordChild2,
27172
0
   OPC_CheckPatternPredicate0,
27173
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
27174
0
                 MVT::v4i64, 2, 0, 1, 
27175
0
  13, 
27176
0
   OPC_CheckChild0Integer, 68|128,85, 
27177
0
   OPC_RecordChild1,
27178
0
   OPC_RecordChild2,
27179
0
   OPC_CheckPatternPredicate0,
27180
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
27181
0
                 MVT::v4i64, 2, 0, 1, 
27182
0
  13, 
27183
0
   OPC_CheckChild0Integer, 88|128,85, 
27184
0
   OPC_RecordChild1,
27185
0
   OPC_RecordChild2,
27186
0
   OPC_CheckPatternPredicate0,
27187
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
27188
0
                 MVT::v4i64, 2, 0, 1, 
27189
0
  13, 
27190
0
   OPC_CheckChild0Integer, 76|128,85, 
27191
0
   OPC_RecordChild1,
27192
0
   OPC_RecordChild2,
27193
0
   OPC_CheckPatternPredicate0,
27194
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
27195
0
                 MVT::v4i64, 2, 0, 1, 
27196
0
  13, 
27197
0
   OPC_CheckChild0Integer, 96|128,85, 
27198
0
   OPC_RecordChild1,
27199
0
   OPC_RecordChild2,
27200
0
   OPC_CheckPatternPredicate0,
27201
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
27202
0
                 MVT::v4i64, 2, 0, 1, 
27203
0
  13, 
27204
0
   OPC_CheckChild0Integer, 72|128,85, 
27205
0
   OPC_RecordChild1,
27206
0
   OPC_RecordChild2,
27207
0
   OPC_CheckPatternPredicate0,
27208
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
27209
0
                 MVT::v4i64, 2, 0, 1, 
27210
0
  13, 
27211
0
   OPC_CheckChild0Integer, 92|128,85, 
27212
0
   OPC_RecordChild1,
27213
0
   OPC_RecordChild2,
27214
0
   OPC_CheckPatternPredicate0,
27215
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
27216
0
                 MVT::v4i64, 2, 0, 1, 
27217
0
  13, 
27218
0
   OPC_CheckChild0Integer, 80|128,85, 
27219
0
   OPC_RecordChild1,
27220
0
   OPC_RecordChild2,
27221
0
   OPC_CheckPatternPredicate0,
27222
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
27223
0
                 MVT::v4i64, 2, 0, 1, 
27224
0
  13, 
27225
0
   OPC_CheckChild0Integer, 84|128,85, 
27226
0
   OPC_RecordChild1,
27227
0
   OPC_RecordChild2,
27228
0
   OPC_CheckPatternPredicate0,
27229
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
27230
0
                 MVT::v4i64, 2, 0, 1, 
27231
0
  13, 
27232
0
   OPC_CheckChild0Integer, 104|128,85, 
27233
0
   OPC_RecordChild1,
27234
0
   OPC_RecordChild2,
27235
0
   OPC_CheckPatternPredicate0,
27236
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
27237
0
                 MVT::v4i64, 2, 0, 1, 
27238
0
  13, 
27239
0
   OPC_CheckChild0Integer, 108|128,85, 
27240
0
   OPC_RecordChild1,
27241
0
   OPC_RecordChild2,
27242
0
   OPC_CheckPatternPredicate0,
27243
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_D),
27244
0
                 MVT::v4i64, 2, 0, 1, 
27245
0
  13, 
27246
0
   OPC_CheckChild0Integer, 16|128,86, 
27247
0
   OPC_RecordChild1,
27248
0
   OPC_RecordChild2,
27249
0
   OPC_CheckPatternPredicate0,
27250
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_D),
27251
0
                 MVT::v4i64, 2, 0, 1, 
27252
0
  13, 
27253
0
   OPC_CheckChild0Integer, 112|128,85, 
27254
0
   OPC_RecordChild1,
27255
0
   OPC_RecordChild2,
27256
0
   OPC_CheckPatternPredicate0,
27257
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_D),
27258
0
                 MVT::v4i64, 2, 0, 1, 
27259
0
  13, 
27260
0
   OPC_CheckChild0Integer, 4|128,86, 
27261
0
   OPC_RecordChild1,
27262
0
   OPC_RecordChild2,
27263
0
   OPC_CheckPatternPredicate0,
27264
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_D),
27265
0
                 MVT::v4i64, 2, 0, 1, 
27266
0
  13, 
27267
0
   OPC_CheckChild0Integer, 120|128,85, 
27268
0
   OPC_RecordChild1,
27269
0
   OPC_RecordChild2,
27270
0
   OPC_CheckPatternPredicate0,
27271
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_D),
27272
0
                 MVT::v4i64, 2, 0, 1, 
27273
0
  13, 
27274
0
   OPC_CheckChild0Integer, 12|128,86, 
27275
0
   OPC_RecordChild1,
27276
0
   OPC_RecordChild2,
27277
0
   OPC_CheckPatternPredicate0,
27278
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_D),
27279
0
                 MVT::v4i64, 2, 0, 1, 
27280
0
  13, 
27281
0
   OPC_CheckChild0Integer, 116|128,85, 
27282
0
   OPC_RecordChild1,
27283
0
   OPC_RecordChild2,
27284
0
   OPC_CheckPatternPredicate0,
27285
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_D),
27286
0
                 MVT::v4i64, 2, 0, 1, 
27287
0
  13, 
27288
0
   OPC_CheckChild0Integer, 8|128,86, 
27289
0
   OPC_RecordChild1,
27290
0
   OPC_RecordChild2,
27291
0
   OPC_CheckPatternPredicate0,
27292
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_D),
27293
0
                 MVT::v4i64, 2, 0, 1, 
27294
0
  13, 
27295
0
   OPC_CheckChild0Integer, 124|128,85, 
27296
0
   OPC_RecordChild1,
27297
0
   OPC_RecordChild2,
27298
0
   OPC_CheckPatternPredicate0,
27299
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_D),
27300
0
                 MVT::v4i64, 2, 0, 1, 
27301
0
  13, 
27302
0
   OPC_CheckChild0Integer, 0|128,86, 
27303
0
   OPC_RecordChild1,
27304
0
   OPC_RecordChild2,
27305
0
   OPC_CheckPatternPredicate0,
27306
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_D),
27307
0
                 MVT::v4i64, 2, 0, 1, 
27308
0
  13, 
27309
0
   OPC_CheckChild0Integer, 20|128,86, 
27310
0
   OPC_RecordChild1,
27311
0
   OPC_RecordChild2,
27312
0
   OPC_CheckPatternPredicate0,
27313
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_D),
27314
0
                 MVT::v4i64, 2, 0, 1, 
27315
0
  11, 
27316
0
   OPC_CheckChild0Integer, 62|128,85, 
27317
0
   OPC_RecordChild1,
27318
0
   OPC_CheckPatternPredicate0,
27319
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_S),
27320
0
                 MVT::v8i32, 1, 0, 
27321
0
  11, 
27322
0
   OPC_CheckChild0Integer, 38|128,87, 
27323
0
   OPC_RecordChild1,
27324
0
   OPC_CheckPatternPredicate0,
27325
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_S),
27326
0
                 MVT::v8i32, 1, 0, 
27327
0
  11, 
27328
0
   OPC_CheckChild0Integer, 60|128,87, 
27329
0
   OPC_RecordChild1,
27330
0
   OPC_CheckPatternPredicate0,
27331
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
27332
0
                 MVT::v8i32, 1, 0, 
27333
0
  11, 
27334
0
   OPC_CheckChild0Integer, 48|128,87, 
27335
0
   OPC_RecordChild1,
27336
0
   OPC_CheckPatternPredicate0,
27337
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_S),
27338
0
                 MVT::v8i32, 1, 0, 
27339
0
  11, 
27340
0
   OPC_CheckChild0Integer, 28|128,87, 
27341
0
   OPC_RecordChild1,
27342
0
   OPC_CheckPatternPredicate0,
27343
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_S),
27344
0
                 MVT::v8i32, 1, 0, 
27345
0
  11, 
27346
0
   OPC_CheckChild0Integer, 16|128,87, 
27347
0
   OPC_RecordChild1,
27348
0
   OPC_CheckPatternPredicate0,
27349
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_S),
27350
0
                 MVT::v8i32, 1, 0, 
27351
0
  11, 
27352
0
   OPC_CheckChild0Integer, 62|128,87, 
27353
0
   OPC_RecordChild1,
27354
0
   OPC_CheckPatternPredicate0,
27355
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
27356
0
                 MVT::v8i32, 1, 0, 
27357
0
  11, 
27358
0
   OPC_CheckChild0Integer, 18|128,87, 
27359
0
   OPC_RecordChild1,
27360
0
   OPC_CheckPatternPredicate0,
27361
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_WU_S),
27362
0
                 MVT::v8i32, 1, 0, 
27363
0
  11, 
27364
0
   OPC_CheckChild0Integer, 42|128,87, 
27365
0
   OPC_RecordChild1,
27366
0
   OPC_CheckPatternPredicate0,
27367
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEL_L_S),
27368
0
                 MVT::v4i64, 1, 0, 
27369
0
  11, 
27370
0
   OPC_CheckChild0Integer, 40|128,87, 
27371
0
   OPC_RecordChild1,
27372
0
   OPC_CheckPatternPredicate0,
27373
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEH_L_S),
27374
0
                 MVT::v4i64, 1, 0, 
27375
0
  11, 
27376
0
   OPC_CheckChild0Integer, 66|128,87, 
27377
0
   OPC_RecordChild1,
27378
0
   OPC_CheckPatternPredicate0,
27379
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZL_L_S),
27380
0
                 MVT::v4i64, 1, 0, 
27381
0
  11, 
27382
0
   OPC_CheckChild0Integer, 64|128,87, 
27383
0
   OPC_RecordChild1,
27384
0
   OPC_CheckPatternPredicate0,
27385
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZH_L_S),
27386
0
                 MVT::v4i64, 1, 0, 
27387
0
  11, 
27388
0
   OPC_CheckChild0Integer, 52|128,87, 
27389
0
   OPC_RecordChild1,
27390
0
   OPC_CheckPatternPredicate0,
27391
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPL_L_S),
27392
0
                 MVT::v4i64, 1, 0, 
27393
0
  11, 
27394
0
   OPC_CheckChild0Integer, 50|128,87, 
27395
0
   OPC_RecordChild1,
27396
0
   OPC_CheckPatternPredicate0,
27397
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPH_L_S),
27398
0
                 MVT::v4i64, 1, 0, 
27399
0
  11, 
27400
0
   OPC_CheckChild0Integer, 32|128,87, 
27401
0
   OPC_RecordChild1,
27402
0
   OPC_CheckPatternPredicate0,
27403
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRML_L_S),
27404
0
                 MVT::v4i64, 1, 0, 
27405
0
  11, 
27406
0
   OPC_CheckChild0Integer, 30|128,87, 
27407
0
   OPC_RecordChild1,
27408
0
   OPC_CheckPatternPredicate0,
27409
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRMH_L_S),
27410
0
                 MVT::v4i64, 1, 0, 
27411
0
  11, 
27412
0
   OPC_CheckChild0Integer, 22|128,87, 
27413
0
   OPC_RecordChild1,
27414
0
   OPC_CheckPatternPredicate0,
27415
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTL_L_S),
27416
0
                 MVT::v4i64, 1, 0, 
27417
0
  11, 
27418
0
   OPC_CheckChild0Integer, 20|128,87, 
27419
0
   OPC_RecordChild1,
27420
0
   OPC_CheckPatternPredicate0,
27421
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTH_L_S),
27422
0
                 MVT::v4i64, 1, 0, 
27423
0
  11, 
27424
0
   OPC_CheckChild0Integer, 60|128,85, 
27425
0
   OPC_RecordChild1,
27426
0
   OPC_CheckPatternPredicate0,
27427
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_D),
27428
0
                 MVT::v4i64, 1, 0, 
27429
0
  11, 
27430
0
   OPC_CheckChild0Integer, 34|128,87, 
27431
0
   OPC_RecordChild1,
27432
0
   OPC_CheckPatternPredicate0,
27433
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_L_D),
27434
0
                 MVT::v4i64, 1, 0, 
27435
0
  11, 
27436
0
   OPC_CheckChild0Integer, 54|128,87, 
27437
0
   OPC_RecordChild1,
27438
0
   OPC_CheckPatternPredicate0,
27439
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
27440
0
                 MVT::v4i64, 1, 0, 
27441
0
  11, 
27442
0
   OPC_CheckChild0Integer, 44|128,87, 
27443
0
   OPC_RecordChild1,
27444
0
   OPC_CheckPatternPredicate0,
27445
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_L_D),
27446
0
                 MVT::v4i64, 1, 0, 
27447
0
  11, 
27448
0
   OPC_CheckChild0Integer, 24|128,87, 
27449
0
   OPC_RecordChild1,
27450
0
   OPC_CheckPatternPredicate0,
27451
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_L_D),
27452
0
                 MVT::v4i64, 1, 0, 
27453
0
  11, 
27454
0
   OPC_CheckChild0Integer, 10|128,87, 
27455
0
   OPC_RecordChild1,
27456
0
   OPC_CheckPatternPredicate0,
27457
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_L_D),
27458
0
                 MVT::v4i64, 1, 0, 
27459
0
  11, 
27460
0
   OPC_CheckChild0Integer, 56|128,87, 
27461
0
   OPC_RecordChild1,
27462
0
   OPC_CheckPatternPredicate0,
27463
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
27464
0
                 MVT::v4i64, 1, 0, 
27465
0
  11, 
27466
0
   OPC_CheckChild0Integer, 12|128,87, 
27467
0
   OPC_RecordChild1,
27468
0
   OPC_CheckPatternPredicate0,
27469
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_LU_D),
27470
0
                 MVT::v4i64, 1, 0, 
27471
0
  36, 
27472
0
   OPC_CheckChild0Integer, 54|128,90, 
27473
0
   OPC_RecordChild1,
27474
0
   OPC_RecordChild2,
27475
0
   OPC_MoveChild2,
27476
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27477
0
   OPC_MoveParent,
27478
0
   OPC_Scope, 11, 
27479
0
    OPC_CheckPatternPredicate3,
27480
0
    OPC_EmitNodeXForm, 8, 1,
27481
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
27482
0
                  MVT::v8f32, 2, 0, 2, 
27483
0
   11, 
27484
0
    OPC_CheckPatternPredicate5,
27485
0
    OPC_EmitNodeXForm, 8, 1,
27486
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
27487
0
                  MVT::v8f32, 2, 0, 2, 
27488
0
   0, 
27489
0
  36, 
27490
0
   OPC_CheckChild0Integer, 50|128,90, 
27491
0
   OPC_RecordChild1,
27492
0
   OPC_RecordChild2,
27493
0
   OPC_MoveChild2,
27494
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27495
0
   OPC_MoveParent,
27496
0
   OPC_Scope, 11, 
27497
0
    OPC_CheckPatternPredicate3,
27498
0
    OPC_EmitNodeXForm, 8, 1,
27499
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
27500
0
                  MVT::v4f64, 2, 0, 2, 
27501
0
   11, 
27502
0
    OPC_CheckPatternPredicate5,
27503
0
    OPC_EmitNodeXForm, 8, 1,
27504
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
27505
0
                  MVT::v4f64, 2, 0, 2, 
27506
0
   0, 
27507
0
  13, 
27508
0
   OPC_CheckChild0Integer, 88|128,97, 
27509
0
   OPC_RecordChild1,
27510
0
   OPC_RecordChild2,
27511
0
   OPC_CheckPatternPredicate1,
27512
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
27513
0
                 MVT::v4f32, 2, 0, 1, 
27514
0
  11, 
27515
0
   OPC_CheckChild0Integer, 78|128,97, 
27516
0
   OPC_RecordChild1,
27517
0
   OPC_CheckPatternPredicate1,
27518
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_S_H),
27519
0
                 MVT::v4f32, 1, 0, 
27520
0
  11, 
27521
0
   OPC_CheckChild0Integer, 74|128,97, 
27522
0
   OPC_RecordChild1,
27523
0
   OPC_CheckPatternPredicate1,
27524
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_S_H),
27525
0
                 MVT::v4f32, 1, 0, 
27526
0
  11, 
27527
0
   OPC_CheckChild0Integer, 90|128,97, 
27528
0
   OPC_RecordChild1,
27529
0
   OPC_CheckPatternPredicate1,
27530
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
27531
0
                 MVT::v4f32, 1, 0, 
27532
0
  11, 
27533
0
   OPC_CheckChild0Integer, 92|128,97, 
27534
0
   OPC_RecordChild1,
27535
0
   OPC_CheckPatternPredicate1,
27536
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
27537
0
                 MVT::v4f32, 1, 0, 
27538
0
  11, 
27539
0
   OPC_CheckChild0Integer, 96|128,97, 
27540
0
   OPC_RecordChild1,
27541
0
   OPC_CheckPatternPredicate1,
27542
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTL_D_W),
27543
0
                 MVT::v2f64, 1, 0, 
27544
0
  11, 
27545
0
   OPC_CheckChild0Integer, 94|128,97, 
27546
0
   OPC_RecordChild1,
27547
0
   OPC_CheckPatternPredicate1,
27548
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTH_D_W),
27549
0
                 MVT::v2f64, 1, 0, 
27550
0
  11, 
27551
0
   OPC_CheckChild0Integer, 84|128,97, 
27552
0
   OPC_RecordChild1,
27553
0
   OPC_CheckPatternPredicate1,
27554
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
27555
0
                 MVT::v2f64, 1, 0, 
27556
0
  11, 
27557
0
   OPC_CheckChild0Integer, 86|128,97, 
27558
0
   OPC_RecordChild1,
27559
0
   OPC_CheckPatternPredicate1,
27560
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
27561
0
                 MVT::v2f64, 1, 0, 
27562
0
  15, 
27563
0
   OPC_CheckChild0Integer, 124|128,97, 
27564
0
   OPC_RecordChild1,
27565
0
   OPC_RecordChild2,
27566
0
   OPC_RecordChild3,
27567
0
   OPC_CheckPatternPredicate1,
27568
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
27569
0
                 MVT::v4f32, 3, 0, 1, 2, 
27570
0
  15, 
27571
0
   OPC_CheckChild0Integer, 4|128,98, 
27572
0
   OPC_RecordChild1,
27573
0
   OPC_RecordChild2,
27574
0
   OPC_RecordChild3,
27575
0
   OPC_CheckPatternPredicate1,
27576
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
27577
0
                 MVT::v4f32, 3, 0, 1, 2, 
27578
0
  15, 
27579
0
   OPC_CheckChild0Integer, 8|128,98, 
27580
0
   OPC_RecordChild1,
27581
0
   OPC_RecordChild2,
27582
0
   OPC_RecordChild3,
27583
0
   OPC_CheckPatternPredicate1,
27584
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
27585
0
                 MVT::v4f32, 3, 0, 1, 2, 
27586
0
  15, 
27587
0
   OPC_CheckChild0Integer, 122|128,97, 
27588
0
   OPC_RecordChild1,
27589
0
   OPC_RecordChild2,
27590
0
   OPC_RecordChild3,
27591
0
   OPC_CheckPatternPredicate1,
27592
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
27593
0
                 MVT::v2f64, 3, 0, 1, 2, 
27594
0
  15, 
27595
0
   OPC_CheckChild0Integer, 2|128,98, 
27596
0
   OPC_RecordChild1,
27597
0
   OPC_RecordChild2,
27598
0
   OPC_RecordChild3,
27599
0
   OPC_CheckPatternPredicate1,
27600
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
27601
0
                 MVT::v2f64, 3, 0, 1, 2, 
27602
0
  15, 
27603
0
   OPC_CheckChild0Integer, 6|128,98, 
27604
0
   OPC_RecordChild1,
27605
0
   OPC_RecordChild2,
27606
0
   OPC_RecordChild3,
27607
0
   OPC_CheckPatternPredicate1,
27608
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
27609
0
                 MVT::v2f64, 3, 0, 1, 2, 
27610
0
  13, 
27611
0
   OPC_CheckChild0Integer, 108|128,97, 
27612
0
   OPC_RecordChild1,
27613
0
   OPC_RecordChild2,
27614
0
   OPC_CheckPatternPredicate1,
27615
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
27616
0
                 MVT::v4f32, 2, 0, 1, 
27617
0
  13, 
27618
0
   OPC_CheckChild0Integer, 116|128,97, 
27619
0
   OPC_RecordChild1,
27620
0
   OPC_RecordChild2,
27621
0
   OPC_CheckPatternPredicate1,
27622
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
27623
0
                 MVT::v4f32, 2, 0, 1, 
27624
0
  13, 
27625
0
   OPC_CheckChild0Integer, 112|128,97, 
27626
0
   OPC_RecordChild1,
27627
0
   OPC_RecordChild2,
27628
0
   OPC_CheckPatternPredicate1,
27629
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_S),
27630
0
                 MVT::v4f32, 2, 0, 1, 
27631
0
  13, 
27632
0
   OPC_CheckChild0Integer, 120|128,97, 
27633
0
   OPC_RecordChild1,
27634
0
   OPC_RecordChild2,
27635
0
   OPC_CheckPatternPredicate1,
27636
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_S),
27637
0
                 MVT::v4f32, 2, 0, 1, 
27638
0
  13, 
27639
0
   OPC_CheckChild0Integer, 106|128,97, 
27640
0
   OPC_RecordChild1,
27641
0
   OPC_RecordChild2,
27642
0
   OPC_CheckPatternPredicate1,
27643
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
27644
0
                 MVT::v2f64, 2, 0, 1, 
27645
0
  13, 
27646
0
   OPC_CheckChild0Integer, 114|128,97, 
27647
0
   OPC_RecordChild1,
27648
0
   OPC_RecordChild2,
27649
0
   OPC_CheckPatternPredicate1,
27650
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
27651
0
                 MVT::v2f64, 2, 0, 1, 
27652
0
  13, 
27653
0
   OPC_CheckChild0Integer, 110|128,97, 
27654
0
   OPC_RecordChild1,
27655
0
   OPC_RecordChild2,
27656
0
   OPC_CheckPatternPredicate1,
27657
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_D),
27658
0
                 MVT::v2f64, 2, 0, 1, 
27659
0
  13, 
27660
0
   OPC_CheckChild0Integer, 118|128,97, 
27661
0
   OPC_RecordChild1,
27662
0
   OPC_RecordChild2,
27663
0
   OPC_CheckPatternPredicate1,
27664
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_D),
27665
0
                 MVT::v2f64, 2, 0, 1, 
27666
0
  13, 
27667
0
   OPC_CheckChild0Integer, 70|128,97, 
27668
0
   OPC_RecordChild1,
27669
0
   OPC_RecordChild2,
27670
0
   OPC_CheckPatternPredicate1,
27671
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
27672
0
                 MVT::v4f32, 2, 0, 1, 
27673
0
  11, 
27674
0
   OPC_CheckChild0Integer, 100|128,97, 
27675
0
   OPC_RecordChild1,
27676
0
   OPC_CheckPatternPredicate1,
27677
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_S),
27678
0
                 MVT::v4f32, 1, 0, 
27679
0
  11, 
27680
0
   OPC_CheckChild0Integer, 48|128,98, 
27681
0
   OPC_RecordChild1,
27682
0
   OPC_CheckPatternPredicate1,
27683
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
27684
0
                 MVT::v4f32, 1, 0, 
27685
0
  11, 
27686
0
   OPC_CheckChild0Integer, 12|128,98, 
27687
0
   OPC_RecordChild1,
27688
0
   OPC_CheckPatternPredicate1,
27689
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
27690
0
                 MVT::v4f32, 1, 0, 
27691
0
  11, 
27692
0
   OPC_CheckChild0Integer, 36|128,98, 
27693
0
   OPC_RecordChild1,
27694
0
   OPC_CheckPatternPredicate1,
27695
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
27696
0
                 MVT::v4f32, 1, 0, 
27697
0
  11, 
27698
0
   OPC_CheckChild0Integer, 16|128,98, 
27699
0
   OPC_RecordChild1,
27700
0
   OPC_CheckPatternPredicate1,
27701
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_S),
27702
0
                 MVT::v4f32, 1, 0, 
27703
0
  11, 
27704
0
   OPC_CheckChild0Integer, 76|128,97, 
27705
0
   OPC_RecordChild1,
27706
0
   OPC_CheckPatternPredicate1,
27707
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
27708
0
                 MVT::v2f64, 1, 0, 
27709
0
  11, 
27710
0
   OPC_CheckChild0Integer, 72|128,97, 
27711
0
   OPC_RecordChild1,
27712
0
   OPC_CheckPatternPredicate1,
27713
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
27714
0
                 MVT::v2f64, 1, 0, 
27715
0
  11, 
27716
0
   OPC_CheckChild0Integer, 24|128,98, 
27717
0
   OPC_RecordChild1,
27718
0
   OPC_CheckPatternPredicate1,
27719
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
27720
0
                 MVT::v4f32, 1, 0, 
27721
0
  11, 
27722
0
   OPC_CheckChild0Integer, 32|128,98, 
27723
0
   OPC_RecordChild1,
27724
0
   OPC_CheckPatternPredicate1,
27725
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
27726
0
                 MVT::v4f32, 1, 0, 
27727
0
  11, 
27728
0
   OPC_CheckChild0Integer, 28|128,98, 
27729
0
   OPC_RecordChild1,
27730
0
   OPC_CheckPatternPredicate1,
27731
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
27732
0
                 MVT::v4f32, 1, 0, 
27733
0
  11, 
27734
0
   OPC_CheckChild0Integer, 20|128,98, 
27735
0
   OPC_RecordChild1,
27736
0
   OPC_CheckPatternPredicate1,
27737
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
27738
0
                 MVT::v4f32, 1, 0, 
27739
0
  11, 
27740
0
   OPC_CheckChild0Integer, 98|128,97, 
27741
0
   OPC_RecordChild1,
27742
0
   OPC_CheckPatternPredicate1,
27743
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_D),
27744
0
                 MVT::v2f64, 1, 0, 
27745
0
  11, 
27746
0
   OPC_CheckChild0Integer, 46|128,98, 
27747
0
   OPC_RecordChild1,
27748
0
   OPC_CheckPatternPredicate1,
27749
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
27750
0
                 MVT::v2f64, 1, 0, 
27751
0
  11, 
27752
0
   OPC_CheckChild0Integer, 10|128,98, 
27753
0
   OPC_RecordChild1,
27754
0
   OPC_CheckPatternPredicate1,
27755
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
27756
0
                 MVT::v2f64, 1, 0, 
27757
0
  11, 
27758
0
   OPC_CheckChild0Integer, 34|128,98, 
27759
0
   OPC_RecordChild1,
27760
0
   OPC_CheckPatternPredicate1,
27761
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
27762
0
                 MVT::v2f64, 1, 0, 
27763
0
  11, 
27764
0
   OPC_CheckChild0Integer, 14|128,98, 
27765
0
   OPC_RecordChild1,
27766
0
   OPC_CheckPatternPredicate1,
27767
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_D),
27768
0
                 MVT::v2f64, 1, 0, 
27769
0
  11, 
27770
0
   OPC_CheckChild0Integer, 22|128,98, 
27771
0
   OPC_RecordChild1,
27772
0
   OPC_CheckPatternPredicate1,
27773
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
27774
0
                 MVT::v2f64, 1, 0, 
27775
0
  11, 
27776
0
   OPC_CheckChild0Integer, 30|128,98, 
27777
0
   OPC_RecordChild1,
27778
0
   OPC_CheckPatternPredicate1,
27779
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
27780
0
                 MVT::v2f64, 1, 0, 
27781
0
  11, 
27782
0
   OPC_CheckChild0Integer, 26|128,98, 
27783
0
   OPC_RecordChild1,
27784
0
   OPC_CheckPatternPredicate1,
27785
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
27786
0
                 MVT::v2f64, 1, 0, 
27787
0
  11, 
27788
0
   OPC_CheckChild0Integer, 18|128,98, 
27789
0
   OPC_RecordChild1,
27790
0
   OPC_CheckPatternPredicate1,
27791
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
27792
0
                 MVT::v2f64, 1, 0, 
27793
0
  13, 
27794
0
   OPC_CheckChild0Integer, 44|128,86, 
27795
0
   OPC_RecordChild1,
27796
0
   OPC_RecordChild2,
27797
0
   OPC_CheckPatternPredicate0,
27798
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
27799
0
                 MVT::v8f32, 2, 0, 1, 
27800
0
  11, 
27801
0
   OPC_CheckChild0Integer, 34|128,86, 
27802
0
   OPC_RecordChild1,
27803
0
   OPC_CheckPatternPredicate0,
27804
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_S_H),
27805
0
                 MVT::v8f32, 1, 0, 
27806
0
  11, 
27807
0
   OPC_CheckChild0Integer, 30|128,86, 
27808
0
   OPC_RecordChild1,
27809
0
   OPC_CheckPatternPredicate0,
27810
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_S_H),
27811
0
                 MVT::v8f32, 1, 0, 
27812
0
  11, 
27813
0
   OPC_CheckChild0Integer, 46|128,86, 
27814
0
   OPC_RecordChild1,
27815
0
   OPC_CheckPatternPredicate0,
27816
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
27817
0
                 MVT::v8f32, 1, 0, 
27818
0
  11, 
27819
0
   OPC_CheckChild0Integer, 48|128,86, 
27820
0
   OPC_RecordChild1,
27821
0
   OPC_CheckPatternPredicate0,
27822
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
27823
0
                 MVT::v8f32, 1, 0, 
27824
0
  11, 
27825
0
   OPC_CheckChild0Integer, 52|128,86, 
27826
0
   OPC_RecordChild1,
27827
0
   OPC_CheckPatternPredicate0,
27828
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTL_D_W),
27829
0
                 MVT::v4f64, 1, 0, 
27830
0
  11, 
27831
0
   OPC_CheckChild0Integer, 50|128,86, 
27832
0
   OPC_RecordChild1,
27833
0
   OPC_CheckPatternPredicate0,
27834
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTH_D_W),
27835
0
                 MVT::v4f64, 1, 0, 
27836
0
  11, 
27837
0
   OPC_CheckChild0Integer, 40|128,86, 
27838
0
   OPC_RecordChild1,
27839
0
   OPC_CheckPatternPredicate0,
27840
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
27841
0
                 MVT::v4f64, 1, 0, 
27842
0
  11, 
27843
0
   OPC_CheckChild0Integer, 42|128,86, 
27844
0
   OPC_RecordChild1,
27845
0
   OPC_CheckPatternPredicate0,
27846
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
27847
0
                 MVT::v4f64, 1, 0, 
27848
0
  15, 
27849
0
   OPC_CheckChild0Integer, 80|128,86, 
27850
0
   OPC_RecordChild1,
27851
0
   OPC_RecordChild2,
27852
0
   OPC_RecordChild3,
27853
0
   OPC_CheckPatternPredicate0,
27854
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
27855
0
                 MVT::v8f32, 3, 0, 1, 2, 
27856
0
  15, 
27857
0
   OPC_CheckChild0Integer, 88|128,86, 
27858
0
   OPC_RecordChild1,
27859
0
   OPC_RecordChild2,
27860
0
   OPC_RecordChild3,
27861
0
   OPC_CheckPatternPredicate0,
27862
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
27863
0
                 MVT::v8f32, 3, 0, 1, 2, 
27864
0
  15, 
27865
0
   OPC_CheckChild0Integer, 92|128,86, 
27866
0
   OPC_RecordChild1,
27867
0
   OPC_RecordChild2,
27868
0
   OPC_RecordChild3,
27869
0
   OPC_CheckPatternPredicate0,
27870
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
27871
0
                 MVT::v8f32, 3, 0, 1, 2, 
27872
0
  15, 
27873
0
   OPC_CheckChild0Integer, 78|128,86, 
27874
0
   OPC_RecordChild1,
27875
0
   OPC_RecordChild2,
27876
0
   OPC_RecordChild3,
27877
0
   OPC_CheckPatternPredicate0,
27878
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
27879
0
                 MVT::v4f64, 3, 0, 1, 2, 
27880
0
  15, 
27881
0
   OPC_CheckChild0Integer, 86|128,86, 
27882
0
   OPC_RecordChild1,
27883
0
   OPC_RecordChild2,
27884
0
   OPC_RecordChild3,
27885
0
   OPC_CheckPatternPredicate0,
27886
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
27887
0
                 MVT::v4f64, 3, 0, 1, 2, 
27888
0
  15, 
27889
0
   OPC_CheckChild0Integer, 90|128,86, 
27890
0
   OPC_RecordChild1,
27891
0
   OPC_RecordChild2,
27892
0
   OPC_RecordChild3,
27893
0
   OPC_CheckPatternPredicate0,
27894
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
27895
0
                 MVT::v4f64, 3, 0, 1, 2, 
27896
0
  13, 
27897
0
   OPC_CheckChild0Integer, 64|128,86, 
27898
0
   OPC_RecordChild1,
27899
0
   OPC_RecordChild2,
27900
0
   OPC_CheckPatternPredicate0,
27901
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
27902
0
                 MVT::v8f32, 2, 0, 1, 
27903
0
  13, 
27904
0
   OPC_CheckChild0Integer, 72|128,86, 
27905
0
   OPC_RecordChild1,
27906
0
   OPC_RecordChild2,
27907
0
   OPC_CheckPatternPredicate0,
27908
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
27909
0
                 MVT::v8f32, 2, 0, 1, 
27910
0
  13, 
27911
0
   OPC_CheckChild0Integer, 68|128,86, 
27912
0
   OPC_RecordChild1,
27913
0
   OPC_RecordChild2,
27914
0
   OPC_CheckPatternPredicate0,
27915
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_S),
27916
0
                 MVT::v8f32, 2, 0, 1, 
27917
0
  13, 
27918
0
   OPC_CheckChild0Integer, 76|128,86, 
27919
0
   OPC_RecordChild1,
27920
0
   OPC_RecordChild2,
27921
0
   OPC_CheckPatternPredicate0,
27922
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_S),
27923
0
                 MVT::v8f32, 2, 0, 1, 
27924
0
  13, 
27925
0
   OPC_CheckChild0Integer, 62|128,86, 
27926
0
   OPC_RecordChild1,
27927
0
   OPC_RecordChild2,
27928
0
   OPC_CheckPatternPredicate0,
27929
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
27930
0
                 MVT::v4f64, 2, 0, 1, 
27931
0
  13, 
27932
0
   OPC_CheckChild0Integer, 70|128,86, 
27933
0
   OPC_RecordChild1,
27934
0
   OPC_RecordChild2,
27935
0
   OPC_CheckPatternPredicate0,
27936
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
27937
0
                 MVT::v4f64, 2, 0, 1, 
27938
0
  13, 
27939
0
   OPC_CheckChild0Integer, 66|128,86, 
27940
0
   OPC_RecordChild1,
27941
0
   OPC_RecordChild2,
27942
0
   OPC_CheckPatternPredicate0,
27943
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_D),
27944
0
                 MVT::v4f64, 2, 0, 1, 
27945
0
  13, 
27946
0
   OPC_CheckChild0Integer, 74|128,86, 
27947
0
   OPC_RecordChild1,
27948
0
   OPC_RecordChild2,
27949
0
   OPC_CheckPatternPredicate0,
27950
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_D),
27951
0
                 MVT::v4f64, 2, 0, 1, 
27952
0
  13, 
27953
0
   OPC_CheckChild0Integer, 26|128,86, 
27954
0
   OPC_RecordChild1,
27955
0
   OPC_RecordChild2,
27956
0
   OPC_CheckPatternPredicate0,
27957
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
27958
0
                 MVT::v8f32, 2, 0, 1, 
27959
0
  11, 
27960
0
   OPC_CheckChild0Integer, 56|128,86, 
27961
0
   OPC_RecordChild1,
27962
0
   OPC_CheckPatternPredicate0,
27963
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_S),
27964
0
                 MVT::v8f32, 1, 0, 
27965
0
  11, 
27966
0
   OPC_CheckChild0Integer, 4|128,87, 
27967
0
   OPC_RecordChild1,
27968
0
   OPC_CheckPatternPredicate0,
27969
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
27970
0
                 MVT::v8f32, 1, 0, 
27971
0
  11, 
27972
0
   OPC_CheckChild0Integer, 96|128,86, 
27973
0
   OPC_RecordChild1,
27974
0
   OPC_CheckPatternPredicate0,
27975
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
27976
0
                 MVT::v8f32, 1, 0, 
27977
0
  11, 
27978
0
   OPC_CheckChild0Integer, 120|128,86, 
27979
0
   OPC_RecordChild1,
27980
0
   OPC_CheckPatternPredicate0,
27981
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
27982
0
                 MVT::v8f32, 1, 0, 
27983
0
  11, 
27984
0
   OPC_CheckChild0Integer, 100|128,86, 
27985
0
   OPC_RecordChild1,
27986
0
   OPC_CheckPatternPredicate0,
27987
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_S),
27988
0
                 MVT::v8f32, 1, 0, 
27989
0
  11, 
27990
0
   OPC_CheckChild0Integer, 32|128,86, 
27991
0
   OPC_RecordChild1,
27992
0
   OPC_CheckPatternPredicate0,
27993
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
27994
0
                 MVT::v4f64, 1, 0, 
27995
0
  11, 
27996
0
   OPC_CheckChild0Integer, 28|128,86, 
27997
0
   OPC_RecordChild1,
27998
0
   OPC_CheckPatternPredicate0,
27999
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
28000
0
                 MVT::v4f64, 1, 0, 
28001
0
  11, 
28002
0
   OPC_CheckChild0Integer, 108|128,86, 
28003
0
   OPC_RecordChild1,
28004
0
   OPC_CheckPatternPredicate0,
28005
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
28006
0
                 MVT::v8f32, 1, 0, 
28007
0
  11, 
28008
0
   OPC_CheckChild0Integer, 116|128,86, 
28009
0
   OPC_RecordChild1,
28010
0
   OPC_CheckPatternPredicate0,
28011
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
28012
0
                 MVT::v8f32, 1, 0, 
28013
0
  11, 
28014
0
   OPC_CheckChild0Integer, 112|128,86, 
28015
0
   OPC_RecordChild1,
28016
0
   OPC_CheckPatternPredicate0,
28017
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
28018
0
                 MVT::v8f32, 1, 0, 
28019
0
  11, 
28020
0
   OPC_CheckChild0Integer, 104|128,86, 
28021
0
   OPC_RecordChild1,
28022
0
   OPC_CheckPatternPredicate0,
28023
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
28024
0
                 MVT::v8f32, 1, 0, 
28025
0
  11, 
28026
0
   OPC_CheckChild0Integer, 54|128,86, 
28027
0
   OPC_RecordChild1,
28028
0
   OPC_CheckPatternPredicate0,
28029
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_D),
28030
0
                 MVT::v4f64, 1, 0, 
28031
0
  11, 
28032
0
   OPC_CheckChild0Integer, 2|128,87, 
28033
0
   OPC_RecordChild1,
28034
0
   OPC_CheckPatternPredicate0,
28035
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
28036
0
                 MVT::v4f64, 1, 0, 
28037
0
  11, 
28038
0
   OPC_CheckChild0Integer, 94|128,86, 
28039
0
   OPC_RecordChild1,
28040
0
   OPC_CheckPatternPredicate0,
28041
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
28042
0
                 MVT::v4f64, 1, 0, 
28043
0
  11, 
28044
0
   OPC_CheckChild0Integer, 118|128,86, 
28045
0
   OPC_RecordChild1,
28046
0
   OPC_CheckPatternPredicate0,
28047
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
28048
0
                 MVT::v4f64, 1, 0, 
28049
0
  11, 
28050
0
   OPC_CheckChild0Integer, 98|128,86, 
28051
0
   OPC_RecordChild1,
28052
0
   OPC_CheckPatternPredicate0,
28053
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_D),
28054
0
                 MVT::v4f64, 1, 0, 
28055
0
  11, 
28056
0
   OPC_CheckChild0Integer, 106|128,86, 
28057
0
   OPC_RecordChild1,
28058
0
   OPC_CheckPatternPredicate0,
28059
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
28060
0
                 MVT::v4f64, 1, 0, 
28061
0
  11, 
28062
0
   OPC_CheckChild0Integer, 114|128,86, 
28063
0
   OPC_RecordChild1,
28064
0
   OPC_CheckPatternPredicate0,
28065
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
28066
0
                 MVT::v4f64, 1, 0, 
28067
0
  11, 
28068
0
   OPC_CheckChild0Integer, 110|128,86, 
28069
0
   OPC_RecordChild1,
28070
0
   OPC_CheckPatternPredicate0,
28071
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
28072
0
                 MVT::v4f64, 1, 0, 
28073
0
  11, 
28074
0
   OPC_CheckChild0Integer, 102|128,86, 
28075
0
   OPC_RecordChild1,
28076
0
   OPC_CheckPatternPredicate0,
28077
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
28078
0
                 MVT::v4f64, 1, 0, 
28079
0
  0, 
28080
0
 73, TARGET_VAL(ISD::BRIND),
28081
0
  OPC_RecordNode,
28082
0
  OPC_Scope, 40, 
28083
0
   OPC_MoveChild1,
28084
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
28085
0
   OPC_RecordChild0,
28086
0
   OPC_RecordChild1,
28087
0
   OPC_MoveChild1,
28088
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28089
0
   OPC_CheckPredicate, 58,
28090
0
   OPC_MoveParent,
28091
0
   OPC_SwitchType , 10, MVT::i64,
28092
0
    OPC_MoveParent,
28093
0
    OPC_CheckPatternPredicate7,
28094
0
    OPC_EmitMergeInputChains1_0,
28095
0
    OPC_EmitConvertToTarget2,
28096
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28097
0
                  2, 1, 3, 
28098
0
   11, MVT::i32,
28099
0
    OPC_MoveParent,
28100
0
    OPC_CheckPatternPredicate, 8,
28101
0
    OPC_EmitMergeInputChains1_0,
28102
0
    OPC_EmitConvertToTarget2,
28103
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28104
0
                  2, 1, 3, 
28105
0
   0,
28106
0
  28, 
28107
0
   OPC_RecordChild1,
28108
0
   OPC_Scope, 11, 
28109
0
    OPC_CheckChild1TypeI64,
28110
0
    OPC_CheckPatternPredicate7,
28111
0
    OPC_EmitMergeInputChains1_0,
28112
0
    OPC_EmitInteger64, 0, 
28113
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28114
0
                  2, 1, 2, 
28115
0
   12, 
28116
0
    OPC_CheckChild1TypeI32,
28117
0
    OPC_CheckPatternPredicate, 8,
28118
0
    OPC_EmitMergeInputChains1_0,
28119
0
    OPC_EmitInteger32, 0, 
28120
0
    OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28121
0
                  2, 1, 2, 
28122
0
   0, 
28123
0
  0, 
28124
0
 20, TARGET_VAL(ISD::CALLSEQ_START),
28125
0
  OPC_RecordNode,
28126
0
  OPC_RecordChild1,
28127
0
  OPC_MoveChild1,
28128
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28129
0
  OPC_MoveSibling2,
28130
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28131
0
  OPC_RecordNode,
28132
0
  OPC_MoveParent,
28133
0
  OPC_EmitMergeInputChains1_0,
28134
0
  OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
28135
0
                2, 1, 2, 
28136
0
 21, TARGET_VAL(ISD::CALLSEQ_END),
28137
0
  OPC_RecordNode,
28138
0
  OPC_CaptureGlueInput,
28139
0
  OPC_RecordChild1,
28140
0
  OPC_MoveChild1,
28141
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28142
0
  OPC_MoveSibling2,
28143
0
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28144
0
  OPC_RecordNode,
28145
0
  OPC_MoveParent,
28146
0
  OPC_EmitMergeInputChains1_0,
28147
0
  OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
28148
0
                2, 1, 2, 
28149
0
 39|128,28, TARGET_VAL(ISD::SETCC),
28150
0
  OPC_RecordChild0,
28151
0
  OPC_Scope, 104|128,2, 
28152
0
   OPC_CheckChild0TypeI64,
28153
0
   OPC_Scope, 31, 
28154
0
    OPC_CheckChild1Integer, 0, 
28155
0
    OPC_CheckTypeI64,
28156
0
    OPC_Scope, 12, 
28157
0
     OPC_CheckChild2CondCode, ISD::SETEQ,
28158
0
     OPC_CheckPatternPredicate7,
28159
0
     OPC_EmitInteger64, 2, 
28160
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28161
0
                   MVT::i64, 2, 0, 1, 
28162
0
    12, 
28163
0
     OPC_CheckChild2CondCode, ISD::SETNE,
28164
0
     OPC_CheckPatternPredicate7,
28165
0
     OPC_EmitRegisterI64, LoongArch::R0,
28166
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28167
0
                   MVT::i64, 2, 1, 0, 
28168
0
    0, 
28169
0
   67|128,2, 
28170
0
    OPC_RecordChild1,
28171
0
    OPC_Scope, 16|128,1, 
28172
0
     OPC_MoveChild1,
28173
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28174
0
     OPC_Scope, 30, 
28175
0
      OPC_CheckPredicate, 10,
28176
0
      OPC_MoveParent,
28177
0
      OPC_CheckTypeI64,
28178
0
      OPC_Scope, 11, 
28179
0
       OPC_CheckChild2CondCode, ISD::SETLT,
28180
0
       OPC_CheckPatternPredicate7,
28181
0
       OPC_EmitConvertToTarget1,
28182
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
28183
0
                     MVT::i64, 2, 0, 2, 
28184
0
      11, 
28185
0
       OPC_CheckChild2CondCode, ISD::SETULT,
28186
0
       OPC_CheckPatternPredicate7,
28187
0
       OPC_EmitConvertToTarget1,
28188
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28189
0
                     MVT::i64, 2, 0, 2, 
28190
0
      0, 
28191
0
     106, 
28192
0
      OPC_CheckPredicate, 51,
28193
0
      OPC_MoveParent,
28194
0
      OPC_CheckTypeI64,
28195
0
      OPC_Scope, 49, 
28196
0
       OPC_CheckChild2CondCode, ISD::SETEQ,
28197
0
       OPC_Scope, 22, 
28198
0
        OPC_CheckPatternPredicate, 15,
28199
0
        OPC_EmitConvertToTarget1,
28200
0
        OPC_EmitNodeXForm, 11, 2,
28201
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28202
0
                      MVT::i64, 2, 0, 3, 
28203
0
        OPC_EmitInteger64, 2, 
28204
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28205
0
                      MVT::i64, 2, 4, 5, 
28206
0
       21, 
28207
0
        OPC_CheckPatternPredicate6,
28208
0
        OPC_EmitConvertToTarget1,
28209
0
        OPC_EmitNodeXForm, 11, 2,
28210
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28211
0
                      MVT::i64, 2, 0, 3, 
28212
0
        OPC_EmitInteger64, 2, 
28213
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28214
0
                      MVT::i64, 2, 4, 5, 
28215
0
       0, 
28216
0
      49, 
28217
0
       OPC_CheckChild2CondCode, ISD::SETNE,
28218
0
       OPC_Scope, 22, 
28219
0
        OPC_CheckPatternPredicate, 15,
28220
0
        OPC_EmitRegisterI64, LoongArch::R0,
28221
0
        OPC_EmitConvertToTarget1,
28222
0
        OPC_EmitNodeXForm, 11, 3,
28223
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28224
0
                      MVT::i64, 2, 0, 4, 
28225
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28226
0
                      MVT::i64, 2, 2, 5, 
28227
0
       21, 
28228
0
        OPC_CheckPatternPredicate6,
28229
0
        OPC_EmitRegisterI64, LoongArch::R0,
28230
0
        OPC_EmitConvertToTarget1,
28231
0
        OPC_EmitNodeXForm, 11, 3,
28232
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28233
0
                      MVT::i64, 2, 0, 4, 
28234
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28235
0
                      MVT::i64, 2, 2, 5, 
28236
0
       0, 
28237
0
      0, 
28238
0
     0, 
28239
0
    11, 
28240
0
     OPC_CheckChild2CondCode, ISD::SETLT,
28241
0
     OPC_CheckTypeI64,
28242
0
     OPC_CheckPatternPredicate7,
28243
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28244
0
                   MVT::i64, 2, 0, 1, 
28245
0
    11, 
28246
0
     OPC_CheckChild2CondCode, ISD::SETULT,
28247
0
     OPC_CheckTypeI64,
28248
0
     OPC_CheckPatternPredicate7,
28249
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28250
0
                   MVT::i64, 2, 0, 1, 
28251
0
    11, 
28252
0
     OPC_CheckChild2CondCode, ISD::SETUGT,
28253
0
     OPC_CheckTypeI64,
28254
0
     OPC_CheckPatternPredicate7,
28255
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28256
0
                   MVT::i64, 2, 1, 0, 
28257
0
    11, 
28258
0
     OPC_CheckChild2CondCode, ISD::SETGT,
28259
0
     OPC_CheckTypeI64,
28260
0
     OPC_CheckPatternPredicate7,
28261
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28262
0
                   MVT::i64, 2, 1, 0, 
28263
0
    20, 
28264
0
     OPC_CheckChild2CondCode, ISD::SETEQ,
28265
0
     OPC_CheckTypeI64,
28266
0
     OPC_CheckPatternPredicate7,
28267
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28268
0
                   MVT::i64, 2, 0, 1, 
28269
0
     OPC_EmitInteger64, 2, 
28270
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28271
0
                   MVT::i64, 2, 2, 3, 
28272
0
    20, 
28273
0
     OPC_CheckChild2CondCode, ISD::SETNE,
28274
0
     OPC_CheckTypeI64,
28275
0
     OPC_CheckPatternPredicate7,
28276
0
     OPC_EmitRegisterI64, LoongArch::R0,
28277
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28278
0
                   MVT::i64, 2, 0, 1, 
28279
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28280
0
                   MVT::i64, 2, 2, 3, 
28281
0
    20, 
28282
0
     OPC_CheckChild2CondCode, ISD::SETUGE,
28283
0
     OPC_CheckTypeI64,
28284
0
     OPC_CheckPatternPredicate7,
28285
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28286
0
                   MVT::i64, 2, 0, 1, 
28287
0
     OPC_EmitInteger64, 2, 
28288
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28289
0
                   MVT::i64, 2, 2, 3, 
28290
0
    20, 
28291
0
     OPC_CheckChild2CondCode, ISD::SETULE,
28292
0
     OPC_CheckTypeI64,
28293
0
     OPC_CheckPatternPredicate7,
28294
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28295
0
                   MVT::i64, 2, 1, 0, 
28296
0
     OPC_EmitInteger64, 2, 
28297
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28298
0
                   MVT::i64, 2, 2, 3, 
28299
0
    20, 
28300
0
     OPC_CheckChild2CondCode, ISD::SETGE,
28301
0
     OPC_CheckTypeI64,
28302
0
     OPC_CheckPatternPredicate7,
28303
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28304
0
                   MVT::i64, 2, 0, 1, 
28305
0
     OPC_EmitInteger64, 2, 
28306
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28307
0
                   MVT::i64, 2, 2, 3, 
28308
0
    20, 
28309
0
     OPC_CheckChild2CondCode, ISD::SETLE,
28310
0
     OPC_CheckTypeI64,
28311
0
     OPC_CheckPatternPredicate7,
28312
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28313
0
                   MVT::i64, 2, 1, 0, 
28314
0
     OPC_EmitInteger64, 2, 
28315
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28316
0
                   MVT::i64, 2, 2, 3, 
28317
0
    0, 
28318
0
   0, 
28319
0
  120|128,2, 
28320
0
   OPC_CheckChild0TypeI32,
28321
0
   OPC_Scope, 33, 
28322
0
    OPC_CheckChild1Integer, 0, 
28323
0
    OPC_CheckTypeI32,
28324
0
    OPC_Scope, 13, 
28325
0
     OPC_CheckChild2CondCode, ISD::SETEQ,
28326
0
     OPC_CheckPatternPredicate, 8,
28327
0
     OPC_EmitInteger32, 2, 
28328
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28329
0
                   MVT::i32, 2, 0, 1, 
28330
0
    13, 
28331
0
     OPC_CheckChild2CondCode, ISD::SETNE,
28332
0
     OPC_CheckPatternPredicate, 8,
28333
0
     OPC_EmitRegisterI32, LoongArch::R0,
28334
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28335
0
                   MVT::i32, 2, 1, 0, 
28336
0
    0, 
28337
0
   81|128,2, 
28338
0
    OPC_RecordChild1,
28339
0
    OPC_Scope, 20|128,1, 
28340
0
     OPC_MoveChild1,
28341
0
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28342
0
     OPC_Scope, 32, 
28343
0
      OPC_CheckPredicate, 10,
28344
0
      OPC_MoveParent,
28345
0
      OPC_CheckTypeI32,
28346
0
      OPC_Scope, 12, 
28347
0
       OPC_CheckChild2CondCode, ISD::SETLT,
28348
0
       OPC_CheckPatternPredicate, 8,
28349
0
       OPC_EmitConvertToTarget1,
28350
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
28351
0
                     MVT::i32, 2, 0, 2, 
28352
0
      12, 
28353
0
       OPC_CheckChild2CondCode, ISD::SETULT,
28354
0
       OPC_CheckPatternPredicate, 8,
28355
0
       OPC_EmitConvertToTarget1,
28356
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28357
0
                     MVT::i32, 2, 0, 2, 
28358
0
      0, 
28359
0
     108, 
28360
0
      OPC_CheckPredicate, 51,
28361
0
      OPC_MoveParent,
28362
0
      OPC_CheckTypeI32,
28363
0
      OPC_Scope, 50, 
28364
0
       OPC_CheckChild2CondCode, ISD::SETEQ,
28365
0
       OPC_Scope, 22, 
28366
0
        OPC_CheckPatternPredicate, 9,
28367
0
        OPC_EmitConvertToTarget1,
28368
0
        OPC_EmitNodeXForm, 11, 2,
28369
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28370
0
                      MVT::i32, 2, 0, 3, 
28371
0
        OPC_EmitInteger32, 2, 
28372
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28373
0
                      MVT::i32, 2, 4, 5, 
28374
0
       22, 
28375
0
        OPC_CheckPatternPredicate, 10,
28376
0
        OPC_EmitConvertToTarget1,
28377
0
        OPC_EmitNodeXForm, 11, 2,
28378
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28379
0
                      MVT::i32, 2, 0, 3, 
28380
0
        OPC_EmitInteger32, 2, 
28381
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28382
0
                      MVT::i32, 2, 4, 5, 
28383
0
       0, 
28384
0
      50, 
28385
0
       OPC_CheckChild2CondCode, ISD::SETNE,
28386
0
       OPC_Scope, 22, 
28387
0
        OPC_CheckPatternPredicate, 9,
28388
0
        OPC_EmitRegisterI32, LoongArch::R0,
28389
0
        OPC_EmitConvertToTarget1,
28390
0
        OPC_EmitNodeXForm, 11, 3,
28391
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28392
0
                      MVT::i32, 2, 0, 4, 
28393
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28394
0
                      MVT::i32, 2, 2, 5, 
28395
0
       22, 
28396
0
        OPC_CheckPatternPredicate, 10,
28397
0
        OPC_EmitRegisterI32, LoongArch::R0,
28398
0
        OPC_EmitConvertToTarget1,
28399
0
        OPC_EmitNodeXForm, 11, 3,
28400
0
        OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28401
0
                      MVT::i32, 2, 0, 4, 
28402
0
        OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28403
0
                      MVT::i32, 2, 2, 5, 
28404
0
       0, 
28405
0
      0, 
28406
0
     0, 
28407
0
    12, 
28408
0
     OPC_CheckChild2CondCode, ISD::SETLT,
28409
0
     OPC_CheckTypeI32,
28410
0
     OPC_CheckPatternPredicate, 8,
28411
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28412
0
                   MVT::i32, 2, 0, 1, 
28413
0
    12, 
28414
0
     OPC_CheckChild2CondCode, ISD::SETULT,
28415
0
     OPC_CheckTypeI32,
28416
0
     OPC_CheckPatternPredicate, 8,
28417
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28418
0
                   MVT::i32, 2, 0, 1, 
28419
0
    12, 
28420
0
     OPC_CheckChild2CondCode, ISD::SETUGT,
28421
0
     OPC_CheckTypeI32,
28422
0
     OPC_CheckPatternPredicate, 8,
28423
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28424
0
                   MVT::i32, 2, 1, 0, 
28425
0
    12, 
28426
0
     OPC_CheckChild2CondCode, ISD::SETGT,
28427
0
     OPC_CheckTypeI32,
28428
0
     OPC_CheckPatternPredicate, 8,
28429
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28430
0
                   MVT::i32, 2, 1, 0, 
28431
0
    21, 
28432
0
     OPC_CheckChild2CondCode, ISD::SETEQ,
28433
0
     OPC_CheckTypeI32,
28434
0
     OPC_CheckPatternPredicate, 8,
28435
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28436
0
                   MVT::i32, 2, 0, 1, 
28437
0
     OPC_EmitInteger32, 2, 
28438
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28439
0
                   MVT::i32, 2, 2, 3, 
28440
0
    21, 
28441
0
     OPC_CheckChild2CondCode, ISD::SETNE,
28442
0
     OPC_CheckTypeI32,
28443
0
     OPC_CheckPatternPredicate, 8,
28444
0
     OPC_EmitRegisterI32, LoongArch::R0,
28445
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28446
0
                   MVT::i32, 2, 0, 1, 
28447
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28448
0
                   MVT::i32, 2, 2, 3, 
28449
0
    21, 
28450
0
     OPC_CheckChild2CondCode, ISD::SETUGE,
28451
0
     OPC_CheckTypeI32,
28452
0
     OPC_CheckPatternPredicate, 8,
28453
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28454
0
                   MVT::i32, 2, 0, 1, 
28455
0
     OPC_EmitInteger32, 2, 
28456
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28457
0
                   MVT::i32, 2, 2, 3, 
28458
0
    21, 
28459
0
     OPC_CheckChild2CondCode, ISD::SETULE,
28460
0
     OPC_CheckTypeI32,
28461
0
     OPC_CheckPatternPredicate, 8,
28462
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28463
0
                   MVT::i32, 2, 1, 0, 
28464
0
     OPC_EmitInteger32, 2, 
28465
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28466
0
                   MVT::i32, 2, 2, 3, 
28467
0
    21, 
28468
0
     OPC_CheckChild2CondCode, ISD::SETGE,
28469
0
     OPC_CheckTypeI32,
28470
0
     OPC_CheckPatternPredicate, 8,
28471
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28472
0
                   MVT::i32, 2, 0, 1, 
28473
0
     OPC_EmitInteger32, 2, 
28474
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28475
0
                   MVT::i32, 2, 2, 3, 
28476
0
    21, 
28477
0
     OPC_CheckChild2CondCode, ISD::SETLE,
28478
0
     OPC_CheckTypeI32,
28479
0
     OPC_CheckPatternPredicate, 8,
28480
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28481
0
                   MVT::i32, 2, 1, 0, 
28482
0
     OPC_EmitInteger32, 2, 
28483
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28484
0
                   MVT::i32, 2, 2, 3, 
28485
0
    0, 
28486
0
   0, 
28487
0
  100|128,2, 
28488
0
   OPC_CheckChild0Type, MVT::f32,
28489
0
   OPC_RecordChild1,
28490
0
   OPC_Scope, 26, 
28491
0
    OPC_CheckChild2CondCode, ISD::SETOEQ,
28492
0
    OPC_SwitchType , 9, MVT::i64,
28493
0
     OPC_CheckPatternPredicate, 11,
28494
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28495
0
                   MVT::i64, 2, 0, 1, 
28496
0
    9, MVT::i32,
28497
0
     OPC_CheckPatternPredicate, 12,
28498
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28499
0
                   MVT::i32, 2, 0, 1, 
28500
0
    0,
28501
0
   26, 
28502
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
28503
0
    OPC_SwitchType , 9, MVT::i64,
28504
0
     OPC_CheckPatternPredicate, 11,
28505
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28506
0
                   MVT::i64, 2, 0, 1, 
28507
0
    9, MVT::i32,
28508
0
     OPC_CheckPatternPredicate, 12,
28509
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28510
0
                   MVT::i32, 2, 0, 1, 
28511
0
    0,
28512
0
   26, 
28513
0
    OPC_CheckChild2CondCode, ISD::SETOLT,
28514
0
    OPC_SwitchType , 9, MVT::i64,
28515
0
     OPC_CheckPatternPredicate, 11,
28516
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28517
0
                   MVT::i64, 2, 0, 1, 
28518
0
    9, MVT::i32,
28519
0
     OPC_CheckPatternPredicate, 12,
28520
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28521
0
                   MVT::i32, 2, 0, 1, 
28522
0
    0,
28523
0
   26, 
28524
0
    OPC_CheckChild2CondCode, ISD::SETOLE,
28525
0
    OPC_SwitchType , 9, MVT::i64,
28526
0
     OPC_CheckPatternPredicate, 11,
28527
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28528
0
                   MVT::i64, 2, 0, 1, 
28529
0
    9, MVT::i32,
28530
0
     OPC_CheckPatternPredicate, 12,
28531
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28532
0
                   MVT::i32, 2, 0, 1, 
28533
0
    0,
28534
0
   26, 
28535
0
    OPC_CheckChild2CondCode, ISD::SETLE,
28536
0
    OPC_SwitchType , 9, MVT::i64,
28537
0
     OPC_CheckPatternPredicate, 11,
28538
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28539
0
                   MVT::i64, 2, 0, 1, 
28540
0
    9, MVT::i32,
28541
0
     OPC_CheckPatternPredicate, 12,
28542
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28543
0
                   MVT::i32, 2, 0, 1, 
28544
0
    0,
28545
0
   26, 
28546
0
    OPC_CheckChild2CondCode, ISD::SETONE,
28547
0
    OPC_SwitchType , 9, MVT::i64,
28548
0
     OPC_CheckPatternPredicate, 11,
28549
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
28550
0
                   MVT::i64, 2, 0, 1, 
28551
0
    9, MVT::i32,
28552
0
     OPC_CheckPatternPredicate, 12,
28553
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
28554
0
                   MVT::i32, 2, 0, 1, 
28555
0
    0,
28556
0
   26, 
28557
0
    OPC_CheckChild2CondCode, ISD::SETO,
28558
0
    OPC_SwitchType , 9, MVT::i64,
28559
0
     OPC_CheckPatternPredicate, 11,
28560
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
28561
0
                   MVT::i64, 2, 0, 1, 
28562
0
    9, MVT::i32,
28563
0
     OPC_CheckPatternPredicate, 12,
28564
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
28565
0
                   MVT::i32, 2, 0, 1, 
28566
0
    0,
28567
0
   26, 
28568
0
    OPC_CheckChild2CondCode, ISD::SETUEQ,
28569
0
    OPC_SwitchType , 9, MVT::i64,
28570
0
     OPC_CheckPatternPredicate, 11,
28571
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
28572
0
                   MVT::i64, 2, 0, 1, 
28573
0
    9, MVT::i32,
28574
0
     OPC_CheckPatternPredicate, 12,
28575
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
28576
0
                   MVT::i32, 2, 0, 1, 
28577
0
    0,
28578
0
   26, 
28579
0
    OPC_CheckChild2CondCode, ISD::SETULT,
28580
0
    OPC_SwitchType , 9, MVT::i64,
28581
0
     OPC_CheckPatternPredicate, 11,
28582
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
28583
0
                   MVT::i64, 2, 0, 1, 
28584
0
    9, MVT::i32,
28585
0
     OPC_CheckPatternPredicate, 12,
28586
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
28587
0
                   MVT::i32, 2, 0, 1, 
28588
0
    0,
28589
0
   26, 
28590
0
    OPC_CheckChild2CondCode, ISD::SETULE,
28591
0
    OPC_SwitchType , 9, MVT::i64,
28592
0
     OPC_CheckPatternPredicate, 11,
28593
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
28594
0
                   MVT::i64, 2, 0, 1, 
28595
0
    9, MVT::i32,
28596
0
     OPC_CheckPatternPredicate, 12,
28597
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
28598
0
                   MVT::i32, 2, 0, 1, 
28599
0
    0,
28600
0
   26, 
28601
0
    OPC_CheckChild2CondCode, ISD::SETUNE,
28602
0
    OPC_SwitchType , 9, MVT::i64,
28603
0
     OPC_CheckPatternPredicate, 11,
28604
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
28605
0
                   MVT::i64, 2, 0, 1, 
28606
0
    9, MVT::i32,
28607
0
     OPC_CheckPatternPredicate, 12,
28608
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
28609
0
                   MVT::i32, 2, 0, 1, 
28610
0
    0,
28611
0
   26, 
28612
0
    OPC_CheckChild2CondCode, ISD::SETUO,
28613
0
    OPC_SwitchType , 9, MVT::i64,
28614
0
     OPC_CheckPatternPredicate, 11,
28615
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
28616
0
                   MVT::i64, 2, 0, 1, 
28617
0
    9, MVT::i32,
28618
0
     OPC_CheckPatternPredicate, 12,
28619
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
28620
0
                   MVT::i32, 2, 0, 1, 
28621
0
    0,
28622
0
   26, 
28623
0
    OPC_CheckChild2CondCode, ISD::SETLT,
28624
0
    OPC_SwitchType , 9, MVT::i64,
28625
0
     OPC_CheckPatternPredicate, 11,
28626
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28627
0
                   MVT::i64, 2, 0, 1, 
28628
0
    9, MVT::i32,
28629
0
     OPC_CheckPatternPredicate, 12,
28630
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28631
0
                   MVT::i32, 2, 0, 1, 
28632
0
    0,
28633
0
   0, 
28634
0
  100|128,2, 
28635
0
   OPC_CheckChild0Type, MVT::f64,
28636
0
   OPC_RecordChild1,
28637
0
   OPC_Scope, 26, 
28638
0
    OPC_CheckChild2CondCode, ISD::SETOEQ,
28639
0
    OPC_SwitchType , 9, MVT::i64,
28640
0
     OPC_CheckPatternPredicate, 13,
28641
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28642
0
                   MVT::i64, 2, 0, 1, 
28643
0
    9, MVT::i32,
28644
0
     OPC_CheckPatternPredicate, 14,
28645
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28646
0
                   MVT::i32, 2, 0, 1, 
28647
0
    0,
28648
0
   26, 
28649
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
28650
0
    OPC_SwitchType , 9, MVT::i64,
28651
0
     OPC_CheckPatternPredicate, 13,
28652
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28653
0
                   MVT::i64, 2, 0, 1, 
28654
0
    9, MVT::i32,
28655
0
     OPC_CheckPatternPredicate, 14,
28656
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28657
0
                   MVT::i32, 2, 0, 1, 
28658
0
    0,
28659
0
   26, 
28660
0
    OPC_CheckChild2CondCode, ISD::SETOLT,
28661
0
    OPC_SwitchType , 9, MVT::i64,
28662
0
     OPC_CheckPatternPredicate, 13,
28663
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28664
0
                   MVT::i64, 2, 0, 1, 
28665
0
    9, MVT::i32,
28666
0
     OPC_CheckPatternPredicate, 14,
28667
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28668
0
                   MVT::i32, 2, 0, 1, 
28669
0
    0,
28670
0
   26, 
28671
0
    OPC_CheckChild2CondCode, ISD::SETOLE,
28672
0
    OPC_SwitchType , 9, MVT::i64,
28673
0
     OPC_CheckPatternPredicate, 13,
28674
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28675
0
                   MVT::i64, 2, 0, 1, 
28676
0
    9, MVT::i32,
28677
0
     OPC_CheckPatternPredicate, 14,
28678
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28679
0
                   MVT::i32, 2, 0, 1, 
28680
0
    0,
28681
0
   26, 
28682
0
    OPC_CheckChild2CondCode, ISD::SETLE,
28683
0
    OPC_SwitchType , 9, MVT::i64,
28684
0
     OPC_CheckPatternPredicate, 13,
28685
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28686
0
                   MVT::i64, 2, 0, 1, 
28687
0
    9, MVT::i32,
28688
0
     OPC_CheckPatternPredicate, 14,
28689
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28690
0
                   MVT::i32, 2, 0, 1, 
28691
0
    0,
28692
0
   26, 
28693
0
    OPC_CheckChild2CondCode, ISD::SETONE,
28694
0
    OPC_SwitchType , 9, MVT::i64,
28695
0
     OPC_CheckPatternPredicate, 13,
28696
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
28697
0
                   MVT::i64, 2, 0, 1, 
28698
0
    9, MVT::i32,
28699
0
     OPC_CheckPatternPredicate, 14,
28700
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
28701
0
                   MVT::i32, 2, 0, 1, 
28702
0
    0,
28703
0
   26, 
28704
0
    OPC_CheckChild2CondCode, ISD::SETO,
28705
0
    OPC_SwitchType , 9, MVT::i64,
28706
0
     OPC_CheckPatternPredicate, 13,
28707
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
28708
0
                   MVT::i64, 2, 0, 1, 
28709
0
    9, MVT::i32,
28710
0
     OPC_CheckPatternPredicate, 14,
28711
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
28712
0
                   MVT::i32, 2, 0, 1, 
28713
0
    0,
28714
0
   26, 
28715
0
    OPC_CheckChild2CondCode, ISD::SETUEQ,
28716
0
    OPC_SwitchType , 9, MVT::i64,
28717
0
     OPC_CheckPatternPredicate, 13,
28718
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
28719
0
                   MVT::i64, 2, 0, 1, 
28720
0
    9, MVT::i32,
28721
0
     OPC_CheckPatternPredicate, 14,
28722
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
28723
0
                   MVT::i32, 2, 0, 1, 
28724
0
    0,
28725
0
   26, 
28726
0
    OPC_CheckChild2CondCode, ISD::SETULT,
28727
0
    OPC_SwitchType , 9, MVT::i64,
28728
0
     OPC_CheckPatternPredicate, 13,
28729
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
28730
0
                   MVT::i64, 2, 0, 1, 
28731
0
    9, MVT::i32,
28732
0
     OPC_CheckPatternPredicate, 14,
28733
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
28734
0
                   MVT::i32, 2, 0, 1, 
28735
0
    0,
28736
0
   26, 
28737
0
    OPC_CheckChild2CondCode, ISD::SETULE,
28738
0
    OPC_SwitchType , 9, MVT::i64,
28739
0
     OPC_CheckPatternPredicate, 13,
28740
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
28741
0
                   MVT::i64, 2, 0, 1, 
28742
0
    9, MVT::i32,
28743
0
     OPC_CheckPatternPredicate, 14,
28744
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
28745
0
                   MVT::i32, 2, 0, 1, 
28746
0
    0,
28747
0
   26, 
28748
0
    OPC_CheckChild2CondCode, ISD::SETUNE,
28749
0
    OPC_SwitchType , 9, MVT::i64,
28750
0
     OPC_CheckPatternPredicate, 13,
28751
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
28752
0
                   MVT::i64, 2, 0, 1, 
28753
0
    9, MVT::i32,
28754
0
     OPC_CheckPatternPredicate, 14,
28755
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
28756
0
                   MVT::i32, 2, 0, 1, 
28757
0
    0,
28758
0
   26, 
28759
0
    OPC_CheckChild2CondCode, ISD::SETUO,
28760
0
    OPC_SwitchType , 9, MVT::i64,
28761
0
     OPC_CheckPatternPredicate, 13,
28762
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
28763
0
                   MVT::i64, 2, 0, 1, 
28764
0
    9, MVT::i32,
28765
0
     OPC_CheckPatternPredicate, 14,
28766
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
28767
0
                   MVT::i32, 2, 0, 1, 
28768
0
    0,
28769
0
   26, 
28770
0
    OPC_CheckChild2CondCode, ISD::SETLT,
28771
0
    OPC_SwitchType , 9, MVT::i64,
28772
0
     OPC_CheckPatternPredicate, 13,
28773
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28774
0
                   MVT::i64, 2, 0, 1, 
28775
0
    9, MVT::i32,
28776
0
     OPC_CheckPatternPredicate, 14,
28777
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28778
0
                   MVT::i32, 2, 0, 1, 
28779
0
    0,
28780
0
   0, 
28781
0
  59|128,1, 
28782
0
   OPC_CheckChild0Type, MVT::v16i8,
28783
0
   OPC_RecordChild1,
28784
0
   OPC_CheckType, MVT::v16i8,
28785
0
   OPC_Scope, 35, 
28786
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
28787
0
    OPC_Scope, 10, 
28788
0
     OPC_CheckPatternPredicate2,
28789
0
     OPC_CheckComplexPat3, /*#*/1,
28790
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
28791
0
                   MVT::v16i8, 2, 0, 2, 
28792
0
    10, 
28793
0
     OPC_CheckPatternPredicate4,
28794
0
     OPC_CheckComplexPat3, /*#*/1,
28795
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
28796
0
                   MVT::v16i8, 2, 0, 2, 
28797
0
    8, 
28798
0
     OPC_CheckPatternPredicate1,
28799
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
28800
0
                   MVT::v16i8, 2, 0, 1, 
28801
0
    0, 
28802
0
   35, 
28803
0
    OPC_CheckChild2CondCode, ISD::SETLE,
28804
0
    OPC_Scope, 10, 
28805
0
     OPC_CheckPatternPredicate2,
28806
0
     OPC_CheckComplexPat3, /*#*/1,
28807
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
28808
0
                   MVT::v16i8, 2, 0, 2, 
28809
0
    10, 
28810
0
     OPC_CheckPatternPredicate4,
28811
0
     OPC_CheckComplexPat3, /*#*/1,
28812
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
28813
0
                   MVT::v16i8, 2, 0, 2, 
28814
0
    8, 
28815
0
     OPC_CheckPatternPredicate1,
28816
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
28817
0
                   MVT::v16i8, 2, 0, 1, 
28818
0
    0, 
28819
0
   35, 
28820
0
    OPC_CheckChild2CondCode, ISD::SETLT,
28821
0
    OPC_Scope, 10, 
28822
0
     OPC_CheckPatternPredicate2,
28823
0
     OPC_CheckComplexPat3, /*#*/1,
28824
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
28825
0
                   MVT::v16i8, 2, 0, 2, 
28826
0
    10, 
28827
0
     OPC_CheckPatternPredicate4,
28828
0
     OPC_CheckComplexPat3, /*#*/1,
28829
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
28830
0
                   MVT::v16i8, 2, 0, 2, 
28831
0
    8, 
28832
0
     OPC_CheckPatternPredicate1,
28833
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
28834
0
                   MVT::v16i8, 2, 0, 1, 
28835
0
    0, 
28836
0
   35, 
28837
0
    OPC_CheckChild2CondCode, ISD::SETULE,
28838
0
    OPC_Scope, 10, 
28839
0
     OPC_CheckPatternPredicate2,
28840
0
     OPC_CheckComplexPat1, /*#*/1,
28841
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
28842
0
                   MVT::v16i8, 2, 0, 2, 
28843
0
    10, 
28844
0
     OPC_CheckPatternPredicate4,
28845
0
     OPC_CheckComplexPat1, /*#*/1,
28846
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
28847
0
                   MVT::v16i8, 2, 0, 2, 
28848
0
    8, 
28849
0
     OPC_CheckPatternPredicate1,
28850
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
28851
0
                   MVT::v16i8, 2, 0, 1, 
28852
0
    0, 
28853
0
   35, 
28854
0
    OPC_CheckChild2CondCode, ISD::SETULT,
28855
0
    OPC_Scope, 10, 
28856
0
     OPC_CheckPatternPredicate2,
28857
0
     OPC_CheckComplexPat1, /*#*/1,
28858
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
28859
0
                   MVT::v16i8, 2, 0, 2, 
28860
0
    10, 
28861
0
     OPC_CheckPatternPredicate4,
28862
0
     OPC_CheckComplexPat1, /*#*/1,
28863
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
28864
0
                   MVT::v16i8, 2, 0, 2, 
28865
0
    8, 
28866
0
     OPC_CheckPatternPredicate1,
28867
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
28868
0
                   MVT::v16i8, 2, 0, 1, 
28869
0
    0, 
28870
0
   0, 
28871
0
  59|128,1, 
28872
0
   OPC_CheckChild0Type, MVT::v8i16,
28873
0
   OPC_RecordChild1,
28874
0
   OPC_CheckType, MVT::v8i16,
28875
0
   OPC_Scope, 35, 
28876
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
28877
0
    OPC_Scope, 10, 
28878
0
     OPC_CheckPatternPredicate2,
28879
0
     OPC_CheckComplexPat3, /*#*/1,
28880
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
28881
0
                   MVT::v8i16, 2, 0, 2, 
28882
0
    10, 
28883
0
     OPC_CheckPatternPredicate4,
28884
0
     OPC_CheckComplexPat3, /*#*/1,
28885
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
28886
0
                   MVT::v8i16, 2, 0, 2, 
28887
0
    8, 
28888
0
     OPC_CheckPatternPredicate1,
28889
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
28890
0
                   MVT::v8i16, 2, 0, 1, 
28891
0
    0, 
28892
0
   35, 
28893
0
    OPC_CheckChild2CondCode, ISD::SETLE,
28894
0
    OPC_Scope, 10, 
28895
0
     OPC_CheckPatternPredicate2,
28896
0
     OPC_CheckComplexPat3, /*#*/1,
28897
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
28898
0
                   MVT::v8i16, 2, 0, 2, 
28899
0
    10, 
28900
0
     OPC_CheckPatternPredicate4,
28901
0
     OPC_CheckComplexPat3, /*#*/1,
28902
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
28903
0
                   MVT::v8i16, 2, 0, 2, 
28904
0
    8, 
28905
0
     OPC_CheckPatternPredicate1,
28906
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
28907
0
                   MVT::v8i16, 2, 0, 1, 
28908
0
    0, 
28909
0
   35, 
28910
0
    OPC_CheckChild2CondCode, ISD::SETLT,
28911
0
    OPC_Scope, 10, 
28912
0
     OPC_CheckPatternPredicate2,
28913
0
     OPC_CheckComplexPat3, /*#*/1,
28914
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
28915
0
                   MVT::v8i16, 2, 0, 2, 
28916
0
    10, 
28917
0
     OPC_CheckPatternPredicate4,
28918
0
     OPC_CheckComplexPat3, /*#*/1,
28919
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
28920
0
                   MVT::v8i16, 2, 0, 2, 
28921
0
    8, 
28922
0
     OPC_CheckPatternPredicate1,
28923
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
28924
0
                   MVT::v8i16, 2, 0, 1, 
28925
0
    0, 
28926
0
   35, 
28927
0
    OPC_CheckChild2CondCode, ISD::SETULE,
28928
0
    OPC_Scope, 10, 
28929
0
     OPC_CheckPatternPredicate2,
28930
0
     OPC_CheckComplexPat1, /*#*/1,
28931
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
28932
0
                   MVT::v8i16, 2, 0, 2, 
28933
0
    10, 
28934
0
     OPC_CheckPatternPredicate4,
28935
0
     OPC_CheckComplexPat1, /*#*/1,
28936
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
28937
0
                   MVT::v8i16, 2, 0, 2, 
28938
0
    8, 
28939
0
     OPC_CheckPatternPredicate1,
28940
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
28941
0
                   MVT::v8i16, 2, 0, 1, 
28942
0
    0, 
28943
0
   35, 
28944
0
    OPC_CheckChild2CondCode, ISD::SETULT,
28945
0
    OPC_Scope, 10, 
28946
0
     OPC_CheckPatternPredicate2,
28947
0
     OPC_CheckComplexPat1, /*#*/1,
28948
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
28949
0
                   MVT::v8i16, 2, 0, 2, 
28950
0
    10, 
28951
0
     OPC_CheckPatternPredicate4,
28952
0
     OPC_CheckComplexPat1, /*#*/1,
28953
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
28954
0
                   MVT::v8i16, 2, 0, 2, 
28955
0
    8, 
28956
0
     OPC_CheckPatternPredicate1,
28957
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
28958
0
                   MVT::v8i16, 2, 0, 1, 
28959
0
    0, 
28960
0
   0, 
28961
0
  59|128,1, 
28962
0
   OPC_CheckChild0Type, MVT::v4i32,
28963
0
   OPC_RecordChild1,
28964
0
   OPC_CheckType, MVT::v4i32,
28965
0
   OPC_Scope, 35, 
28966
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
28967
0
    OPC_Scope, 10, 
28968
0
     OPC_CheckPatternPredicate2,
28969
0
     OPC_CheckComplexPat3, /*#*/1,
28970
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
28971
0
                   MVT::v4i32, 2, 0, 2, 
28972
0
    10, 
28973
0
     OPC_CheckPatternPredicate4,
28974
0
     OPC_CheckComplexPat3, /*#*/1,
28975
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
28976
0
                   MVT::v4i32, 2, 0, 2, 
28977
0
    8, 
28978
0
     OPC_CheckPatternPredicate1,
28979
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
28980
0
                   MVT::v4i32, 2, 0, 1, 
28981
0
    0, 
28982
0
   35, 
28983
0
    OPC_CheckChild2CondCode, ISD::SETLE,
28984
0
    OPC_Scope, 10, 
28985
0
     OPC_CheckPatternPredicate2,
28986
0
     OPC_CheckComplexPat3, /*#*/1,
28987
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
28988
0
                   MVT::v4i32, 2, 0, 2, 
28989
0
    10, 
28990
0
     OPC_CheckPatternPredicate4,
28991
0
     OPC_CheckComplexPat3, /*#*/1,
28992
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
28993
0
                   MVT::v4i32, 2, 0, 2, 
28994
0
    8, 
28995
0
     OPC_CheckPatternPredicate1,
28996
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
28997
0
                   MVT::v4i32, 2, 0, 1, 
28998
0
    0, 
28999
0
   35, 
29000
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29001
0
    OPC_Scope, 10, 
29002
0
     OPC_CheckPatternPredicate2,
29003
0
     OPC_CheckComplexPat3, /*#*/1,
29004
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
29005
0
                   MVT::v4i32, 2, 0, 2, 
29006
0
    10, 
29007
0
     OPC_CheckPatternPredicate4,
29008
0
     OPC_CheckComplexPat3, /*#*/1,
29009
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
29010
0
                   MVT::v4i32, 2, 0, 2, 
29011
0
    8, 
29012
0
     OPC_CheckPatternPredicate1,
29013
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
29014
0
                   MVT::v4i32, 2, 0, 1, 
29015
0
    0, 
29016
0
   35, 
29017
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29018
0
    OPC_Scope, 10, 
29019
0
     OPC_CheckPatternPredicate2,
29020
0
     OPC_CheckComplexPat1, /*#*/1,
29021
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
29022
0
                   MVT::v4i32, 2, 0, 2, 
29023
0
    10, 
29024
0
     OPC_CheckPatternPredicate4,
29025
0
     OPC_CheckComplexPat1, /*#*/1,
29026
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
29027
0
                   MVT::v4i32, 2, 0, 2, 
29028
0
    8, 
29029
0
     OPC_CheckPatternPredicate1,
29030
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
29031
0
                   MVT::v4i32, 2, 0, 1, 
29032
0
    0, 
29033
0
   35, 
29034
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29035
0
    OPC_Scope, 10, 
29036
0
     OPC_CheckPatternPredicate2,
29037
0
     OPC_CheckComplexPat1, /*#*/1,
29038
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
29039
0
                   MVT::v4i32, 2, 0, 2, 
29040
0
    10, 
29041
0
     OPC_CheckPatternPredicate4,
29042
0
     OPC_CheckComplexPat1, /*#*/1,
29043
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
29044
0
                   MVT::v4i32, 2, 0, 2, 
29045
0
    8, 
29046
0
     OPC_CheckPatternPredicate1,
29047
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
29048
0
                   MVT::v4i32, 2, 0, 1, 
29049
0
    0, 
29050
0
   0, 
29051
0
  59|128,1, 
29052
0
   OPC_CheckChild0Type, MVT::v2i64,
29053
0
   OPC_RecordChild1,
29054
0
   OPC_CheckType, MVT::v2i64,
29055
0
   OPC_Scope, 35, 
29056
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29057
0
    OPC_Scope, 10, 
29058
0
     OPC_CheckPatternPredicate2,
29059
0
     OPC_CheckComplexPat3, /*#*/1,
29060
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
29061
0
                   MVT::v2i64, 2, 0, 2, 
29062
0
    10, 
29063
0
     OPC_CheckPatternPredicate4,
29064
0
     OPC_CheckComplexPat3, /*#*/1,
29065
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
29066
0
                   MVT::v2i64, 2, 0, 2, 
29067
0
    8, 
29068
0
     OPC_CheckPatternPredicate1,
29069
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
29070
0
                   MVT::v2i64, 2, 0, 1, 
29071
0
    0, 
29072
0
   35, 
29073
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29074
0
    OPC_Scope, 10, 
29075
0
     OPC_CheckPatternPredicate2,
29076
0
     OPC_CheckComplexPat3, /*#*/1,
29077
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
29078
0
                   MVT::v2i64, 2, 0, 2, 
29079
0
    10, 
29080
0
     OPC_CheckPatternPredicate4,
29081
0
     OPC_CheckComplexPat3, /*#*/1,
29082
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
29083
0
                   MVT::v2i64, 2, 0, 2, 
29084
0
    8, 
29085
0
     OPC_CheckPatternPredicate1,
29086
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
29087
0
                   MVT::v2i64, 2, 0, 1, 
29088
0
    0, 
29089
0
   35, 
29090
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29091
0
    OPC_Scope, 10, 
29092
0
     OPC_CheckPatternPredicate2,
29093
0
     OPC_CheckComplexPat3, /*#*/1,
29094
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
29095
0
                   MVT::v2i64, 2, 0, 2, 
29096
0
    10, 
29097
0
     OPC_CheckPatternPredicate4,
29098
0
     OPC_CheckComplexPat3, /*#*/1,
29099
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
29100
0
                   MVT::v2i64, 2, 0, 2, 
29101
0
    8, 
29102
0
     OPC_CheckPatternPredicate1,
29103
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
29104
0
                   MVT::v2i64, 2, 0, 1, 
29105
0
    0, 
29106
0
   35, 
29107
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29108
0
    OPC_Scope, 10, 
29109
0
     OPC_CheckPatternPredicate2,
29110
0
     OPC_CheckComplexPat1, /*#*/1,
29111
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
29112
0
                   MVT::v2i64, 2, 0, 2, 
29113
0
    10, 
29114
0
     OPC_CheckPatternPredicate4,
29115
0
     OPC_CheckComplexPat1, /*#*/1,
29116
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
29117
0
                   MVT::v2i64, 2, 0, 2, 
29118
0
    8, 
29119
0
     OPC_CheckPatternPredicate1,
29120
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
29121
0
                   MVT::v2i64, 2, 0, 1, 
29122
0
    0, 
29123
0
   35, 
29124
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29125
0
    OPC_Scope, 10, 
29126
0
     OPC_CheckPatternPredicate2,
29127
0
     OPC_CheckComplexPat1, /*#*/1,
29128
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
29129
0
                   MVT::v2i64, 2, 0, 2, 
29130
0
    10, 
29131
0
     OPC_CheckPatternPredicate4,
29132
0
     OPC_CheckComplexPat1, /*#*/1,
29133
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
29134
0
                   MVT::v2i64, 2, 0, 2, 
29135
0
    8, 
29136
0
     OPC_CheckPatternPredicate1,
29137
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
29138
0
                   MVT::v2i64, 2, 0, 1, 
29139
0
    0, 
29140
0
   0, 
29141
0
  59|128,1, 
29142
0
   OPC_CheckChild0Type, MVT::v32i8,
29143
0
   OPC_RecordChild1,
29144
0
   OPC_CheckType, MVT::v32i8,
29145
0
   OPC_Scope, 35, 
29146
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29147
0
    OPC_Scope, 10, 
29148
0
     OPC_CheckPatternPredicate3,
29149
0
     OPC_CheckComplexPat3, /*#*/1,
29150
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
29151
0
                   MVT::v32i8, 2, 0, 2, 
29152
0
    10, 
29153
0
     OPC_CheckPatternPredicate5,
29154
0
     OPC_CheckComplexPat3, /*#*/1,
29155
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
29156
0
                   MVT::v32i8, 2, 0, 2, 
29157
0
    8, 
29158
0
     OPC_CheckPatternPredicate0,
29159
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
29160
0
                   MVT::v32i8, 2, 0, 1, 
29161
0
    0, 
29162
0
   35, 
29163
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29164
0
    OPC_Scope, 10, 
29165
0
     OPC_CheckPatternPredicate3,
29166
0
     OPC_CheckComplexPat3, /*#*/1,
29167
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
29168
0
                   MVT::v32i8, 2, 0, 2, 
29169
0
    10, 
29170
0
     OPC_CheckPatternPredicate5,
29171
0
     OPC_CheckComplexPat3, /*#*/1,
29172
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
29173
0
                   MVT::v32i8, 2, 0, 2, 
29174
0
    8, 
29175
0
     OPC_CheckPatternPredicate0,
29176
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
29177
0
                   MVT::v32i8, 2, 0, 1, 
29178
0
    0, 
29179
0
   35, 
29180
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29181
0
    OPC_Scope, 10, 
29182
0
     OPC_CheckPatternPredicate3,
29183
0
     OPC_CheckComplexPat3, /*#*/1,
29184
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
29185
0
                   MVT::v32i8, 2, 0, 2, 
29186
0
    10, 
29187
0
     OPC_CheckPatternPredicate5,
29188
0
     OPC_CheckComplexPat3, /*#*/1,
29189
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
29190
0
                   MVT::v32i8, 2, 0, 2, 
29191
0
    8, 
29192
0
     OPC_CheckPatternPredicate0,
29193
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
29194
0
                   MVT::v32i8, 2, 0, 1, 
29195
0
    0, 
29196
0
   35, 
29197
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29198
0
    OPC_Scope, 10, 
29199
0
     OPC_CheckPatternPredicate3,
29200
0
     OPC_CheckComplexPat1, /*#*/1,
29201
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
29202
0
                   MVT::v32i8, 2, 0, 2, 
29203
0
    10, 
29204
0
     OPC_CheckPatternPredicate5,
29205
0
     OPC_CheckComplexPat1, /*#*/1,
29206
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
29207
0
                   MVT::v32i8, 2, 0, 2, 
29208
0
    8, 
29209
0
     OPC_CheckPatternPredicate0,
29210
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
29211
0
                   MVT::v32i8, 2, 0, 1, 
29212
0
    0, 
29213
0
   35, 
29214
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29215
0
    OPC_Scope, 10, 
29216
0
     OPC_CheckPatternPredicate3,
29217
0
     OPC_CheckComplexPat1, /*#*/1,
29218
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
29219
0
                   MVT::v32i8, 2, 0, 2, 
29220
0
    10, 
29221
0
     OPC_CheckPatternPredicate5,
29222
0
     OPC_CheckComplexPat1, /*#*/1,
29223
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
29224
0
                   MVT::v32i8, 2, 0, 2, 
29225
0
    8, 
29226
0
     OPC_CheckPatternPredicate0,
29227
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
29228
0
                   MVT::v32i8, 2, 0, 1, 
29229
0
    0, 
29230
0
   0, 
29231
0
  59|128,1, 
29232
0
   OPC_CheckChild0Type, MVT::v16i16,
29233
0
   OPC_RecordChild1,
29234
0
   OPC_CheckType, MVT::v16i16,
29235
0
   OPC_Scope, 35, 
29236
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29237
0
    OPC_Scope, 10, 
29238
0
     OPC_CheckPatternPredicate3,
29239
0
     OPC_CheckComplexPat3, /*#*/1,
29240
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
29241
0
                   MVT::v16i16, 2, 0, 2, 
29242
0
    10, 
29243
0
     OPC_CheckPatternPredicate5,
29244
0
     OPC_CheckComplexPat3, /*#*/1,
29245
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
29246
0
                   MVT::v16i16, 2, 0, 2, 
29247
0
    8, 
29248
0
     OPC_CheckPatternPredicate0,
29249
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
29250
0
                   MVT::v16i16, 2, 0, 1, 
29251
0
    0, 
29252
0
   35, 
29253
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29254
0
    OPC_Scope, 10, 
29255
0
     OPC_CheckPatternPredicate3,
29256
0
     OPC_CheckComplexPat3, /*#*/1,
29257
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
29258
0
                   MVT::v16i16, 2, 0, 2, 
29259
0
    10, 
29260
0
     OPC_CheckPatternPredicate5,
29261
0
     OPC_CheckComplexPat3, /*#*/1,
29262
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
29263
0
                   MVT::v16i16, 2, 0, 2, 
29264
0
    8, 
29265
0
     OPC_CheckPatternPredicate0,
29266
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
29267
0
                   MVT::v16i16, 2, 0, 1, 
29268
0
    0, 
29269
0
   35, 
29270
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29271
0
    OPC_Scope, 10, 
29272
0
     OPC_CheckPatternPredicate3,
29273
0
     OPC_CheckComplexPat3, /*#*/1,
29274
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
29275
0
                   MVT::v16i16, 2, 0, 2, 
29276
0
    10, 
29277
0
     OPC_CheckPatternPredicate5,
29278
0
     OPC_CheckComplexPat3, /*#*/1,
29279
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
29280
0
                   MVT::v16i16, 2, 0, 2, 
29281
0
    8, 
29282
0
     OPC_CheckPatternPredicate0,
29283
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
29284
0
                   MVT::v16i16, 2, 0, 1, 
29285
0
    0, 
29286
0
   35, 
29287
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29288
0
    OPC_Scope, 10, 
29289
0
     OPC_CheckPatternPredicate3,
29290
0
     OPC_CheckComplexPat1, /*#*/1,
29291
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
29292
0
                   MVT::v16i16, 2, 0, 2, 
29293
0
    10, 
29294
0
     OPC_CheckPatternPredicate5,
29295
0
     OPC_CheckComplexPat1, /*#*/1,
29296
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
29297
0
                   MVT::v16i16, 2, 0, 2, 
29298
0
    8, 
29299
0
     OPC_CheckPatternPredicate0,
29300
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
29301
0
                   MVT::v16i16, 2, 0, 1, 
29302
0
    0, 
29303
0
   35, 
29304
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29305
0
    OPC_Scope, 10, 
29306
0
     OPC_CheckPatternPredicate3,
29307
0
     OPC_CheckComplexPat1, /*#*/1,
29308
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
29309
0
                   MVT::v16i16, 2, 0, 2, 
29310
0
    10, 
29311
0
     OPC_CheckPatternPredicate5,
29312
0
     OPC_CheckComplexPat1, /*#*/1,
29313
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
29314
0
                   MVT::v16i16, 2, 0, 2, 
29315
0
    8, 
29316
0
     OPC_CheckPatternPredicate0,
29317
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
29318
0
                   MVT::v16i16, 2, 0, 1, 
29319
0
    0, 
29320
0
   0, 
29321
0
  59|128,1, 
29322
0
   OPC_CheckChild0Type, MVT::v8i32,
29323
0
   OPC_RecordChild1,
29324
0
   OPC_CheckType, MVT::v8i32,
29325
0
   OPC_Scope, 35, 
29326
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29327
0
    OPC_Scope, 10, 
29328
0
     OPC_CheckPatternPredicate3,
29329
0
     OPC_CheckComplexPat3, /*#*/1,
29330
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
29331
0
                   MVT::v8i32, 2, 0, 2, 
29332
0
    10, 
29333
0
     OPC_CheckPatternPredicate5,
29334
0
     OPC_CheckComplexPat3, /*#*/1,
29335
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
29336
0
                   MVT::v8i32, 2, 0, 2, 
29337
0
    8, 
29338
0
     OPC_CheckPatternPredicate0,
29339
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
29340
0
                   MVT::v8i32, 2, 0, 1, 
29341
0
    0, 
29342
0
   35, 
29343
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29344
0
    OPC_Scope, 10, 
29345
0
     OPC_CheckPatternPredicate3,
29346
0
     OPC_CheckComplexPat3, /*#*/1,
29347
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
29348
0
                   MVT::v8i32, 2, 0, 2, 
29349
0
    10, 
29350
0
     OPC_CheckPatternPredicate5,
29351
0
     OPC_CheckComplexPat3, /*#*/1,
29352
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
29353
0
                   MVT::v8i32, 2, 0, 2, 
29354
0
    8, 
29355
0
     OPC_CheckPatternPredicate0,
29356
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
29357
0
                   MVT::v8i32, 2, 0, 1, 
29358
0
    0, 
29359
0
   35, 
29360
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29361
0
    OPC_Scope, 10, 
29362
0
     OPC_CheckPatternPredicate3,
29363
0
     OPC_CheckComplexPat3, /*#*/1,
29364
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
29365
0
                   MVT::v8i32, 2, 0, 2, 
29366
0
    10, 
29367
0
     OPC_CheckPatternPredicate5,
29368
0
     OPC_CheckComplexPat3, /*#*/1,
29369
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
29370
0
                   MVT::v8i32, 2, 0, 2, 
29371
0
    8, 
29372
0
     OPC_CheckPatternPredicate0,
29373
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
29374
0
                   MVT::v8i32, 2, 0, 1, 
29375
0
    0, 
29376
0
   35, 
29377
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29378
0
    OPC_Scope, 10, 
29379
0
     OPC_CheckPatternPredicate3,
29380
0
     OPC_CheckComplexPat1, /*#*/1,
29381
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
29382
0
                   MVT::v8i32, 2, 0, 2, 
29383
0
    10, 
29384
0
     OPC_CheckPatternPredicate5,
29385
0
     OPC_CheckComplexPat1, /*#*/1,
29386
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
29387
0
                   MVT::v8i32, 2, 0, 2, 
29388
0
    8, 
29389
0
     OPC_CheckPatternPredicate0,
29390
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
29391
0
                   MVT::v8i32, 2, 0, 1, 
29392
0
    0, 
29393
0
   35, 
29394
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29395
0
    OPC_Scope, 10, 
29396
0
     OPC_CheckPatternPredicate3,
29397
0
     OPC_CheckComplexPat1, /*#*/1,
29398
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
29399
0
                   MVT::v8i32, 2, 0, 2, 
29400
0
    10, 
29401
0
     OPC_CheckPatternPredicate5,
29402
0
     OPC_CheckComplexPat1, /*#*/1,
29403
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
29404
0
                   MVT::v8i32, 2, 0, 2, 
29405
0
    8, 
29406
0
     OPC_CheckPatternPredicate0,
29407
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
29408
0
                   MVT::v8i32, 2, 0, 1, 
29409
0
    0, 
29410
0
   0, 
29411
0
  59|128,1, 
29412
0
   OPC_CheckChild0Type, MVT::v4i64,
29413
0
   OPC_RecordChild1,
29414
0
   OPC_CheckType, MVT::v4i64,
29415
0
   OPC_Scope, 35, 
29416
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29417
0
    OPC_Scope, 10, 
29418
0
     OPC_CheckPatternPredicate3,
29419
0
     OPC_CheckComplexPat3, /*#*/1,
29420
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
29421
0
                   MVT::v4i64, 2, 0, 2, 
29422
0
    10, 
29423
0
     OPC_CheckPatternPredicate5,
29424
0
     OPC_CheckComplexPat3, /*#*/1,
29425
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
29426
0
                   MVT::v4i64, 2, 0, 2, 
29427
0
    8, 
29428
0
     OPC_CheckPatternPredicate0,
29429
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
29430
0
                   MVT::v4i64, 2, 0, 1, 
29431
0
    0, 
29432
0
   35, 
29433
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29434
0
    OPC_Scope, 10, 
29435
0
     OPC_CheckPatternPredicate3,
29436
0
     OPC_CheckComplexPat3, /*#*/1,
29437
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
29438
0
                   MVT::v4i64, 2, 0, 2, 
29439
0
    10, 
29440
0
     OPC_CheckPatternPredicate5,
29441
0
     OPC_CheckComplexPat3, /*#*/1,
29442
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
29443
0
                   MVT::v4i64, 2, 0, 2, 
29444
0
    8, 
29445
0
     OPC_CheckPatternPredicate0,
29446
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
29447
0
                   MVT::v4i64, 2, 0, 1, 
29448
0
    0, 
29449
0
   35, 
29450
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29451
0
    OPC_Scope, 10, 
29452
0
     OPC_CheckPatternPredicate3,
29453
0
     OPC_CheckComplexPat3, /*#*/1,
29454
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
29455
0
                   MVT::v4i64, 2, 0, 2, 
29456
0
    10, 
29457
0
     OPC_CheckPatternPredicate5,
29458
0
     OPC_CheckComplexPat3, /*#*/1,
29459
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
29460
0
                   MVT::v4i64, 2, 0, 2, 
29461
0
    8, 
29462
0
     OPC_CheckPatternPredicate0,
29463
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
29464
0
                   MVT::v4i64, 2, 0, 1, 
29465
0
    0, 
29466
0
   35, 
29467
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29468
0
    OPC_Scope, 10, 
29469
0
     OPC_CheckPatternPredicate3,
29470
0
     OPC_CheckComplexPat1, /*#*/1,
29471
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
29472
0
                   MVT::v4i64, 2, 0, 2, 
29473
0
    10, 
29474
0
     OPC_CheckPatternPredicate5,
29475
0
     OPC_CheckComplexPat1, /*#*/1,
29476
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
29477
0
                   MVT::v4i64, 2, 0, 2, 
29478
0
    8, 
29479
0
     OPC_CheckPatternPredicate0,
29480
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
29481
0
                   MVT::v4i64, 2, 0, 1, 
29482
0
    0, 
29483
0
   35, 
29484
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29485
0
    OPC_Scope, 10, 
29486
0
     OPC_CheckPatternPredicate3,
29487
0
     OPC_CheckComplexPat1, /*#*/1,
29488
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
29489
0
                   MVT::v4i64, 2, 0, 2, 
29490
0
    10, 
29491
0
     OPC_CheckPatternPredicate5,
29492
0
     OPC_CheckComplexPat1, /*#*/1,
29493
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
29494
0
                   MVT::v4i64, 2, 0, 2, 
29495
0
    8, 
29496
0
     OPC_CheckPatternPredicate0,
29497
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
29498
0
                   MVT::v4i64, 2, 0, 1, 
29499
0
    0, 
29500
0
   0, 
29501
0
  33|128,1, 
29502
0
   OPC_CheckChild0Type, MVT::v4f32,
29503
0
   OPC_RecordChild1,
29504
0
   OPC_CheckType, MVT::v4i32,
29505
0
   OPC_Scope, 10, 
29506
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29507
0
    OPC_CheckPatternPredicate1,
29508
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
29509
0
                  MVT::v4i32, 2, 0, 1, 
29510
0
   10, 
29511
0
    OPC_CheckChild2CondCode, ISD::SETOEQ,
29512
0
    OPC_CheckPatternPredicate1,
29513
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
29514
0
                  MVT::v4i32, 2, 0, 1, 
29515
0
   10, 
29516
0
    OPC_CheckChild2CondCode, ISD::SETUEQ,
29517
0
    OPC_CheckPatternPredicate1,
29518
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
29519
0
                  MVT::v4i32, 2, 0, 1, 
29520
0
   10, 
29521
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29522
0
    OPC_CheckPatternPredicate1,
29523
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
29524
0
                  MVT::v4i32, 2, 0, 1, 
29525
0
   10, 
29526
0
    OPC_CheckChild2CondCode, ISD::SETOLE,
29527
0
    OPC_CheckPatternPredicate1,
29528
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
29529
0
                  MVT::v4i32, 2, 0, 1, 
29530
0
   10, 
29531
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29532
0
    OPC_CheckPatternPredicate1,
29533
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
29534
0
                  MVT::v4i32, 2, 0, 1, 
29535
0
   10, 
29536
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29537
0
    OPC_CheckPatternPredicate1,
29538
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
29539
0
                  MVT::v4i32, 2, 0, 1, 
29540
0
   10, 
29541
0
    OPC_CheckChild2CondCode, ISD::SETOLT,
29542
0
    OPC_CheckPatternPredicate1,
29543
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
29544
0
                  MVT::v4i32, 2, 0, 1, 
29545
0
   10, 
29546
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29547
0
    OPC_CheckPatternPredicate1,
29548
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
29549
0
                  MVT::v4i32, 2, 0, 1, 
29550
0
   10, 
29551
0
    OPC_CheckChild2CondCode, ISD::SETNE,
29552
0
    OPC_CheckPatternPredicate1,
29553
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
29554
0
                  MVT::v4i32, 2, 0, 1, 
29555
0
   10, 
29556
0
    OPC_CheckChild2CondCode, ISD::SETONE,
29557
0
    OPC_CheckPatternPredicate1,
29558
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
29559
0
                  MVT::v4i32, 2, 0, 1, 
29560
0
   10, 
29561
0
    OPC_CheckChild2CondCode, ISD::SETUNE,
29562
0
    OPC_CheckPatternPredicate1,
29563
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
29564
0
                  MVT::v4i32, 2, 0, 1, 
29565
0
   10, 
29566
0
    OPC_CheckChild2CondCode, ISD::SETO,
29567
0
    OPC_CheckPatternPredicate1,
29568
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
29569
0
                  MVT::v4i32, 2, 0, 1, 
29570
0
   10, 
29571
0
    OPC_CheckChild2CondCode, ISD::SETUO,
29572
0
    OPC_CheckPatternPredicate1,
29573
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
29574
0
                  MVT::v4i32, 2, 0, 1, 
29575
0
   0, 
29576
0
  33|128,1, 
29577
0
   OPC_CheckChild0Type, MVT::v2f64,
29578
0
   OPC_RecordChild1,
29579
0
   OPC_CheckType, MVT::v2i64,
29580
0
   OPC_Scope, 10, 
29581
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29582
0
    OPC_CheckPatternPredicate1,
29583
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
29584
0
                  MVT::v2i64, 2, 0, 1, 
29585
0
   10, 
29586
0
    OPC_CheckChild2CondCode, ISD::SETOEQ,
29587
0
    OPC_CheckPatternPredicate1,
29588
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
29589
0
                  MVT::v2i64, 2, 0, 1, 
29590
0
   10, 
29591
0
    OPC_CheckChild2CondCode, ISD::SETUEQ,
29592
0
    OPC_CheckPatternPredicate1,
29593
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
29594
0
                  MVT::v2i64, 2, 0, 1, 
29595
0
   10, 
29596
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29597
0
    OPC_CheckPatternPredicate1,
29598
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
29599
0
                  MVT::v2i64, 2, 0, 1, 
29600
0
   10, 
29601
0
    OPC_CheckChild2CondCode, ISD::SETOLE,
29602
0
    OPC_CheckPatternPredicate1,
29603
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
29604
0
                  MVT::v2i64, 2, 0, 1, 
29605
0
   10, 
29606
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29607
0
    OPC_CheckPatternPredicate1,
29608
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
29609
0
                  MVT::v2i64, 2, 0, 1, 
29610
0
   10, 
29611
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29612
0
    OPC_CheckPatternPredicate1,
29613
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
29614
0
                  MVT::v2i64, 2, 0, 1, 
29615
0
   10, 
29616
0
    OPC_CheckChild2CondCode, ISD::SETOLT,
29617
0
    OPC_CheckPatternPredicate1,
29618
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
29619
0
                  MVT::v2i64, 2, 0, 1, 
29620
0
   10, 
29621
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29622
0
    OPC_CheckPatternPredicate1,
29623
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
29624
0
                  MVT::v2i64, 2, 0, 1, 
29625
0
   10, 
29626
0
    OPC_CheckChild2CondCode, ISD::SETNE,
29627
0
    OPC_CheckPatternPredicate1,
29628
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
29629
0
                  MVT::v2i64, 2, 0, 1, 
29630
0
   10, 
29631
0
    OPC_CheckChild2CondCode, ISD::SETONE,
29632
0
    OPC_CheckPatternPredicate1,
29633
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
29634
0
                  MVT::v2i64, 2, 0, 1, 
29635
0
   10, 
29636
0
    OPC_CheckChild2CondCode, ISD::SETUNE,
29637
0
    OPC_CheckPatternPredicate1,
29638
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
29639
0
                  MVT::v2i64, 2, 0, 1, 
29640
0
   10, 
29641
0
    OPC_CheckChild2CondCode, ISD::SETO,
29642
0
    OPC_CheckPatternPredicate1,
29643
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
29644
0
                  MVT::v2i64, 2, 0, 1, 
29645
0
   10, 
29646
0
    OPC_CheckChild2CondCode, ISD::SETUO,
29647
0
    OPC_CheckPatternPredicate1,
29648
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
29649
0
                  MVT::v2i64, 2, 0, 1, 
29650
0
   0, 
29651
0
  33|128,1, 
29652
0
   OPC_CheckChild0Type, MVT::v8f32,
29653
0
   OPC_RecordChild1,
29654
0
   OPC_CheckType, MVT::v8i32,
29655
0
   OPC_Scope, 10, 
29656
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29657
0
    OPC_CheckPatternPredicate0,
29658
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
29659
0
                  MVT::v8i32, 2, 0, 1, 
29660
0
   10, 
29661
0
    OPC_CheckChild2CondCode, ISD::SETOEQ,
29662
0
    OPC_CheckPatternPredicate0,
29663
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
29664
0
                  MVT::v8i32, 2, 0, 1, 
29665
0
   10, 
29666
0
    OPC_CheckChild2CondCode, ISD::SETUEQ,
29667
0
    OPC_CheckPatternPredicate0,
29668
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
29669
0
                  MVT::v8i32, 2, 0, 1, 
29670
0
   10, 
29671
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29672
0
    OPC_CheckPatternPredicate0,
29673
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
29674
0
                  MVT::v8i32, 2, 0, 1, 
29675
0
   10, 
29676
0
    OPC_CheckChild2CondCode, ISD::SETOLE,
29677
0
    OPC_CheckPatternPredicate0,
29678
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
29679
0
                  MVT::v8i32, 2, 0, 1, 
29680
0
   10, 
29681
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29682
0
    OPC_CheckPatternPredicate0,
29683
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
29684
0
                  MVT::v8i32, 2, 0, 1, 
29685
0
   10, 
29686
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29687
0
    OPC_CheckPatternPredicate0,
29688
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
29689
0
                  MVT::v8i32, 2, 0, 1, 
29690
0
   10, 
29691
0
    OPC_CheckChild2CondCode, ISD::SETOLT,
29692
0
    OPC_CheckPatternPredicate0,
29693
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
29694
0
                  MVT::v8i32, 2, 0, 1, 
29695
0
   10, 
29696
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29697
0
    OPC_CheckPatternPredicate0,
29698
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
29699
0
                  MVT::v8i32, 2, 0, 1, 
29700
0
   10, 
29701
0
    OPC_CheckChild2CondCode, ISD::SETNE,
29702
0
    OPC_CheckPatternPredicate0,
29703
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
29704
0
                  MVT::v8i32, 2, 0, 1, 
29705
0
   10, 
29706
0
    OPC_CheckChild2CondCode, ISD::SETONE,
29707
0
    OPC_CheckPatternPredicate0,
29708
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
29709
0
                  MVT::v8i32, 2, 0, 1, 
29710
0
   10, 
29711
0
    OPC_CheckChild2CondCode, ISD::SETUNE,
29712
0
    OPC_CheckPatternPredicate0,
29713
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
29714
0
                  MVT::v8i32, 2, 0, 1, 
29715
0
   10, 
29716
0
    OPC_CheckChild2CondCode, ISD::SETO,
29717
0
    OPC_CheckPatternPredicate0,
29718
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
29719
0
                  MVT::v8i32, 2, 0, 1, 
29720
0
   10, 
29721
0
    OPC_CheckChild2CondCode, ISD::SETUO,
29722
0
    OPC_CheckPatternPredicate0,
29723
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
29724
0
                  MVT::v8i32, 2, 0, 1, 
29725
0
   0, 
29726
0
  33|128,1, 
29727
0
   OPC_CheckChild0Type, MVT::v4f64,
29728
0
   OPC_RecordChild1,
29729
0
   OPC_CheckType, MVT::v4i64,
29730
0
   OPC_Scope, 10, 
29731
0
    OPC_CheckChild2CondCode, ISD::SETEQ,
29732
0
    OPC_CheckPatternPredicate0,
29733
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
29734
0
                  MVT::v4i64, 2, 0, 1, 
29735
0
   10, 
29736
0
    OPC_CheckChild2CondCode, ISD::SETOEQ,
29737
0
    OPC_CheckPatternPredicate0,
29738
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
29739
0
                  MVT::v4i64, 2, 0, 1, 
29740
0
   10, 
29741
0
    OPC_CheckChild2CondCode, ISD::SETUEQ,
29742
0
    OPC_CheckPatternPredicate0,
29743
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
29744
0
                  MVT::v4i64, 2, 0, 1, 
29745
0
   10, 
29746
0
    OPC_CheckChild2CondCode, ISD::SETLE,
29747
0
    OPC_CheckPatternPredicate0,
29748
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
29749
0
                  MVT::v4i64, 2, 0, 1, 
29750
0
   10, 
29751
0
    OPC_CheckChild2CondCode, ISD::SETOLE,
29752
0
    OPC_CheckPatternPredicate0,
29753
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
29754
0
                  MVT::v4i64, 2, 0, 1, 
29755
0
   10, 
29756
0
    OPC_CheckChild2CondCode, ISD::SETULE,
29757
0
    OPC_CheckPatternPredicate0,
29758
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
29759
0
                  MVT::v4i64, 2, 0, 1, 
29760
0
   10, 
29761
0
    OPC_CheckChild2CondCode, ISD::SETLT,
29762
0
    OPC_CheckPatternPredicate0,
29763
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
29764
0
                  MVT::v4i64, 2, 0, 1, 
29765
0
   10, 
29766
0
    OPC_CheckChild2CondCode, ISD::SETOLT,
29767
0
    OPC_CheckPatternPredicate0,
29768
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
29769
0
                  MVT::v4i64, 2, 0, 1, 
29770
0
   10, 
29771
0
    OPC_CheckChild2CondCode, ISD::SETULT,
29772
0
    OPC_CheckPatternPredicate0,
29773
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
29774
0
                  MVT::v4i64, 2, 0, 1, 
29775
0
   10, 
29776
0
    OPC_CheckChild2CondCode, ISD::SETNE,
29777
0
    OPC_CheckPatternPredicate0,
29778
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
29779
0
                  MVT::v4i64, 2, 0, 1, 
29780
0
   10, 
29781
0
    OPC_CheckChild2CondCode, ISD::SETONE,
29782
0
    OPC_CheckPatternPredicate0,
29783
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
29784
0
                  MVT::v4i64, 2, 0, 1, 
29785
0
   10, 
29786
0
    OPC_CheckChild2CondCode, ISD::SETUNE,
29787
0
    OPC_CheckPatternPredicate0,
29788
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
29789
0
                  MVT::v4i64, 2, 0, 1, 
29790
0
   10, 
29791
0
    OPC_CheckChild2CondCode, ISD::SETO,
29792
0
    OPC_CheckPatternPredicate0,
29793
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
29794
0
                  MVT::v4i64, 2, 0, 1, 
29795
0
   10, 
29796
0
    OPC_CheckChild2CondCode, ISD::SETUO,
29797
0
    OPC_CheckPatternPredicate0,
29798
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
29799
0
                  MVT::v4i64, 2, 0, 1, 
29800
0
   0, 
29801
0
  0, 
29802
0
 112|128,9, TARGET_VAL(ISD::SELECT),
29803
0
  OPC_Scope, 114, 
29804
0
   OPC_RecordChild0,
29805
0
   OPC_SwitchType , 52, MVT::i64,
29806
0
    OPC_CheckChild0TypeI64,
29807
0
    OPC_Scope, 11, 
29808
0
     OPC_RecordChild1,
29809
0
     OPC_CheckChild2Integer, 0, 
29810
0
     OPC_CheckPatternPredicate7,
29811
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
29812
0
                   MVT::i64, 2, 1, 0, 
29813
0
    11, 
29814
0
     OPC_CheckChild1Integer, 0, 
29815
0
     OPC_RecordChild2,
29816
0
     OPC_CheckPatternPredicate7,
29817
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
29818
0
                   MVT::i64, 2, 1, 0, 
29819
0
    24, 
29820
0
     OPC_RecordChild1,
29821
0
     OPC_RecordChild2,
29822
0
     OPC_CheckPatternPredicate7,
29823
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
29824
0
                   MVT::i64, 2, 1, 0, 
29825
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
29826
0
                   MVT::i64, 2, 2, 0, 
29827
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
29828
0
                   MVT::i64, 2, 3, 4, 
29829
0
    0, 
29830
0
   55, MVT::i32,
29831
0
    OPC_CheckChild0TypeI32,
29832
0
    OPC_Scope, 12, 
29833
0
     OPC_RecordChild1,
29834
0
     OPC_CheckChild2Integer, 0, 
29835
0
     OPC_CheckPatternPredicate, 8,
29836
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
29837
0
                   MVT::i32, 2, 1, 0, 
29838
0
    12, 
29839
0
     OPC_CheckChild1Integer, 0, 
29840
0
     OPC_RecordChild2,
29841
0
     OPC_CheckPatternPredicate, 8,
29842
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
29843
0
                   MVT::i32, 2, 1, 0, 
29844
0
    25, 
29845
0
     OPC_RecordChild1,
29846
0
     OPC_RecordChild2,
29847
0
     OPC_CheckPatternPredicate, 8,
29848
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
29849
0
                   MVT::i32, 2, 1, 0, 
29850
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
29851
0
                   MVT::i32, 2, 2, 0, 
29852
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
29853
0
                   MVT::i32, 2, 3, 4, 
29854
0
    0, 
29855
0
   0,
29856
0
  57|128,8, 
29857
0
   OPC_MoveChild0,
29858
0
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
29859
0
   OPC_RecordChild0,
29860
0
   OPC_Scope, 23|128,4, 
29861
0
    OPC_CheckChild0Type, MVT::f32,
29862
0
    OPC_RecordChild1,
29863
0
    OPC_Scope, 52, 
29864
0
     OPC_CheckChild2CondCode, ISD::SETOEQ,
29865
0
     OPC_SwitchType , 22, MVT::i64,
29866
0
      OPC_MoveParent,
29867
0
      OPC_RecordChild1,
29868
0
      OPC_RecordChild2,
29869
0
      OPC_CheckType, MVT::f32,
29870
0
      OPC_CheckPatternPredicate, 11,
29871
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
29872
0
                    MVT::i64, 2, 0, 1, 
29873
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29874
0
                    MVT::f32, 3, 3, 2, 4, 
29875
0
     22, MVT::i32,
29876
0
      OPC_MoveParent,
29877
0
      OPC_RecordChild1,
29878
0
      OPC_RecordChild2,
29879
0
      OPC_CheckType, MVT::f32,
29880
0
      OPC_CheckPatternPredicate, 12,
29881
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
29882
0
                    MVT::i32, 2, 0, 1, 
29883
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29884
0
                    MVT::f32, 3, 3, 2, 4, 
29885
0
     0,
29886
0
    52, 
29887
0
     OPC_CheckChild2CondCode, ISD::SETOLT,
29888
0
     OPC_SwitchType , 22, MVT::i64,
29889
0
      OPC_MoveParent,
29890
0
      OPC_RecordChild1,
29891
0
      OPC_RecordChild2,
29892
0
      OPC_CheckType, MVT::f32,
29893
0
      OPC_CheckPatternPredicate, 11,
29894
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
29895
0
                    MVT::i64, 2, 0, 1, 
29896
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29897
0
                    MVT::f32, 3, 3, 2, 4, 
29898
0
     22, MVT::i32,
29899
0
      OPC_MoveParent,
29900
0
      OPC_RecordChild1,
29901
0
      OPC_RecordChild2,
29902
0
      OPC_CheckType, MVT::f32,
29903
0
      OPC_CheckPatternPredicate, 12,
29904
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
29905
0
                    MVT::i32, 2, 0, 1, 
29906
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29907
0
                    MVT::f32, 3, 3, 2, 4, 
29908
0
     0,
29909
0
    52, 
29910
0
     OPC_CheckChild2CondCode, ISD::SETOLE,
29911
0
     OPC_SwitchType , 22, MVT::i64,
29912
0
      OPC_MoveParent,
29913
0
      OPC_RecordChild1,
29914
0
      OPC_RecordChild2,
29915
0
      OPC_CheckType, MVT::f32,
29916
0
      OPC_CheckPatternPredicate, 11,
29917
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
29918
0
                    MVT::i64, 2, 0, 1, 
29919
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29920
0
                    MVT::f32, 3, 3, 2, 4, 
29921
0
     22, MVT::i32,
29922
0
      OPC_MoveParent,
29923
0
      OPC_RecordChild1,
29924
0
      OPC_RecordChild2,
29925
0
      OPC_CheckType, MVT::f32,
29926
0
      OPC_CheckPatternPredicate, 12,
29927
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
29928
0
                    MVT::i32, 2, 0, 1, 
29929
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29930
0
                    MVT::f32, 3, 3, 2, 4, 
29931
0
     0,
29932
0
    52, 
29933
0
     OPC_CheckChild2CondCode, ISD::SETONE,
29934
0
     OPC_SwitchType , 22, MVT::i64,
29935
0
      OPC_MoveParent,
29936
0
      OPC_RecordChild1,
29937
0
      OPC_RecordChild2,
29938
0
      OPC_CheckType, MVT::f32,
29939
0
      OPC_CheckPatternPredicate, 11,
29940
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
29941
0
                    MVT::i64, 2, 0, 1, 
29942
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29943
0
                    MVT::f32, 3, 3, 2, 4, 
29944
0
     22, MVT::i32,
29945
0
      OPC_MoveParent,
29946
0
      OPC_RecordChild1,
29947
0
      OPC_RecordChild2,
29948
0
      OPC_CheckType, MVT::f32,
29949
0
      OPC_CheckPatternPredicate, 12,
29950
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
29951
0
                    MVT::i32, 2, 0, 1, 
29952
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29953
0
                    MVT::f32, 3, 3, 2, 4, 
29954
0
     0,
29955
0
    52, 
29956
0
     OPC_CheckChild2CondCode, ISD::SETO,
29957
0
     OPC_SwitchType , 22, MVT::i64,
29958
0
      OPC_MoveParent,
29959
0
      OPC_RecordChild1,
29960
0
      OPC_RecordChild2,
29961
0
      OPC_CheckType, MVT::f32,
29962
0
      OPC_CheckPatternPredicate, 11,
29963
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
29964
0
                    MVT::i64, 2, 0, 1, 
29965
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29966
0
                    MVT::f32, 3, 3, 2, 4, 
29967
0
     22, MVT::i32,
29968
0
      OPC_MoveParent,
29969
0
      OPC_RecordChild1,
29970
0
      OPC_RecordChild2,
29971
0
      OPC_CheckType, MVT::f32,
29972
0
      OPC_CheckPatternPredicate, 12,
29973
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
29974
0
                    MVT::i32, 2, 0, 1, 
29975
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29976
0
                    MVT::f32, 3, 3, 2, 4, 
29977
0
     0,
29978
0
    52, 
29979
0
     OPC_CheckChild2CondCode, ISD::SETUEQ,
29980
0
     OPC_SwitchType , 22, MVT::i64,
29981
0
      OPC_MoveParent,
29982
0
      OPC_RecordChild1,
29983
0
      OPC_RecordChild2,
29984
0
      OPC_CheckType, MVT::f32,
29985
0
      OPC_CheckPatternPredicate, 11,
29986
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
29987
0
                    MVT::i64, 2, 0, 1, 
29988
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29989
0
                    MVT::f32, 3, 3, 2, 4, 
29990
0
     22, MVT::i32,
29991
0
      OPC_MoveParent,
29992
0
      OPC_RecordChild1,
29993
0
      OPC_RecordChild2,
29994
0
      OPC_CheckType, MVT::f32,
29995
0
      OPC_CheckPatternPredicate, 12,
29996
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
29997
0
                    MVT::i32, 2, 0, 1, 
29998
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29999
0
                    MVT::f32, 3, 3, 2, 4, 
30000
0
     0,
30001
0
    52, 
30002
0
     OPC_CheckChild2CondCode, ISD::SETULT,
30003
0
     OPC_SwitchType , 22, MVT::i64,
30004
0
      OPC_MoveParent,
30005
0
      OPC_RecordChild1,
30006
0
      OPC_RecordChild2,
30007
0
      OPC_CheckType, MVT::f32,
30008
0
      OPC_CheckPatternPredicate, 11,
30009
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
30010
0
                    MVT::i64, 2, 0, 1, 
30011
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30012
0
                    MVT::f32, 3, 3, 2, 4, 
30013
0
     22, MVT::i32,
30014
0
      OPC_MoveParent,
30015
0
      OPC_RecordChild1,
30016
0
      OPC_RecordChild2,
30017
0
      OPC_CheckType, MVT::f32,
30018
0
      OPC_CheckPatternPredicate, 12,
30019
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
30020
0
                    MVT::i32, 2, 0, 1, 
30021
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30022
0
                    MVT::f32, 3, 3, 2, 4, 
30023
0
     0,
30024
0
    52, 
30025
0
     OPC_CheckChild2CondCode, ISD::SETULE,
30026
0
     OPC_SwitchType , 22, MVT::i64,
30027
0
      OPC_MoveParent,
30028
0
      OPC_RecordChild1,
30029
0
      OPC_RecordChild2,
30030
0
      OPC_CheckType, MVT::f32,
30031
0
      OPC_CheckPatternPredicate, 11,
30032
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
30033
0
                    MVT::i64, 2, 0, 1, 
30034
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30035
0
                    MVT::f32, 3, 3, 2, 4, 
30036
0
     22, MVT::i32,
30037
0
      OPC_MoveParent,
30038
0
      OPC_RecordChild1,
30039
0
      OPC_RecordChild2,
30040
0
      OPC_CheckType, MVT::f32,
30041
0
      OPC_CheckPatternPredicate, 12,
30042
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
30043
0
                    MVT::i32, 2, 0, 1, 
30044
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30045
0
                    MVT::f32, 3, 3, 2, 4, 
30046
0
     0,
30047
0
    52, 
30048
0
     OPC_CheckChild2CondCode, ISD::SETUNE,
30049
0
     OPC_SwitchType , 22, MVT::i64,
30050
0
      OPC_MoveParent,
30051
0
      OPC_RecordChild1,
30052
0
      OPC_RecordChild2,
30053
0
      OPC_CheckType, MVT::f32,
30054
0
      OPC_CheckPatternPredicate, 11,
30055
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
30056
0
                    MVT::i64, 2, 0, 1, 
30057
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30058
0
                    MVT::f32, 3, 3, 2, 4, 
30059
0
     22, MVT::i32,
30060
0
      OPC_MoveParent,
30061
0
      OPC_RecordChild1,
30062
0
      OPC_RecordChild2,
30063
0
      OPC_CheckType, MVT::f32,
30064
0
      OPC_CheckPatternPredicate, 12,
30065
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
30066
0
                    MVT::i32, 2, 0, 1, 
30067
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30068
0
                    MVT::f32, 3, 3, 2, 4, 
30069
0
     0,
30070
0
    52, 
30071
0
     OPC_CheckChild2CondCode, ISD::SETUO,
30072
0
     OPC_SwitchType , 22, MVT::i64,
30073
0
      OPC_MoveParent,
30074
0
      OPC_RecordChild1,
30075
0
      OPC_RecordChild2,
30076
0
      OPC_CheckType, MVT::f32,
30077
0
      OPC_CheckPatternPredicate, 11,
30078
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
30079
0
                    MVT::i64, 2, 0, 1, 
30080
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30081
0
                    MVT::f32, 3, 3, 2, 4, 
30082
0
     22, MVT::i32,
30083
0
      OPC_MoveParent,
30084
0
      OPC_RecordChild1,
30085
0
      OPC_RecordChild2,
30086
0
      OPC_CheckType, MVT::f32,
30087
0
      OPC_CheckPatternPredicate, 12,
30088
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
30089
0
                    MVT::i32, 2, 0, 1, 
30090
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30091
0
                    MVT::f32, 3, 3, 2, 4, 
30092
0
     0,
30093
0
    0, 
30094
0
   23|128,4, 
30095
0
    OPC_CheckChild0Type, MVT::f64,
30096
0
    OPC_RecordChild1,
30097
0
    OPC_Scope, 52, 
30098
0
     OPC_CheckChild2CondCode, ISD::SETOEQ,
30099
0
     OPC_SwitchType , 22, MVT::i64,
30100
0
      OPC_MoveParent,
30101
0
      OPC_RecordChild1,
30102
0
      OPC_RecordChild2,
30103
0
      OPC_CheckType, MVT::f64,
30104
0
      OPC_CheckPatternPredicate, 13,
30105
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
30106
0
                    MVT::i64, 2, 0, 1, 
30107
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30108
0
                    MVT::f64, 3, 3, 2, 4, 
30109
0
     22, MVT::i32,
30110
0
      OPC_MoveParent,
30111
0
      OPC_RecordChild1,
30112
0
      OPC_RecordChild2,
30113
0
      OPC_CheckType, MVT::f64,
30114
0
      OPC_CheckPatternPredicate, 14,
30115
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
30116
0
                    MVT::i32, 2, 0, 1, 
30117
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30118
0
                    MVT::f64, 3, 3, 2, 4, 
30119
0
     0,
30120
0
    52, 
30121
0
     OPC_CheckChild2CondCode, ISD::SETOLT,
30122
0
     OPC_SwitchType , 22, MVT::i64,
30123
0
      OPC_MoveParent,
30124
0
      OPC_RecordChild1,
30125
0
      OPC_RecordChild2,
30126
0
      OPC_CheckType, MVT::f64,
30127
0
      OPC_CheckPatternPredicate, 13,
30128
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
30129
0
                    MVT::i64, 2, 0, 1, 
30130
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30131
0
                    MVT::f64, 3, 3, 2, 4, 
30132
0
     22, MVT::i32,
30133
0
      OPC_MoveParent,
30134
0
      OPC_RecordChild1,
30135
0
      OPC_RecordChild2,
30136
0
      OPC_CheckType, MVT::f64,
30137
0
      OPC_CheckPatternPredicate, 14,
30138
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
30139
0
                    MVT::i32, 2, 0, 1, 
30140
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30141
0
                    MVT::f64, 3, 3, 2, 4, 
30142
0
     0,
30143
0
    52, 
30144
0
     OPC_CheckChild2CondCode, ISD::SETOLE,
30145
0
     OPC_SwitchType , 22, MVT::i64,
30146
0
      OPC_MoveParent,
30147
0
      OPC_RecordChild1,
30148
0
      OPC_RecordChild2,
30149
0
      OPC_CheckType, MVT::f64,
30150
0
      OPC_CheckPatternPredicate, 13,
30151
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
30152
0
                    MVT::i64, 2, 0, 1, 
30153
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30154
0
                    MVT::f64, 3, 3, 2, 4, 
30155
0
     22, MVT::i32,
30156
0
      OPC_MoveParent,
30157
0
      OPC_RecordChild1,
30158
0
      OPC_RecordChild2,
30159
0
      OPC_CheckType, MVT::f64,
30160
0
      OPC_CheckPatternPredicate, 14,
30161
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
30162
0
                    MVT::i32, 2, 0, 1, 
30163
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30164
0
                    MVT::f64, 3, 3, 2, 4, 
30165
0
     0,
30166
0
    52, 
30167
0
     OPC_CheckChild2CondCode, ISD::SETONE,
30168
0
     OPC_SwitchType , 22, MVT::i64,
30169
0
      OPC_MoveParent,
30170
0
      OPC_RecordChild1,
30171
0
      OPC_RecordChild2,
30172
0
      OPC_CheckType, MVT::f64,
30173
0
      OPC_CheckPatternPredicate, 13,
30174
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
30175
0
                    MVT::i64, 2, 0, 1, 
30176
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30177
0
                    MVT::f64, 3, 3, 2, 4, 
30178
0
     22, MVT::i32,
30179
0
      OPC_MoveParent,
30180
0
      OPC_RecordChild1,
30181
0
      OPC_RecordChild2,
30182
0
      OPC_CheckType, MVT::f64,
30183
0
      OPC_CheckPatternPredicate, 14,
30184
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
30185
0
                    MVT::i32, 2, 0, 1, 
30186
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30187
0
                    MVT::f64, 3, 3, 2, 4, 
30188
0
     0,
30189
0
    52, 
30190
0
     OPC_CheckChild2CondCode, ISD::SETO,
30191
0
     OPC_SwitchType , 22, MVT::i64,
30192
0
      OPC_MoveParent,
30193
0
      OPC_RecordChild1,
30194
0
      OPC_RecordChild2,
30195
0
      OPC_CheckType, MVT::f64,
30196
0
      OPC_CheckPatternPredicate, 13,
30197
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
30198
0
                    MVT::i64, 2, 0, 1, 
30199
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30200
0
                    MVT::f64, 3, 3, 2, 4, 
30201
0
     22, MVT::i32,
30202
0
      OPC_MoveParent,
30203
0
      OPC_RecordChild1,
30204
0
      OPC_RecordChild2,
30205
0
      OPC_CheckType, MVT::f64,
30206
0
      OPC_CheckPatternPredicate, 14,
30207
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
30208
0
                    MVT::i32, 2, 0, 1, 
30209
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30210
0
                    MVT::f64, 3, 3, 2, 4, 
30211
0
     0,
30212
0
    52, 
30213
0
     OPC_CheckChild2CondCode, ISD::SETUEQ,
30214
0
     OPC_SwitchType , 22, MVT::i64,
30215
0
      OPC_MoveParent,
30216
0
      OPC_RecordChild1,
30217
0
      OPC_RecordChild2,
30218
0
      OPC_CheckType, MVT::f64,
30219
0
      OPC_CheckPatternPredicate, 13,
30220
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
30221
0
                    MVT::i64, 2, 0, 1, 
30222
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30223
0
                    MVT::f64, 3, 3, 2, 4, 
30224
0
     22, MVT::i32,
30225
0
      OPC_MoveParent,
30226
0
      OPC_RecordChild1,
30227
0
      OPC_RecordChild2,
30228
0
      OPC_CheckType, MVT::f64,
30229
0
      OPC_CheckPatternPredicate, 14,
30230
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
30231
0
                    MVT::i32, 2, 0, 1, 
30232
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30233
0
                    MVT::f64, 3, 3, 2, 4, 
30234
0
     0,
30235
0
    52, 
30236
0
     OPC_CheckChild2CondCode, ISD::SETULT,
30237
0
     OPC_SwitchType , 22, MVT::i64,
30238
0
      OPC_MoveParent,
30239
0
      OPC_RecordChild1,
30240
0
      OPC_RecordChild2,
30241
0
      OPC_CheckType, MVT::f64,
30242
0
      OPC_CheckPatternPredicate, 13,
30243
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
30244
0
                    MVT::i64, 2, 0, 1, 
30245
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30246
0
                    MVT::f64, 3, 3, 2, 4, 
30247
0
     22, MVT::i32,
30248
0
      OPC_MoveParent,
30249
0
      OPC_RecordChild1,
30250
0
      OPC_RecordChild2,
30251
0
      OPC_CheckType, MVT::f64,
30252
0
      OPC_CheckPatternPredicate, 14,
30253
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
30254
0
                    MVT::i32, 2, 0, 1, 
30255
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30256
0
                    MVT::f64, 3, 3, 2, 4, 
30257
0
     0,
30258
0
    52, 
30259
0
     OPC_CheckChild2CondCode, ISD::SETULE,
30260
0
     OPC_SwitchType , 22, MVT::i64,
30261
0
      OPC_MoveParent,
30262
0
      OPC_RecordChild1,
30263
0
      OPC_RecordChild2,
30264
0
      OPC_CheckType, MVT::f64,
30265
0
      OPC_CheckPatternPredicate, 13,
30266
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
30267
0
                    MVT::i64, 2, 0, 1, 
30268
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30269
0
                    MVT::f64, 3, 3, 2, 4, 
30270
0
     22, MVT::i32,
30271
0
      OPC_MoveParent,
30272
0
      OPC_RecordChild1,
30273
0
      OPC_RecordChild2,
30274
0
      OPC_CheckType, MVT::f64,
30275
0
      OPC_CheckPatternPredicate, 14,
30276
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
30277
0
                    MVT::i32, 2, 0, 1, 
30278
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30279
0
                    MVT::f64, 3, 3, 2, 4, 
30280
0
     0,
30281
0
    52, 
30282
0
     OPC_CheckChild2CondCode, ISD::SETUNE,
30283
0
     OPC_SwitchType , 22, MVT::i64,
30284
0
      OPC_MoveParent,
30285
0
      OPC_RecordChild1,
30286
0
      OPC_RecordChild2,
30287
0
      OPC_CheckType, MVT::f64,
30288
0
      OPC_CheckPatternPredicate, 13,
30289
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
30290
0
                    MVT::i64, 2, 0, 1, 
30291
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30292
0
                    MVT::f64, 3, 3, 2, 4, 
30293
0
     22, MVT::i32,
30294
0
      OPC_MoveParent,
30295
0
      OPC_RecordChild1,
30296
0
      OPC_RecordChild2,
30297
0
      OPC_CheckType, MVT::f64,
30298
0
      OPC_CheckPatternPredicate, 14,
30299
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
30300
0
                    MVT::i32, 2, 0, 1, 
30301
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30302
0
                    MVT::f64, 3, 3, 2, 4, 
30303
0
     0,
30304
0
    52, 
30305
0
     OPC_CheckChild2CondCode, ISD::SETUO,
30306
0
     OPC_SwitchType , 22, MVT::i64,
30307
0
      OPC_MoveParent,
30308
0
      OPC_RecordChild1,
30309
0
      OPC_RecordChild2,
30310
0
      OPC_CheckType, MVT::f64,
30311
0
      OPC_CheckPatternPredicate, 13,
30312
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
30313
0
                    MVT::i64, 2, 0, 1, 
30314
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30315
0
                    MVT::f64, 3, 3, 2, 4, 
30316
0
     22, MVT::i32,
30317
0
      OPC_MoveParent,
30318
0
      OPC_RecordChild1,
30319
0
      OPC_RecordChild2,
30320
0
      OPC_CheckType, MVT::f64,
30321
0
      OPC_CheckPatternPredicate, 14,
30322
0
      OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
30323
0
                    MVT::i32, 2, 0, 1, 
30324
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30325
0
                    MVT::f64, 3, 3, 2, 4, 
30326
0
     0,
30327
0
    0, 
30328
0
   0, 
30329
0
  63, 
30330
0
   OPC_RecordChild0,
30331
0
   OPC_Scope, 29, 
30332
0
    OPC_CheckChild0TypeI64,
30333
0
    OPC_RecordChild1,
30334
0
    OPC_RecordChild2,
30335
0
    OPC_SwitchType , 10, MVT::f32,
30336
0
     OPC_CheckPatternPredicate, 11,
30337
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30338
0
                   MVT::f32, 3, 2, 1, 0, 
30339
0
    10, MVT::f64,
30340
0
     OPC_CheckPatternPredicate, 13,
30341
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30342
0
                   MVT::f64, 3, 2, 1, 0, 
30343
0
    0,
30344
0
   29, 
30345
0
    OPC_CheckChild0TypeI32,
30346
0
    OPC_RecordChild1,
30347
0
    OPC_RecordChild2,
30348
0
    OPC_SwitchType , 10, MVT::f32,
30349
0
     OPC_CheckPatternPredicate, 12,
30350
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30351
0
                   MVT::f32, 3, 2, 1, 0, 
30352
0
    10, MVT::f64,
30353
0
     OPC_CheckPatternPredicate, 14,
30354
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30355
0
                   MVT::f64, 3, 2, 1, 0, 
30356
0
    0,
30357
0
   0, 
30358
0
  0, 
30359
0
 125, TARGET_VAL(ISD::ROTR),
30360
0
  OPC_RecordChild0,
30361
0
  OPC_RecordChild1,
30362
0
  OPC_Scope, 71, 
30363
0
   OPC_MoveChild1,
30364
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30365
0
   OPC_Scope, 32, 
30366
0
    OPC_CheckPredicate, 24,
30367
0
    OPC_SwitchType , 12, MVT::i64,
30368
0
     OPC_MoveParent,
30369
0
     OPC_CheckTypeI64,
30370
0
     OPC_CheckPatternPredicate, 15,
30371
0
     OPC_EmitConvertToTarget1,
30372
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30373
0
                   MVT::i64, 2, 0, 2, 
30374
0
    12, MVT::i32,
30375
0
     OPC_MoveParent,
30376
0
     OPC_CheckTypeI32,
30377
0
     OPC_CheckPatternPredicate, 9,
30378
0
     OPC_EmitConvertToTarget1,
30379
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30380
0
                   MVT::i32, 2, 0, 2, 
30381
0
    0,
30382
0
   31, 
30383
0
    OPC_CheckPredicate, 31,
30384
0
    OPC_SwitchType , 11, MVT::i64,
30385
0
     OPC_MoveParent,
30386
0
     OPC_CheckTypeI64,
30387
0
     OPC_CheckPatternPredicate6,
30388
0
     OPC_EmitConvertToTarget1,
30389
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
30390
0
                   MVT::i64, 2, 0, 2, 
30391
0
    12, MVT::i32,
30392
0
     OPC_MoveParent,
30393
0
     OPC_CheckTypeI32,
30394
0
     OPC_CheckPatternPredicate, 10,
30395
0
     OPC_EmitConvertToTarget1,
30396
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
30397
0
                   MVT::i32, 2, 0, 2, 
30398
0
    0,
30399
0
   0, 
30400
0
  23, 
30401
0
   OPC_CheckChild1TypeI64,
30402
0
   OPC_CheckTypeI64,
30403
0
   OPC_Scope, 9, 
30404
0
    OPC_CheckPatternPredicate, 15,
30405
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30406
0
                  MVT::i64, 2, 0, 1, 
30407
0
   8, 
30408
0
    OPC_CheckPatternPredicate6,
30409
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
30410
0
                  MVT::i64, 2, 0, 1, 
30411
0
   0, 
30412
0
  24, 
30413
0
   OPC_CheckChild1TypeI32,
30414
0
   OPC_CheckTypeI32,
30415
0
   OPC_Scope, 9, 
30416
0
    OPC_CheckPatternPredicate, 9,
30417
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30418
0
                  MVT::i32, 2, 0, 1, 
30419
0
   9, 
30420
0
    OPC_CheckPatternPredicate, 10,
30421
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
30422
0
                  MVT::i32, 2, 0, 1, 
30423
0
   0, 
30424
0
  0, 
30425
0
 21, TARGET_VAL(LoongArchISD::ROTL_W),
30426
0
  OPC_RecordChild0,
30427
0
  OPC_RecordChild1,
30428
0
  OPC_MoveChild1,
30429
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30430
0
  OPC_CheckPredicate, 24,
30431
0
  OPC_MoveParent,
30432
0
  OPC_CheckPatternPredicate6,
30433
0
  OPC_EmitConvertToTarget1,
30434
0
  OPC_EmitNodeXForm, 6, 2,
30435
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30436
0
                MVT::i64, 2, 0, 3, 
30437
0
 69|128,6, TARGET_VAL(ISD::SHL),
30438
0
  OPC_RecordChild0,
30439
0
  OPC_Scope, 8|128,1, 
30440
0
   OPC_RecordChild1,
30441
0
   OPC_Scope, 71, 
30442
0
    OPC_MoveChild1,
30443
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30444
0
    OPC_Scope, 32, 
30445
0
     OPC_CheckPredicate, 24,
30446
0
     OPC_SwitchType , 12, MVT::i64,
30447
0
      OPC_MoveParent,
30448
0
      OPC_CheckTypeI64,
30449
0
      OPC_CheckPatternPredicate, 15,
30450
0
      OPC_EmitConvertToTarget1,
30451
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
30452
0
                    MVT::i64, 2, 0, 2, 
30453
0
     12, MVT::i32,
30454
0
      OPC_MoveParent,
30455
0
      OPC_CheckTypeI32,
30456
0
      OPC_CheckPatternPredicate, 9,
30457
0
      OPC_EmitConvertToTarget1,
30458
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
30459
0
                    MVT::i32, 2, 0, 2, 
30460
0
     0,
30461
0
    31, 
30462
0
     OPC_CheckPredicate, 31,
30463
0
     OPC_SwitchType , 11, MVT::i64,
30464
0
      OPC_MoveParent,
30465
0
      OPC_CheckTypeI64,
30466
0
      OPC_CheckPatternPredicate6,
30467
0
      OPC_EmitConvertToTarget1,
30468
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
30469
0
                    MVT::i64, 2, 0, 2, 
30470
0
     12, MVT::i32,
30471
0
      OPC_MoveParent,
30472
0
      OPC_CheckTypeI32,
30473
0
      OPC_CheckPatternPredicate, 10,
30474
0
      OPC_EmitConvertToTarget1,
30475
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
30476
0
                    MVT::i32, 2, 0, 2, 
30477
0
     0,
30478
0
    0, 
30479
0
   29, 
30480
0
    OPC_CheckChild1TypeI64,
30481
0
    OPC_CheckTypeI64,
30482
0
    OPC_Scope, 12, 
30483
0
     OPC_CheckPatternPredicate, 15,
30484
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30485
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
30486
0
                   MVT::i64, 2, 0, 2, 
30487
0
    11, 
30488
0
     OPC_CheckPatternPredicate6,
30489
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30490
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
30491
0
                   MVT::i64, 2, 0, 2, 
30492
0
    0, 
30493
0
   30, 
30494
0
    OPC_CheckChild1TypeI32,
30495
0
    OPC_CheckTypeI32,
30496
0
    OPC_Scope, 12, 
30497
0
     OPC_CheckPatternPredicate, 9,
30498
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30499
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
30500
0
                   MVT::i32, 2, 0, 2, 
30501
0
    12, 
30502
0
     OPC_CheckPatternPredicate, 10,
30503
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30504
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
30505
0
                   MVT::i32, 2, 0, 2, 
30506
0
    0, 
30507
0
   0, 
30508
0
  125|128,2, 
30509
0
   OPC_MoveChild1,
30510
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
30511
0
   OPC_Scope, 42, 
30512
0
    OPC_MoveChild0,
30513
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30514
0
    OPC_MoveChild0,
30515
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30516
0
    OPC_CheckType, MVT::v4i32,
30517
0
    OPC_MoveParent,
30518
0
    OPC_CheckPredicate3, 
30519
0
    OPC_MoveParent,
30520
0
    OPC_RecordChild1,
30521
0
    OPC_SwitchType , 11, MVT::v2i64,
30522
0
     OPC_MoveParent,
30523
0
     OPC_CheckType, MVT::v2i64,
30524
0
     OPC_CheckPatternPredicate1,
30525
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30526
0
                   MVT::v2i64, 2, 0, 1, 
30527
0
    11, MVT::v4i64,
30528
0
     OPC_MoveParent,
30529
0
     OPC_CheckType, MVT::v4i64,
30530
0
     OPC_CheckPatternPredicate0,
30531
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30532
0
                   MVT::v4i64, 2, 0, 1, 
30533
0
    0,
30534
0
   42, 
30535
0
    OPC_RecordChild0,
30536
0
    OPC_MoveChild1,
30537
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30538
0
    OPC_MoveChild0,
30539
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30540
0
    OPC_CheckType, MVT::v4i32,
30541
0
    OPC_MoveParent,
30542
0
    OPC_CheckPredicate3, 
30543
0
    OPC_MoveParent,
30544
0
    OPC_SwitchType , 11, MVT::v2i64,
30545
0
     OPC_MoveParent,
30546
0
     OPC_CheckType, MVT::v2i64,
30547
0
     OPC_CheckPatternPredicate1,
30548
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30549
0
                   MVT::v2i64, 2, 0, 1, 
30550
0
    11, MVT::v4i64,
30551
0
     OPC_MoveParent,
30552
0
     OPC_CheckType, MVT::v4i64,
30553
0
     OPC_CheckPatternPredicate0,
30554
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30555
0
                   MVT::v4i64, 2, 0, 1, 
30556
0
    0,
30557
0
   18|128,1, 
30558
0
    OPC_MoveChild0,
30559
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30560
0
    OPC_Scope, 16, 
30561
0
     OPC_CheckPredicate7, 
30562
0
     OPC_MoveParent,
30563
0
     OPC_RecordChild1,
30564
0
     OPC_CheckType, MVT::v16i8,
30565
0
     OPC_MoveParent,
30566
0
     OPC_CheckType, MVT::v16i8,
30567
0
     OPC_CheckPatternPredicate1,
30568
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30569
0
                   MVT::v16i8, 2, 0, 1, 
30570
0
    17, 
30571
0
     OPC_CheckPredicate, 9,
30572
0
     OPC_MoveParent,
30573
0
     OPC_RecordChild1,
30574
0
     OPC_CheckType, MVT::v8i16,
30575
0
     OPC_MoveParent,
30576
0
     OPC_CheckType, MVT::v8i16,
30577
0
     OPC_CheckPatternPredicate1,
30578
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30579
0
                   MVT::v8i16, 2, 0, 1, 
30580
0
    17, 
30581
0
     OPC_CheckPredicate, 8,
30582
0
     OPC_MoveParent,
30583
0
     OPC_RecordChild1,
30584
0
     OPC_CheckType, MVT::v4i32,
30585
0
     OPC_MoveParent,
30586
0
     OPC_CheckType, MVT::v4i32,
30587
0
     OPC_CheckPatternPredicate1,
30588
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30589
0
                   MVT::v4i32, 2, 0, 1, 
30590
0
    16, 
30591
0
     OPC_CheckPredicate3, 
30592
0
     OPC_MoveParent,
30593
0
     OPC_RecordChild1,
30594
0
     OPC_CheckType, MVT::v2i64,
30595
0
     OPC_MoveParent,
30596
0
     OPC_CheckType, MVT::v2i64,
30597
0
     OPC_CheckPatternPredicate1,
30598
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30599
0
                   MVT::v2i64, 2, 0, 1, 
30600
0
    16, 
30601
0
     OPC_CheckPredicate7, 
30602
0
     OPC_MoveParent,
30603
0
     OPC_RecordChild1,
30604
0
     OPC_CheckType, MVT::v32i8,
30605
0
     OPC_MoveParent,
30606
0
     OPC_CheckType, MVT::v32i8,
30607
0
     OPC_CheckPatternPredicate0,
30608
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30609
0
                   MVT::v32i8, 2, 0, 1, 
30610
0
    17, 
30611
0
     OPC_CheckPredicate, 9,
30612
0
     OPC_MoveParent,
30613
0
     OPC_RecordChild1,
30614
0
     OPC_CheckType, MVT::v16i16,
30615
0
     OPC_MoveParent,
30616
0
     OPC_CheckType, MVT::v16i16,
30617
0
     OPC_CheckPatternPredicate0,
30618
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30619
0
                   MVT::v16i16, 2, 0, 1, 
30620
0
    17, 
30621
0
     OPC_CheckPredicate, 8,
30622
0
     OPC_MoveParent,
30623
0
     OPC_RecordChild1,
30624
0
     OPC_CheckType, MVT::v8i32,
30625
0
     OPC_MoveParent,
30626
0
     OPC_CheckType, MVT::v8i32,
30627
0
     OPC_CheckPatternPredicate0,
30628
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30629
0
                   MVT::v8i32, 2, 0, 1, 
30630
0
    16, 
30631
0
     OPC_CheckPredicate3, 
30632
0
     OPC_MoveParent,
30633
0
     OPC_RecordChild1,
30634
0
     OPC_CheckType, MVT::v4i64,
30635
0
     OPC_MoveParent,
30636
0
     OPC_CheckType, MVT::v4i64,
30637
0
     OPC_CheckPatternPredicate0,
30638
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30639
0
                   MVT::v4i64, 2, 0, 1, 
30640
0
    0, 
30641
0
   11|128,1, 
30642
0
    OPC_RecordChild0,
30643
0
    OPC_MoveChild1,
30644
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30645
0
    OPC_Scope, 15, 
30646
0
     OPC_CheckPredicate7, 
30647
0
     OPC_MoveParent,
30648
0
     OPC_CheckType, MVT::v16i8,
30649
0
     OPC_MoveParent,
30650
0
     OPC_CheckType, MVT::v16i8,
30651
0
     OPC_CheckPatternPredicate1,
30652
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30653
0
                   MVT::v16i8, 2, 0, 1, 
30654
0
    16, 
30655
0
     OPC_CheckPredicate, 9,
30656
0
     OPC_MoveParent,
30657
0
     OPC_CheckType, MVT::v8i16,
30658
0
     OPC_MoveParent,
30659
0
     OPC_CheckType, MVT::v8i16,
30660
0
     OPC_CheckPatternPredicate1,
30661
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30662
0
                   MVT::v8i16, 2, 0, 1, 
30663
0
    16, 
30664
0
     OPC_CheckPredicate, 8,
30665
0
     OPC_MoveParent,
30666
0
     OPC_CheckType, MVT::v4i32,
30667
0
     OPC_MoveParent,
30668
0
     OPC_CheckType, MVT::v4i32,
30669
0
     OPC_CheckPatternPredicate1,
30670
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30671
0
                   MVT::v4i32, 2, 0, 1, 
30672
0
    15, 
30673
0
     OPC_CheckPredicate3, 
30674
0
     OPC_MoveParent,
30675
0
     OPC_CheckType, MVT::v2i64,
30676
0
     OPC_MoveParent,
30677
0
     OPC_CheckType, MVT::v2i64,
30678
0
     OPC_CheckPatternPredicate1,
30679
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30680
0
                   MVT::v2i64, 2, 0, 1, 
30681
0
    15, 
30682
0
     OPC_CheckPredicate7, 
30683
0
     OPC_MoveParent,
30684
0
     OPC_CheckType, MVT::v32i8,
30685
0
     OPC_MoveParent,
30686
0
     OPC_CheckType, MVT::v32i8,
30687
0
     OPC_CheckPatternPredicate0,
30688
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30689
0
                   MVT::v32i8, 2, 0, 1, 
30690
0
    16, 
30691
0
     OPC_CheckPredicate, 9,
30692
0
     OPC_MoveParent,
30693
0
     OPC_CheckType, MVT::v16i16,
30694
0
     OPC_MoveParent,
30695
0
     OPC_CheckType, MVT::v16i16,
30696
0
     OPC_CheckPatternPredicate0,
30697
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30698
0
                   MVT::v16i16, 2, 0, 1, 
30699
0
    16, 
30700
0
     OPC_CheckPredicate, 8,
30701
0
     OPC_MoveParent,
30702
0
     OPC_CheckType, MVT::v8i32,
30703
0
     OPC_MoveParent,
30704
0
     OPC_CheckType, MVT::v8i32,
30705
0
     OPC_CheckPatternPredicate0,
30706
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30707
0
                   MVT::v8i32, 2, 0, 1, 
30708
0
    15, 
30709
0
     OPC_CheckPredicate3, 
30710
0
     OPC_MoveParent,
30711
0
     OPC_CheckType, MVT::v4i64,
30712
0
     OPC_MoveParent,
30713
0
     OPC_CheckType, MVT::v4i64,
30714
0
     OPC_CheckPatternPredicate0,
30715
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30716
0
                   MVT::v4i64, 2, 0, 1, 
30717
0
    0, 
30718
0
   0, 
30719
0
  55|128,2, 
30720
0
   OPC_RecordChild1,
30721
0
   OPC_SwitchType , 37, MVT::v16i8,
30722
0
    OPC_CheckChild1Type, MVT::v16i8,
30723
0
    OPC_Scope, 11, 
30724
0
     OPC_CheckPatternPredicate2,
30725
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30726
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
30727
0
                   MVT::v16i8, 2, 0, 2, 
30728
0
    11, 
30729
0
     OPC_CheckPatternPredicate4,
30730
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30731
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
30732
0
                   MVT::v16i8, 2, 0, 2, 
30733
0
    8, 
30734
0
     OPC_CheckPatternPredicate1,
30735
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30736
0
                   MVT::v16i8, 2, 0, 1, 
30737
0
    0, 
30738
0
   37, MVT::v8i16,
30739
0
    OPC_CheckChild1Type, MVT::v8i16,
30740
0
    OPC_Scope, 11, 
30741
0
     OPC_CheckPatternPredicate2,
30742
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30743
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
30744
0
                   MVT::v8i16, 2, 0, 2, 
30745
0
    11, 
30746
0
     OPC_CheckPatternPredicate4,
30747
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30748
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
30749
0
                   MVT::v8i16, 2, 0, 2, 
30750
0
    8, 
30751
0
     OPC_CheckPatternPredicate1,
30752
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30753
0
                   MVT::v8i16, 2, 0, 1, 
30754
0
    0, 
30755
0
   35, MVT::v4i32,
30756
0
    OPC_CheckChild1Type, MVT::v4i32,
30757
0
    OPC_Scope, 10, 
30758
0
     OPC_CheckPatternPredicate2,
30759
0
     OPC_CheckComplexPat1, /*#*/1,
30760
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
30761
0
                   MVT::v4i32, 2, 0, 2, 
30762
0
    10, 
30763
0
     OPC_CheckPatternPredicate4,
30764
0
     OPC_CheckComplexPat1, /*#*/1,
30765
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
30766
0
                   MVT::v4i32, 2, 0, 2, 
30767
0
    8, 
30768
0
     OPC_CheckPatternPredicate1,
30769
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30770
0
                   MVT::v4i32, 2, 0, 1, 
30771
0
    0, 
30772
0
   37, MVT::v2i64,
30773
0
    OPC_CheckChild1Type, MVT::v2i64,
30774
0
    OPC_Scope, 11, 
30775
0
     OPC_CheckPatternPredicate2,
30776
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30777
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
30778
0
                   MVT::v2i64, 2, 0, 2, 
30779
0
    11, 
30780
0
     OPC_CheckPatternPredicate4,
30781
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30782
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
30783
0
                   MVT::v2i64, 2, 0, 2, 
30784
0
    8, 
30785
0
     OPC_CheckPatternPredicate1,
30786
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30787
0
                   MVT::v2i64, 2, 0, 1, 
30788
0
    0, 
30789
0
   37, MVT::v32i8,
30790
0
    OPC_CheckChild1Type, MVT::v32i8,
30791
0
    OPC_Scope, 11, 
30792
0
     OPC_CheckPatternPredicate3,
30793
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30794
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
30795
0
                   MVT::v32i8, 2, 0, 2, 
30796
0
    11, 
30797
0
     OPC_CheckPatternPredicate5,
30798
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30799
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
30800
0
                   MVT::v32i8, 2, 0, 2, 
30801
0
    8, 
30802
0
     OPC_CheckPatternPredicate0,
30803
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30804
0
                   MVT::v32i8, 2, 0, 1, 
30805
0
    0, 
30806
0
   37, MVT::v16i16,
30807
0
    OPC_CheckChild1Type, MVT::v16i16,
30808
0
    OPC_Scope, 11, 
30809
0
     OPC_CheckPatternPredicate3,
30810
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30811
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
30812
0
                   MVT::v16i16, 2, 0, 2, 
30813
0
    11, 
30814
0
     OPC_CheckPatternPredicate5,
30815
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30816
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
30817
0
                   MVT::v16i16, 2, 0, 2, 
30818
0
    8, 
30819
0
     OPC_CheckPatternPredicate0,
30820
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30821
0
                   MVT::v16i16, 2, 0, 1, 
30822
0
    0, 
30823
0
   35, MVT::v8i32,
30824
0
    OPC_CheckChild1Type, MVT::v8i32,
30825
0
    OPC_Scope, 10, 
30826
0
     OPC_CheckPatternPredicate3,
30827
0
     OPC_CheckComplexPat1, /*#*/1,
30828
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
30829
0
                   MVT::v8i32, 2, 0, 2, 
30830
0
    10, 
30831
0
     OPC_CheckPatternPredicate5,
30832
0
     OPC_CheckComplexPat1, /*#*/1,
30833
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
30834
0
                   MVT::v8i32, 2, 0, 2, 
30835
0
    8, 
30836
0
     OPC_CheckPatternPredicate0,
30837
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30838
0
                   MVT::v8i32, 2, 0, 1, 
30839
0
    0, 
30840
0
   37, MVT::v4i64,
30841
0
    OPC_CheckChild1Type, MVT::v4i64,
30842
0
    OPC_Scope, 11, 
30843
0
     OPC_CheckPatternPredicate3,
30844
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30845
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
30846
0
                   MVT::v4i64, 2, 0, 2, 
30847
0
    11, 
30848
0
     OPC_CheckPatternPredicate5,
30849
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30850
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
30851
0
                   MVT::v4i64, 2, 0, 2, 
30852
0
    8, 
30853
0
     OPC_CheckPatternPredicate0,
30854
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30855
0
                   MVT::v4i64, 2, 0, 1, 
30856
0
    0, 
30857
0
   0,
30858
0
  0, 
30859
0
 69|128,6, TARGET_VAL(ISD::SRA),
30860
0
  OPC_RecordChild0,
30861
0
  OPC_Scope, 8|128,1, 
30862
0
   OPC_RecordChild1,
30863
0
   OPC_Scope, 71, 
30864
0
    OPC_MoveChild1,
30865
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30866
0
    OPC_Scope, 32, 
30867
0
     OPC_CheckPredicate, 24,
30868
0
     OPC_SwitchType , 12, MVT::i64,
30869
0
      OPC_MoveParent,
30870
0
      OPC_CheckTypeI64,
30871
0
      OPC_CheckPatternPredicate, 15,
30872
0
      OPC_EmitConvertToTarget1,
30873
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
30874
0
                    MVT::i64, 2, 0, 2, 
30875
0
     12, MVT::i32,
30876
0
      OPC_MoveParent,
30877
0
      OPC_CheckTypeI32,
30878
0
      OPC_CheckPatternPredicate, 9,
30879
0
      OPC_EmitConvertToTarget1,
30880
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
30881
0
                    MVT::i32, 2, 0, 2, 
30882
0
     0,
30883
0
    31, 
30884
0
     OPC_CheckPredicate, 31,
30885
0
     OPC_SwitchType , 11, MVT::i64,
30886
0
      OPC_MoveParent,
30887
0
      OPC_CheckTypeI64,
30888
0
      OPC_CheckPatternPredicate6,
30889
0
      OPC_EmitConvertToTarget1,
30890
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
30891
0
                    MVT::i64, 2, 0, 2, 
30892
0
     12, MVT::i32,
30893
0
      OPC_MoveParent,
30894
0
      OPC_CheckTypeI32,
30895
0
      OPC_CheckPatternPredicate, 10,
30896
0
      OPC_EmitConvertToTarget1,
30897
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
30898
0
                    MVT::i32, 2, 0, 2, 
30899
0
     0,
30900
0
    0, 
30901
0
   29, 
30902
0
    OPC_CheckChild1TypeI64,
30903
0
    OPC_CheckTypeI64,
30904
0
    OPC_Scope, 12, 
30905
0
     OPC_CheckPatternPredicate, 15,
30906
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30907
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
30908
0
                   MVT::i64, 2, 0, 2, 
30909
0
    11, 
30910
0
     OPC_CheckPatternPredicate6,
30911
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30912
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
30913
0
                   MVT::i64, 2, 0, 2, 
30914
0
    0, 
30915
0
   30, 
30916
0
    OPC_CheckChild1TypeI32,
30917
0
    OPC_CheckTypeI32,
30918
0
    OPC_Scope, 12, 
30919
0
     OPC_CheckPatternPredicate, 9,
30920
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30921
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
30922
0
                   MVT::i32, 2, 0, 2, 
30923
0
    12, 
30924
0
     OPC_CheckPatternPredicate, 10,
30925
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30926
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
30927
0
                   MVT::i32, 2, 0, 2, 
30928
0
    0, 
30929
0
   0, 
30930
0
  125|128,2, 
30931
0
   OPC_MoveChild1,
30932
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
30933
0
   OPC_Scope, 42, 
30934
0
    OPC_MoveChild0,
30935
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30936
0
    OPC_MoveChild0,
30937
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30938
0
    OPC_CheckType, MVT::v4i32,
30939
0
    OPC_MoveParent,
30940
0
    OPC_CheckPredicate3, 
30941
0
    OPC_MoveParent,
30942
0
    OPC_RecordChild1,
30943
0
    OPC_SwitchType , 11, MVT::v2i64,
30944
0
     OPC_MoveParent,
30945
0
     OPC_CheckType, MVT::v2i64,
30946
0
     OPC_CheckPatternPredicate1,
30947
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
30948
0
                   MVT::v2i64, 2, 0, 1, 
30949
0
    11, MVT::v4i64,
30950
0
     OPC_MoveParent,
30951
0
     OPC_CheckType, MVT::v4i64,
30952
0
     OPC_CheckPatternPredicate0,
30953
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
30954
0
                   MVT::v4i64, 2, 0, 1, 
30955
0
    0,
30956
0
   42, 
30957
0
    OPC_RecordChild0,
30958
0
    OPC_MoveChild1,
30959
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30960
0
    OPC_MoveChild0,
30961
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30962
0
    OPC_CheckType, MVT::v4i32,
30963
0
    OPC_MoveParent,
30964
0
    OPC_CheckPredicate3, 
30965
0
    OPC_MoveParent,
30966
0
    OPC_SwitchType , 11, MVT::v2i64,
30967
0
     OPC_MoveParent,
30968
0
     OPC_CheckType, MVT::v2i64,
30969
0
     OPC_CheckPatternPredicate1,
30970
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
30971
0
                   MVT::v2i64, 2, 0, 1, 
30972
0
    11, MVT::v4i64,
30973
0
     OPC_MoveParent,
30974
0
     OPC_CheckType, MVT::v4i64,
30975
0
     OPC_CheckPatternPredicate0,
30976
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
30977
0
                   MVT::v4i64, 2, 0, 1, 
30978
0
    0,
30979
0
   18|128,1, 
30980
0
    OPC_MoveChild0,
30981
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30982
0
    OPC_Scope, 16, 
30983
0
     OPC_CheckPredicate7, 
30984
0
     OPC_MoveParent,
30985
0
     OPC_RecordChild1,
30986
0
     OPC_CheckType, MVT::v16i8,
30987
0
     OPC_MoveParent,
30988
0
     OPC_CheckType, MVT::v16i8,
30989
0
     OPC_CheckPatternPredicate1,
30990
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
30991
0
                   MVT::v16i8, 2, 0, 1, 
30992
0
    17, 
30993
0
     OPC_CheckPredicate, 9,
30994
0
     OPC_MoveParent,
30995
0
     OPC_RecordChild1,
30996
0
     OPC_CheckType, MVT::v8i16,
30997
0
     OPC_MoveParent,
30998
0
     OPC_CheckType, MVT::v8i16,
30999
0
     OPC_CheckPatternPredicate1,
31000
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31001
0
                   MVT::v8i16, 2, 0, 1, 
31002
0
    17, 
31003
0
     OPC_CheckPredicate, 8,
31004
0
     OPC_MoveParent,
31005
0
     OPC_RecordChild1,
31006
0
     OPC_CheckType, MVT::v4i32,
31007
0
     OPC_MoveParent,
31008
0
     OPC_CheckType, MVT::v4i32,
31009
0
     OPC_CheckPatternPredicate1,
31010
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31011
0
                   MVT::v4i32, 2, 0, 1, 
31012
0
    16, 
31013
0
     OPC_CheckPredicate3, 
31014
0
     OPC_MoveParent,
31015
0
     OPC_RecordChild1,
31016
0
     OPC_CheckType, MVT::v2i64,
31017
0
     OPC_MoveParent,
31018
0
     OPC_CheckType, MVT::v2i64,
31019
0
     OPC_CheckPatternPredicate1,
31020
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31021
0
                   MVT::v2i64, 2, 0, 1, 
31022
0
    16, 
31023
0
     OPC_CheckPredicate7, 
31024
0
     OPC_MoveParent,
31025
0
     OPC_RecordChild1,
31026
0
     OPC_CheckType, MVT::v32i8,
31027
0
     OPC_MoveParent,
31028
0
     OPC_CheckType, MVT::v32i8,
31029
0
     OPC_CheckPatternPredicate0,
31030
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31031
0
                   MVT::v32i8, 2, 0, 1, 
31032
0
    17, 
31033
0
     OPC_CheckPredicate, 9,
31034
0
     OPC_MoveParent,
31035
0
     OPC_RecordChild1,
31036
0
     OPC_CheckType, MVT::v16i16,
31037
0
     OPC_MoveParent,
31038
0
     OPC_CheckType, MVT::v16i16,
31039
0
     OPC_CheckPatternPredicate0,
31040
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31041
0
                   MVT::v16i16, 2, 0, 1, 
31042
0
    17, 
31043
0
     OPC_CheckPredicate, 8,
31044
0
     OPC_MoveParent,
31045
0
     OPC_RecordChild1,
31046
0
     OPC_CheckType, MVT::v8i32,
31047
0
     OPC_MoveParent,
31048
0
     OPC_CheckType, MVT::v8i32,
31049
0
     OPC_CheckPatternPredicate0,
31050
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31051
0
                   MVT::v8i32, 2, 0, 1, 
31052
0
    16, 
31053
0
     OPC_CheckPredicate3, 
31054
0
     OPC_MoveParent,
31055
0
     OPC_RecordChild1,
31056
0
     OPC_CheckType, MVT::v4i64,
31057
0
     OPC_MoveParent,
31058
0
     OPC_CheckType, MVT::v4i64,
31059
0
     OPC_CheckPatternPredicate0,
31060
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31061
0
                   MVT::v4i64, 2, 0, 1, 
31062
0
    0, 
31063
0
   11|128,1, 
31064
0
    OPC_RecordChild0,
31065
0
    OPC_MoveChild1,
31066
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31067
0
    OPC_Scope, 15, 
31068
0
     OPC_CheckPredicate7, 
31069
0
     OPC_MoveParent,
31070
0
     OPC_CheckType, MVT::v16i8,
31071
0
     OPC_MoveParent,
31072
0
     OPC_CheckType, MVT::v16i8,
31073
0
     OPC_CheckPatternPredicate1,
31074
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31075
0
                   MVT::v16i8, 2, 0, 1, 
31076
0
    16, 
31077
0
     OPC_CheckPredicate, 9,
31078
0
     OPC_MoveParent,
31079
0
     OPC_CheckType, MVT::v8i16,
31080
0
     OPC_MoveParent,
31081
0
     OPC_CheckType, MVT::v8i16,
31082
0
     OPC_CheckPatternPredicate1,
31083
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31084
0
                   MVT::v8i16, 2, 0, 1, 
31085
0
    16, 
31086
0
     OPC_CheckPredicate, 8,
31087
0
     OPC_MoveParent,
31088
0
     OPC_CheckType, MVT::v4i32,
31089
0
     OPC_MoveParent,
31090
0
     OPC_CheckType, MVT::v4i32,
31091
0
     OPC_CheckPatternPredicate1,
31092
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31093
0
                   MVT::v4i32, 2, 0, 1, 
31094
0
    15, 
31095
0
     OPC_CheckPredicate3, 
31096
0
     OPC_MoveParent,
31097
0
     OPC_CheckType, MVT::v2i64,
31098
0
     OPC_MoveParent,
31099
0
     OPC_CheckType, MVT::v2i64,
31100
0
     OPC_CheckPatternPredicate1,
31101
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31102
0
                   MVT::v2i64, 2, 0, 1, 
31103
0
    15, 
31104
0
     OPC_CheckPredicate7, 
31105
0
     OPC_MoveParent,
31106
0
     OPC_CheckType, MVT::v32i8,
31107
0
     OPC_MoveParent,
31108
0
     OPC_CheckType, MVT::v32i8,
31109
0
     OPC_CheckPatternPredicate0,
31110
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31111
0
                   MVT::v32i8, 2, 0, 1, 
31112
0
    16, 
31113
0
     OPC_CheckPredicate, 9,
31114
0
     OPC_MoveParent,
31115
0
     OPC_CheckType, MVT::v16i16,
31116
0
     OPC_MoveParent,
31117
0
     OPC_CheckType, MVT::v16i16,
31118
0
     OPC_CheckPatternPredicate0,
31119
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31120
0
                   MVT::v16i16, 2, 0, 1, 
31121
0
    16, 
31122
0
     OPC_CheckPredicate, 8,
31123
0
     OPC_MoveParent,
31124
0
     OPC_CheckType, MVT::v8i32,
31125
0
     OPC_MoveParent,
31126
0
     OPC_CheckType, MVT::v8i32,
31127
0
     OPC_CheckPatternPredicate0,
31128
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31129
0
                   MVT::v8i32, 2, 0, 1, 
31130
0
    15, 
31131
0
     OPC_CheckPredicate3, 
31132
0
     OPC_MoveParent,
31133
0
     OPC_CheckType, MVT::v4i64,
31134
0
     OPC_MoveParent,
31135
0
     OPC_CheckType, MVT::v4i64,
31136
0
     OPC_CheckPatternPredicate0,
31137
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31138
0
                   MVT::v4i64, 2, 0, 1, 
31139
0
    0, 
31140
0
   0, 
31141
0
  55|128,2, 
31142
0
   OPC_RecordChild1,
31143
0
   OPC_SwitchType , 37, MVT::v16i8,
31144
0
    OPC_CheckChild1Type, MVT::v16i8,
31145
0
    OPC_Scope, 11, 
31146
0
     OPC_CheckPatternPredicate2,
31147
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31148
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
31149
0
                   MVT::v16i8, 2, 0, 2, 
31150
0
    11, 
31151
0
     OPC_CheckPatternPredicate4,
31152
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31153
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
31154
0
                   MVT::v16i8, 2, 0, 2, 
31155
0
    8, 
31156
0
     OPC_CheckPatternPredicate1,
31157
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31158
0
                   MVT::v16i8, 2, 0, 1, 
31159
0
    0, 
31160
0
   37, MVT::v8i16,
31161
0
    OPC_CheckChild1Type, MVT::v8i16,
31162
0
    OPC_Scope, 11, 
31163
0
     OPC_CheckPatternPredicate2,
31164
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31165
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
31166
0
                   MVT::v8i16, 2, 0, 2, 
31167
0
    11, 
31168
0
     OPC_CheckPatternPredicate4,
31169
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31170
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
31171
0
                   MVT::v8i16, 2, 0, 2, 
31172
0
    8, 
31173
0
     OPC_CheckPatternPredicate1,
31174
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31175
0
                   MVT::v8i16, 2, 0, 1, 
31176
0
    0, 
31177
0
   35, MVT::v4i32,
31178
0
    OPC_CheckChild1Type, MVT::v4i32,
31179
0
    OPC_Scope, 10, 
31180
0
     OPC_CheckPatternPredicate2,
31181
0
     OPC_CheckComplexPat1, /*#*/1,
31182
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
31183
0
                   MVT::v4i32, 2, 0, 2, 
31184
0
    10, 
31185
0
     OPC_CheckPatternPredicate4,
31186
0
     OPC_CheckComplexPat1, /*#*/1,
31187
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
31188
0
                   MVT::v4i32, 2, 0, 2, 
31189
0
    8, 
31190
0
     OPC_CheckPatternPredicate1,
31191
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31192
0
                   MVT::v4i32, 2, 0, 1, 
31193
0
    0, 
31194
0
   37, MVT::v2i64,
31195
0
    OPC_CheckChild1Type, MVT::v2i64,
31196
0
    OPC_Scope, 11, 
31197
0
     OPC_CheckPatternPredicate2,
31198
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31199
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
31200
0
                   MVT::v2i64, 2, 0, 2, 
31201
0
    11, 
31202
0
     OPC_CheckPatternPredicate4,
31203
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31204
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
31205
0
                   MVT::v2i64, 2, 0, 2, 
31206
0
    8, 
31207
0
     OPC_CheckPatternPredicate1,
31208
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31209
0
                   MVT::v2i64, 2, 0, 1, 
31210
0
    0, 
31211
0
   37, MVT::v32i8,
31212
0
    OPC_CheckChild1Type, MVT::v32i8,
31213
0
    OPC_Scope, 11, 
31214
0
     OPC_CheckPatternPredicate3,
31215
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31216
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
31217
0
                   MVT::v32i8, 2, 0, 2, 
31218
0
    11, 
31219
0
     OPC_CheckPatternPredicate5,
31220
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31221
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
31222
0
                   MVT::v32i8, 2, 0, 2, 
31223
0
    8, 
31224
0
     OPC_CheckPatternPredicate0,
31225
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31226
0
                   MVT::v32i8, 2, 0, 1, 
31227
0
    0, 
31228
0
   37, MVT::v16i16,
31229
0
    OPC_CheckChild1Type, MVT::v16i16,
31230
0
    OPC_Scope, 11, 
31231
0
     OPC_CheckPatternPredicate3,
31232
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31233
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
31234
0
                   MVT::v16i16, 2, 0, 2, 
31235
0
    11, 
31236
0
     OPC_CheckPatternPredicate5,
31237
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31238
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
31239
0
                   MVT::v16i16, 2, 0, 2, 
31240
0
    8, 
31241
0
     OPC_CheckPatternPredicate0,
31242
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31243
0
                   MVT::v16i16, 2, 0, 1, 
31244
0
    0, 
31245
0
   35, MVT::v8i32,
31246
0
    OPC_CheckChild1Type, MVT::v8i32,
31247
0
    OPC_Scope, 10, 
31248
0
     OPC_CheckPatternPredicate3,
31249
0
     OPC_CheckComplexPat1, /*#*/1,
31250
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
31251
0
                   MVT::v8i32, 2, 0, 2, 
31252
0
    10, 
31253
0
     OPC_CheckPatternPredicate5,
31254
0
     OPC_CheckComplexPat1, /*#*/1,
31255
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
31256
0
                   MVT::v8i32, 2, 0, 2, 
31257
0
    8, 
31258
0
     OPC_CheckPatternPredicate0,
31259
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31260
0
                   MVT::v8i32, 2, 0, 1, 
31261
0
    0, 
31262
0
   37, MVT::v4i64,
31263
0
    OPC_CheckChild1Type, MVT::v4i64,
31264
0
    OPC_Scope, 11, 
31265
0
     OPC_CheckPatternPredicate3,
31266
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31267
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
31268
0
                   MVT::v4i64, 2, 0, 2, 
31269
0
    11, 
31270
0
     OPC_CheckPatternPredicate5,
31271
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31272
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
31273
0
                   MVT::v4i64, 2, 0, 2, 
31274
0
    8, 
31275
0
     OPC_CheckPatternPredicate0,
31276
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31277
0
                   MVT::v4i64, 2, 0, 1, 
31278
0
    0, 
31279
0
   0,
31280
0
  0, 
31281
0
 69|128,6, TARGET_VAL(ISD::SRL),
31282
0
  OPC_RecordChild0,
31283
0
  OPC_Scope, 8|128,1, 
31284
0
   OPC_RecordChild1,
31285
0
   OPC_Scope, 71, 
31286
0
    OPC_MoveChild1,
31287
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31288
0
    OPC_Scope, 32, 
31289
0
     OPC_CheckPredicate, 24,
31290
0
     OPC_SwitchType , 12, MVT::i64,
31291
0
      OPC_MoveParent,
31292
0
      OPC_CheckTypeI64,
31293
0
      OPC_CheckPatternPredicate, 15,
31294
0
      OPC_EmitConvertToTarget1,
31295
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
31296
0
                    MVT::i64, 2, 0, 2, 
31297
0
     12, MVT::i32,
31298
0
      OPC_MoveParent,
31299
0
      OPC_CheckTypeI32,
31300
0
      OPC_CheckPatternPredicate, 9,
31301
0
      OPC_EmitConvertToTarget1,
31302
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
31303
0
                    MVT::i32, 2, 0, 2, 
31304
0
     0,
31305
0
    31, 
31306
0
     OPC_CheckPredicate, 31,
31307
0
     OPC_SwitchType , 11, MVT::i64,
31308
0
      OPC_MoveParent,
31309
0
      OPC_CheckTypeI64,
31310
0
      OPC_CheckPatternPredicate6,
31311
0
      OPC_EmitConvertToTarget1,
31312
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
31313
0
                    MVT::i64, 2, 0, 2, 
31314
0
     12, MVT::i32,
31315
0
      OPC_MoveParent,
31316
0
      OPC_CheckTypeI32,
31317
0
      OPC_CheckPatternPredicate, 10,
31318
0
      OPC_EmitConvertToTarget1,
31319
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
31320
0
                    MVT::i32, 2, 0, 2, 
31321
0
     0,
31322
0
    0, 
31323
0
   29, 
31324
0
    OPC_CheckChild1TypeI64,
31325
0
    OPC_CheckTypeI64,
31326
0
    OPC_Scope, 12, 
31327
0
     OPC_CheckPatternPredicate, 15,
31328
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31329
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
31330
0
                   MVT::i64, 2, 0, 2, 
31331
0
    11, 
31332
0
     OPC_CheckPatternPredicate6,
31333
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31334
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
31335
0
                   MVT::i64, 2, 0, 2, 
31336
0
    0, 
31337
0
   30, 
31338
0
    OPC_CheckChild1TypeI32,
31339
0
    OPC_CheckTypeI32,
31340
0
    OPC_Scope, 12, 
31341
0
     OPC_CheckPatternPredicate, 9,
31342
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31343
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
31344
0
                   MVT::i32, 2, 0, 2, 
31345
0
    12, 
31346
0
     OPC_CheckPatternPredicate, 10,
31347
0
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31348
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
31349
0
                   MVT::i32, 2, 0, 2, 
31350
0
    0, 
31351
0
   0, 
31352
0
  125|128,2, 
31353
0
   OPC_MoveChild1,
31354
0
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
31355
0
   OPC_Scope, 42, 
31356
0
    OPC_MoveChild0,
31357
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31358
0
    OPC_MoveChild0,
31359
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31360
0
    OPC_CheckType, MVT::v4i32,
31361
0
    OPC_MoveParent,
31362
0
    OPC_CheckPredicate3, 
31363
0
    OPC_MoveParent,
31364
0
    OPC_RecordChild1,
31365
0
    OPC_SwitchType , 11, MVT::v2i64,
31366
0
     OPC_MoveParent,
31367
0
     OPC_CheckType, MVT::v2i64,
31368
0
     OPC_CheckPatternPredicate1,
31369
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31370
0
                   MVT::v2i64, 2, 0, 1, 
31371
0
    11, MVT::v4i64,
31372
0
     OPC_MoveParent,
31373
0
     OPC_CheckType, MVT::v4i64,
31374
0
     OPC_CheckPatternPredicate0,
31375
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31376
0
                   MVT::v4i64, 2, 0, 1, 
31377
0
    0,
31378
0
   42, 
31379
0
    OPC_RecordChild0,
31380
0
    OPC_MoveChild1,
31381
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31382
0
    OPC_MoveChild0,
31383
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31384
0
    OPC_CheckType, MVT::v4i32,
31385
0
    OPC_MoveParent,
31386
0
    OPC_CheckPredicate3, 
31387
0
    OPC_MoveParent,
31388
0
    OPC_SwitchType , 11, MVT::v2i64,
31389
0
     OPC_MoveParent,
31390
0
     OPC_CheckType, MVT::v2i64,
31391
0
     OPC_CheckPatternPredicate1,
31392
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31393
0
                   MVT::v2i64, 2, 0, 1, 
31394
0
    11, MVT::v4i64,
31395
0
     OPC_MoveParent,
31396
0
     OPC_CheckType, MVT::v4i64,
31397
0
     OPC_CheckPatternPredicate0,
31398
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31399
0
                   MVT::v4i64, 2, 0, 1, 
31400
0
    0,
31401
0
   18|128,1, 
31402
0
    OPC_MoveChild0,
31403
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31404
0
    OPC_Scope, 16, 
31405
0
     OPC_CheckPredicate7, 
31406
0
     OPC_MoveParent,
31407
0
     OPC_RecordChild1,
31408
0
     OPC_CheckType, MVT::v16i8,
31409
0
     OPC_MoveParent,
31410
0
     OPC_CheckType, MVT::v16i8,
31411
0
     OPC_CheckPatternPredicate1,
31412
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31413
0
                   MVT::v16i8, 2, 0, 1, 
31414
0
    17, 
31415
0
     OPC_CheckPredicate, 9,
31416
0
     OPC_MoveParent,
31417
0
     OPC_RecordChild1,
31418
0
     OPC_CheckType, MVT::v8i16,
31419
0
     OPC_MoveParent,
31420
0
     OPC_CheckType, MVT::v8i16,
31421
0
     OPC_CheckPatternPredicate1,
31422
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31423
0
                   MVT::v8i16, 2, 0, 1, 
31424
0
    17, 
31425
0
     OPC_CheckPredicate, 8,
31426
0
     OPC_MoveParent,
31427
0
     OPC_RecordChild1,
31428
0
     OPC_CheckType, MVT::v4i32,
31429
0
     OPC_MoveParent,
31430
0
     OPC_CheckType, MVT::v4i32,
31431
0
     OPC_CheckPatternPredicate1,
31432
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31433
0
                   MVT::v4i32, 2, 0, 1, 
31434
0
    16, 
31435
0
     OPC_CheckPredicate3, 
31436
0
     OPC_MoveParent,
31437
0
     OPC_RecordChild1,
31438
0
     OPC_CheckType, MVT::v2i64,
31439
0
     OPC_MoveParent,
31440
0
     OPC_CheckType, MVT::v2i64,
31441
0
     OPC_CheckPatternPredicate1,
31442
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31443
0
                   MVT::v2i64, 2, 0, 1, 
31444
0
    16, 
31445
0
     OPC_CheckPredicate7, 
31446
0
     OPC_MoveParent,
31447
0
     OPC_RecordChild1,
31448
0
     OPC_CheckType, MVT::v32i8,
31449
0
     OPC_MoveParent,
31450
0
     OPC_CheckType, MVT::v32i8,
31451
0
     OPC_CheckPatternPredicate0,
31452
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31453
0
                   MVT::v32i8, 2, 0, 1, 
31454
0
    17, 
31455
0
     OPC_CheckPredicate, 9,
31456
0
     OPC_MoveParent,
31457
0
     OPC_RecordChild1,
31458
0
     OPC_CheckType, MVT::v16i16,
31459
0
     OPC_MoveParent,
31460
0
     OPC_CheckType, MVT::v16i16,
31461
0
     OPC_CheckPatternPredicate0,
31462
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31463
0
                   MVT::v16i16, 2, 0, 1, 
31464
0
    17, 
31465
0
     OPC_CheckPredicate, 8,
31466
0
     OPC_MoveParent,
31467
0
     OPC_RecordChild1,
31468
0
     OPC_CheckType, MVT::v8i32,
31469
0
     OPC_MoveParent,
31470
0
     OPC_CheckType, MVT::v8i32,
31471
0
     OPC_CheckPatternPredicate0,
31472
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31473
0
                   MVT::v8i32, 2, 0, 1, 
31474
0
    16, 
31475
0
     OPC_CheckPredicate3, 
31476
0
     OPC_MoveParent,
31477
0
     OPC_RecordChild1,
31478
0
     OPC_CheckType, MVT::v4i64,
31479
0
     OPC_MoveParent,
31480
0
     OPC_CheckType, MVT::v4i64,
31481
0
     OPC_CheckPatternPredicate0,
31482
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31483
0
                   MVT::v4i64, 2, 0, 1, 
31484
0
    0, 
31485
0
   11|128,1, 
31486
0
    OPC_RecordChild0,
31487
0
    OPC_MoveChild1,
31488
0
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31489
0
    OPC_Scope, 15, 
31490
0
     OPC_CheckPredicate7, 
31491
0
     OPC_MoveParent,
31492
0
     OPC_CheckType, MVT::v16i8,
31493
0
     OPC_MoveParent,
31494
0
     OPC_CheckType, MVT::v16i8,
31495
0
     OPC_CheckPatternPredicate1,
31496
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31497
0
                   MVT::v16i8, 2, 0, 1, 
31498
0
    16, 
31499
0
     OPC_CheckPredicate, 9,
31500
0
     OPC_MoveParent,
31501
0
     OPC_CheckType, MVT::v8i16,
31502
0
     OPC_MoveParent,
31503
0
     OPC_CheckType, MVT::v8i16,
31504
0
     OPC_CheckPatternPredicate1,
31505
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31506
0
                   MVT::v8i16, 2, 0, 1, 
31507
0
    16, 
31508
0
     OPC_CheckPredicate, 8,
31509
0
     OPC_MoveParent,
31510
0
     OPC_CheckType, MVT::v4i32,
31511
0
     OPC_MoveParent,
31512
0
     OPC_CheckType, MVT::v4i32,
31513
0
     OPC_CheckPatternPredicate1,
31514
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31515
0
                   MVT::v4i32, 2, 0, 1, 
31516
0
    15, 
31517
0
     OPC_CheckPredicate3, 
31518
0
     OPC_MoveParent,
31519
0
     OPC_CheckType, MVT::v2i64,
31520
0
     OPC_MoveParent,
31521
0
     OPC_CheckType, MVT::v2i64,
31522
0
     OPC_CheckPatternPredicate1,
31523
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31524
0
                   MVT::v2i64, 2, 0, 1, 
31525
0
    15, 
31526
0
     OPC_CheckPredicate7, 
31527
0
     OPC_MoveParent,
31528
0
     OPC_CheckType, MVT::v32i8,
31529
0
     OPC_MoveParent,
31530
0
     OPC_CheckType, MVT::v32i8,
31531
0
     OPC_CheckPatternPredicate0,
31532
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31533
0
                   MVT::v32i8, 2, 0, 1, 
31534
0
    16, 
31535
0
     OPC_CheckPredicate, 9,
31536
0
     OPC_MoveParent,
31537
0
     OPC_CheckType, MVT::v16i16,
31538
0
     OPC_MoveParent,
31539
0
     OPC_CheckType, MVT::v16i16,
31540
0
     OPC_CheckPatternPredicate0,
31541
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31542
0
                   MVT::v16i16, 2, 0, 1, 
31543
0
    16, 
31544
0
     OPC_CheckPredicate, 8,
31545
0
     OPC_MoveParent,
31546
0
     OPC_CheckType, MVT::v8i32,
31547
0
     OPC_MoveParent,
31548
0
     OPC_CheckType, MVT::v8i32,
31549
0
     OPC_CheckPatternPredicate0,
31550
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31551
0
                   MVT::v8i32, 2, 0, 1, 
31552
0
    15, 
31553
0
     OPC_CheckPredicate3, 
31554
0
     OPC_MoveParent,
31555
0
     OPC_CheckType, MVT::v4i64,
31556
0
     OPC_MoveParent,
31557
0
     OPC_CheckType, MVT::v4i64,
31558
0
     OPC_CheckPatternPredicate0,
31559
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31560
0
                   MVT::v4i64, 2, 0, 1, 
31561
0
    0, 
31562
0
   0, 
31563
0
  55|128,2, 
31564
0
   OPC_RecordChild1,
31565
0
   OPC_SwitchType , 37, MVT::v16i8,
31566
0
    OPC_CheckChild1Type, MVT::v16i8,
31567
0
    OPC_Scope, 11, 
31568
0
     OPC_CheckPatternPredicate2,
31569
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31570
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
31571
0
                   MVT::v16i8, 2, 0, 2, 
31572
0
    11, 
31573
0
     OPC_CheckPatternPredicate4,
31574
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31575
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
31576
0
                   MVT::v16i8, 2, 0, 2, 
31577
0
    8, 
31578
0
     OPC_CheckPatternPredicate1,
31579
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31580
0
                   MVT::v16i8, 2, 0, 1, 
31581
0
    0, 
31582
0
   37, MVT::v8i16,
31583
0
    OPC_CheckChild1Type, MVT::v8i16,
31584
0
    OPC_Scope, 11, 
31585
0
     OPC_CheckPatternPredicate2,
31586
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31587
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
31588
0
                   MVT::v8i16, 2, 0, 2, 
31589
0
    11, 
31590
0
     OPC_CheckPatternPredicate4,
31591
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31592
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
31593
0
                   MVT::v8i16, 2, 0, 2, 
31594
0
    8, 
31595
0
     OPC_CheckPatternPredicate1,
31596
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31597
0
                   MVT::v8i16, 2, 0, 1, 
31598
0
    0, 
31599
0
   35, MVT::v4i32,
31600
0
    OPC_CheckChild1Type, MVT::v4i32,
31601
0
    OPC_Scope, 10, 
31602
0
     OPC_CheckPatternPredicate2,
31603
0
     OPC_CheckComplexPat1, /*#*/1,
31604
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
31605
0
                   MVT::v4i32, 2, 0, 2, 
31606
0
    10, 
31607
0
     OPC_CheckPatternPredicate4,
31608
0
     OPC_CheckComplexPat1, /*#*/1,
31609
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
31610
0
                   MVT::v4i32, 2, 0, 2, 
31611
0
    8, 
31612
0
     OPC_CheckPatternPredicate1,
31613
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31614
0
                   MVT::v4i32, 2, 0, 1, 
31615
0
    0, 
31616
0
   37, MVT::v2i64,
31617
0
    OPC_CheckChild1Type, MVT::v2i64,
31618
0
    OPC_Scope, 11, 
31619
0
     OPC_CheckPatternPredicate2,
31620
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31621
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
31622
0
                   MVT::v2i64, 2, 0, 2, 
31623
0
    11, 
31624
0
     OPC_CheckPatternPredicate4,
31625
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31626
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
31627
0
                   MVT::v2i64, 2, 0, 2, 
31628
0
    8, 
31629
0
     OPC_CheckPatternPredicate1,
31630
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31631
0
                   MVT::v2i64, 2, 0, 1, 
31632
0
    0, 
31633
0
   37, MVT::v32i8,
31634
0
    OPC_CheckChild1Type, MVT::v32i8,
31635
0
    OPC_Scope, 11, 
31636
0
     OPC_CheckPatternPredicate3,
31637
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31638
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
31639
0
                   MVT::v32i8, 2, 0, 2, 
31640
0
    11, 
31641
0
     OPC_CheckPatternPredicate5,
31642
0
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31643
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
31644
0
                   MVT::v32i8, 2, 0, 2, 
31645
0
    8, 
31646
0
     OPC_CheckPatternPredicate0,
31647
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31648
0
                   MVT::v32i8, 2, 0, 1, 
31649
0
    0, 
31650
0
   37, MVT::v16i16,
31651
0
    OPC_CheckChild1Type, MVT::v16i16,
31652
0
    OPC_Scope, 11, 
31653
0
     OPC_CheckPatternPredicate3,
31654
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31655
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
31656
0
                   MVT::v16i16, 2, 0, 2, 
31657
0
    11, 
31658
0
     OPC_CheckPatternPredicate5,
31659
0
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31660
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
31661
0
                   MVT::v16i16, 2, 0, 2, 
31662
0
    8, 
31663
0
     OPC_CheckPatternPredicate0,
31664
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31665
0
                   MVT::v16i16, 2, 0, 1, 
31666
0
    0, 
31667
0
   35, MVT::v8i32,
31668
0
    OPC_CheckChild1Type, MVT::v8i32,
31669
0
    OPC_Scope, 10, 
31670
0
     OPC_CheckPatternPredicate3,
31671
0
     OPC_CheckComplexPat1, /*#*/1,
31672
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
31673
0
                   MVT::v8i32, 2, 0, 2, 
31674
0
    10, 
31675
0
     OPC_CheckPatternPredicate5,
31676
0
     OPC_CheckComplexPat1, /*#*/1,
31677
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
31678
0
                   MVT::v8i32, 2, 0, 2, 
31679
0
    8, 
31680
0
     OPC_CheckPatternPredicate0,
31681
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31682
0
                   MVT::v8i32, 2, 0, 1, 
31683
0
    0, 
31684
0
   37, MVT::v4i64,
31685
0
    OPC_CheckChild1Type, MVT::v4i64,
31686
0
    OPC_Scope, 11, 
31687
0
     OPC_CheckPatternPredicate3,
31688
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31689
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
31690
0
                   MVT::v4i64, 2, 0, 2, 
31691
0
    11, 
31692
0
     OPC_CheckPatternPredicate5,
31693
0
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31694
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
31695
0
                   MVT::v4i64, 2, 0, 2, 
31696
0
    8, 
31697
0
     OPC_CheckPatternPredicate0,
31698
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31699
0
                   MVT::v4i64, 2, 0, 1, 
31700
0
    0, 
31701
0
   0,
31702
0
  0, 
31703
0
 33, TARGET_VAL(LoongArchISD::DBAR),
31704
0
  OPC_RecordNode,
31705
0
  OPC_RecordChild1,
31706
0
  OPC_MoveChild1,
31707
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31708
0
  OPC_CheckPredicate, 39,
31709
0
  OPC_SwitchType , 9, MVT::i64,
31710
0
   OPC_MoveParent,
31711
0
   OPC_CheckPatternPredicate7,
31712
0
   OPC_EmitMergeInputChains1_0,
31713
0
   OPC_EmitConvertToTarget1,
31714
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
31715
0
                 1, 2, 
31716
0
  10, MVT::i32,
31717
0
   OPC_MoveParent,
31718
0
   OPC_CheckPatternPredicate, 8,
31719
0
   OPC_EmitMergeInputChains1_0,
31720
0
   OPC_EmitConvertToTarget1,
31721
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
31722
0
                 1, 2, 
31723
0
  0,
31724
0
 33, TARGET_VAL(LoongArchISD::IBAR),
31725
0
  OPC_RecordNode,
31726
0
  OPC_RecordChild1,
31727
0
  OPC_MoveChild1,
31728
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31729
0
  OPC_CheckPredicate, 39,
31730
0
  OPC_SwitchType , 9, MVT::i64,
31731
0
   OPC_MoveParent,
31732
0
   OPC_CheckPatternPredicate7,
31733
0
   OPC_EmitMergeInputChains1_0,
31734
0
   OPC_EmitConvertToTarget1,
31735
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
31736
0
                 1, 2, 
31737
0
  10, MVT::i32,
31738
0
   OPC_MoveParent,
31739
0
   OPC_CheckPatternPredicate, 8,
31740
0
   OPC_EmitMergeInputChains1_0,
31741
0
   OPC_EmitConvertToTarget1,
31742
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
31743
0
                 1, 2, 
31744
0
  0,
31745
0
 33, TARGET_VAL(LoongArchISD::BREAK),
31746
0
  OPC_RecordNode,
31747
0
  OPC_RecordChild1,
31748
0
  OPC_MoveChild1,
31749
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31750
0
  OPC_CheckPredicate, 39,
31751
0
  OPC_SwitchType , 9, MVT::i64,
31752
0
   OPC_MoveParent,
31753
0
   OPC_CheckPatternPredicate7,
31754
0
   OPC_EmitMergeInputChains1_0,
31755
0
   OPC_EmitConvertToTarget1,
31756
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
31757
0
                 1, 2, 
31758
0
  10, MVT::i32,
31759
0
   OPC_MoveParent,
31760
0
   OPC_CheckPatternPredicate, 8,
31761
0
   OPC_EmitMergeInputChains1_0,
31762
0
   OPC_EmitConvertToTarget1,
31763
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
31764
0
                 1, 2, 
31765
0
  0,
31766
0
 33, TARGET_VAL(LoongArchISD::SYSCALL),
31767
0
  OPC_RecordNode,
31768
0
  OPC_RecordChild1,
31769
0
  OPC_MoveChild1,
31770
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31771
0
  OPC_CheckPredicate, 39,
31772
0
  OPC_SwitchType , 9, MVT::i64,
31773
0
   OPC_MoveParent,
31774
0
   OPC_CheckPatternPredicate7,
31775
0
   OPC_EmitMergeInputChains1_0,
31776
0
   OPC_EmitConvertToTarget1,
31777
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
31778
0
                 1, 2, 
31779
0
  10, MVT::i32,
31780
0
   OPC_MoveParent,
31781
0
   OPC_CheckPatternPredicate, 8,
31782
0
   OPC_EmitMergeInputChains1_0,
31783
0
   OPC_EmitConvertToTarget1,
31784
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
31785
0
                 1, 2, 
31786
0
  0,
31787
0
 37, TARGET_VAL(LoongArchISD::CSRRD),
31788
0
  OPC_RecordNode,
31789
0
  OPC_RecordChild1,
31790
0
  OPC_MoveChild1,
31791
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31792
0
  OPC_CheckPredicate, 43,
31793
0
  OPC_SwitchType , 11, MVT::i64,
31794
0
   OPC_MoveParent,
31795
0
   OPC_CheckTypeI64,
31796
0
   OPC_CheckPatternPredicate7,
31797
0
   OPC_EmitMergeInputChains1_0,
31798
0
   OPC_EmitConvertToTarget1,
31799
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
31800
0
                 MVT::i64, 1, 2, 
31801
0
  12, MVT::i32,
31802
0
   OPC_MoveParent,
31803
0
   OPC_CheckTypeI32,
31804
0
   OPC_CheckPatternPredicate, 8,
31805
0
   OPC_EmitMergeInputChains1_0,
31806
0
   OPC_EmitConvertToTarget1,
31807
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
31808
0
                 MVT::i32, 1, 2, 
31809
0
  0,
31810
0
 40, TARGET_VAL(LoongArchISD::CSRWR),
31811
0
  OPC_RecordNode,
31812
0
  OPC_RecordChild1,
31813
0
  OPC_RecordChild2,
31814
0
  OPC_MoveChild2,
31815
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31816
0
  OPC_CheckPredicate, 43,
31817
0
  OPC_SwitchType , 12, MVT::i64,
31818
0
   OPC_MoveParent,
31819
0
   OPC_CheckTypeI64,
31820
0
   OPC_CheckPatternPredicate7,
31821
0
   OPC_EmitMergeInputChains1_0,
31822
0
   OPC_EmitConvertToTarget2,
31823
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
31824
0
                 MVT::i64, 2, 1, 3, 
31825
0
  13, MVT::i32,
31826
0
   OPC_MoveParent,
31827
0
   OPC_CheckTypeI32,
31828
0
   OPC_CheckPatternPredicate, 8,
31829
0
   OPC_EmitMergeInputChains1_0,
31830
0
   OPC_EmitConvertToTarget2,
31831
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
31832
0
                 MVT::i32, 2, 1, 3, 
31833
0
  0,
31834
0
 43, TARGET_VAL(LoongArchISD::CSRXCHG),
31835
0
  OPC_RecordNode,
31836
0
  OPC_RecordChild1,
31837
0
  OPC_RecordChild2,
31838
0
  OPC_RecordChild3,
31839
0
  OPC_MoveChild3,
31840
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31841
0
  OPC_CheckPredicate, 43,
31842
0
  OPC_SwitchType , 13, MVT::i64,
31843
0
   OPC_MoveParent,
31844
0
   OPC_CheckTypeI64,
31845
0
   OPC_CheckPatternPredicate7,
31846
0
   OPC_EmitMergeInputChains1_0,
31847
0
   OPC_EmitConvertToTarget3,
31848
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
31849
0
                 MVT::i64, 3, 1, 2, 4, 
31850
0
  14, MVT::i32,
31851
0
   OPC_MoveParent,
31852
0
   OPC_CheckTypeI32,
31853
0
   OPC_CheckPatternPredicate, 8,
31854
0
   OPC_EmitMergeInputChains1_0,
31855
0
   OPC_EmitConvertToTarget3,
31856
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
31857
0
                 MVT::i32, 3, 1, 2, 4, 
31858
0
  0,
31859
0
 51|128,1, TARGET_VAL(LoongArchISD::VPICK_SEXT_ELT),
31860
0
  OPC_RecordChild0,
31861
0
  OPC_Scope, 43, 
31862
0
   OPC_CheckChild0Type, MVT::v16i8,
31863
0
   OPC_RecordChild1,
31864
0
   OPC_MoveChild1,
31865
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31866
0
   OPC_CheckPredicate, 32,
31867
0
   OPC_SwitchType , 14, MVT::i64,
31868
0
    OPC_MoveSibling2,
31869
0
    OPC_CheckValueType, MVT::i8,
31870
0
    OPC_MoveParent,
31871
0
    OPC_CheckTypeI64,
31872
0
    OPC_CheckPatternPredicate2,
31873
0
    OPC_EmitConvertToTarget1,
31874
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
31875
0
                  MVT::i64, 2, 0, 2, 
31876
0
   14, MVT::i32,
31877
0
    OPC_MoveSibling2,
31878
0
    OPC_CheckValueType, MVT::i8,
31879
0
    OPC_MoveParent,
31880
0
    OPC_CheckTypeI32,
31881
0
    OPC_CheckPatternPredicate4,
31882
0
    OPC_EmitConvertToTarget1,
31883
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
31884
0
                  MVT::i32, 2, 0, 2, 
31885
0
   0,
31886
0
  43, 
31887
0
   OPC_CheckChild0Type, MVT::v8i16,
31888
0
   OPC_RecordChild1,
31889
0
   OPC_MoveChild1,
31890
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31891
0
   OPC_CheckPredicate, 26,
31892
0
   OPC_SwitchType , 14, MVT::i64,
31893
0
    OPC_MoveSibling2,
31894
0
    OPC_CheckValueType, MVT::i16,
31895
0
    OPC_MoveParent,
31896
0
    OPC_CheckTypeI64,
31897
0
    OPC_CheckPatternPredicate2,
31898
0
    OPC_EmitConvertToTarget1,
31899
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
31900
0
                  MVT::i64, 2, 0, 2, 
31901
0
   14, MVT::i32,
31902
0
    OPC_MoveSibling2,
31903
0
    OPC_CheckValueType, MVT::i16,
31904
0
    OPC_MoveParent,
31905
0
    OPC_CheckTypeI32,
31906
0
    OPC_CheckPatternPredicate4,
31907
0
    OPC_EmitConvertToTarget1,
31908
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
31909
0
                  MVT::i32, 2, 0, 2, 
31910
0
   0,
31911
0
  43, 
31912
0
   OPC_CheckChild0Type, MVT::v4i32,
31913
0
   OPC_RecordChild1,
31914
0
   OPC_MoveChild1,
31915
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31916
0
   OPC_CheckPredicate, 25,
31917
0
   OPC_SwitchType , 14, MVT::i64,
31918
0
    OPC_MoveSibling2,
31919
0
    OPC_CheckValueType, MVT::i32,
31920
0
    OPC_MoveParent,
31921
0
    OPC_CheckTypeI64,
31922
0
    OPC_CheckPatternPredicate2,
31923
0
    OPC_EmitConvertToTarget1,
31924
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
31925
0
                  MVT::i64, 2, 0, 2, 
31926
0
   14, MVT::i32,
31927
0
    OPC_MoveSibling2,
31928
0
    OPC_CheckValueType, MVT::i32,
31929
0
    OPC_MoveParent,
31930
0
    OPC_CheckTypeI32,
31931
0
    OPC_CheckPatternPredicate4,
31932
0
    OPC_EmitConvertToTarget1,
31933
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
31934
0
                  MVT::i32, 2, 0, 2, 
31935
0
   0,
31936
0
  43, 
31937
0
   OPC_CheckChild0Type, MVT::v8i32,
31938
0
   OPC_RecordChild1,
31939
0
   OPC_MoveChild1,
31940
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31941
0
   OPC_CheckPredicate, 26,
31942
0
   OPC_SwitchType , 14, MVT::i64,
31943
0
    OPC_MoveSibling2,
31944
0
    OPC_CheckValueType, MVT::i32,
31945
0
    OPC_MoveParent,
31946
0
    OPC_CheckTypeI64,
31947
0
    OPC_CheckPatternPredicate3,
31948
0
    OPC_EmitConvertToTarget1,
31949
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
31950
0
                  MVT::i64, 2, 0, 2, 
31951
0
   14, MVT::i32,
31952
0
    OPC_MoveSibling2,
31953
0
    OPC_CheckValueType, MVT::i32,
31954
0
    OPC_MoveParent,
31955
0
    OPC_CheckTypeI32,
31956
0
    OPC_CheckPatternPredicate5,
31957
0
    OPC_EmitConvertToTarget1,
31958
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
31959
0
                  MVT::i32, 2, 0, 2, 
31960
0
   0,
31961
0
  0, 
31962
0
 51|128,1, TARGET_VAL(LoongArchISD::VPICK_ZEXT_ELT),
31963
0
  OPC_RecordChild0,
31964
0
  OPC_Scope, 43, 
31965
0
   OPC_CheckChild0Type, MVT::v16i8,
31966
0
   OPC_RecordChild1,
31967
0
   OPC_MoveChild1,
31968
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31969
0
   OPC_CheckPredicate, 32,
31970
0
   OPC_SwitchType , 14, MVT::i64,
31971
0
    OPC_MoveSibling2,
31972
0
    OPC_CheckValueType, MVT::i8,
31973
0
    OPC_MoveParent,
31974
0
    OPC_CheckTypeI64,
31975
0
    OPC_CheckPatternPredicate2,
31976
0
    OPC_EmitConvertToTarget1,
31977
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
31978
0
                  MVT::i64, 2, 0, 2, 
31979
0
   14, MVT::i32,
31980
0
    OPC_MoveSibling2,
31981
0
    OPC_CheckValueType, MVT::i8,
31982
0
    OPC_MoveParent,
31983
0
    OPC_CheckTypeI32,
31984
0
    OPC_CheckPatternPredicate4,
31985
0
    OPC_EmitConvertToTarget1,
31986
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
31987
0
                  MVT::i32, 2, 0, 2, 
31988
0
   0,
31989
0
  43, 
31990
0
   OPC_CheckChild0Type, MVT::v8i16,
31991
0
   OPC_RecordChild1,
31992
0
   OPC_MoveChild1,
31993
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31994
0
   OPC_CheckPredicate, 26,
31995
0
   OPC_SwitchType , 14, MVT::i64,
31996
0
    OPC_MoveSibling2,
31997
0
    OPC_CheckValueType, MVT::i16,
31998
0
    OPC_MoveParent,
31999
0
    OPC_CheckTypeI64,
32000
0
    OPC_CheckPatternPredicate2,
32001
0
    OPC_EmitConvertToTarget1,
32002
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
32003
0
                  MVT::i64, 2, 0, 2, 
32004
0
   14, MVT::i32,
32005
0
    OPC_MoveSibling2,
32006
0
    OPC_CheckValueType, MVT::i16,
32007
0
    OPC_MoveParent,
32008
0
    OPC_CheckTypeI32,
32009
0
    OPC_CheckPatternPredicate4,
32010
0
    OPC_EmitConvertToTarget1,
32011
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
32012
0
                  MVT::i32, 2, 0, 2, 
32013
0
   0,
32014
0
  43, 
32015
0
   OPC_CheckChild0Type, MVT::v4i32,
32016
0
   OPC_RecordChild1,
32017
0
   OPC_MoveChild1,
32018
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32019
0
   OPC_CheckPredicate, 25,
32020
0
   OPC_SwitchType , 14, MVT::i64,
32021
0
    OPC_MoveSibling2,
32022
0
    OPC_CheckValueType, MVT::i32,
32023
0
    OPC_MoveParent,
32024
0
    OPC_CheckTypeI64,
32025
0
    OPC_CheckPatternPredicate2,
32026
0
    OPC_EmitConvertToTarget1,
32027
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
32028
0
                  MVT::i64, 2, 0, 2, 
32029
0
   14, MVT::i32,
32030
0
    OPC_MoveSibling2,
32031
0
    OPC_CheckValueType, MVT::i32,
32032
0
    OPC_MoveParent,
32033
0
    OPC_CheckTypeI32,
32034
0
    OPC_CheckPatternPredicate4,
32035
0
    OPC_EmitConvertToTarget1,
32036
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
32037
0
                  MVT::i32, 2, 0, 2, 
32038
0
   0,
32039
0
  43, 
32040
0
   OPC_CheckChild0Type, MVT::v8i32,
32041
0
   OPC_RecordChild1,
32042
0
   OPC_MoveChild1,
32043
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32044
0
   OPC_CheckPredicate, 26,
32045
0
   OPC_SwitchType , 14, MVT::i64,
32046
0
    OPC_MoveSibling2,
32047
0
    OPC_CheckValueType, MVT::i32,
32048
0
    OPC_MoveParent,
32049
0
    OPC_CheckTypeI64,
32050
0
    OPC_CheckPatternPredicate3,
32051
0
    OPC_EmitConvertToTarget1,
32052
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
32053
0
                  MVT::i64, 2, 0, 2, 
32054
0
   14, MVT::i32,
32055
0
    OPC_MoveSibling2,
32056
0
    OPC_CheckValueType, MVT::i32,
32057
0
    OPC_MoveParent,
32058
0
    OPC_CheckTypeI32,
32059
0
    OPC_CheckPatternPredicate5,
32060
0
    OPC_EmitConvertToTarget1,
32061
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
32062
0
                  MVT::i32, 2, 0, 2, 
32063
0
   0,
32064
0
  0, 
32065
0
 99|128,4, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32066
0
  OPC_RecordChild0,
32067
0
  OPC_Scope, 62, 
32068
0
   OPC_CheckChild0Type, MVT::v16i8,
32069
0
   OPC_RecordChild1,
32070
0
   OPC_Scope, 18, 
32071
0
    OPC_MoveChild1,
32072
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32073
0
    OPC_CheckPredicate, 32,
32074
0
    OPC_CheckTypeI64,
32075
0
    OPC_MoveParent,
32076
0
    OPC_CheckTypeI64,
32077
0
    OPC_CheckPatternPredicate2,
32078
0
    OPC_EmitConvertToTarget1,
32079
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
32080
0
                  MVT::i64, 2, 0, 2, 
32081
0
   37, 
32082
0
    OPC_CheckChild1TypeI64,
32083
0
    OPC_CheckTypeI64,
32084
0
    OPC_CheckPatternPredicate2,
32085
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_B),
32086
0
                  MVT::v16i8, 2, 0, 1, 
32087
0
    OPC_EmitStringInteger32, LoongArch::sub_32,
32088
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32089
0
                  MVT::f32, 2, 2, 3, 
32090
0
    OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32091
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32092
0
                  MVT::i64, 2, 4, 5, 
32093
0
    OPC_EmitInteger64, 48, 
32094
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
32095
0
                  MVT::i64, 2, 6, 7, 
32096
0
   0, 
32097
0
  62, 
32098
0
   OPC_CheckChild0Type, MVT::v8i16,
32099
0
   OPC_RecordChild1,
32100
0
   OPC_Scope, 18, 
32101
0
    OPC_MoveChild1,
32102
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32103
0
    OPC_CheckPredicate, 26,
32104
0
    OPC_CheckTypeI64,
32105
0
    OPC_MoveParent,
32106
0
    OPC_CheckTypeI64,
32107
0
    OPC_CheckPatternPredicate2,
32108
0
    OPC_EmitConvertToTarget1,
32109
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
32110
0
                  MVT::i64, 2, 0, 2, 
32111
0
   37, 
32112
0
    OPC_CheckChild1TypeI64,
32113
0
    OPC_CheckTypeI64,
32114
0
    OPC_CheckPatternPredicate2,
32115
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_H),
32116
0
                  MVT::v16i8, 2, 0, 1, 
32117
0
    OPC_EmitStringInteger32, LoongArch::sub_32,
32118
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32119
0
                  MVT::f32, 2, 2, 3, 
32120
0
    OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32121
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32122
0
                  MVT::i64, 2, 4, 5, 
32123
0
    OPC_EmitInteger64, 32, 
32124
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
32125
0
                  MVT::i64, 2, 6, 7, 
32126
0
   0, 
32127
0
  53, 
32128
0
   OPC_CheckChild0Type, MVT::v4i32,
32129
0
   OPC_RecordChild1,
32130
0
   OPC_Scope, 18, 
32131
0
    OPC_MoveChild1,
32132
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32133
0
    OPC_CheckPredicate, 25,
32134
0
    OPC_CheckTypeI64,
32135
0
    OPC_MoveParent,
32136
0
    OPC_CheckTypeI64,
32137
0
    OPC_CheckPatternPredicate2,
32138
0
    OPC_EmitConvertToTarget1,
32139
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
32140
0
                  MVT::i64, 2, 0, 2, 
32141
0
   28, 
32142
0
    OPC_CheckChild1TypeI64,
32143
0
    OPC_CheckTypeI64,
32144
0
    OPC_CheckPatternPredicate2,
32145
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
32146
0
                  MVT::v16i8, 2, 0, 1, 
32147
0
    OPC_EmitStringInteger32, LoongArch::sub_32,
32148
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32149
0
                  MVT::f32, 2, 2, 3, 
32150
0
    OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32151
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32152
0
                  MVT::i64, 2, 4, 5, 
32153
0
   0, 
32154
0
  53, 
32155
0
   OPC_CheckChild0Type, MVT::v2i64,
32156
0
   OPC_RecordChild1,
32157
0
   OPC_Scope, 18, 
32158
0
    OPC_MoveChild1,
32159
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32160
0
    OPC_CheckPredicate, 36,
32161
0
    OPC_CheckTypeI64,
32162
0
    OPC_MoveParent,
32163
0
    OPC_CheckTypeI64,
32164
0
    OPC_CheckPatternPredicate2,
32165
0
    OPC_EmitConvertToTarget1,
32166
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
32167
0
                  MVT::i64, 2, 0, 2, 
32168
0
   28, 
32169
0
    OPC_CheckChild1TypeI64,
32170
0
    OPC_CheckTypeI64,
32171
0
    OPC_CheckPatternPredicate2,
32172
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
32173
0
                  MVT::v16i8, 2, 0, 1, 
32174
0
    OPC_EmitStringInteger32, LoongArch::sub_64,
32175
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32176
0
                  MVT::f64, 2, 2, 3, 
32177
0
    OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32178
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32179
0
                  MVT::i64, 2, 4, 5, 
32180
0
   0, 
32181
0
  21, 
32182
0
   OPC_CheckChild0Type, MVT::v8i32,
32183
0
   OPC_RecordChild1,
32184
0
   OPC_MoveChild1,
32185
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32186
0
   OPC_CheckPredicate, 26,
32187
0
   OPC_CheckTypeI64,
32188
0
   OPC_MoveParent,
32189
0
   OPC_CheckTypeI64,
32190
0
   OPC_CheckPatternPredicate3,
32191
0
   OPC_EmitConvertToTarget1,
32192
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32193
0
                 MVT::i64, 2, 0, 2, 
32194
0
  21, 
32195
0
   OPC_CheckChild0Type, MVT::v4i64,
32196
0
   OPC_RecordChild1,
32197
0
   OPC_MoveChild1,
32198
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32199
0
   OPC_CheckPredicate, 25,
32200
0
   OPC_CheckTypeI64,
32201
0
   OPC_MoveParent,
32202
0
   OPC_CheckTypeI64,
32203
0
   OPC_CheckPatternPredicate3,
32204
0
   OPC_EmitConvertToTarget1,
32205
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32206
0
                 MVT::i64, 2, 0, 2, 
32207
0
  30, 
32208
0
   OPC_CheckChild0Type, MVT::v32i8,
32209
0
   OPC_RecordChild1,
32210
0
   OPC_MoveChild1,
32211
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32212
0
   OPC_CheckPredicate, 32,
32213
0
   OPC_CheckTypeI64,
32214
0
   OPC_MoveParent,
32215
0
   OPC_CheckTypeI64,
32216
0
   OPC_CheckPatternPredicate3,
32217
0
   OPC_EmitStringInteger32, LoongArch::sub_128,
32218
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32219
0
                 MVT::v16i8, 2, 0, 2, 
32220
0
   OPC_EmitConvertToTarget1,
32221
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
32222
0
                 MVT::i64, 2, 3, 4, 
32223
0
  30, 
32224
0
   OPC_CheckChild0Type, MVT::v16i16,
32225
0
   OPC_RecordChild1,
32226
0
   OPC_MoveChild1,
32227
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32228
0
   OPC_CheckPredicate, 26,
32229
0
   OPC_CheckTypeI64,
32230
0
   OPC_MoveParent,
32231
0
   OPC_CheckTypeI64,
32232
0
   OPC_CheckPatternPredicate3,
32233
0
   OPC_EmitStringInteger32, LoongArch::sub_128,
32234
0
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32235
0
                 MVT::v16i8, 2, 0, 2, 
32236
0
   OPC_EmitConvertToTarget1,
32237
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
32238
0
                 MVT::i64, 2, 3, 4, 
32239
0
  81, 
32240
0
   OPC_CheckChild0Type, MVT::v4f32,
32241
0
   OPC_RecordChild1,
32242
0
   OPC_Scope, 54, 
32243
0
    OPC_MoveChild1,
32244
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32245
0
    OPC_CheckPredicate, 25,
32246
0
    OPC_SwitchType , 21, MVT::i64,
32247
0
     OPC_MoveParent,
32248
0
     OPC_CheckType, MVT::f32,
32249
0
     OPC_CheckPatternPredicate2,
32250
0
     OPC_EmitConvertToTarget1,
32251
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
32252
0
                   MVT::v16i8, 2, 0, 2, 
32253
0
     OPC_EmitStringInteger32, LoongArch::sub_32,
32254
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32255
0
                   MVT::f32, 2, 3, 4, 
32256
0
    21, MVT::i32,
32257
0
     OPC_MoveParent,
32258
0
     OPC_CheckType, MVT::f32,
32259
0
     OPC_CheckPatternPredicate4,
32260
0
     OPC_EmitConvertToTarget1,
32261
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
32262
0
                   MVT::v16i8, 2, 0, 2, 
32263
0
     OPC_EmitStringInteger32, LoongArch::sub_32,
32264
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32265
0
                   MVT::f32, 2, 3, 4, 
32266
0
    0,
32267
0
   20, 
32268
0
    OPC_CheckChild1TypeI64,
32269
0
    OPC_CheckType, MVT::f32,
32270
0
    OPC_CheckPatternPredicate2,
32271
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
32272
0
                  MVT::v16i8, 2, 0, 1, 
32273
0
    OPC_EmitStringInteger32, LoongArch::sub_32,
32274
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32275
0
                  MVT::f32, 2, 2, 3, 
32276
0
   0, 
32277
0
  81, 
32278
0
   OPC_CheckChild0Type, MVT::v2f64,
32279
0
   OPC_RecordChild1,
32280
0
   OPC_Scope, 54, 
32281
0
    OPC_MoveChild1,
32282
0
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32283
0
    OPC_CheckPredicate, 36,
32284
0
    OPC_SwitchType , 21, MVT::i64,
32285
0
     OPC_MoveParent,
32286
0
     OPC_CheckType, MVT::f64,
32287
0
     OPC_CheckPatternPredicate2,
32288
0
     OPC_EmitConvertToTarget1,
32289
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
32290
0
                   MVT::v16i8, 2, 0, 2, 
32291
0
     OPC_EmitStringInteger32, LoongArch::sub_64,
32292
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32293
0
                   MVT::f64, 2, 3, 4, 
32294
0
    21, MVT::i32,
32295
0
     OPC_MoveParent,
32296
0
     OPC_CheckType, MVT::f64,
32297
0
     OPC_CheckPatternPredicate4,
32298
0
     OPC_EmitConvertToTarget1,
32299
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
32300
0
                   MVT::v16i8, 2, 0, 2, 
32301
0
     OPC_EmitStringInteger32, LoongArch::sub_64,
32302
0
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32303
0
                   MVT::f64, 2, 3, 4, 
32304
0
    0,
32305
0
   20, 
32306
0
    OPC_CheckChild1TypeI64,
32307
0
    OPC_CheckType, MVT::f64,
32308
0
    OPC_CheckPatternPredicate2,
32309
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
32310
0
                  MVT::v16i8, 2, 0, 1, 
32311
0
    OPC_EmitStringInteger32, LoongArch::sub_64,
32312
0
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32313
0
                  MVT::f64, 2, 2, 3, 
32314
0
   0, 
32315
0
  51, 
32316
0
   OPC_CheckChild0Type, MVT::v8f32,
32317
0
   OPC_RecordChild1,
32318
0
   OPC_MoveChild1,
32319
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32320
0
   OPC_CheckPredicate, 26,
32321
0
   OPC_SwitchType , 18, MVT::i64,
32322
0
    OPC_MoveParent,
32323
0
    OPC_CheckType, MVT::f32,
32324
0
    OPC_CheckPatternPredicate3,
32325
0
    OPC_EmitConvertToTarget1,
32326
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32327
0
                  MVT::i64, 2, 0, 2, 
32328
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
32329
0
                  MVT::f32, 1, 3, 
32330
0
   18, MVT::i32,
32331
0
    OPC_MoveParent,
32332
0
    OPC_CheckType, MVT::f32,
32333
0
    OPC_CheckPatternPredicate5,
32334
0
    OPC_EmitConvertToTarget1,
32335
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32336
0
                  MVT::i32, 2, 0, 2, 
32337
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
32338
0
                  MVT::f32, 1, 3, 
32339
0
   0,
32340
0
  51, 
32341
0
   OPC_CheckChild0Type, MVT::v4f64,
32342
0
   OPC_RecordChild1,
32343
0
   OPC_MoveChild1,
32344
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32345
0
   OPC_CheckPredicate, 25,
32346
0
   OPC_SwitchType , 18, MVT::i64,
32347
0
    OPC_MoveParent,
32348
0
    OPC_CheckType, MVT::f64,
32349
0
    OPC_CheckPatternPredicate3,
32350
0
    OPC_EmitConvertToTarget1,
32351
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32352
0
                  MVT::i64, 2, 0, 2, 
32353
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
32354
0
                  MVT::f64, 1, 3, 
32355
0
   18, MVT::i32,
32356
0
    OPC_MoveParent,
32357
0
    OPC_CheckType, MVT::f64,
32358
0
    OPC_CheckPatternPredicate5,
32359
0
    OPC_EmitConvertToTarget1,
32360
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32361
0
                  MVT::i32, 2, 0, 2, 
32362
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
32363
0
                  MVT::f64, 1, 3, 
32364
0
   0,
32365
0
  0, 
32366
0
 40, TARGET_VAL(LoongArchISD::MOVGR2FCSR),
32367
0
  OPC_RecordNode,
32368
0
  OPC_RecordChild1,
32369
0
  OPC_MoveChild1,
32370
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32371
0
  OPC_CheckPredicate, 25,
32372
0
  OPC_SwitchType , 13, MVT::i64,
32373
0
   OPC_MoveParent,
32374
0
   OPC_RecordChild2,
32375
0
   OPC_CheckChild2TypeI64,
32376
0
   OPC_CheckPatternPredicate, 11,
32377
0
   OPC_EmitMergeInputChains1_0,
32378
0
   OPC_EmitConvertToTarget1,
32379
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
32380
0
                 2, 3, 2, 
32381
0
  13, MVT::i32,
32382
0
   OPC_MoveParent,
32383
0
   OPC_RecordChild2,
32384
0
   OPC_CheckChild2TypeI32,
32385
0
   OPC_CheckPatternPredicate, 12,
32386
0
   OPC_EmitMergeInputChains1_0,
32387
0
   OPC_EmitConvertToTarget1,
32388
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
32389
0
                 2, 3, 2, 
32390
0
  0,
32391
0
 38, TARGET_VAL(LoongArchISD::MOVFCSR2GR),
32392
0
  OPC_RecordNode,
32393
0
  OPC_RecordChild1,
32394
0
  OPC_MoveChild1,
32395
0
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32396
0
  OPC_CheckPredicate, 25,
32397
0
  OPC_SwitchType , 12, MVT::i64,
32398
0
   OPC_MoveParent,
32399
0
   OPC_CheckTypeI64,
32400
0
   OPC_CheckPatternPredicate, 11,
32401
0
   OPC_EmitMergeInputChains1_0,
32402
0
   OPC_EmitConvertToTarget1,
32403
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
32404
0
                 MVT::i64, 1, 2, 
32405
0
  12, MVT::i32,
32406
0
   OPC_MoveParent,
32407
0
   OPC_CheckTypeI32,
32408
0
   OPC_CheckPatternPredicate, 12,
32409
0
   OPC_EmitMergeInputChains1_0,
32410
0
   OPC_EmitConvertToTarget1,
32411
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
32412
0
                 MVT::i32, 1, 2, 
32413
0
  0,
32414
0
 13, TARGET_VAL(LoongArchISD::SLL_W),
32415
0
  OPC_RecordChild0,
32416
0
  OPC_RecordChild1,
32417
0
  OPC_CheckPatternPredicate6,
32418
0
  OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32419
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
32420
0
                MVT::i64, 2, 0, 2, 
32421
0
 13, TARGET_VAL(LoongArchISD::SRA_W),
32422
0
  OPC_RecordChild0,
32423
0
  OPC_RecordChild1,
32424
0
  OPC_CheckPatternPredicate6,
32425
0
  OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32426
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
32427
0
                MVT::i64, 2, 0, 2, 
32428
0
 13, TARGET_VAL(LoongArchISD::SRL_W),
32429
0
  OPC_RecordChild0,
32430
0
  OPC_RecordChild1,
32431
0
  OPC_CheckPatternPredicate6,
32432
0
  OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32433
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
32434
0
                MVT::i64, 2, 0, 2, 
32435
0
 86, TARGET_VAL(LoongArchISD::CALL),
32436
0
  OPC_RecordNode,
32437
0
  OPC_CaptureGlueInput,
32438
0
  OPC_RecordChild1,
32439
0
  OPC_Scope, 59, 
32440
0
   OPC_MoveChild1,
32441
0
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32442
0
    OPC_SwitchType , 9, MVT::i64,
32443
0
     OPC_MoveParent,
32444
0
     OPC_CheckPatternPredicate7,
32445
0
     OPC_EmitMergeInputChains1_0,
32446
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32447
0
                   1, 1, 
32448
0
    10, MVT::i32,
32449
0
     OPC_MoveParent,
32450
0
     OPC_CheckPatternPredicate, 8,
32451
0
     OPC_EmitMergeInputChains1_0,
32452
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32453
0
                   1, 1, 
32454
0
    0,
32455
0
   25, TARGET_VAL(ISD::TargetExternalSymbol),
32456
0
    OPC_SwitchType , 9, MVT::i64,
32457
0
     OPC_MoveParent,
32458
0
     OPC_CheckPatternPredicate7,
32459
0
     OPC_EmitMergeInputChains1_0,
32460
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32461
0
                   1, 1, 
32462
0
    10, MVT::i32,
32463
0
     OPC_MoveParent,
32464
0
     OPC_CheckPatternPredicate, 8,
32465
0
     OPC_EmitMergeInputChains1_0,
32466
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32467
0
                   1, 1, 
32468
0
    0,
32469
0
   0,
32470
0
  9, 
32471
0
   OPC_CheckChild1TypeI64,
32472
0
   OPC_CheckPatternPredicate7,
32473
0
   OPC_EmitMergeInputChains1_0,
32474
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32475
0
                 1, 1, 
32476
0
  10, 
32477
0
   OPC_CheckChild1TypeI32,
32478
0
   OPC_CheckPatternPredicate, 8,
32479
0
   OPC_EmitMergeInputChains1_0,
32480
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32481
0
                 1, 1, 
32482
0
  0, 
32483
0
 86, TARGET_VAL(LoongArchISD::CALL_MEDIUM),
32484
0
  OPC_RecordNode,
32485
0
  OPC_CaptureGlueInput,
32486
0
  OPC_RecordChild1,
32487
0
  OPC_Scope, 59, 
32488
0
   OPC_MoveChild1,
32489
0
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32490
0
    OPC_SwitchType , 9, MVT::i64,
32491
0
     OPC_MoveParent,
32492
0
     OPC_CheckPatternPredicate6,
32493
0
     OPC_EmitMergeInputChains1_0,
32494
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32495
0
                   1, 1, 
32496
0
    10, MVT::i32,
32497
0
     OPC_MoveParent,
32498
0
     OPC_CheckPatternPredicate, 10,
32499
0
     OPC_EmitMergeInputChains1_0,
32500
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32501
0
                   1, 1, 
32502
0
    0,
32503
0
   25, TARGET_VAL(ISD::TargetExternalSymbol),
32504
0
    OPC_SwitchType , 9, MVT::i64,
32505
0
     OPC_MoveParent,
32506
0
     OPC_CheckPatternPredicate6,
32507
0
     OPC_EmitMergeInputChains1_0,
32508
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32509
0
                   1, 1, 
32510
0
    10, MVT::i32,
32511
0
     OPC_MoveParent,
32512
0
     OPC_CheckPatternPredicate, 10,
32513
0
     OPC_EmitMergeInputChains1_0,
32514
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32515
0
                   1, 1, 
32516
0
    0,
32517
0
   0,
32518
0
  9, 
32519
0
   OPC_CheckChild1TypeI64,
32520
0
   OPC_CheckPatternPredicate6,
32521
0
   OPC_EmitMergeInputChains1_0,
32522
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32523
0
                 1, 1, 
32524
0
  10, 
32525
0
   OPC_CheckChild1TypeI32,
32526
0
   OPC_CheckPatternPredicate, 10,
32527
0
   OPC_EmitMergeInputChains1_0,
32528
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32529
0
                 1, 1, 
32530
0
  0, 
32531
0
 86, TARGET_VAL(LoongArchISD::CALL_LARGE),
32532
0
  OPC_RecordNode,
32533
0
  OPC_CaptureGlueInput,
32534
0
  OPC_RecordChild1,
32535
0
  OPC_Scope, 59, 
32536
0
   OPC_MoveChild1,
32537
0
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32538
0
    OPC_SwitchType , 9, MVT::i64,
32539
0
     OPC_MoveParent,
32540
0
     OPC_CheckPatternPredicate6,
32541
0
     OPC_EmitMergeInputChains1_0,
32542
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32543
0
                   1, 1, 
32544
0
    10, MVT::i32,
32545
0
     OPC_MoveParent,
32546
0
     OPC_CheckPatternPredicate, 10,
32547
0
     OPC_EmitMergeInputChains1_0,
32548
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32549
0
                   1, 1, 
32550
0
    0,
32551
0
   25, TARGET_VAL(ISD::TargetExternalSymbol),
32552
0
    OPC_SwitchType , 9, MVT::i64,
32553
0
     OPC_MoveParent,
32554
0
     OPC_CheckPatternPredicate6,
32555
0
     OPC_EmitMergeInputChains1_0,
32556
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32557
0
                   1, 1, 
32558
0
    10, MVT::i32,
32559
0
     OPC_MoveParent,
32560
0
     OPC_CheckPatternPredicate, 10,
32561
0
     OPC_EmitMergeInputChains1_0,
32562
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32563
0
                   1, 1, 
32564
0
    0,
32565
0
   0,
32566
0
  9, 
32567
0
   OPC_CheckChild1TypeI64,
32568
0
   OPC_CheckPatternPredicate6,
32569
0
   OPC_EmitMergeInputChains1_0,
32570
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32571
0
                 1, 1, 
32572
0
  10, 
32573
0
   OPC_CheckChild1TypeI32,
32574
0
   OPC_CheckPatternPredicate, 10,
32575
0
   OPC_EmitMergeInputChains1_0,
32576
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32577
0
                 1, 1, 
32578
0
  0, 
32579
0
 86, TARGET_VAL(LoongArchISD::TAIL),
32580
0
  OPC_RecordNode,
32581
0
  OPC_CaptureGlueInput,
32582
0
  OPC_RecordChild1,
32583
0
  OPC_Scope, 59, 
32584
0
   OPC_MoveChild1,
32585
0
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32586
0
    OPC_SwitchType , 9, MVT::i64,
32587
0
     OPC_MoveParent,
32588
0
     OPC_CheckPatternPredicate7,
32589
0
     OPC_EmitMergeInputChains1_0,
32590
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32591
0
                   1, 1, 
32592
0
    10, MVT::i32,
32593
0
     OPC_MoveParent,
32594
0
     OPC_CheckPatternPredicate, 8,
32595
0
     OPC_EmitMergeInputChains1_0,
32596
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32597
0
                   1, 1, 
32598
0
    0,
32599
0
   25, TARGET_VAL(ISD::TargetExternalSymbol),
32600
0
    OPC_SwitchType , 9, MVT::i64,
32601
0
     OPC_MoveParent,
32602
0
     OPC_CheckPatternPredicate7,
32603
0
     OPC_EmitMergeInputChains1_0,
32604
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32605
0
                   1, 1, 
32606
0
    10, MVT::i32,
32607
0
     OPC_MoveParent,
32608
0
     OPC_CheckPatternPredicate, 8,
32609
0
     OPC_EmitMergeInputChains1_0,
32610
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32611
0
                   1, 1, 
32612
0
    0,
32613
0
   0,
32614
0
  9, 
32615
0
   OPC_CheckChild1TypeI64,
32616
0
   OPC_CheckPatternPredicate7,
32617
0
   OPC_EmitMergeInputChains1_0,
32618
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32619
0
                 1, 1, 
32620
0
  10, 
32621
0
   OPC_CheckChild1TypeI32,
32622
0
   OPC_CheckPatternPredicate, 8,
32623
0
   OPC_EmitMergeInputChains1_0,
32624
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32625
0
                 1, 1, 
32626
0
  0, 
32627
0
 86, TARGET_VAL(LoongArchISD::TAIL_MEDIUM),
32628
0
  OPC_RecordNode,
32629
0
  OPC_CaptureGlueInput,
32630
0
  OPC_RecordChild1,
32631
0
  OPC_Scope, 59, 
32632
0
   OPC_MoveChild1,
32633
0
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32634
0
    OPC_SwitchType , 9, MVT::i64,
32635
0
     OPC_MoveParent,
32636
0
     OPC_CheckPatternPredicate6,
32637
0
     OPC_EmitMergeInputChains1_0,
32638
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32639
0
                   1, 1, 
32640
0
    10, MVT::i32,
32641
0
     OPC_MoveParent,
32642
0
     OPC_CheckPatternPredicate, 10,
32643
0
     OPC_EmitMergeInputChains1_0,
32644
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32645
0
                   1, 1, 
32646
0
    0,
32647
0
   25, TARGET_VAL(ISD::TargetExternalSymbol),
32648
0
    OPC_SwitchType , 9, MVT::i64,
32649
0
     OPC_MoveParent,
32650
0
     OPC_CheckPatternPredicate6,
32651
0
     OPC_EmitMergeInputChains1_0,
32652
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32653
0
                   1, 1, 
32654
0
    10, MVT::i32,
32655
0
     OPC_MoveParent,
32656
0
     OPC_CheckPatternPredicate, 10,
32657
0
     OPC_EmitMergeInputChains1_0,
32658
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32659
0
                   1, 1, 
32660
0
    0,
32661
0
   0,
32662
0
  9, 
32663
0
   OPC_CheckChild1TypeI64,
32664
0
   OPC_CheckPatternPredicate6,
32665
0
   OPC_EmitMergeInputChains1_0,
32666
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32667
0
                 1, 1, 
32668
0
  10, 
32669
0
   OPC_CheckChild1TypeI32,
32670
0
   OPC_CheckPatternPredicate, 10,
32671
0
   OPC_EmitMergeInputChains1_0,
32672
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32673
0
                 1, 1, 
32674
0
  0, 
32675
0
 86, TARGET_VAL(LoongArchISD::TAIL_LARGE),
32676
0
  OPC_RecordNode,
32677
0
  OPC_CaptureGlueInput,
32678
0
  OPC_RecordChild1,
32679
0
  OPC_Scope, 59, 
32680
0
   OPC_MoveChild1,
32681
0
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32682
0
    OPC_SwitchType , 9, MVT::i64,
32683
0
     OPC_MoveParent,
32684
0
     OPC_CheckPatternPredicate6,
32685
0
     OPC_EmitMergeInputChains1_0,
32686
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32687
0
                   1, 1, 
32688
0
    10, MVT::i32,
32689
0
     OPC_MoveParent,
32690
0
     OPC_CheckPatternPredicate, 10,
32691
0
     OPC_EmitMergeInputChains1_0,
32692
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32693
0
                   1, 1, 
32694
0
    0,
32695
0
   25, TARGET_VAL(ISD::TargetExternalSymbol),
32696
0
    OPC_SwitchType , 9, MVT::i64,
32697
0
     OPC_MoveParent,
32698
0
     OPC_CheckPatternPredicate6,
32699
0
     OPC_EmitMergeInputChains1_0,
32700
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32701
0
                   1, 1, 
32702
0
    10, MVT::i32,
32703
0
     OPC_MoveParent,
32704
0
     OPC_CheckPatternPredicate, 10,
32705
0
     OPC_EmitMergeInputChains1_0,
32706
0
     OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32707
0
                   1, 1, 
32708
0
    0,
32709
0
   0,
32710
0
  9, 
32711
0
   OPC_CheckChild1TypeI64,
32712
0
   OPC_CheckPatternPredicate6,
32713
0
   OPC_EmitMergeInputChains1_0,
32714
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32715
0
                 1, 1, 
32716
0
  10, 
32717
0
   OPC_CheckChild1TypeI32,
32718
0
   OPC_CheckPatternPredicate, 10,
32719
0
   OPC_EmitMergeInputChains1_0,
32720
0
   OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32721
0
                 1, 1, 
32722
0
  0, 
32723
0
 119, TARGET_VAL(ISD::BSWAP),
32724
0
  OPC_Scope, 51, 
32725
0
   OPC_MoveChild0,
32726
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITREVERSE),
32727
0
   OPC_RecordChild0,
32728
0
   OPC_MoveParent,
32729
0
   OPC_SwitchType , 19, MVT::i64,
32730
0
    OPC_Scope, 8, 
32731
0
     OPC_CheckPatternPredicate, 15,
32732
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32733
0
                   MVT::i64, 1, 0, 
32734
0
    7, 
32735
0
     OPC_CheckPatternPredicate6,
32736
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32737
0
                   MVT::i64, 1, 0, 
32738
0
    0, 
32739
0
   20, MVT::i32,
32740
0
    OPC_Scope, 8, 
32741
0
     OPC_CheckPatternPredicate, 9,
32742
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32743
0
                   MVT::i32, 1, 0, 
32744
0
    8, 
32745
0
     OPC_CheckPatternPredicate, 10,
32746
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32747
0
                   MVT::i32, 1, 0, 
32748
0
    0, 
32749
0
   0,
32750
0
  64, 
32751
0
   OPC_RecordChild0,
32752
0
   OPC_SwitchType , 28, MVT::i64,
32753
0
    OPC_Scope, 7, 
32754
0
     OPC_CheckPatternPredicate6,
32755
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
32756
0
                   MVT::i64, 1, 0, 
32757
0
    17, 
32758
0
     OPC_CheckPatternPredicate, 15,
32759
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
32760
0
                   MVT::i64, 1, 0, 
32761
0
     OPC_EmitInteger64, 32, 
32762
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
32763
0
                   MVT::i64, 2, 1, 2, 
32764
0
    0, 
32765
0
   29, MVT::i32,
32766
0
    OPC_Scope, 8, 
32767
0
     OPC_CheckPatternPredicate, 10,
32768
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
32769
0
                   MVT::i32, 1, 0, 
32770
0
    17, 
32771
0
     OPC_CheckPatternPredicate, 9,
32772
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
32773
0
                   MVT::i32, 1, 0, 
32774
0
     OPC_EmitInteger32, 32, 
32775
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
32776
0
                   MVT::i32, 2, 1, 2, 
32777
0
    0, 
32778
0
   0,
32779
0
  0, 
32780
0
 101, TARGET_VAL(ISD::BITREVERSE),
32781
0
  OPC_Scope, 51, 
32782
0
   OPC_MoveChild0,
32783
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
32784
0
   OPC_RecordChild0,
32785
0
   OPC_MoveParent,
32786
0
   OPC_SwitchType , 19, MVT::i64,
32787
0
    OPC_Scope, 8, 
32788
0
     OPC_CheckPatternPredicate, 15,
32789
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32790
0
                   MVT::i64, 1, 0, 
32791
0
    7, 
32792
0
     OPC_CheckPatternPredicate6,
32793
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32794
0
                   MVT::i64, 1, 0, 
32795
0
    0, 
32796
0
   20, MVT::i32,
32797
0
    OPC_Scope, 8, 
32798
0
     OPC_CheckPatternPredicate, 9,
32799
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32800
0
                   MVT::i32, 1, 0, 
32801
0
    8, 
32802
0
     OPC_CheckPatternPredicate, 10,
32803
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32804
0
                   MVT::i32, 1, 0, 
32805
0
    0, 
32806
0
   0,
32807
0
  46, 
32808
0
   OPC_RecordChild0,
32809
0
   OPC_SwitchType , 19, MVT::i64,
32810
0
    OPC_Scope, 8, 
32811
0
     OPC_CheckPatternPredicate, 15,
32812
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
32813
0
                   MVT::i64, 1, 0, 
32814
0
    7, 
32815
0
     OPC_CheckPatternPredicate6,
32816
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
32817
0
                   MVT::i64, 1, 0, 
32818
0
    0, 
32819
0
   20, MVT::i32,
32820
0
    OPC_Scope, 8, 
32821
0
     OPC_CheckPatternPredicate, 9,
32822
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
32823
0
                   MVT::i32, 1, 0, 
32824
0
    8, 
32825
0
     OPC_CheckPatternPredicate, 10,
32826
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
32827
0
                   MVT::i32, 1, 0, 
32828
0
    0, 
32829
0
   0,
32830
0
  0, 
32831
0
 113|128,1, TARGET_VAL(ISD::IS_FPCLASS),
32832
0
  OPC_RecordChild0,
32833
0
  OPC_Scope, 81, 
32834
0
   OPC_CheckChild0Type, MVT::f32,
32835
0
   OPC_RecordChild1,
32836
0
   OPC_MoveChild1,
32837
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
32838
0
   OPC_CheckTypeI32,
32839
0
   OPC_MoveParent,
32840
0
   OPC_SwitchType , 33, MVT::i64,
32841
0
    OPC_CheckPatternPredicate, 11,
32842
0
    OPC_EmitRegisterI64, LoongArch::R0,
32843
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
32844
0
                  MVT::f32, 1, 0, 
32845
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
32846
0
                  MVT::i64, 1, 3, 
32847
0
    OPC_EmitNodeXForm, 12, 1,
32848
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32849
0
                  MVT::i64, 2, 4, 5, 
32850
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32851
0
                  MVT::i64, 2, 2, 6, 
32852
0
   33, MVT::i32,
32853
0
    OPC_CheckPatternPredicate, 12,
32854
0
    OPC_EmitRegisterI32, LoongArch::R0,
32855
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
32856
0
                  MVT::f32, 1, 0, 
32857
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
32858
0
                  MVT::i32, 1, 3, 
32859
0
    OPC_EmitNodeXForm, 12, 1,
32860
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32861
0
                  MVT::i32, 2, 4, 5, 
32862
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32863
0
                  MVT::i32, 2, 2, 6, 
32864
0
   0,
32865
0
  26|128,1, 
32866
0
   OPC_CheckChild0Type, MVT::f64,
32867
0
   OPC_RecordChild1,
32868
0
   OPC_MoveChild1,
32869
0
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
32870
0
   OPC_CheckTypeI32,
32871
0
   OPC_MoveParent,
32872
0
   OPC_SwitchType , 69, MVT::i64,
32873
0
    OPC_Scope, 33, 
32874
0
     OPC_CheckPatternPredicate, 15,
32875
0
     OPC_EmitRegisterI64, LoongArch::R0,
32876
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32877
0
                   MVT::f64, 1, 0, 
32878
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
32879
0
                   MVT::i64, 1, 3, 
32880
0
     OPC_EmitNodeXForm, 12, 1,
32881
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32882
0
                   MVT::i64, 2, 4, 5, 
32883
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32884
0
                   MVT::i64, 2, 2, 6, 
32885
0
    32, 
32886
0
     OPC_CheckPatternPredicate6,
32887
0
     OPC_EmitRegisterI64, LoongArch::R0,
32888
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32889
0
                   MVT::f64, 1, 0, 
32890
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
32891
0
                   MVT::i64, 1, 3, 
32892
0
     OPC_EmitNodeXForm, 12, 1,
32893
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32894
0
                   MVT::i64, 2, 4, 5, 
32895
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32896
0
                   MVT::i64, 2, 2, 6, 
32897
0
    0, 
32898
0
   70, MVT::i32,
32899
0
    OPC_Scope, 33, 
32900
0
     OPC_CheckPatternPredicate, 9,
32901
0
     OPC_EmitRegisterI32, LoongArch::R0,
32902
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32903
0
                   MVT::f64, 1, 0, 
32904
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
32905
0
                   MVT::i32, 1, 3, 
32906
0
     OPC_EmitNodeXForm, 12, 1,
32907
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32908
0
                   MVT::i32, 2, 4, 5, 
32909
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32910
0
                   MVT::i32, 2, 2, 6, 
32911
0
    33, 
32912
0
     OPC_CheckPatternPredicate, 10,
32913
0
     OPC_EmitRegisterI32, LoongArch::R0,
32914
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32915
0
                   MVT::f64, 1, 0, 
32916
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
32917
0
                   MVT::i32, 1, 3, 
32918
0
     OPC_EmitNodeXForm, 12, 1,
32919
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32920
0
                   MVT::i32, 2, 4, 5, 
32921
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32922
0
                   MVT::i32, 2, 2, 6, 
32923
0
    0, 
32924
0
   0,
32925
0
  0, 
32926
0
 3|128,3, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
32927
0
  OPC_RecordMemRef,
32928
0
  OPC_RecordNode,
32929
0
  OPC_RecordChild1,
32930
0
  OPC_SwitchType , 55|128,1, MVT::i64,
32931
0
   OPC_CheckChild1TypeI64,
32932
0
   OPC_RecordChild2,
32933
0
   OPC_Scope, 89, 
32934
0
    OPC_CheckPredicate, 15,
32935
0
    OPC_Scope, 16, 
32936
0
     OPC_CheckPredicate, 19,
32937
0
     OPC_CheckPatternPredicate6,
32938
0
     OPC_EmitMergeInputChains1_0,
32939
0
     OPC_EmitInteger64, 4, 
32940
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
32941
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32942
0
    16, 
32943
0
     OPC_CheckPredicate, 21,
32944
0
     OPC_CheckPatternPredicate6,
32945
0
     OPC_EmitMergeInputChains1_0,
32946
0
     OPC_EmitInteger64, 8, 
32947
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
32948
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32949
0
    16, 
32950
0
     OPC_CheckPredicate, 22,
32951
0
     OPC_CheckPatternPredicate6,
32952
0
     OPC_EmitMergeInputChains1_0,
32953
0
     OPC_EmitInteger64, 10, 
32954
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
32955
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32956
0
    16, 
32957
0
     OPC_CheckPredicate, 18,
32958
0
     OPC_CheckPatternPredicate6,
32959
0
     OPC_EmitMergeInputChains1_0,
32960
0
     OPC_EmitInteger64, 12, 
32961
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
32962
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32963
0
    16, 
32964
0
     OPC_CheckPredicate, 20,
32965
0
     OPC_CheckPatternPredicate6,
32966
0
     OPC_EmitMergeInputChains1_0,
32967
0
     OPC_EmitInteger64, 14, 
32968
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
32969
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32970
0
    0, 
32971
0
   88, 
32972
0
    OPC_CheckPredicate5, 
32973
0
    OPC_Scope, 16, 
32974
0
     OPC_CheckPredicate, 19,
32975
0
     OPC_CheckPatternPredicate7,
32976
0
     OPC_EmitMergeInputChains1_0,
32977
0
     OPC_EmitInteger64, 4, 
32978
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
32979
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32980
0
    16, 
32981
0
     OPC_CheckPredicate, 21,
32982
0
     OPC_CheckPatternPredicate7,
32983
0
     OPC_EmitMergeInputChains1_0,
32984
0
     OPC_EmitInteger64, 8, 
32985
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
32986
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32987
0
    16, 
32988
0
     OPC_CheckPredicate, 22,
32989
0
     OPC_CheckPatternPredicate7,
32990
0
     OPC_EmitMergeInputChains1_0,
32991
0
     OPC_EmitInteger64, 10, 
32992
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
32993
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
32994
0
    16, 
32995
0
     OPC_CheckPredicate, 18,
32996
0
     OPC_CheckPatternPredicate7,
32997
0
     OPC_EmitMergeInputChains1_0,
32998
0
     OPC_EmitInteger64, 12, 
32999
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33000
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33001
0
    16, 
33002
0
     OPC_CheckPredicate, 20,
33003
0
     OPC_CheckPatternPredicate7,
33004
0
     OPC_EmitMergeInputChains1_0,
33005
0
     OPC_EmitInteger64, 14, 
33006
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33007
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33008
0
    0, 
33009
0
   0, 
33010
0
  65|128,1, MVT::i32,
33011
0
   OPC_CheckChild1TypeI32,
33012
0
   OPC_RecordChild2,
33013
0
   OPC_Scope, 94, 
33014
0
    OPC_CheckPredicate, 15,
33015
0
    OPC_Scope, 17, 
33016
0
     OPC_CheckPredicate, 19,
33017
0
     OPC_CheckPatternPredicate, 10,
33018
0
     OPC_EmitMergeInputChains1_0,
33019
0
     OPC_EmitInteger32, 4, 
33020
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33021
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33022
0
    17, 
33023
0
     OPC_CheckPredicate, 21,
33024
0
     OPC_CheckPatternPredicate, 10,
33025
0
     OPC_EmitMergeInputChains1_0,
33026
0
     OPC_EmitInteger32, 8, 
33027
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33028
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33029
0
    17, 
33030
0
     OPC_CheckPredicate, 22,
33031
0
     OPC_CheckPatternPredicate, 10,
33032
0
     OPC_EmitMergeInputChains1_0,
33033
0
     OPC_EmitInteger32, 10, 
33034
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33035
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33036
0
    17, 
33037
0
     OPC_CheckPredicate, 18,
33038
0
     OPC_CheckPatternPredicate, 10,
33039
0
     OPC_EmitMergeInputChains1_0,
33040
0
     OPC_EmitInteger32, 12, 
33041
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33042
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33043
0
    17, 
33044
0
     OPC_CheckPredicate, 20,
33045
0
     OPC_CheckPatternPredicate, 10,
33046
0
     OPC_EmitMergeInputChains1_0,
33047
0
     OPC_EmitInteger32, 14, 
33048
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33049
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33050
0
    0, 
33051
0
   93, 
33052
0
    OPC_CheckPredicate5, 
33053
0
    OPC_Scope, 17, 
33054
0
     OPC_CheckPredicate, 19,
33055
0
     OPC_CheckPatternPredicate, 8,
33056
0
     OPC_EmitMergeInputChains1_0,
33057
0
     OPC_EmitInteger32, 4, 
33058
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33059
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33060
0
    17, 
33061
0
     OPC_CheckPredicate, 21,
33062
0
     OPC_CheckPatternPredicate, 8,
33063
0
     OPC_EmitMergeInputChains1_0,
33064
0
     OPC_EmitInteger32, 8, 
33065
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33066
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33067
0
    17, 
33068
0
     OPC_CheckPredicate, 22,
33069
0
     OPC_CheckPatternPredicate, 8,
33070
0
     OPC_EmitMergeInputChains1_0,
33071
0
     OPC_EmitInteger32, 10, 
33072
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33073
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33074
0
    17, 
33075
0
     OPC_CheckPredicate, 18,
33076
0
     OPC_CheckPatternPredicate, 8,
33077
0
     OPC_EmitMergeInputChains1_0,
33078
0
     OPC_EmitInteger32, 12, 
33079
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33080
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33081
0
    17, 
33082
0
     OPC_CheckPredicate, 20,
33083
0
     OPC_CheckPatternPredicate, 8,
33084
0
     OPC_EmitMergeInputChains1_0,
33085
0
     OPC_EmitInteger32, 14, 
33086
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33087
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33088
0
    0, 
33089
0
   0, 
33090
0
  0,
33091
0
 1|128,2, TARGET_VAL(ISD::ATOMIC_SWAP),
33092
0
  OPC_RecordMemRef,
33093
0
  OPC_RecordNode,
33094
0
  OPC_RecordChild1,
33095
0
  OPC_SwitchType , 123, MVT::i64,
33096
0
   OPC_CheckChild1TypeI64,
33097
0
   OPC_RecordChild2,
33098
0
   OPC_Scope, 11, 
33099
0
    OPC_CheckPredicate5, 
33100
0
    OPC_CheckPatternPredicate6,
33101
0
    OPC_EmitMergeInputChains1_0,
33102
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33103
0
                  MVT::i64, 2, 2, 1, 
33104
0
   12, 
33105
0
    OPC_CheckPredicate, 15,
33106
0
    OPC_CheckPatternPredicate6,
33107
0
    OPC_EmitMergeInputChains1_0,
33108
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33109
0
                  MVT::i64, 2, 2, 1, 
33110
0
   93, 
33111
0
    OPC_CheckPredicate5, 
33112
0
    OPC_Scope, 17, 
33113
0
     OPC_CheckPredicate, 19,
33114
0
     OPC_CheckPatternPredicate, 15,
33115
0
     OPC_EmitMergeInputChains1_0,
33116
0
     OPC_EmitInteger64, 4, 
33117
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33118
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33119
0
    17, 
33120
0
     OPC_CheckPredicate, 21,
33121
0
     OPC_CheckPatternPredicate, 15,
33122
0
     OPC_EmitMergeInputChains1_0,
33123
0
     OPC_EmitInteger64, 8, 
33124
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33125
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33126
0
    17, 
33127
0
     OPC_CheckPredicate, 22,
33128
0
     OPC_CheckPatternPredicate, 15,
33129
0
     OPC_EmitMergeInputChains1_0,
33130
0
     OPC_EmitInteger64, 10, 
33131
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33132
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33133
0
    17, 
33134
0
     OPC_CheckPredicate, 18,
33135
0
     OPC_CheckPatternPredicate, 15,
33136
0
     OPC_EmitMergeInputChains1_0,
33137
0
     OPC_EmitInteger64, 12, 
33138
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33139
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33140
0
    17, 
33141
0
     OPC_CheckPredicate, 20,
33142
0
     OPC_CheckPatternPredicate, 15,
33143
0
     OPC_EmitMergeInputChains1_0,
33144
0
     OPC_EmitInteger64, 14, 
33145
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33146
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33147
0
    0, 
33148
0
   0, 
33149
0
  125, MVT::i32,
33150
0
   OPC_CheckChild1TypeI32,
33151
0
   OPC_RecordChild2,
33152
0
   OPC_Scope, 12, 
33153
0
    OPC_CheckPredicate5, 
33154
0
    OPC_CheckPatternPredicate, 10,
33155
0
    OPC_EmitMergeInputChains1_0,
33156
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33157
0
                  MVT::i32, 2, 2, 1, 
33158
0
   13, 
33159
0
    OPC_CheckPredicate, 15,
33160
0
    OPC_CheckPatternPredicate, 10,
33161
0
    OPC_EmitMergeInputChains1_0,
33162
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33163
0
                  MVT::i32, 2, 2, 1, 
33164
0
   93, 
33165
0
    OPC_CheckPredicate5, 
33166
0
    OPC_Scope, 17, 
33167
0
     OPC_CheckPredicate, 19,
33168
0
     OPC_CheckPatternPredicate, 9,
33169
0
     OPC_EmitMergeInputChains1_0,
33170
0
     OPC_EmitInteger32, 4, 
33171
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33172
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33173
0
    17, 
33174
0
     OPC_CheckPredicate, 21,
33175
0
     OPC_CheckPatternPredicate, 9,
33176
0
     OPC_EmitMergeInputChains1_0,
33177
0
     OPC_EmitInteger32, 8, 
33178
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33179
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33180
0
    17, 
33181
0
     OPC_CheckPredicate, 22,
33182
0
     OPC_CheckPatternPredicate, 9,
33183
0
     OPC_EmitMergeInputChains1_0,
33184
0
     OPC_EmitInteger32, 10, 
33185
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33186
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33187
0
    17, 
33188
0
     OPC_CheckPredicate, 18,
33189
0
     OPC_CheckPatternPredicate, 9,
33190
0
     OPC_EmitMergeInputChains1_0,
33191
0
     OPC_EmitInteger32, 12, 
33192
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33193
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33194
0
    17, 
33195
0
     OPC_CheckPredicate, 20,
33196
0
     OPC_CheckPatternPredicate, 9,
33197
0
     OPC_EmitMergeInputChains1_0,
33198
0
     OPC_EmitInteger32, 14, 
33199
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33200
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33201
0
    0, 
33202
0
   0, 
33203
0
  0,
33204
0
 127|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
33205
0
  OPC_RecordMemRef,
33206
0
  OPC_RecordNode,
33207
0
  OPC_RecordChild1,
33208
0
  OPC_SwitchType , 122, MVT::i64,
33209
0
   OPC_CheckChild1TypeI64,
33210
0
   OPC_RecordChild2,
33211
0
   OPC_Scope, 12, 
33212
0
    OPC_CheckPredicate, 15,
33213
0
    OPC_CheckPatternPredicate6,
33214
0
    OPC_EmitMergeInputChains1_0,
33215
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33216
0
                  MVT::i64, 2, 2, 1, 
33217
0
   104, 
33218
0
    OPC_CheckPredicate5, 
33219
0
    OPC_Scope, 10, 
33220
0
     OPC_CheckPatternPredicate6,
33221
0
     OPC_EmitMergeInputChains1_0,
33222
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33223
0
                   MVT::i64, 2, 2, 1, 
33224
0
    17, 
33225
0
     OPC_CheckPredicate, 19,
33226
0
     OPC_CheckPatternPredicate, 15,
33227
0
     OPC_EmitMergeInputChains1_0,
33228
0
     OPC_EmitInteger64, 4, 
33229
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33230
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33231
0
    17, 
33232
0
     OPC_CheckPredicate, 21,
33233
0
     OPC_CheckPatternPredicate, 15,
33234
0
     OPC_EmitMergeInputChains1_0,
33235
0
     OPC_EmitInteger64, 8, 
33236
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33237
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33238
0
    17, 
33239
0
     OPC_CheckPredicate, 22,
33240
0
     OPC_CheckPatternPredicate, 15,
33241
0
     OPC_EmitMergeInputChains1_0,
33242
0
     OPC_EmitInteger64, 10, 
33243
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33244
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33245
0
    17, 
33246
0
     OPC_CheckPredicate, 18,
33247
0
     OPC_CheckPatternPredicate, 15,
33248
0
     OPC_EmitMergeInputChains1_0,
33249
0
     OPC_EmitInteger64, 12, 
33250
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33251
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33252
0
    17, 
33253
0
     OPC_CheckPredicate, 20,
33254
0
     OPC_CheckPatternPredicate, 15,
33255
0
     OPC_EmitMergeInputChains1_0,
33256
0
     OPC_EmitInteger64, 14, 
33257
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33258
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33259
0
    0, 
33260
0
   0, 
33261
0
  124, MVT::i32,
33262
0
   OPC_CheckChild1TypeI32,
33263
0
   OPC_RecordChild2,
33264
0
   OPC_Scope, 13, 
33265
0
    OPC_CheckPredicate, 15,
33266
0
    OPC_CheckPatternPredicate, 10,
33267
0
    OPC_EmitMergeInputChains1_0,
33268
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33269
0
                  MVT::i32, 2, 2, 1, 
33270
0
   105, 
33271
0
    OPC_CheckPredicate5, 
33272
0
    OPC_Scope, 11, 
33273
0
     OPC_CheckPatternPredicate, 10,
33274
0
     OPC_EmitMergeInputChains1_0,
33275
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33276
0
                   MVT::i32, 2, 2, 1, 
33277
0
    17, 
33278
0
     OPC_CheckPredicate, 19,
33279
0
     OPC_CheckPatternPredicate, 9,
33280
0
     OPC_EmitMergeInputChains1_0,
33281
0
     OPC_EmitInteger32, 4, 
33282
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33283
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33284
0
    17, 
33285
0
     OPC_CheckPredicate, 21,
33286
0
     OPC_CheckPatternPredicate, 9,
33287
0
     OPC_EmitMergeInputChains1_0,
33288
0
     OPC_EmitInteger32, 8, 
33289
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33290
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33291
0
    17, 
33292
0
     OPC_CheckPredicate, 22,
33293
0
     OPC_CheckPatternPredicate, 9,
33294
0
     OPC_EmitMergeInputChains1_0,
33295
0
     OPC_EmitInteger32, 10, 
33296
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33297
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33298
0
    17, 
33299
0
     OPC_CheckPredicate, 18,
33300
0
     OPC_CheckPatternPredicate, 9,
33301
0
     OPC_EmitMergeInputChains1_0,
33302
0
     OPC_EmitInteger32, 12, 
33303
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33304
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33305
0
    17, 
33306
0
     OPC_CheckPredicate, 20,
33307
0
     OPC_CheckPatternPredicate, 9,
33308
0
     OPC_EmitMergeInputChains1_0,
33309
0
     OPC_EmitInteger32, 14, 
33310
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33311
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33312
0
    0, 
33313
0
   0, 
33314
0
  0,
33315
0
 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
33316
0
  OPC_RecordMemRef,
33317
0
  OPC_RecordNode,
33318
0
  OPC_RecordChild1,
33319
0
  OPC_SwitchType , 123, MVT::i64,
33320
0
   OPC_CheckChild1TypeI64,
33321
0
   OPC_RecordChild2,
33322
0
   OPC_Scope, 11, 
33323
0
    OPC_CheckPredicate5, 
33324
0
    OPC_CheckPatternPredicate6,
33325
0
    OPC_EmitMergeInputChains1_0,
33326
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33327
0
                  MVT::i64, 2, 2, 1, 
33328
0
   12, 
33329
0
    OPC_CheckPredicate, 15,
33330
0
    OPC_CheckPatternPredicate6,
33331
0
    OPC_EmitMergeInputChains1_0,
33332
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33333
0
                  MVT::i64, 2, 2, 1, 
33334
0
   93, 
33335
0
    OPC_CheckPredicate5, 
33336
0
    OPC_Scope, 17, 
33337
0
     OPC_CheckPredicate, 19,
33338
0
     OPC_CheckPatternPredicate, 15,
33339
0
     OPC_EmitMergeInputChains1_0,
33340
0
     OPC_EmitInteger64, 4, 
33341
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33342
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33343
0
    17, 
33344
0
     OPC_CheckPredicate, 21,
33345
0
     OPC_CheckPatternPredicate, 15,
33346
0
     OPC_EmitMergeInputChains1_0,
33347
0
     OPC_EmitInteger64, 8, 
33348
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33349
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33350
0
    17, 
33351
0
     OPC_CheckPredicate, 22,
33352
0
     OPC_CheckPatternPredicate, 15,
33353
0
     OPC_EmitMergeInputChains1_0,
33354
0
     OPC_EmitInteger64, 10, 
33355
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33356
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33357
0
    17, 
33358
0
     OPC_CheckPredicate, 18,
33359
0
     OPC_CheckPatternPredicate, 15,
33360
0
     OPC_EmitMergeInputChains1_0,
33361
0
     OPC_EmitInteger64, 12, 
33362
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33363
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33364
0
    17, 
33365
0
     OPC_CheckPredicate, 20,
33366
0
     OPC_CheckPatternPredicate, 15,
33367
0
     OPC_EmitMergeInputChains1_0,
33368
0
     OPC_EmitInteger64, 14, 
33369
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33370
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33371
0
    0, 
33372
0
   0, 
33373
0
  125, MVT::i32,
33374
0
   OPC_CheckChild1TypeI32,
33375
0
   OPC_RecordChild2,
33376
0
   OPC_Scope, 12, 
33377
0
    OPC_CheckPredicate5, 
33378
0
    OPC_CheckPatternPredicate, 10,
33379
0
    OPC_EmitMergeInputChains1_0,
33380
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33381
0
                  MVT::i32, 2, 2, 1, 
33382
0
   13, 
33383
0
    OPC_CheckPredicate, 15,
33384
0
    OPC_CheckPatternPredicate, 10,
33385
0
    OPC_EmitMergeInputChains1_0,
33386
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33387
0
                  MVT::i32, 2, 2, 1, 
33388
0
   93, 
33389
0
    OPC_CheckPredicate5, 
33390
0
    OPC_Scope, 17, 
33391
0
     OPC_CheckPredicate, 19,
33392
0
     OPC_CheckPatternPredicate, 9,
33393
0
     OPC_EmitMergeInputChains1_0,
33394
0
     OPC_EmitInteger32, 4, 
33395
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33396
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33397
0
    17, 
33398
0
     OPC_CheckPredicate, 21,
33399
0
     OPC_CheckPatternPredicate, 9,
33400
0
     OPC_EmitMergeInputChains1_0,
33401
0
     OPC_EmitInteger32, 8, 
33402
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33403
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33404
0
    17, 
33405
0
     OPC_CheckPredicate, 22,
33406
0
     OPC_CheckPatternPredicate, 9,
33407
0
     OPC_EmitMergeInputChains1_0,
33408
0
     OPC_EmitInteger32, 10, 
33409
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33410
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33411
0
    17, 
33412
0
     OPC_CheckPredicate, 18,
33413
0
     OPC_CheckPatternPredicate, 9,
33414
0
     OPC_EmitMergeInputChains1_0,
33415
0
     OPC_EmitInteger32, 12, 
33416
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33417
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33418
0
    17, 
33419
0
     OPC_CheckPredicate, 20,
33420
0
     OPC_CheckPatternPredicate, 9,
33421
0
     OPC_EmitMergeInputChains1_0,
33422
0
     OPC_EmitInteger32, 14, 
33423
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33424
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33425
0
    0, 
33426
0
   0, 
33427
0
  0,
33428
0
 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
33429
0
  OPC_RecordMemRef,
33430
0
  OPC_RecordNode,
33431
0
  OPC_RecordChild1,
33432
0
  OPC_SwitchType , 123, MVT::i64,
33433
0
   OPC_CheckChild1TypeI64,
33434
0
   OPC_RecordChild2,
33435
0
   OPC_Scope, 11, 
33436
0
    OPC_CheckPredicate5, 
33437
0
    OPC_CheckPatternPredicate6,
33438
0
    OPC_EmitMergeInputChains1_0,
33439
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33440
0
                  MVT::i64, 2, 2, 1, 
33441
0
   12, 
33442
0
    OPC_CheckPredicate, 15,
33443
0
    OPC_CheckPatternPredicate6,
33444
0
    OPC_EmitMergeInputChains1_0,
33445
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33446
0
                  MVT::i64, 2, 2, 1, 
33447
0
   93, 
33448
0
    OPC_CheckPredicate5, 
33449
0
    OPC_Scope, 17, 
33450
0
     OPC_CheckPredicate, 19,
33451
0
     OPC_CheckPatternPredicate, 15,
33452
0
     OPC_EmitMergeInputChains1_0,
33453
0
     OPC_EmitInteger64, 4, 
33454
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33455
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33456
0
    17, 
33457
0
     OPC_CheckPredicate, 21,
33458
0
     OPC_CheckPatternPredicate, 15,
33459
0
     OPC_EmitMergeInputChains1_0,
33460
0
     OPC_EmitInteger64, 8, 
33461
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33462
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33463
0
    17, 
33464
0
     OPC_CheckPredicate, 22,
33465
0
     OPC_CheckPatternPredicate, 15,
33466
0
     OPC_EmitMergeInputChains1_0,
33467
0
     OPC_EmitInteger64, 10, 
33468
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33469
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33470
0
    17, 
33471
0
     OPC_CheckPredicate, 18,
33472
0
     OPC_CheckPatternPredicate, 15,
33473
0
     OPC_EmitMergeInputChains1_0,
33474
0
     OPC_EmitInteger64, 12, 
33475
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33476
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33477
0
    17, 
33478
0
     OPC_CheckPredicate, 20,
33479
0
     OPC_CheckPatternPredicate, 15,
33480
0
     OPC_EmitMergeInputChains1_0,
33481
0
     OPC_EmitInteger64, 14, 
33482
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33483
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33484
0
    0, 
33485
0
   0, 
33486
0
  125, MVT::i32,
33487
0
   OPC_CheckChild1TypeI32,
33488
0
   OPC_RecordChild2,
33489
0
   OPC_Scope, 12, 
33490
0
    OPC_CheckPredicate5, 
33491
0
    OPC_CheckPatternPredicate, 10,
33492
0
    OPC_EmitMergeInputChains1_0,
33493
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33494
0
                  MVT::i32, 2, 2, 1, 
33495
0
   13, 
33496
0
    OPC_CheckPredicate, 15,
33497
0
    OPC_CheckPatternPredicate, 10,
33498
0
    OPC_EmitMergeInputChains1_0,
33499
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33500
0
                  MVT::i32, 2, 2, 1, 
33501
0
   93, 
33502
0
    OPC_CheckPredicate5, 
33503
0
    OPC_Scope, 17, 
33504
0
     OPC_CheckPredicate, 19,
33505
0
     OPC_CheckPatternPredicate, 9,
33506
0
     OPC_EmitMergeInputChains1_0,
33507
0
     OPC_EmitInteger32, 4, 
33508
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33509
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33510
0
    17, 
33511
0
     OPC_CheckPredicate, 21,
33512
0
     OPC_CheckPatternPredicate, 9,
33513
0
     OPC_EmitMergeInputChains1_0,
33514
0
     OPC_EmitInteger32, 8, 
33515
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33516
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33517
0
    17, 
33518
0
     OPC_CheckPredicate, 22,
33519
0
     OPC_CheckPatternPredicate, 9,
33520
0
     OPC_EmitMergeInputChains1_0,
33521
0
     OPC_EmitInteger32, 10, 
33522
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33523
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33524
0
    17, 
33525
0
     OPC_CheckPredicate, 18,
33526
0
     OPC_CheckPatternPredicate, 9,
33527
0
     OPC_EmitMergeInputChains1_0,
33528
0
     OPC_EmitInteger32, 12, 
33529
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33530
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33531
0
    17, 
33532
0
     OPC_CheckPredicate, 20,
33533
0
     OPC_CheckPatternPredicate, 9,
33534
0
     OPC_EmitMergeInputChains1_0,
33535
0
     OPC_EmitInteger32, 14, 
33536
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33537
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33538
0
    0, 
33539
0
   0, 
33540
0
  0,
33541
0
 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
33542
0
  OPC_RecordMemRef,
33543
0
  OPC_RecordNode,
33544
0
  OPC_RecordChild1,
33545
0
  OPC_SwitchType , 123, MVT::i64,
33546
0
   OPC_CheckChild1TypeI64,
33547
0
   OPC_RecordChild2,
33548
0
   OPC_Scope, 11, 
33549
0
    OPC_CheckPredicate5, 
33550
0
    OPC_CheckPatternPredicate6,
33551
0
    OPC_EmitMergeInputChains1_0,
33552
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33553
0
                  MVT::i64, 2, 2, 1, 
33554
0
   12, 
33555
0
    OPC_CheckPredicate, 15,
33556
0
    OPC_CheckPatternPredicate6,
33557
0
    OPC_EmitMergeInputChains1_0,
33558
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33559
0
                  MVT::i64, 2, 2, 1, 
33560
0
   93, 
33561
0
    OPC_CheckPredicate5, 
33562
0
    OPC_Scope, 17, 
33563
0
     OPC_CheckPredicate, 19,
33564
0
     OPC_CheckPatternPredicate, 15,
33565
0
     OPC_EmitMergeInputChains1_0,
33566
0
     OPC_EmitInteger64, 4, 
33567
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33568
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33569
0
    17, 
33570
0
     OPC_CheckPredicate, 21,
33571
0
     OPC_CheckPatternPredicate, 15,
33572
0
     OPC_EmitMergeInputChains1_0,
33573
0
     OPC_EmitInteger64, 8, 
33574
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33575
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33576
0
    17, 
33577
0
     OPC_CheckPredicate, 22,
33578
0
     OPC_CheckPatternPredicate, 15,
33579
0
     OPC_EmitMergeInputChains1_0,
33580
0
     OPC_EmitInteger64, 10, 
33581
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33582
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33583
0
    17, 
33584
0
     OPC_CheckPredicate, 18,
33585
0
     OPC_CheckPatternPredicate, 15,
33586
0
     OPC_EmitMergeInputChains1_0,
33587
0
     OPC_EmitInteger64, 12, 
33588
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33589
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33590
0
    17, 
33591
0
     OPC_CheckPredicate, 20,
33592
0
     OPC_CheckPatternPredicate, 15,
33593
0
     OPC_EmitMergeInputChains1_0,
33594
0
     OPC_EmitInteger64, 14, 
33595
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33596
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33597
0
    0, 
33598
0
   0, 
33599
0
  125, MVT::i32,
33600
0
   OPC_CheckChild1TypeI32,
33601
0
   OPC_RecordChild2,
33602
0
   OPC_Scope, 12, 
33603
0
    OPC_CheckPredicate5, 
33604
0
    OPC_CheckPatternPredicate, 10,
33605
0
    OPC_EmitMergeInputChains1_0,
33606
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33607
0
                  MVT::i32, 2, 2, 1, 
33608
0
   13, 
33609
0
    OPC_CheckPredicate, 15,
33610
0
    OPC_CheckPatternPredicate, 10,
33611
0
    OPC_EmitMergeInputChains1_0,
33612
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33613
0
                  MVT::i32, 2, 2, 1, 
33614
0
   93, 
33615
0
    OPC_CheckPredicate5, 
33616
0
    OPC_Scope, 17, 
33617
0
     OPC_CheckPredicate, 19,
33618
0
     OPC_CheckPatternPredicate, 9,
33619
0
     OPC_EmitMergeInputChains1_0,
33620
0
     OPC_EmitInteger32, 4, 
33621
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33622
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33623
0
    17, 
33624
0
     OPC_CheckPredicate, 21,
33625
0
     OPC_CheckPatternPredicate, 9,
33626
0
     OPC_EmitMergeInputChains1_0,
33627
0
     OPC_EmitInteger32, 8, 
33628
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33629
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33630
0
    17, 
33631
0
     OPC_CheckPredicate, 22,
33632
0
     OPC_CheckPatternPredicate, 9,
33633
0
     OPC_EmitMergeInputChains1_0,
33634
0
     OPC_EmitInteger32, 10, 
33635
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33636
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33637
0
    17, 
33638
0
     OPC_CheckPredicate, 18,
33639
0
     OPC_CheckPatternPredicate, 9,
33640
0
     OPC_EmitMergeInputChains1_0,
33641
0
     OPC_EmitInteger32, 12, 
33642
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33643
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33644
0
    17, 
33645
0
     OPC_CheckPredicate, 20,
33646
0
     OPC_CheckPatternPredicate, 9,
33647
0
     OPC_EmitMergeInputChains1_0,
33648
0
     OPC_EmitInteger32, 14, 
33649
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33650
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
33651
0
    0, 
33652
0
   0, 
33653
0
  0,
33654
0
 69, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
33655
0
  OPC_RecordMemRef,
33656
0
  OPC_RecordNode,
33657
0
  OPC_RecordChild1,
33658
0
  OPC_SwitchType , 29, MVT::i64,
33659
0
   OPC_CheckChild1TypeI64,
33660
0
   OPC_RecordChild2,
33661
0
   OPC_Scope, 11, 
33662
0
    OPC_CheckPredicate5, 
33663
0
    OPC_CheckPatternPredicate6,
33664
0
    OPC_EmitMergeInputChains1_0,
33665
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33666
0
                  MVT::i64, 2, 2, 1, 
33667
0
   12, 
33668
0
    OPC_CheckPredicate, 15,
33669
0
    OPC_CheckPatternPredicate6,
33670
0
    OPC_EmitMergeInputChains1_0,
33671
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33672
0
                  MVT::i64, 2, 2, 1, 
33673
0
   0, 
33674
0
  31, MVT::i32,
33675
0
   OPC_CheckChild1TypeI32,
33676
0
   OPC_RecordChild2,
33677
0
   OPC_Scope, 12, 
33678
0
    OPC_CheckPredicate5, 
33679
0
    OPC_CheckPatternPredicate, 10,
33680
0
    OPC_EmitMergeInputChains1_0,
33681
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33682
0
                  MVT::i32, 2, 2, 1, 
33683
0
   13, 
33684
0
    OPC_CheckPredicate, 15,
33685
0
    OPC_CheckPatternPredicate, 10,
33686
0
    OPC_EmitMergeInputChains1_0,
33687
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33688
0
                  MVT::i32, 2, 2, 1, 
33689
0
   0, 
33690
0
  0,
33691
0
 69, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
33692
0
  OPC_RecordMemRef,
33693
0
  OPC_RecordNode,
33694
0
  OPC_RecordChild1,
33695
0
  OPC_SwitchType , 29, MVT::i64,
33696
0
   OPC_CheckChild1TypeI64,
33697
0
   OPC_RecordChild2,
33698
0
   OPC_Scope, 11, 
33699
0
    OPC_CheckPredicate5, 
33700
0
    OPC_CheckPatternPredicate6,
33701
0
    OPC_EmitMergeInputChains1_0,
33702
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33703
0
                  MVT::i64, 2, 2, 1, 
33704
0
   12, 
33705
0
    OPC_CheckPredicate, 15,
33706
0
    OPC_CheckPatternPredicate6,
33707
0
    OPC_EmitMergeInputChains1_0,
33708
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33709
0
                  MVT::i64, 2, 2, 1, 
33710
0
   0, 
33711
0
  31, MVT::i32,
33712
0
   OPC_CheckChild1TypeI32,
33713
0
   OPC_RecordChild2,
33714
0
   OPC_Scope, 12, 
33715
0
    OPC_CheckPredicate5, 
33716
0
    OPC_CheckPatternPredicate, 10,
33717
0
    OPC_EmitMergeInputChains1_0,
33718
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33719
0
                  MVT::i32, 2, 2, 1, 
33720
0
   13, 
33721
0
    OPC_CheckPredicate, 15,
33722
0
    OPC_CheckPatternPredicate, 10,
33723
0
    OPC_EmitMergeInputChains1_0,
33724
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33725
0
                  MVT::i32, 2, 2, 1, 
33726
0
   0, 
33727
0
  0,
33728
0
 69, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
33729
0
  OPC_RecordMemRef,
33730
0
  OPC_RecordNode,
33731
0
  OPC_RecordChild1,
33732
0
  OPC_SwitchType , 29, MVT::i64,
33733
0
   OPC_CheckChild1TypeI64,
33734
0
   OPC_RecordChild2,
33735
0
   OPC_Scope, 11, 
33736
0
    OPC_CheckPredicate5, 
33737
0
    OPC_CheckPatternPredicate6,
33738
0
    OPC_EmitMergeInputChains1_0,
33739
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33740
0
                  MVT::i64, 2, 2, 1, 
33741
0
   12, 
33742
0
    OPC_CheckPredicate, 15,
33743
0
    OPC_CheckPatternPredicate6,
33744
0
    OPC_EmitMergeInputChains1_0,
33745
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33746
0
                  MVT::i64, 2, 2, 1, 
33747
0
   0, 
33748
0
  31, MVT::i32,
33749
0
   OPC_CheckChild1TypeI32,
33750
0
   OPC_RecordChild2,
33751
0
   OPC_Scope, 12, 
33752
0
    OPC_CheckPredicate5, 
33753
0
    OPC_CheckPatternPredicate, 10,
33754
0
    OPC_EmitMergeInputChains1_0,
33755
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33756
0
                  MVT::i32, 2, 2, 1, 
33757
0
   13, 
33758
0
    OPC_CheckPredicate, 15,
33759
0
    OPC_CheckPatternPredicate, 10,
33760
0
    OPC_EmitMergeInputChains1_0,
33761
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33762
0
                  MVT::i32, 2, 2, 1, 
33763
0
   0, 
33764
0
  0,
33765
0
 69, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
33766
0
  OPC_RecordMemRef,
33767
0
  OPC_RecordNode,
33768
0
  OPC_RecordChild1,
33769
0
  OPC_SwitchType , 29, MVT::i64,
33770
0
   OPC_CheckChild1TypeI64,
33771
0
   OPC_RecordChild2,
33772
0
   OPC_Scope, 11, 
33773
0
    OPC_CheckPredicate5, 
33774
0
    OPC_CheckPatternPredicate6,
33775
0
    OPC_EmitMergeInputChains1_0,
33776
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33777
0
                  MVT::i64, 2, 2, 1, 
33778
0
   12, 
33779
0
    OPC_CheckPredicate, 15,
33780
0
    OPC_CheckPatternPredicate6,
33781
0
    OPC_EmitMergeInputChains1_0,
33782
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33783
0
                  MVT::i64, 2, 2, 1, 
33784
0
   0, 
33785
0
  31, MVT::i32,
33786
0
   OPC_CheckChild1TypeI32,
33787
0
   OPC_RecordChild2,
33788
0
   OPC_Scope, 12, 
33789
0
    OPC_CheckPredicate5, 
33790
0
    OPC_CheckPatternPredicate, 10,
33791
0
    OPC_EmitMergeInputChains1_0,
33792
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33793
0
                  MVT::i32, 2, 2, 1, 
33794
0
   13, 
33795
0
    OPC_CheckPredicate, 15,
33796
0
    OPC_CheckPatternPredicate, 10,
33797
0
    OPC_EmitMergeInputChains1_0,
33798
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33799
0
                  MVT::i32, 2, 2, 1, 
33800
0
   0, 
33801
0
  0,
33802
0
 49|128,2, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
33803
0
  OPC_RecordMemRef,
33804
0
  OPC_RecordNode,
33805
0
  OPC_RecordChild1,
33806
0
  OPC_SwitchType , 66|128,1, MVT::i64,
33807
0
   OPC_CheckChild1TypeI64,
33808
0
   OPC_RecordChild2,
33809
0
   OPC_RecordChild3,
33810
0
   OPC_Scope, 93, 
33811
0
    OPC_CheckPredicate5, 
33812
0
    OPC_Scope, 17, 
33813
0
     OPC_CheckPredicate, 47,
33814
0
     OPC_CheckPatternPredicate6,
33815
0
     OPC_EmitMergeInputChains1_0,
33816
0
     OPC_EmitInteger64, 4, 
33817
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33818
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33819
0
    17, 
33820
0
     OPC_CheckPredicate, 41,
33821
0
     OPC_CheckPatternPredicate6,
33822
0
     OPC_EmitMergeInputChains1_0,
33823
0
     OPC_EmitInteger64, 8, 
33824
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33825
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33826
0
    17, 
33827
0
     OPC_CheckPredicate, 44,
33828
0
     OPC_CheckPatternPredicate6,
33829
0
     OPC_EmitMergeInputChains1_0,
33830
0
     OPC_EmitInteger64, 10, 
33831
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33832
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33833
0
    17, 
33834
0
     OPC_CheckPredicate, 42,
33835
0
     OPC_CheckPatternPredicate6,
33836
0
     OPC_EmitMergeInputChains1_0,
33837
0
     OPC_EmitInteger64, 12, 
33838
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33839
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33840
0
    17, 
33841
0
     OPC_CheckPredicate, 40,
33842
0
     OPC_CheckPatternPredicate6,
33843
0
     OPC_EmitMergeInputChains1_0,
33844
0
     OPC_EmitInteger64, 14, 
33845
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33846
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33847
0
    0, 
33848
0
   94, 
33849
0
    OPC_CheckPredicate, 15,
33850
0
    OPC_Scope, 17, 
33851
0
     OPC_CheckPredicate, 47,
33852
0
     OPC_CheckPatternPredicate6,
33853
0
     OPC_EmitMergeInputChains1_0,
33854
0
     OPC_EmitInteger64, 4, 
33855
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33856
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33857
0
    17, 
33858
0
     OPC_CheckPredicate, 41,
33859
0
     OPC_CheckPatternPredicate6,
33860
0
     OPC_EmitMergeInputChains1_0,
33861
0
     OPC_EmitInteger64, 8, 
33862
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33863
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33864
0
    17, 
33865
0
     OPC_CheckPredicate, 44,
33866
0
     OPC_CheckPatternPredicate6,
33867
0
     OPC_EmitMergeInputChains1_0,
33868
0
     OPC_EmitInteger64, 10, 
33869
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33870
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33871
0
    17, 
33872
0
     OPC_CheckPredicate, 42,
33873
0
     OPC_CheckPatternPredicate6,
33874
0
     OPC_EmitMergeInputChains1_0,
33875
0
     OPC_EmitInteger64, 12, 
33876
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33877
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33878
0
    17, 
33879
0
     OPC_CheckPredicate, 40,
33880
0
     OPC_CheckPatternPredicate6,
33881
0
     OPC_EmitMergeInputChains1_0,
33882
0
     OPC_EmitInteger64, 14, 
33883
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33884
0
                   MVT::i64, MVT::i64, 4, 1, 2, 3, 4, 
33885
0
    0, 
33886
0
   0, 
33887
0
  101, MVT::i32,
33888
0
   OPC_CheckChild1TypeI32,
33889
0
   OPC_RecordChild2,
33890
0
   OPC_RecordChild3,
33891
0
   OPC_CheckPredicate5, 
33892
0
   OPC_Scope, 18, 
33893
0
    OPC_CheckPredicate, 47,
33894
0
    OPC_CheckPatternPredicate, 10,
33895
0
    OPC_EmitMergeInputChains1_0,
33896
0
    OPC_EmitInteger32, 4, 
33897
0
    OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33898
0
                  MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
33899
0
   18, 
33900
0
    OPC_CheckPredicate, 41,
33901
0
    OPC_CheckPatternPredicate, 10,
33902
0
    OPC_EmitMergeInputChains1_0,
33903
0
    OPC_EmitInteger32, 8, 
33904
0
    OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33905
0
                  MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
33906
0
   18, 
33907
0
    OPC_CheckPredicate, 44,
33908
0
    OPC_CheckPatternPredicate, 10,
33909
0
    OPC_EmitMergeInputChains1_0,
33910
0
    OPC_EmitInteger32, 10, 
33911
0
    OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33912
0
                  MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
33913
0
   18, 
33914
0
    OPC_CheckPredicate, 42,
33915
0
    OPC_CheckPatternPredicate, 10,
33916
0
    OPC_EmitMergeInputChains1_0,
33917
0
    OPC_EmitInteger32, 12, 
33918
0
    OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33919
0
                  MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
33920
0
   18, 
33921
0
    OPC_CheckPredicate, 40,
33922
0
    OPC_CheckPatternPredicate, 10,
33923
0
    OPC_EmitMergeInputChains1_0,
33924
0
    OPC_EmitInteger32, 14, 
33925
0
    OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33926
0
                  MVT::i32, MVT::i32, 4, 1, 2, 3, 4, 
33927
0
   0, 
33928
0
  0,
33929
0
 37|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
33930
0
  OPC_RecordMemRef,
33931
0
  OPC_RecordNode,
33932
0
  OPC_RecordChild1,
33933
0
  OPC_SwitchType , 12|128,1, MVT::i64,
33934
0
   OPC_CheckChild1TypeI64,
33935
0
   OPC_RecordChild2,
33936
0
   OPC_Scope, 113, 
33937
0
    OPC_CheckPredicate5, 
33938
0
    OPC_Scope, 17, 
33939
0
     OPC_CheckPredicate, 19,
33940
0
     OPC_CheckPatternPredicate, 15,
33941
0
     OPC_EmitMergeInputChains1_0,
33942
0
     OPC_EmitInteger64, 4, 
33943
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
33944
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33945
0
    17, 
33946
0
     OPC_CheckPredicate, 21,
33947
0
     OPC_CheckPatternPredicate, 15,
33948
0
     OPC_EmitMergeInputChains1_0,
33949
0
     OPC_EmitInteger64, 8, 
33950
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
33951
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33952
0
    17, 
33953
0
     OPC_CheckPredicate, 22,
33954
0
     OPC_CheckPatternPredicate, 15,
33955
0
     OPC_EmitMergeInputChains1_0,
33956
0
     OPC_EmitInteger64, 10, 
33957
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
33958
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33959
0
    17, 
33960
0
     OPC_CheckPredicate, 18,
33961
0
     OPC_CheckPatternPredicate, 15,
33962
0
     OPC_EmitMergeInputChains1_0,
33963
0
     OPC_EmitInteger64, 12, 
33964
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
33965
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33966
0
    17, 
33967
0
     OPC_CheckPredicate, 20,
33968
0
     OPC_CheckPatternPredicate, 15,
33969
0
     OPC_EmitMergeInputChains1_0,
33970
0
     OPC_EmitInteger64, 14, 
33971
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
33972
0
                   MVT::i64, MVT::i64, 3, 1, 2, 3, 
33973
0
    19, 
33974
0
     OPC_CheckPatternPredicate6,
33975
0
     OPC_EmitMergeInputChains1_0,
33976
0
     OPC_EmitRegisterI64, LoongArch::R0,
33977
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
33978
0
                   MVT::i64, 2, 3, 2, 
33979
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33980
0
                   MVT::i64, 2, 4, 1, 
33981
0
    0, 
33982
0
   21, 
33983
0
    OPC_CheckPredicate, 15,
33984
0
    OPC_CheckPatternPredicate6,
33985
0
    OPC_EmitMergeInputChains1_0,
33986
0
    OPC_EmitRegisterI64, LoongArch::R0,
33987
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
33988
0
                  MVT::i64, 2, 3, 2, 
33989
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33990
0
                  MVT::i64, 2, 4, 1, 
33991
0
   0, 
33992
0
  14|128,1, MVT::i32,
33993
0
   OPC_CheckChild1TypeI32,
33994
0
   OPC_RecordChild2,
33995
0
   OPC_Scope, 114, 
33996
0
    OPC_CheckPredicate5, 
33997
0
    OPC_Scope, 17, 
33998
0
     OPC_CheckPredicate, 19,
33999
0
     OPC_CheckPatternPredicate, 9,
34000
0
     OPC_EmitMergeInputChains1_0,
34001
0
     OPC_EmitInteger32, 4, 
34002
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34003
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
34004
0
    17, 
34005
0
     OPC_CheckPredicate, 21,
34006
0
     OPC_CheckPatternPredicate, 9,
34007
0
     OPC_EmitMergeInputChains1_0,
34008
0
     OPC_EmitInteger32, 8, 
34009
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34010
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
34011
0
    17, 
34012
0
     OPC_CheckPredicate, 22,
34013
0
     OPC_CheckPatternPredicate, 9,
34014
0
     OPC_EmitMergeInputChains1_0,
34015
0
     OPC_EmitInteger32, 10, 
34016
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34017
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
34018
0
    17, 
34019
0
     OPC_CheckPredicate, 18,
34020
0
     OPC_CheckPatternPredicate, 9,
34021
0
     OPC_EmitMergeInputChains1_0,
34022
0
     OPC_EmitInteger32, 12, 
34023
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34024
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
34025
0
    17, 
34026
0
     OPC_CheckPredicate, 20,
34027
0
     OPC_CheckPatternPredicate, 9,
34028
0
     OPC_EmitMergeInputChains1_0,
34029
0
     OPC_EmitInteger32, 14, 
34030
0
     OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34031
0
                   MVT::i32, MVT::i32, 3, 1, 2, 3, 
34032
0
    20, 
34033
0
     OPC_CheckPatternPredicate, 10,
34034
0
     OPC_EmitMergeInputChains1_0,
34035
0
     OPC_EmitRegisterI32, LoongArch::R0,
34036
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
34037
0
                   MVT::i32, 2, 3, 2, 
34038
0
     OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
34039
0
                   MVT::i32, 2, 4, 1, 
34040
0
    0, 
34041
0
   22, 
34042
0
    OPC_CheckPredicate, 15,
34043
0
    OPC_CheckPatternPredicate, 10,
34044
0
    OPC_EmitMergeInputChains1_0,
34045
0
    OPC_EmitRegisterI32, LoongArch::R0,
34046
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
34047
0
                  MVT::i32, 2, 3, 2, 
34048
0
    OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
34049
0
                  MVT::i32, 2, 4, 1, 
34050
0
   0, 
34051
0
  0,
34052
0
 6, TARGET_VAL(ISD::TRAP),
34053
0
  OPC_RecordNode,
34054
0
  OPC_EmitMergeInputChains1_0,
34055
0
  OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoUNIMP),
34056
0
                0, 
34057
0
 13, TARGET_VAL(ISD::BR),
34058
0
  OPC_RecordNode,
34059
0
  OPC_RecordChild1,
34060
0
  OPC_MoveChild1,
34061
0
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
34062
0
  OPC_MoveParent,
34063
0
  OPC_EmitMergeInputChains1_0,
34064
0
  OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBR),
34065
0
                1, 1, 
34066
0
 8, TARGET_VAL(LoongArchISD::RET),
34067
0
  OPC_RecordNode,
34068
0
  OPC_CaptureGlueInput,
34069
0
  OPC_EmitMergeInputChains1_0,
34070
0
  OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoRET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
34071
0
                0, 
34072
0
 17|128,4, TARGET_VAL(ISD::SUB),
34073
0
  OPC_Scope, 3|128,2, 
34074
0
   OPC_RecordChild0,
34075
0
   OPC_RecordChild1,
34076
0
   OPC_SwitchType , 21, MVT::i64,
34077
0
    OPC_Scope, 9, 
34078
0
     OPC_CheckPatternPredicate, 15,
34079
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
34080
0
                   MVT::i64, 2, 0, 1, 
34081
0
    8, 
34082
0
     OPC_CheckPatternPredicate6,
34083
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
34084
0
                   MVT::i64, 2, 0, 1, 
34085
0
    0, 
34086
0
   22, MVT::i32,
34087
0
    OPC_Scope, 9, 
34088
0
     OPC_CheckPatternPredicate, 9,
34089
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
34090
0
                   MVT::i32, 2, 0, 1, 
34091
0
    9, 
34092
0
     OPC_CheckPatternPredicate, 10,
34093
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
34094
0
                   MVT::i32, 2, 0, 1, 
34095
0
    0, 
34096
0
   24, MVT::v16i8,
34097
0
    OPC_Scope, 10, 
34098
0
     OPC_CheckPatternPredicate2,
34099
0
     OPC_CheckComplexPat1, /*#*/1,
34100
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
34101
0
                   MVT::v16i8, 2, 0, 2, 
34102
0
    10, 
34103
0
     OPC_CheckPatternPredicate4,
34104
0
     OPC_CheckComplexPat1, /*#*/1,
34105
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
34106
0
                   MVT::v16i8, 2, 0, 2, 
34107
0
    0, 
34108
0
   24, MVT::v8i16,
34109
0
    OPC_Scope, 10, 
34110
0
     OPC_CheckPatternPredicate2,
34111
0
     OPC_CheckComplexPat1, /*#*/1,
34112
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
34113
0
                   MVT::v8i16, 2, 0, 2, 
34114
0
    10, 
34115
0
     OPC_CheckPatternPredicate4,
34116
0
     OPC_CheckComplexPat1, /*#*/1,
34117
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
34118
0
                   MVT::v8i16, 2, 0, 2, 
34119
0
    0, 
34120
0
   24, MVT::v4i32,
34121
0
    OPC_Scope, 10, 
34122
0
     OPC_CheckPatternPredicate2,
34123
0
     OPC_CheckComplexPat1, /*#*/1,
34124
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
34125
0
                   MVT::v4i32, 2, 0, 2, 
34126
0
    10, 
34127
0
     OPC_CheckPatternPredicate4,
34128
0
     OPC_CheckComplexPat1, /*#*/1,
34129
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
34130
0
                   MVT::v4i32, 2, 0, 2, 
34131
0
    0, 
34132
0
   24, MVT::v2i64,
34133
0
    OPC_Scope, 10, 
34134
0
     OPC_CheckPatternPredicate2,
34135
0
     OPC_CheckComplexPat1, /*#*/1,
34136
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
34137
0
                   MVT::v2i64, 2, 0, 2, 
34138
0
    10, 
34139
0
     OPC_CheckPatternPredicate4,
34140
0
     OPC_CheckComplexPat1, /*#*/1,
34141
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
34142
0
                   MVT::v2i64, 2, 0, 2, 
34143
0
    0, 
34144
0
   24, MVT::v32i8,
34145
0
    OPC_Scope, 10, 
34146
0
     OPC_CheckPatternPredicate3,
34147
0
     OPC_CheckComplexPat1, /*#*/1,
34148
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
34149
0
                   MVT::v32i8, 2, 0, 2, 
34150
0
    10, 
34151
0
     OPC_CheckPatternPredicate5,
34152
0
     OPC_CheckComplexPat1, /*#*/1,
34153
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
34154
0
                   MVT::v32i8, 2, 0, 2, 
34155
0
    0, 
34156
0
   24, MVT::v16i16,
34157
0
    OPC_Scope, 10, 
34158
0
     OPC_CheckPatternPredicate3,
34159
0
     OPC_CheckComplexPat1, /*#*/1,
34160
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
34161
0
                   MVT::v16i16, 2, 0, 2, 
34162
0
    10, 
34163
0
     OPC_CheckPatternPredicate5,
34164
0
     OPC_CheckComplexPat1, /*#*/1,
34165
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
34166
0
                   MVT::v16i16, 2, 0, 2, 
34167
0
    0, 
34168
0
   24, MVT::v8i32,
34169
0
    OPC_Scope, 10, 
34170
0
     OPC_CheckPatternPredicate3,
34171
0
     OPC_CheckComplexPat1, /*#*/1,
34172
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
34173
0
                   MVT::v8i32, 2, 0, 2, 
34174
0
    10, 
34175
0
     OPC_CheckPatternPredicate5,
34176
0
     OPC_CheckComplexPat1, /*#*/1,
34177
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
34178
0
                   MVT::v8i32, 2, 0, 2, 
34179
0
    0, 
34180
0
   24, MVT::v4i64,
34181
0
    OPC_Scope, 10, 
34182
0
     OPC_CheckPatternPredicate3,
34183
0
     OPC_CheckComplexPat1, /*#*/1,
34184
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
34185
0
                   MVT::v4i64, 2, 0, 2, 
34186
0
    10, 
34187
0
     OPC_CheckPatternPredicate5,
34188
0
     OPC_CheckComplexPat1, /*#*/1,
34189
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
34190
0
                   MVT::v4i64, 2, 0, 2, 
34191
0
    0, 
34192
0
   0,
34193
0
  78, 
34194
0
   OPC_MoveChild0,
34195
0
   OPC_CheckImmAllZerosV,
34196
0
   OPC_MoveParent,
34197
0
   OPC_RecordChild1,
34198
0
   OPC_SwitchType , 7, MVT::v16i8,
34199
0
    OPC_CheckPatternPredicate1,
34200
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_B),
34201
0
                  MVT::v16i8, 1, 0, 
34202
0
   7, MVT::v8i16,
34203
0
    OPC_CheckPatternPredicate1,
34204
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_H),
34205
0
                  MVT::v8i16, 1, 0, 
34206
0
   7, MVT::v4i32,
34207
0
    OPC_CheckPatternPredicate1,
34208
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_W),
34209
0
                  MVT::v4i32, 1, 0, 
34210
0
   7, MVT::v2i64,
34211
0
    OPC_CheckPatternPredicate1,
34212
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_D),
34213
0
                  MVT::v2i64, 1, 0, 
34214
0
   7, MVT::v32i8,
34215
0
    OPC_CheckPatternPredicate0,
34216
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_B),
34217
0
                  MVT::v32i8, 1, 0, 
34218
0
   7, MVT::v16i16,
34219
0
    OPC_CheckPatternPredicate0,
34220
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_H),
34221
0
                  MVT::v16i16, 1, 0, 
34222
0
   7, MVT::v8i32,
34223
0
    OPC_CheckPatternPredicate0,
34224
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_W),
34225
0
                  MVT::v8i32, 1, 0, 
34226
0
   7, MVT::v4i64,
34227
0
    OPC_CheckPatternPredicate0,
34228
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_D),
34229
0
                  MVT::v4i64, 1, 0, 
34230
0
   0,
34231
0
  57|128,1, 
34232
0
   OPC_RecordChild0,
34233
0
   OPC_Scope, 97, 
34234
0
    OPC_MoveChild1,
34235
0
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
34236
0
    OPC_RecordChild0,
34237
0
    OPC_RecordChild1,
34238
0
    OPC_MoveParent,
34239
0
    OPC_SwitchType , 9, MVT::v16i8,
34240
0
     OPC_CheckPatternPredicate1,
34241
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_B),
34242
0
                   MVT::v16i8, 3, 0, 1, 2, 
34243
0
    9, MVT::v8i16,
34244
0
     OPC_CheckPatternPredicate1,
34245
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_H),
34246
0
                   MVT::v8i16, 3, 0, 1, 2, 
34247
0
    9, MVT::v4i32,
34248
0
     OPC_CheckPatternPredicate1,
34249
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_W),
34250
0
                   MVT::v4i32, 3, 0, 1, 2, 
34251
0
    9, MVT::v2i64,
34252
0
     OPC_CheckPatternPredicate1,
34253
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_D),
34254
0
                   MVT::v2i64, 3, 0, 1, 2, 
34255
0
    9, MVT::v32i8,
34256
0
     OPC_CheckPatternPredicate0,
34257
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_B),
34258
0
                   MVT::v32i8, 3, 0, 1, 2, 
34259
0
    9, MVT::v16i16,
34260
0
     OPC_CheckPatternPredicate0,
34261
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_H),
34262
0
                   MVT::v16i16, 3, 0, 1, 2, 
34263
0
    9, MVT::v8i32,
34264
0
     OPC_CheckPatternPredicate0,
34265
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_W),
34266
0
                   MVT::v8i32, 3, 0, 1, 2, 
34267
0
    9, MVT::v4i64,
34268
0
     OPC_CheckPatternPredicate0,
34269
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_D),
34270
0
                   MVT::v4i64, 3, 0, 1, 2, 
34271
0
    0,
34272
0
   83, 
34273
0
    OPC_RecordChild1,
34274
0
    OPC_SwitchType , 8, MVT::v16i8,
34275
0
     OPC_CheckPatternPredicate1,
34276
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_B),
34277
0
                   MVT::v16i8, 2, 0, 1, 
34278
0
    8, MVT::v8i16,
34279
0
     OPC_CheckPatternPredicate1,
34280
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_H),
34281
0
                   MVT::v8i16, 2, 0, 1, 
34282
0
    8, MVT::v4i32,
34283
0
     OPC_CheckPatternPredicate1,
34284
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_W),
34285
0
                   MVT::v4i32, 2, 0, 1, 
34286
0
    8, MVT::v2i64,
34287
0
     OPC_CheckPatternPredicate1,
34288
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_D),
34289
0
                   MVT::v2i64, 2, 0, 1, 
34290
0
    8, MVT::v32i8,
34291
0
     OPC_CheckPatternPredicate0,
34292
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_B),
34293
0
                   MVT::v32i8, 2, 0, 1, 
34294
0
    8, MVT::v16i16,
34295
0
     OPC_CheckPatternPredicate0,
34296
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_H),
34297
0
                   MVT::v16i16, 2, 0, 1, 
34298
0
    8, MVT::v8i32,
34299
0
     OPC_CheckPatternPredicate0,
34300
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_W),
34301
0
                   MVT::v8i32, 2, 0, 1, 
34302
0
    8, MVT::v4i64,
34303
0
     OPC_CheckPatternPredicate0,
34304
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_D),
34305
0
                   MVT::v4i64, 2, 0, 1, 
34306
0
    0,
34307
0
   0, 
34308
0
  0, 
34309
0
 3|128,1, TARGET_VAL(ISD::MULHS),
34310
0
  OPC_RecordChild0,
34311
0
  OPC_RecordChild1,
34312
0
  OPC_SwitchType , 21, MVT::i64,
34313
0
   OPC_Scope, 9, 
34314
0
    OPC_CheckPatternPredicate, 15,
34315
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
34316
0
                  MVT::i64, 2, 0, 1, 
34317
0
   8, 
34318
0
    OPC_CheckPatternPredicate6,
34319
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
34320
0
                  MVT::i64, 2, 0, 1, 
34321
0
   0, 
34322
0
  22, MVT::i32,
34323
0
   OPC_Scope, 9, 
34324
0
    OPC_CheckPatternPredicate, 9,
34325
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
34326
0
                  MVT::i32, 2, 0, 1, 
34327
0
   9, 
34328
0
    OPC_CheckPatternPredicate, 10,
34329
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
34330
0
                  MVT::i32, 2, 0, 1, 
34331
0
   0, 
34332
0
  8, MVT::v16i8,
34333
0
   OPC_CheckPatternPredicate1,
34334
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
34335
0
                 MVT::v16i8, 2, 0, 1, 
34336
0
  8, MVT::v8i16,
34337
0
   OPC_CheckPatternPredicate1,
34338
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
34339
0
                 MVT::v8i16, 2, 0, 1, 
34340
0
  8, MVT::v4i32,
34341
0
   OPC_CheckPatternPredicate1,
34342
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
34343
0
                 MVT::v4i32, 2, 0, 1, 
34344
0
  8, MVT::v2i64,
34345
0
   OPC_CheckPatternPredicate1,
34346
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
34347
0
                 MVT::v2i64, 2, 0, 1, 
34348
0
  8, MVT::v32i8,
34349
0
   OPC_CheckPatternPredicate0,
34350
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
34351
0
                 MVT::v32i8, 2, 0, 1, 
34352
0
  8, MVT::v16i16,
34353
0
   OPC_CheckPatternPredicate0,
34354
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
34355
0
                 MVT::v16i16, 2, 0, 1, 
34356
0
  8, MVT::v8i32,
34357
0
   OPC_CheckPatternPredicate0,
34358
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
34359
0
                 MVT::v8i32, 2, 0, 1, 
34360
0
  8, MVT::v4i64,
34361
0
   OPC_CheckPatternPredicate0,
34362
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
34363
0
                 MVT::v4i64, 2, 0, 1, 
34364
0
  0,
34365
0
 3|128,1, TARGET_VAL(ISD::MULHU),
34366
0
  OPC_RecordChild0,
34367
0
  OPC_RecordChild1,
34368
0
  OPC_SwitchType , 21, MVT::i64,
34369
0
   OPC_Scope, 9, 
34370
0
    OPC_CheckPatternPredicate, 15,
34371
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
34372
0
                  MVT::i64, 2, 0, 1, 
34373
0
   8, 
34374
0
    OPC_CheckPatternPredicate6,
34375
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
34376
0
                  MVT::i64, 2, 0, 1, 
34377
0
   0, 
34378
0
  22, MVT::i32,
34379
0
   OPC_Scope, 9, 
34380
0
    OPC_CheckPatternPredicate, 9,
34381
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
34382
0
                  MVT::i32, 2, 0, 1, 
34383
0
   9, 
34384
0
    OPC_CheckPatternPredicate, 10,
34385
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
34386
0
                  MVT::i32, 2, 0, 1, 
34387
0
   0, 
34388
0
  8, MVT::v16i8,
34389
0
   OPC_CheckPatternPredicate1,
34390
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
34391
0
                 MVT::v16i8, 2, 0, 1, 
34392
0
  8, MVT::v8i16,
34393
0
   OPC_CheckPatternPredicate1,
34394
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
34395
0
                 MVT::v8i16, 2, 0, 1, 
34396
0
  8, MVT::v4i32,
34397
0
   OPC_CheckPatternPredicate1,
34398
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
34399
0
                 MVT::v4i32, 2, 0, 1, 
34400
0
  8, MVT::v2i64,
34401
0
   OPC_CheckPatternPredicate1,
34402
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
34403
0
                 MVT::v2i64, 2, 0, 1, 
34404
0
  8, MVT::v32i8,
34405
0
   OPC_CheckPatternPredicate0,
34406
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
34407
0
                 MVT::v32i8, 2, 0, 1, 
34408
0
  8, MVT::v16i16,
34409
0
   OPC_CheckPatternPredicate0,
34410
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
34411
0
                 MVT::v16i16, 2, 0, 1, 
34412
0
  8, MVT::v8i32,
34413
0
   OPC_CheckPatternPredicate0,
34414
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
34415
0
                 MVT::v8i32, 2, 0, 1, 
34416
0
  8, MVT::v4i64,
34417
0
   OPC_CheckPatternPredicate0,
34418
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
34419
0
                 MVT::v4i64, 2, 0, 1, 
34420
0
  0,
34421
0
 10, TARGET_VAL(LoongArchISD::ROTR_W),
34422
0
  OPC_RecordChild0,
34423
0
  OPC_RecordChild1,
34424
0
  OPC_CheckPatternPredicate6,
34425
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
34426
0
                MVT::i64, 2, 0, 1, 
34427
0
 24, TARGET_VAL(ISD::DEBUGTRAP),
34428
0
  OPC_RecordNode,
34429
0
  OPC_Scope, 9, 
34430
0
   OPC_CheckPatternPredicate7,
34431
0
   OPC_EmitMergeInputChains1_0,
34432
0
   OPC_EmitInteger64, 0, 
34433
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
34434
0
                 1, 1, 
34435
0
  10, 
34436
0
   OPC_CheckPatternPredicate, 8,
34437
0
   OPC_EmitMergeInputChains1_0,
34438
0
   OPC_EmitInteger32, 0, 
34439
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
34440
0
                 1, 1, 
34441
0
  0, 
34442
0
 24, TARGET_VAL(LoongArchISD::REVB_2H),
34443
0
  OPC_RecordChild0,
34444
0
  OPC_SwitchType , 8, MVT::i64,
34445
0
   OPC_CheckChild0TypeI64,
34446
0
   OPC_CheckPatternPredicate7,
34447
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
34448
0
                 MVT::i64, 1, 0, 
34449
0
  9, MVT::i32,
34450
0
   OPC_CheckChild0TypeI32,
34451
0
   OPC_CheckPatternPredicate, 8,
34452
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
34453
0
                 MVT::i32, 1, 0, 
34454
0
  0,
34455
0
 24, TARGET_VAL(LoongArchISD::BITREV_4B),
34456
0
  OPC_RecordChild0,
34457
0
  OPC_SwitchType , 8, MVT::i64,
34458
0
   OPC_CheckChild0TypeI64,
34459
0
   OPC_CheckPatternPredicate7,
34460
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
34461
0
                 MVT::i64, 1, 0, 
34462
0
  9, MVT::i32,
34463
0
   OPC_CheckChild0TypeI32,
34464
0
   OPC_CheckPatternPredicate, 8,
34465
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
34466
0
                 MVT::i32, 1, 0, 
34467
0
  0,
34468
0
 24, TARGET_VAL(LoongArchISD::REVB_2W),
34469
0
  OPC_RecordChild0,
34470
0
  OPC_SwitchType , 8, MVT::i64,
34471
0
   OPC_CheckChild0TypeI64,
34472
0
   OPC_CheckPatternPredicate6,
34473
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
34474
0
                 MVT::i64, 1, 0, 
34475
0
  9, MVT::i32,
34476
0
   OPC_CheckChild0TypeI32,
34477
0
   OPC_CheckPatternPredicate, 10,
34478
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
34479
0
                 MVT::i32, 1, 0, 
34480
0
  0,
34481
0
 24, TARGET_VAL(LoongArchISD::BITREV_W),
34482
0
  OPC_RecordChild0,
34483
0
  OPC_SwitchType , 8, MVT::i64,
34484
0
   OPC_CheckChild0TypeI64,
34485
0
   OPC_CheckPatternPredicate6,
34486
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
34487
0
                 MVT::i64, 1, 0, 
34488
0
  9, MVT::i32,
34489
0
   OPC_CheckChild0TypeI32,
34490
0
   OPC_CheckPatternPredicate, 10,
34491
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
34492
0
                 MVT::i32, 1, 0, 
34493
0
  0,
34494
0
 12, TARGET_VAL(LoongArchISD::CRC_W_B_W),
34495
0
  OPC_RecordNode,
34496
0
  OPC_RecordChild1,
34497
0
  OPC_RecordChild2,
34498
0
  OPC_CheckPatternPredicate6,
34499
0
  OPC_EmitMergeInputChains1_0,
34500
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_B_W),
34501
0
                MVT::i64, 2, 1, 2, 
34502
0
 12, TARGET_VAL(LoongArchISD::CRC_W_H_W),
34503
0
  OPC_RecordNode,
34504
0
  OPC_RecordChild1,
34505
0
  OPC_RecordChild2,
34506
0
  OPC_CheckPatternPredicate6,
34507
0
  OPC_EmitMergeInputChains1_0,
34508
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_H_W),
34509
0
                MVT::i64, 2, 1, 2, 
34510
0
 12, TARGET_VAL(LoongArchISD::CRC_W_W_W),
34511
0
  OPC_RecordNode,
34512
0
  OPC_RecordChild1,
34513
0
  OPC_RecordChild2,
34514
0
  OPC_CheckPatternPredicate6,
34515
0
  OPC_EmitMergeInputChains1_0,
34516
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_W_W),
34517
0
                MVT::i64, 2, 1, 2, 
34518
0
 12, TARGET_VAL(LoongArchISD::CRC_W_D_W),
34519
0
  OPC_RecordNode,
34520
0
  OPC_RecordChild1,
34521
0
  OPC_RecordChild2,
34522
0
  OPC_CheckPatternPredicate6,
34523
0
  OPC_EmitMergeInputChains1_0,
34524
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_D_W),
34525
0
                MVT::i64, 2, 1, 2, 
34526
0
 12, TARGET_VAL(LoongArchISD::CRCC_W_B_W),
34527
0
  OPC_RecordNode,
34528
0
  OPC_RecordChild1,
34529
0
  OPC_RecordChild2,
34530
0
  OPC_CheckPatternPredicate6,
34531
0
  OPC_EmitMergeInputChains1_0,
34532
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_B_W),
34533
0
                MVT::i64, 2, 1, 2, 
34534
0
 12, TARGET_VAL(LoongArchISD::CRCC_W_H_W),
34535
0
  OPC_RecordNode,
34536
0
  OPC_RecordChild1,
34537
0
  OPC_RecordChild2,
34538
0
  OPC_CheckPatternPredicate6,
34539
0
  OPC_EmitMergeInputChains1_0,
34540
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_H_W),
34541
0
                MVT::i64, 2, 1, 2, 
34542
0
 12, TARGET_VAL(LoongArchISD::CRCC_W_W_W),
34543
0
  OPC_RecordNode,
34544
0
  OPC_RecordChild1,
34545
0
  OPC_RecordChild2,
34546
0
  OPC_CheckPatternPredicate6,
34547
0
  OPC_EmitMergeInputChains1_0,
34548
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_W_W),
34549
0
                MVT::i64, 2, 1, 2, 
34550
0
 12, TARGET_VAL(LoongArchISD::CRCC_W_D_W),
34551
0
  OPC_RecordNode,
34552
0
  OPC_RecordChild1,
34553
0
  OPC_RecordChild2,
34554
0
  OPC_CheckPatternPredicate6,
34555
0
  OPC_EmitMergeInputChains1_0,
34556
0
  OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_D_W),
34557
0
                MVT::i64, 2, 1, 2, 
34558
0
 32|128,6, TARGET_VAL(ISD::STRICT_FSETCC),
34559
0
  OPC_RecordNode,
34560
0
  OPC_RecordChild1,
34561
0
  OPC_Scope, 12|128,3, 
34562
0
   OPC_CheckChild1Type, MVT::f32,
34563
0
   OPC_RecordChild2,
34564
0
   OPC_MoveChild3,
34565
0
   OPC_Scope, 29, 
34566
0
    OPC_CheckCondCode, ISD::SETOEQ,
34567
0
    OPC_MoveParent,
34568
0
    OPC_SwitchType , 10, MVT::i64,
34569
0
     OPC_CheckPatternPredicate, 11,
34570
0
     OPC_EmitMergeInputChains1_0,
34571
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34572
0
                   MVT::i64, 2, 1, 2, 
34573
0
    10, MVT::i32,
34574
0
     OPC_CheckPatternPredicate, 12,
34575
0
     OPC_EmitMergeInputChains1_0,
34576
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34577
0
                   MVT::i32, 2, 1, 2, 
34578
0
    0,
34579
0
   29, 
34580
0
    OPC_CheckCondCode, ISD::SETEQ,
34581
0
    OPC_MoveParent,
34582
0
    OPC_SwitchType , 10, MVT::i64,
34583
0
     OPC_CheckPatternPredicate, 11,
34584
0
     OPC_EmitMergeInputChains1_0,
34585
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34586
0
                   MVT::i64, 2, 1, 2, 
34587
0
    10, MVT::i32,
34588
0
     OPC_CheckPatternPredicate, 12,
34589
0
     OPC_EmitMergeInputChains1_0,
34590
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34591
0
                   MVT::i32, 2, 1, 2, 
34592
0
    0,
34593
0
   29, 
34594
0
    OPC_CheckCondCode, ISD::SETOLT,
34595
0
    OPC_MoveParent,
34596
0
    OPC_SwitchType , 10, MVT::i64,
34597
0
     OPC_CheckPatternPredicate, 11,
34598
0
     OPC_EmitMergeInputChains1_0,
34599
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34600
0
                   MVT::i64, 2, 1, 2, 
34601
0
    10, MVT::i32,
34602
0
     OPC_CheckPatternPredicate, 12,
34603
0
     OPC_EmitMergeInputChains1_0,
34604
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34605
0
                   MVT::i32, 2, 1, 2, 
34606
0
    0,
34607
0
   29, 
34608
0
    OPC_CheckCondCode, ISD::SETOLE,
34609
0
    OPC_MoveParent,
34610
0
    OPC_SwitchType , 10, MVT::i64,
34611
0
     OPC_CheckPatternPredicate, 11,
34612
0
     OPC_EmitMergeInputChains1_0,
34613
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34614
0
                   MVT::i64, 2, 1, 2, 
34615
0
    10, MVT::i32,
34616
0
     OPC_CheckPatternPredicate, 12,
34617
0
     OPC_EmitMergeInputChains1_0,
34618
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34619
0
                   MVT::i32, 2, 1, 2, 
34620
0
    0,
34621
0
   29, 
34622
0
    OPC_CheckCondCode, ISD::SETLE,
34623
0
    OPC_MoveParent,
34624
0
    OPC_SwitchType , 10, MVT::i64,
34625
0
     OPC_CheckPatternPredicate, 11,
34626
0
     OPC_EmitMergeInputChains1_0,
34627
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34628
0
                   MVT::i64, 2, 1, 2, 
34629
0
    10, MVT::i32,
34630
0
     OPC_CheckPatternPredicate, 12,
34631
0
     OPC_EmitMergeInputChains1_0,
34632
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34633
0
                   MVT::i32, 2, 1, 2, 
34634
0
    0,
34635
0
   29, 
34636
0
    OPC_CheckCondCode, ISD::SETONE,
34637
0
    OPC_MoveParent,
34638
0
    OPC_SwitchType , 10, MVT::i64,
34639
0
     OPC_CheckPatternPredicate, 11,
34640
0
     OPC_EmitMergeInputChains1_0,
34641
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_S),
34642
0
                   MVT::i64, 2, 1, 2, 
34643
0
    10, MVT::i32,
34644
0
     OPC_CheckPatternPredicate, 12,
34645
0
     OPC_EmitMergeInputChains1_0,
34646
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_S),
34647
0
                   MVT::i32, 2, 1, 2, 
34648
0
    0,
34649
0
   29, 
34650
0
    OPC_CheckCondCode, ISD::SETO,
34651
0
    OPC_MoveParent,
34652
0
    OPC_SwitchType , 10, MVT::i64,
34653
0
     OPC_CheckPatternPredicate, 11,
34654
0
     OPC_EmitMergeInputChains1_0,
34655
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_S),
34656
0
                   MVT::i64, 2, 1, 2, 
34657
0
    10, MVT::i32,
34658
0
     OPC_CheckPatternPredicate, 12,
34659
0
     OPC_EmitMergeInputChains1_0,
34660
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_S),
34661
0
                   MVT::i32, 2, 1, 2, 
34662
0
    0,
34663
0
   29, 
34664
0
    OPC_CheckCondCode, ISD::SETUEQ,
34665
0
    OPC_MoveParent,
34666
0
    OPC_SwitchType , 10, MVT::i64,
34667
0
     OPC_CheckPatternPredicate, 11,
34668
0
     OPC_EmitMergeInputChains1_0,
34669
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
34670
0
                   MVT::i64, 2, 1, 2, 
34671
0
    10, MVT::i32,
34672
0
     OPC_CheckPatternPredicate, 12,
34673
0
     OPC_EmitMergeInputChains1_0,
34674
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
34675
0
                   MVT::i32, 2, 1, 2, 
34676
0
    0,
34677
0
   29, 
34678
0
    OPC_CheckCondCode, ISD::SETULT,
34679
0
    OPC_MoveParent,
34680
0
    OPC_SwitchType , 10, MVT::i64,
34681
0
     OPC_CheckPatternPredicate, 11,
34682
0
     OPC_EmitMergeInputChains1_0,
34683
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_S),
34684
0
                   MVT::i64, 2, 1, 2, 
34685
0
    10, MVT::i32,
34686
0
     OPC_CheckPatternPredicate, 12,
34687
0
     OPC_EmitMergeInputChains1_0,
34688
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_S),
34689
0
                   MVT::i32, 2, 1, 2, 
34690
0
    0,
34691
0
   29, 
34692
0
    OPC_CheckCondCode, ISD::SETULE,
34693
0
    OPC_MoveParent,
34694
0
    OPC_SwitchType , 10, MVT::i64,
34695
0
     OPC_CheckPatternPredicate, 11,
34696
0
     OPC_EmitMergeInputChains1_0,
34697
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_S),
34698
0
                   MVT::i64, 2, 1, 2, 
34699
0
    10, MVT::i32,
34700
0
     OPC_CheckPatternPredicate, 12,
34701
0
     OPC_EmitMergeInputChains1_0,
34702
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_S),
34703
0
                   MVT::i32, 2, 1, 2, 
34704
0
    0,
34705
0
   29, 
34706
0
    OPC_CheckCondCode, ISD::SETUNE,
34707
0
    OPC_MoveParent,
34708
0
    OPC_SwitchType , 10, MVT::i64,
34709
0
     OPC_CheckPatternPredicate, 11,
34710
0
     OPC_EmitMergeInputChains1_0,
34711
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_S),
34712
0
                   MVT::i64, 2, 1, 2, 
34713
0
    10, MVT::i32,
34714
0
     OPC_CheckPatternPredicate, 12,
34715
0
     OPC_EmitMergeInputChains1_0,
34716
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_S),
34717
0
                   MVT::i32, 2, 1, 2, 
34718
0
    0,
34719
0
   29, 
34720
0
    OPC_CheckCondCode, ISD::SETUO,
34721
0
    OPC_MoveParent,
34722
0
    OPC_SwitchType , 10, MVT::i64,
34723
0
     OPC_CheckPatternPredicate, 11,
34724
0
     OPC_EmitMergeInputChains1_0,
34725
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_S),
34726
0
                   MVT::i64, 2, 1, 2, 
34727
0
    10, MVT::i32,
34728
0
     OPC_CheckPatternPredicate, 12,
34729
0
     OPC_EmitMergeInputChains1_0,
34730
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_S),
34731
0
                   MVT::i32, 2, 1, 2, 
34732
0
    0,
34733
0
   29, 
34734
0
    OPC_CheckCondCode, ISD::SETLT,
34735
0
    OPC_MoveParent,
34736
0
    OPC_SwitchType , 10, MVT::i64,
34737
0
     OPC_CheckPatternPredicate, 11,
34738
0
     OPC_EmitMergeInputChains1_0,
34739
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34740
0
                   MVT::i64, 2, 1, 2, 
34741
0
    10, MVT::i32,
34742
0
     OPC_CheckPatternPredicate, 12,
34743
0
     OPC_EmitMergeInputChains1_0,
34744
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34745
0
                   MVT::i32, 2, 1, 2, 
34746
0
    0,
34747
0
   0, 
34748
0
  12|128,3, 
34749
0
   OPC_CheckChild1Type, MVT::f64,
34750
0
   OPC_RecordChild2,
34751
0
   OPC_MoveChild3,
34752
0
   OPC_Scope, 29, 
34753
0
    OPC_CheckCondCode, ISD::SETOEQ,
34754
0
    OPC_MoveParent,
34755
0
    OPC_SwitchType , 10, MVT::i64,
34756
0
     OPC_CheckPatternPredicate, 13,
34757
0
     OPC_EmitMergeInputChains1_0,
34758
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34759
0
                   MVT::i64, 2, 1, 2, 
34760
0
    10, MVT::i32,
34761
0
     OPC_CheckPatternPredicate, 14,
34762
0
     OPC_EmitMergeInputChains1_0,
34763
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34764
0
                   MVT::i32, 2, 1, 2, 
34765
0
    0,
34766
0
   29, 
34767
0
    OPC_CheckCondCode, ISD::SETEQ,
34768
0
    OPC_MoveParent,
34769
0
    OPC_SwitchType , 10, MVT::i64,
34770
0
     OPC_CheckPatternPredicate, 13,
34771
0
     OPC_EmitMergeInputChains1_0,
34772
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34773
0
                   MVT::i64, 2, 1, 2, 
34774
0
    10, MVT::i32,
34775
0
     OPC_CheckPatternPredicate, 14,
34776
0
     OPC_EmitMergeInputChains1_0,
34777
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34778
0
                   MVT::i32, 2, 1, 2, 
34779
0
    0,
34780
0
   29, 
34781
0
    OPC_CheckCondCode, ISD::SETOLT,
34782
0
    OPC_MoveParent,
34783
0
    OPC_SwitchType , 10, MVT::i64,
34784
0
     OPC_CheckPatternPredicate, 13,
34785
0
     OPC_EmitMergeInputChains1_0,
34786
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34787
0
                   MVT::i64, 2, 1, 2, 
34788
0
    10, MVT::i32,
34789
0
     OPC_CheckPatternPredicate, 14,
34790
0
     OPC_EmitMergeInputChains1_0,
34791
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34792
0
                   MVT::i32, 2, 1, 2, 
34793
0
    0,
34794
0
   29, 
34795
0
    OPC_CheckCondCode, ISD::SETOLE,
34796
0
    OPC_MoveParent,
34797
0
    OPC_SwitchType , 10, MVT::i64,
34798
0
     OPC_CheckPatternPredicate, 13,
34799
0
     OPC_EmitMergeInputChains1_0,
34800
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34801
0
                   MVT::i64, 2, 1, 2, 
34802
0
    10, MVT::i32,
34803
0
     OPC_CheckPatternPredicate, 14,
34804
0
     OPC_EmitMergeInputChains1_0,
34805
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34806
0
                   MVT::i32, 2, 1, 2, 
34807
0
    0,
34808
0
   29, 
34809
0
    OPC_CheckCondCode, ISD::SETLE,
34810
0
    OPC_MoveParent,
34811
0
    OPC_SwitchType , 10, MVT::i64,
34812
0
     OPC_CheckPatternPredicate, 13,
34813
0
     OPC_EmitMergeInputChains1_0,
34814
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34815
0
                   MVT::i64, 2, 1, 2, 
34816
0
    10, MVT::i32,
34817
0
     OPC_CheckPatternPredicate, 14,
34818
0
     OPC_EmitMergeInputChains1_0,
34819
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34820
0
                   MVT::i32, 2, 1, 2, 
34821
0
    0,
34822
0
   29, 
34823
0
    OPC_CheckCondCode, ISD::SETONE,
34824
0
    OPC_MoveParent,
34825
0
    OPC_SwitchType , 10, MVT::i64,
34826
0
     OPC_CheckPatternPredicate, 13,
34827
0
     OPC_EmitMergeInputChains1_0,
34828
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_D),
34829
0
                   MVT::i64, 2, 1, 2, 
34830
0
    10, MVT::i32,
34831
0
     OPC_CheckPatternPredicate, 14,
34832
0
     OPC_EmitMergeInputChains1_0,
34833
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_D),
34834
0
                   MVT::i32, 2, 1, 2, 
34835
0
    0,
34836
0
   29, 
34837
0
    OPC_CheckCondCode, ISD::SETO,
34838
0
    OPC_MoveParent,
34839
0
    OPC_SwitchType , 10, MVT::i64,
34840
0
     OPC_CheckPatternPredicate, 13,
34841
0
     OPC_EmitMergeInputChains1_0,
34842
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_D),
34843
0
                   MVT::i64, 2, 1, 2, 
34844
0
    10, MVT::i32,
34845
0
     OPC_CheckPatternPredicate, 14,
34846
0
     OPC_EmitMergeInputChains1_0,
34847
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_D),
34848
0
                   MVT::i32, 2, 1, 2, 
34849
0
    0,
34850
0
   29, 
34851
0
    OPC_CheckCondCode, ISD::SETUEQ,
34852
0
    OPC_MoveParent,
34853
0
    OPC_SwitchType , 10, MVT::i64,
34854
0
     OPC_CheckPatternPredicate, 13,
34855
0
     OPC_EmitMergeInputChains1_0,
34856
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
34857
0
                   MVT::i64, 2, 1, 2, 
34858
0
    10, MVT::i32,
34859
0
     OPC_CheckPatternPredicate, 14,
34860
0
     OPC_EmitMergeInputChains1_0,
34861
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
34862
0
                   MVT::i32, 2, 1, 2, 
34863
0
    0,
34864
0
   29, 
34865
0
    OPC_CheckCondCode, ISD::SETULT,
34866
0
    OPC_MoveParent,
34867
0
    OPC_SwitchType , 10, MVT::i64,
34868
0
     OPC_CheckPatternPredicate, 13,
34869
0
     OPC_EmitMergeInputChains1_0,
34870
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_D),
34871
0
                   MVT::i64, 2, 1, 2, 
34872
0
    10, MVT::i32,
34873
0
     OPC_CheckPatternPredicate, 14,
34874
0
     OPC_EmitMergeInputChains1_0,
34875
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_D),
34876
0
                   MVT::i32, 2, 1, 2, 
34877
0
    0,
34878
0
   29, 
34879
0
    OPC_CheckCondCode, ISD::SETULE,
34880
0
    OPC_MoveParent,
34881
0
    OPC_SwitchType , 10, MVT::i64,
34882
0
     OPC_CheckPatternPredicate, 13,
34883
0
     OPC_EmitMergeInputChains1_0,
34884
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_D),
34885
0
                   MVT::i64, 2, 1, 2, 
34886
0
    10, MVT::i32,
34887
0
     OPC_CheckPatternPredicate, 14,
34888
0
     OPC_EmitMergeInputChains1_0,
34889
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_D),
34890
0
                   MVT::i32, 2, 1, 2, 
34891
0
    0,
34892
0
   29, 
34893
0
    OPC_CheckCondCode, ISD::SETUNE,
34894
0
    OPC_MoveParent,
34895
0
    OPC_SwitchType , 10, MVT::i64,
34896
0
     OPC_CheckPatternPredicate, 13,
34897
0
     OPC_EmitMergeInputChains1_0,
34898
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_D),
34899
0
                   MVT::i64, 2, 1, 2, 
34900
0
    10, MVT::i32,
34901
0
     OPC_CheckPatternPredicate, 14,
34902
0
     OPC_EmitMergeInputChains1_0,
34903
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_D),
34904
0
                   MVT::i32, 2, 1, 2, 
34905
0
    0,
34906
0
   29, 
34907
0
    OPC_CheckCondCode, ISD::SETUO,
34908
0
    OPC_MoveParent,
34909
0
    OPC_SwitchType , 10, MVT::i64,
34910
0
     OPC_CheckPatternPredicate, 13,
34911
0
     OPC_EmitMergeInputChains1_0,
34912
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_D),
34913
0
                   MVT::i64, 2, 1, 2, 
34914
0
    10, MVT::i32,
34915
0
     OPC_CheckPatternPredicate, 14,
34916
0
     OPC_EmitMergeInputChains1_0,
34917
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_D),
34918
0
                   MVT::i32, 2, 1, 2, 
34919
0
    0,
34920
0
   29, 
34921
0
    OPC_CheckCondCode, ISD::SETLT,
34922
0
    OPC_MoveParent,
34923
0
    OPC_SwitchType , 10, MVT::i64,
34924
0
     OPC_CheckPatternPredicate, 13,
34925
0
     OPC_EmitMergeInputChains1_0,
34926
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34927
0
                   MVT::i64, 2, 1, 2, 
34928
0
    10, MVT::i32,
34929
0
     OPC_CheckPatternPredicate, 14,
34930
0
     OPC_EmitMergeInputChains1_0,
34931
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34932
0
                   MVT::i32, 2, 1, 2, 
34933
0
    0,
34934
0
   0, 
34935
0
  0, 
34936
0
 40|128,5, TARGET_VAL(ISD::STRICT_FSETCCS),
34937
0
  OPC_RecordNode,
34938
0
  OPC_RecordChild1,
34939
0
  OPC_Scope, 80|128,2, 
34940
0
   OPC_CheckChild1Type, MVT::f32,
34941
0
   OPC_RecordChild2,
34942
0
   OPC_MoveChild3,
34943
0
   OPC_Scope, 29, 
34944
0
    OPC_CheckCondCode, ISD::SETOEQ,
34945
0
    OPC_MoveParent,
34946
0
    OPC_SwitchType , 10, MVT::i64,
34947
0
     OPC_CheckPatternPredicate, 11,
34948
0
     OPC_EmitMergeInputChains1_0,
34949
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_S),
34950
0
                   MVT::i64, 2, 1, 2, 
34951
0
    10, MVT::i32,
34952
0
     OPC_CheckPatternPredicate, 12,
34953
0
     OPC_EmitMergeInputChains1_0,
34954
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_S),
34955
0
                   MVT::i32, 2, 1, 2, 
34956
0
    0,
34957
0
   29, 
34958
0
    OPC_CheckCondCode, ISD::SETOLT,
34959
0
    OPC_MoveParent,
34960
0
    OPC_SwitchType , 10, MVT::i64,
34961
0
     OPC_CheckPatternPredicate, 11,
34962
0
     OPC_EmitMergeInputChains1_0,
34963
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
34964
0
                   MVT::i64, 2, 1, 2, 
34965
0
    10, MVT::i32,
34966
0
     OPC_CheckPatternPredicate, 12,
34967
0
     OPC_EmitMergeInputChains1_0,
34968
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
34969
0
                   MVT::i32, 2, 1, 2, 
34970
0
    0,
34971
0
   29, 
34972
0
    OPC_CheckCondCode, ISD::SETOLE,
34973
0
    OPC_MoveParent,
34974
0
    OPC_SwitchType , 10, MVT::i64,
34975
0
     OPC_CheckPatternPredicate, 11,
34976
0
     OPC_EmitMergeInputChains1_0,
34977
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_S),
34978
0
                   MVT::i64, 2, 1, 2, 
34979
0
    10, MVT::i32,
34980
0
     OPC_CheckPatternPredicate, 12,
34981
0
     OPC_EmitMergeInputChains1_0,
34982
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_S),
34983
0
                   MVT::i32, 2, 1, 2, 
34984
0
    0,
34985
0
   29, 
34986
0
    OPC_CheckCondCode, ISD::SETONE,
34987
0
    OPC_MoveParent,
34988
0
    OPC_SwitchType , 10, MVT::i64,
34989
0
     OPC_CheckPatternPredicate, 11,
34990
0
     OPC_EmitMergeInputChains1_0,
34991
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_S),
34992
0
                   MVT::i64, 2, 1, 2, 
34993
0
    10, MVT::i32,
34994
0
     OPC_CheckPatternPredicate, 12,
34995
0
     OPC_EmitMergeInputChains1_0,
34996
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_S),
34997
0
                   MVT::i32, 2, 1, 2, 
34998
0
    0,
34999
0
   29, 
35000
0
    OPC_CheckCondCode, ISD::SETO,
35001
0
    OPC_MoveParent,
35002
0
    OPC_SwitchType , 10, MVT::i64,
35003
0
     OPC_CheckPatternPredicate, 11,
35004
0
     OPC_EmitMergeInputChains1_0,
35005
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_S),
35006
0
                   MVT::i64, 2, 1, 2, 
35007
0
    10, MVT::i32,
35008
0
     OPC_CheckPatternPredicate, 12,
35009
0
     OPC_EmitMergeInputChains1_0,
35010
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_S),
35011
0
                   MVT::i32, 2, 1, 2, 
35012
0
    0,
35013
0
   29, 
35014
0
    OPC_CheckCondCode, ISD::SETUEQ,
35015
0
    OPC_MoveParent,
35016
0
    OPC_SwitchType , 10, MVT::i64,
35017
0
     OPC_CheckPatternPredicate, 11,
35018
0
     OPC_EmitMergeInputChains1_0,
35019
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_S),
35020
0
                   MVT::i64, 2, 1, 2, 
35021
0
    10, MVT::i32,
35022
0
     OPC_CheckPatternPredicate, 12,
35023
0
     OPC_EmitMergeInputChains1_0,
35024
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_S),
35025
0
                   MVT::i32, 2, 1, 2, 
35026
0
    0,
35027
0
   29, 
35028
0
    OPC_CheckCondCode, ISD::SETULT,
35029
0
    OPC_MoveParent,
35030
0
    OPC_SwitchType , 10, MVT::i64,
35031
0
     OPC_CheckPatternPredicate, 11,
35032
0
     OPC_EmitMergeInputChains1_0,
35033
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_S),
35034
0
                   MVT::i64, 2, 1, 2, 
35035
0
    10, MVT::i32,
35036
0
     OPC_CheckPatternPredicate, 12,
35037
0
     OPC_EmitMergeInputChains1_0,
35038
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_S),
35039
0
                   MVT::i32, 2, 1, 2, 
35040
0
    0,
35041
0
   29, 
35042
0
    OPC_CheckCondCode, ISD::SETULE,
35043
0
    OPC_MoveParent,
35044
0
    OPC_SwitchType , 10, MVT::i64,
35045
0
     OPC_CheckPatternPredicate, 11,
35046
0
     OPC_EmitMergeInputChains1_0,
35047
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_S),
35048
0
                   MVT::i64, 2, 1, 2, 
35049
0
    10, MVT::i32,
35050
0
     OPC_CheckPatternPredicate, 12,
35051
0
     OPC_EmitMergeInputChains1_0,
35052
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_S),
35053
0
                   MVT::i32, 2, 1, 2, 
35054
0
    0,
35055
0
   29, 
35056
0
    OPC_CheckCondCode, ISD::SETUNE,
35057
0
    OPC_MoveParent,
35058
0
    OPC_SwitchType , 10, MVT::i64,
35059
0
     OPC_CheckPatternPredicate, 11,
35060
0
     OPC_EmitMergeInputChains1_0,
35061
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_S),
35062
0
                   MVT::i64, 2, 1, 2, 
35063
0
    10, MVT::i32,
35064
0
     OPC_CheckPatternPredicate, 12,
35065
0
     OPC_EmitMergeInputChains1_0,
35066
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_S),
35067
0
                   MVT::i32, 2, 1, 2, 
35068
0
    0,
35069
0
   29, 
35070
0
    OPC_CheckCondCode, ISD::SETUO,
35071
0
    OPC_MoveParent,
35072
0
    OPC_SwitchType , 10, MVT::i64,
35073
0
     OPC_CheckPatternPredicate, 11,
35074
0
     OPC_EmitMergeInputChains1_0,
35075
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_S),
35076
0
                   MVT::i64, 2, 1, 2, 
35077
0
    10, MVT::i32,
35078
0
     OPC_CheckPatternPredicate, 12,
35079
0
     OPC_EmitMergeInputChains1_0,
35080
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_S),
35081
0
                   MVT::i32, 2, 1, 2, 
35082
0
    0,
35083
0
   29, 
35084
0
    OPC_CheckCondCode, ISD::SETLT,
35085
0
    OPC_MoveParent,
35086
0
    OPC_SwitchType , 10, MVT::i64,
35087
0
     OPC_CheckPatternPredicate, 11,
35088
0
     OPC_EmitMergeInputChains1_0,
35089
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35090
0
                   MVT::i64, 2, 1, 2, 
35091
0
    10, MVT::i32,
35092
0
     OPC_CheckPatternPredicate, 12,
35093
0
     OPC_EmitMergeInputChains1_0,
35094
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35095
0
                   MVT::i32, 2, 1, 2, 
35096
0
    0,
35097
0
   0, 
35098
0
  80|128,2, 
35099
0
   OPC_CheckChild1Type, MVT::f64,
35100
0
   OPC_RecordChild2,
35101
0
   OPC_MoveChild3,
35102
0
   OPC_Scope, 29, 
35103
0
    OPC_CheckCondCode, ISD::SETOEQ,
35104
0
    OPC_MoveParent,
35105
0
    OPC_SwitchType , 10, MVT::i64,
35106
0
     OPC_CheckPatternPredicate, 13,
35107
0
     OPC_EmitMergeInputChains1_0,
35108
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_D),
35109
0
                   MVT::i64, 2, 1, 2, 
35110
0
    10, MVT::i32,
35111
0
     OPC_CheckPatternPredicate, 14,
35112
0
     OPC_EmitMergeInputChains1_0,
35113
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_D),
35114
0
                   MVT::i32, 2, 1, 2, 
35115
0
    0,
35116
0
   29, 
35117
0
    OPC_CheckCondCode, ISD::SETOLT,
35118
0
    OPC_MoveParent,
35119
0
    OPC_SwitchType , 10, MVT::i64,
35120
0
     OPC_CheckPatternPredicate, 13,
35121
0
     OPC_EmitMergeInputChains1_0,
35122
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35123
0
                   MVT::i64, 2, 1, 2, 
35124
0
    10, MVT::i32,
35125
0
     OPC_CheckPatternPredicate, 14,
35126
0
     OPC_EmitMergeInputChains1_0,
35127
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35128
0
                   MVT::i32, 2, 1, 2, 
35129
0
    0,
35130
0
   29, 
35131
0
    OPC_CheckCondCode, ISD::SETOLE,
35132
0
    OPC_MoveParent,
35133
0
    OPC_SwitchType , 10, MVT::i64,
35134
0
     OPC_CheckPatternPredicate, 13,
35135
0
     OPC_EmitMergeInputChains1_0,
35136
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_D),
35137
0
                   MVT::i64, 2, 1, 2, 
35138
0
    10, MVT::i32,
35139
0
     OPC_CheckPatternPredicate, 14,
35140
0
     OPC_EmitMergeInputChains1_0,
35141
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_D),
35142
0
                   MVT::i32, 2, 1, 2, 
35143
0
    0,
35144
0
   29, 
35145
0
    OPC_CheckCondCode, ISD::SETONE,
35146
0
    OPC_MoveParent,
35147
0
    OPC_SwitchType , 10, MVT::i64,
35148
0
     OPC_CheckPatternPredicate, 13,
35149
0
     OPC_EmitMergeInputChains1_0,
35150
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_D),
35151
0
                   MVT::i64, 2, 1, 2, 
35152
0
    10, MVT::i32,
35153
0
     OPC_CheckPatternPredicate, 14,
35154
0
     OPC_EmitMergeInputChains1_0,
35155
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_D),
35156
0
                   MVT::i32, 2, 1, 2, 
35157
0
    0,
35158
0
   29, 
35159
0
    OPC_CheckCondCode, ISD::SETO,
35160
0
    OPC_MoveParent,
35161
0
    OPC_SwitchType , 10, MVT::i64,
35162
0
     OPC_CheckPatternPredicate, 13,
35163
0
     OPC_EmitMergeInputChains1_0,
35164
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_D),
35165
0
                   MVT::i64, 2, 1, 2, 
35166
0
    10, MVT::i32,
35167
0
     OPC_CheckPatternPredicate, 14,
35168
0
     OPC_EmitMergeInputChains1_0,
35169
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_D),
35170
0
                   MVT::i32, 2, 1, 2, 
35171
0
    0,
35172
0
   29, 
35173
0
    OPC_CheckCondCode, ISD::SETUEQ,
35174
0
    OPC_MoveParent,
35175
0
    OPC_SwitchType , 10, MVT::i64,
35176
0
     OPC_CheckPatternPredicate, 13,
35177
0
     OPC_EmitMergeInputChains1_0,
35178
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_D),
35179
0
                   MVT::i64, 2, 1, 2, 
35180
0
    10, MVT::i32,
35181
0
     OPC_CheckPatternPredicate, 14,
35182
0
     OPC_EmitMergeInputChains1_0,
35183
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_D),
35184
0
                   MVT::i32, 2, 1, 2, 
35185
0
    0,
35186
0
   29, 
35187
0
    OPC_CheckCondCode, ISD::SETULT,
35188
0
    OPC_MoveParent,
35189
0
    OPC_SwitchType , 10, MVT::i64,
35190
0
     OPC_CheckPatternPredicate, 13,
35191
0
     OPC_EmitMergeInputChains1_0,
35192
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_D),
35193
0
                   MVT::i64, 2, 1, 2, 
35194
0
    10, MVT::i32,
35195
0
     OPC_CheckPatternPredicate, 14,
35196
0
     OPC_EmitMergeInputChains1_0,
35197
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_D),
35198
0
                   MVT::i32, 2, 1, 2, 
35199
0
    0,
35200
0
   29, 
35201
0
    OPC_CheckCondCode, ISD::SETULE,
35202
0
    OPC_MoveParent,
35203
0
    OPC_SwitchType , 10, MVT::i64,
35204
0
     OPC_CheckPatternPredicate, 13,
35205
0
     OPC_EmitMergeInputChains1_0,
35206
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_D),
35207
0
                   MVT::i64, 2, 1, 2, 
35208
0
    10, MVT::i32,
35209
0
     OPC_CheckPatternPredicate, 14,
35210
0
     OPC_EmitMergeInputChains1_0,
35211
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_D),
35212
0
                   MVT::i32, 2, 1, 2, 
35213
0
    0,
35214
0
   29, 
35215
0
    OPC_CheckCondCode, ISD::SETUNE,
35216
0
    OPC_MoveParent,
35217
0
    OPC_SwitchType , 10, MVT::i64,
35218
0
     OPC_CheckPatternPredicate, 13,
35219
0
     OPC_EmitMergeInputChains1_0,
35220
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_D),
35221
0
                   MVT::i64, 2, 1, 2, 
35222
0
    10, MVT::i32,
35223
0
     OPC_CheckPatternPredicate, 14,
35224
0
     OPC_EmitMergeInputChains1_0,
35225
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_D),
35226
0
                   MVT::i32, 2, 1, 2, 
35227
0
    0,
35228
0
   29, 
35229
0
    OPC_CheckCondCode, ISD::SETUO,
35230
0
    OPC_MoveParent,
35231
0
    OPC_SwitchType , 10, MVT::i64,
35232
0
     OPC_CheckPatternPredicate, 13,
35233
0
     OPC_EmitMergeInputChains1_0,
35234
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_D),
35235
0
                   MVT::i64, 2, 1, 2, 
35236
0
    10, MVT::i32,
35237
0
     OPC_CheckPatternPredicate, 14,
35238
0
     OPC_EmitMergeInputChains1_0,
35239
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_D),
35240
0
                   MVT::i32, 2, 1, 2, 
35241
0
    0,
35242
0
   29, 
35243
0
    OPC_CheckCondCode, ISD::SETLT,
35244
0
    OPC_MoveParent,
35245
0
    OPC_SwitchType , 10, MVT::i64,
35246
0
     OPC_CheckPatternPredicate, 13,
35247
0
     OPC_EmitMergeInputChains1_0,
35248
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35249
0
                   MVT::i64, 2, 1, 2, 
35250
0
    10, MVT::i32,
35251
0
     OPC_CheckPatternPredicate, 14,
35252
0
     OPC_EmitMergeInputChains1_0,
35253
0
     OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35254
0
                   MVT::i32, 2, 1, 2, 
35255
0
    0,
35256
0
   0, 
35257
0
  0, 
35258
0
 9, TARGET_VAL(LoongArchISD::MOVFR2GR_S_LA64),
35259
0
  OPC_RecordChild0,
35260
0
  OPC_CheckPatternPredicate, 20,
35261
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
35262
0
                MVT::i64, 1, 0, 
35263
0
 76, TARGET_VAL(ISD::BITCAST),
35264
0
  OPC_RecordChild0,
35265
0
  OPC_Scope, 11, 
35266
0
   OPC_CheckChild0Type, MVT::f32,
35267
0
   OPC_CheckTypeI32,
35268
0
   OPC_CheckPatternPredicate, 22,
35269
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
35270
0
                 MVT::i32, 1, 0, 
35271
0
  24, 
35272
0
   OPC_CheckChild0Type, MVT::f64,
35273
0
   OPC_SwitchType , 8, MVT::i64,
35274
0
    OPC_CheckPatternPredicate, 18,
35275
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
35276
0
                  MVT::i64, 1, 0, 
35277
0
   8, MVT::i32,
35278
0
    OPC_CheckPatternPredicate, 19,
35279
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
35280
0
                  MVT::i32, 1, 0, 
35281
0
   0,
35282
0
  23, 
35283
0
   OPC_CheckChild0TypeI32,
35284
0
   OPC_SwitchType , 8, MVT::f32,
35285
0
    OPC_CheckPatternPredicate, 22,
35286
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
35287
0
                  MVT::f32, 1, 0, 
35288
0
   8, MVT::f64,
35289
0
    OPC_CheckPatternPredicate, 19,
35290
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
35291
0
                  MVT::f64, 1, 0, 
35292
0
   0,
35293
0
  11, 
35294
0
   OPC_CheckChild0TypeI64,
35295
0
   OPC_CheckType, MVT::f64,
35296
0
   OPC_CheckPatternPredicate, 18,
35297
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
35298
0
                 MVT::f64, 1, 0, 
35299
0
  0, 
35300
0
 27, TARGET_VAL(LoongArchISD::IOCSRRD_B),
35301
0
  OPC_RecordNode,
35302
0
  OPC_RecordChild1,
35303
0
  OPC_SwitchType , 9, MVT::i64,
35304
0
   OPC_CheckChild1TypeI64,
35305
0
   OPC_CheckPatternPredicate7,
35306
0
   OPC_EmitMergeInputChains1_0,
35307
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
35308
0
                 MVT::i64, 1, 1, 
35309
0
  10, MVT::i32,
35310
0
   OPC_CheckChild1TypeI32,
35311
0
   OPC_CheckPatternPredicate, 8,
35312
0
   OPC_EmitMergeInputChains1_0,
35313
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
35314
0
                 MVT::i32, 1, 1, 
35315
0
  0,
35316
0
 27, TARGET_VAL(LoongArchISD::IOCSRRD_H),
35317
0
  OPC_RecordNode,
35318
0
  OPC_RecordChild1,
35319
0
  OPC_SwitchType , 9, MVT::i64,
35320
0
   OPC_CheckChild1TypeI64,
35321
0
   OPC_CheckPatternPredicate7,
35322
0
   OPC_EmitMergeInputChains1_0,
35323
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
35324
0
                 MVT::i64, 1, 1, 
35325
0
  10, MVT::i32,
35326
0
   OPC_CheckChild1TypeI32,
35327
0
   OPC_CheckPatternPredicate, 8,
35328
0
   OPC_EmitMergeInputChains1_0,
35329
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
35330
0
                 MVT::i32, 1, 1, 
35331
0
  0,
35332
0
 27, TARGET_VAL(LoongArchISD::IOCSRRD_W),
35333
0
  OPC_RecordNode,
35334
0
  OPC_RecordChild1,
35335
0
  OPC_SwitchType , 9, MVT::i64,
35336
0
   OPC_CheckChild1TypeI64,
35337
0
   OPC_CheckPatternPredicate7,
35338
0
   OPC_EmitMergeInputChains1_0,
35339
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
35340
0
                 MVT::i64, 1, 1, 
35341
0
  10, MVT::i32,
35342
0
   OPC_CheckChild1TypeI32,
35343
0
   OPC_CheckPatternPredicate, 8,
35344
0
   OPC_EmitMergeInputChains1_0,
35345
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
35346
0
                 MVT::i32, 1, 1, 
35347
0
  0,
35348
0
 27, TARGET_VAL(LoongArchISD::IOCSRWR_B),
35349
0
  OPC_RecordNode,
35350
0
  OPC_RecordChild1,
35351
0
  OPC_Scope, 10, 
35352
0
   OPC_CheckChild1TypeI64,
35353
0
   OPC_RecordChild2,
35354
0
   OPC_CheckPatternPredicate7,
35355
0
   OPC_EmitMergeInputChains1_0,
35356
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
35357
0
                 2, 1, 2, 
35358
0
  11, 
35359
0
   OPC_CheckChild1TypeI32,
35360
0
   OPC_RecordChild2,
35361
0
   OPC_CheckPatternPredicate, 8,
35362
0
   OPC_EmitMergeInputChains1_0,
35363
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
35364
0
                 2, 1, 2, 
35365
0
  0, 
35366
0
 27, TARGET_VAL(LoongArchISD::IOCSRWR_H),
35367
0
  OPC_RecordNode,
35368
0
  OPC_RecordChild1,
35369
0
  OPC_Scope, 10, 
35370
0
   OPC_CheckChild1TypeI64,
35371
0
   OPC_RecordChild2,
35372
0
   OPC_CheckPatternPredicate7,
35373
0
   OPC_EmitMergeInputChains1_0,
35374
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
35375
0
                 2, 1, 2, 
35376
0
  11, 
35377
0
   OPC_CheckChild1TypeI32,
35378
0
   OPC_RecordChild2,
35379
0
   OPC_CheckPatternPredicate, 8,
35380
0
   OPC_EmitMergeInputChains1_0,
35381
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
35382
0
                 2, 1, 2, 
35383
0
  0, 
35384
0
 27, TARGET_VAL(LoongArchISD::IOCSRWR_W),
35385
0
  OPC_RecordNode,
35386
0
  OPC_RecordChild1,
35387
0
  OPC_Scope, 10, 
35388
0
   OPC_CheckChild1TypeI64,
35389
0
   OPC_RecordChild2,
35390
0
   OPC_CheckPatternPredicate7,
35391
0
   OPC_EmitMergeInputChains1_0,
35392
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
35393
0
                 2, 1, 2, 
35394
0
  11, 
35395
0
   OPC_CheckChild1TypeI32,
35396
0
   OPC_RecordChild2,
35397
0
   OPC_CheckPatternPredicate, 8,
35398
0
   OPC_EmitMergeInputChains1_0,
35399
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
35400
0
                 2, 1, 2, 
35401
0
  0, 
35402
0
 27, TARGET_VAL(LoongArchISD::CPUCFG),
35403
0
  OPC_RecordNode,
35404
0
  OPC_RecordChild1,
35405
0
  OPC_SwitchType , 9, MVT::i64,
35406
0
   OPC_CheckChild1TypeI64,
35407
0
   OPC_CheckPatternPredicate7,
35408
0
   OPC_EmitMergeInputChains1_0,
35409
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
35410
0
                 MVT::i64, 1, 1, 
35411
0
  10, MVT::i32,
35412
0
   OPC_CheckChild1TypeI32,
35413
0
   OPC_CheckPatternPredicate, 8,
35414
0
   OPC_EmitMergeInputChains1_0,
35415
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
35416
0
                 MVT::i32, 1, 1, 
35417
0
  0,
35418
0
 27, TARGET_VAL(LoongArchISD::IOCSRRD_D),
35419
0
  OPC_RecordNode,
35420
0
  OPC_RecordChild1,
35421
0
  OPC_SwitchType , 9, MVT::i64,
35422
0
   OPC_CheckChild1TypeI64,
35423
0
   OPC_CheckPatternPredicate6,
35424
0
   OPC_EmitMergeInputChains1_0,
35425
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
35426
0
                 MVT::i64, 1, 1, 
35427
0
  10, MVT::i32,
35428
0
   OPC_CheckChild1TypeI32,
35429
0
   OPC_CheckPatternPredicate, 10,
35430
0
   OPC_EmitMergeInputChains1_0,
35431
0
   OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
35432
0
                 MVT::i32, 1, 1, 
35433
0
  0,
35434
0
 27, TARGET_VAL(LoongArchISD::IOCSRWR_D),
35435
0
  OPC_RecordNode,
35436
0
  OPC_RecordChild1,
35437
0
  OPC_Scope, 10, 
35438
0
   OPC_CheckChild1TypeI64,
35439
0
   OPC_RecordChild2,
35440
0
   OPC_CheckPatternPredicate6,
35441
0
   OPC_EmitMergeInputChains1_0,
35442
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
35443
0
                 2, 1, 2, 
35444
0
  11, 
35445
0
   OPC_CheckChild1TypeI32,
35446
0
   OPC_RecordChild2,
35447
0
   OPC_CheckPatternPredicate, 10,
35448
0
   OPC_EmitMergeInputChains1_0,
35449
0
   OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
35450
0
                 2, 1, 2, 
35451
0
  0, 
35452
0
 59|128,1, TARGET_VAL(LoongArchISD::VALL_NONZERO),
35453
0
  OPC_RecordChild0,
35454
0
  OPC_Scope, 22, 
35455
0
   OPC_CheckChild0Type, MVT::v16i8,
35456
0
   OPC_SwitchType , 7, MVT::i64,
35457
0
    OPC_CheckPatternPredicate2,
35458
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
35459
0
                  MVT::i64, 1, 0, 
35460
0
   7, MVT::i32,
35461
0
    OPC_CheckPatternPredicate4,
35462
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
35463
0
                  MVT::i32, 1, 0, 
35464
0
   0,
35465
0
  22, 
35466
0
   OPC_CheckChild0Type, MVT::v8i16,
35467
0
   OPC_SwitchType , 7, MVT::i64,
35468
0
    OPC_CheckPatternPredicate2,
35469
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
35470
0
                  MVT::i64, 1, 0, 
35471
0
   7, MVT::i32,
35472
0
    OPC_CheckPatternPredicate4,
35473
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
35474
0
                  MVT::i32, 1, 0, 
35475
0
   0,
35476
0
  22, 
35477
0
   OPC_CheckChild0Type, MVT::v4i32,
35478
0
   OPC_SwitchType , 7, MVT::i64,
35479
0
    OPC_CheckPatternPredicate2,
35480
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
35481
0
                  MVT::i64, 1, 0, 
35482
0
   7, MVT::i32,
35483
0
    OPC_CheckPatternPredicate4,
35484
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
35485
0
                  MVT::i32, 1, 0, 
35486
0
   0,
35487
0
  22, 
35488
0
   OPC_CheckChild0Type, MVT::v2i64,
35489
0
   OPC_SwitchType , 7, MVT::i64,
35490
0
    OPC_CheckPatternPredicate2,
35491
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
35492
0
                  MVT::i64, 1, 0, 
35493
0
   7, MVT::i32,
35494
0
    OPC_CheckPatternPredicate4,
35495
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
35496
0
                  MVT::i32, 1, 0, 
35497
0
   0,
35498
0
  22, 
35499
0
   OPC_CheckChild0Type, MVT::v32i8,
35500
0
   OPC_SwitchType , 7, MVT::i64,
35501
0
    OPC_CheckPatternPredicate3,
35502
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
35503
0
                  MVT::i64, 1, 0, 
35504
0
   7, MVT::i32,
35505
0
    OPC_CheckPatternPredicate5,
35506
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
35507
0
                  MVT::i32, 1, 0, 
35508
0
   0,
35509
0
  22, 
35510
0
   OPC_CheckChild0Type, MVT::v16i16,
35511
0
   OPC_SwitchType , 7, MVT::i64,
35512
0
    OPC_CheckPatternPredicate3,
35513
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
35514
0
                  MVT::i64, 1, 0, 
35515
0
   7, MVT::i32,
35516
0
    OPC_CheckPatternPredicate5,
35517
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
35518
0
                  MVT::i32, 1, 0, 
35519
0
   0,
35520
0
  22, 
35521
0
   OPC_CheckChild0Type, MVT::v8i32,
35522
0
   OPC_SwitchType , 7, MVT::i64,
35523
0
    OPC_CheckPatternPredicate3,
35524
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
35525
0
                  MVT::i64, 1, 0, 
35526
0
   7, MVT::i32,
35527
0
    OPC_CheckPatternPredicate5,
35528
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
35529
0
                  MVT::i32, 1, 0, 
35530
0
   0,
35531
0
  22, 
35532
0
   OPC_CheckChild0Type, MVT::v4i64,
35533
0
   OPC_SwitchType , 7, MVT::i64,
35534
0
    OPC_CheckPatternPredicate3,
35535
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
35536
0
                  MVT::i64, 1, 0, 
35537
0
   7, MVT::i32,
35538
0
    OPC_CheckPatternPredicate5,
35539
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
35540
0
                  MVT::i32, 1, 0, 
35541
0
   0,
35542
0
  0, 
35543
0
 49, TARGET_VAL(LoongArchISD::VANY_NONZERO),
35544
0
  OPC_RecordChild0,
35545
0
  OPC_Scope, 22, 
35546
0
   OPC_CheckChild0Type, MVT::v16i8,
35547
0
   OPC_SwitchType , 7, MVT::i64,
35548
0
    OPC_CheckPatternPredicate2,
35549
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
35550
0
                  MVT::i64, 1, 0, 
35551
0
   7, MVT::i32,
35552
0
    OPC_CheckPatternPredicate4,
35553
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
35554
0
                  MVT::i32, 1, 0, 
35555
0
   0,
35556
0
  22, 
35557
0
   OPC_CheckChild0Type, MVT::v32i8,
35558
0
   OPC_SwitchType , 7, MVT::i64,
35559
0
    OPC_CheckPatternPredicate3,
35560
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
35561
0
                  MVT::i64, 1, 0, 
35562
0
   7, MVT::i32,
35563
0
    OPC_CheckPatternPredicate5,
35564
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
35565
0
                  MVT::i32, 1, 0, 
35566
0
   0,
35567
0
  0, 
35568
0
 59|128,1, TARGET_VAL(LoongArchISD::VALL_ZERO),
35569
0
  OPC_RecordChild0,
35570
0
  OPC_Scope, 22, 
35571
0
   OPC_CheckChild0Type, MVT::v16i8,
35572
0
   OPC_SwitchType , 7, MVT::i64,
35573
0
    OPC_CheckPatternPredicate2,
35574
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
35575
0
                  MVT::i64, 1, 0, 
35576
0
   7, MVT::i32,
35577
0
    OPC_CheckPatternPredicate4,
35578
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
35579
0
                  MVT::i32, 1, 0, 
35580
0
   0,
35581
0
  22, 
35582
0
   OPC_CheckChild0Type, MVT::v8i16,
35583
0
   OPC_SwitchType , 7, MVT::i64,
35584
0
    OPC_CheckPatternPredicate2,
35585
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
35586
0
                  MVT::i64, 1, 0, 
35587
0
   7, MVT::i32,
35588
0
    OPC_CheckPatternPredicate4,
35589
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
35590
0
                  MVT::i32, 1, 0, 
35591
0
   0,
35592
0
  22, 
35593
0
   OPC_CheckChild0Type, MVT::v4i32,
35594
0
   OPC_SwitchType , 7, MVT::i64,
35595
0
    OPC_CheckPatternPredicate2,
35596
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
35597
0
                  MVT::i64, 1, 0, 
35598
0
   7, MVT::i32,
35599
0
    OPC_CheckPatternPredicate4,
35600
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
35601
0
                  MVT::i32, 1, 0, 
35602
0
   0,
35603
0
  22, 
35604
0
   OPC_CheckChild0Type, MVT::v2i64,
35605
0
   OPC_SwitchType , 7, MVT::i64,
35606
0
    OPC_CheckPatternPredicate2,
35607
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
35608
0
                  MVT::i64, 1, 0, 
35609
0
   7, MVT::i32,
35610
0
    OPC_CheckPatternPredicate4,
35611
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
35612
0
                  MVT::i32, 1, 0, 
35613
0
   0,
35614
0
  22, 
35615
0
   OPC_CheckChild0Type, MVT::v32i8,
35616
0
   OPC_SwitchType , 7, MVT::i64,
35617
0
    OPC_CheckPatternPredicate3,
35618
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
35619
0
                  MVT::i64, 1, 0, 
35620
0
   7, MVT::i32,
35621
0
    OPC_CheckPatternPredicate5,
35622
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
35623
0
                  MVT::i32, 1, 0, 
35624
0
   0,
35625
0
  22, 
35626
0
   OPC_CheckChild0Type, MVT::v16i16,
35627
0
   OPC_SwitchType , 7, MVT::i64,
35628
0
    OPC_CheckPatternPredicate3,
35629
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
35630
0
                  MVT::i64, 1, 0, 
35631
0
   7, MVT::i32,
35632
0
    OPC_CheckPatternPredicate5,
35633
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
35634
0
                  MVT::i32, 1, 0, 
35635
0
   0,
35636
0
  22, 
35637
0
   OPC_CheckChild0Type, MVT::v8i32,
35638
0
   OPC_SwitchType , 7, MVT::i64,
35639
0
    OPC_CheckPatternPredicate3,
35640
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
35641
0
                  MVT::i64, 1, 0, 
35642
0
   7, MVT::i32,
35643
0
    OPC_CheckPatternPredicate5,
35644
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
35645
0
                  MVT::i32, 1, 0, 
35646
0
   0,
35647
0
  22, 
35648
0
   OPC_CheckChild0Type, MVT::v4i64,
35649
0
   OPC_SwitchType , 7, MVT::i64,
35650
0
    OPC_CheckPatternPredicate3,
35651
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
35652
0
                  MVT::i64, 1, 0, 
35653
0
   7, MVT::i32,
35654
0
    OPC_CheckPatternPredicate5,
35655
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
35656
0
                  MVT::i32, 1, 0, 
35657
0
   0,
35658
0
  0, 
35659
0
 49, TARGET_VAL(LoongArchISD::VANY_ZERO),
35660
0
  OPC_RecordChild0,
35661
0
  OPC_Scope, 22, 
35662
0
   OPC_CheckChild0Type, MVT::v16i8,
35663
0
   OPC_SwitchType , 7, MVT::i64,
35664
0
    OPC_CheckPatternPredicate2,
35665
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
35666
0
                  MVT::i64, 1, 0, 
35667
0
   7, MVT::i32,
35668
0
    OPC_CheckPatternPredicate4,
35669
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
35670
0
                  MVT::i32, 1, 0, 
35671
0
   0,
35672
0
  22, 
35673
0
   OPC_CheckChild0Type, MVT::v32i8,
35674
0
   OPC_SwitchType , 7, MVT::i64,
35675
0
    OPC_CheckPatternPredicate3,
35676
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
35677
0
                  MVT::i64, 1, 0, 
35678
0
   7, MVT::i32,
35679
0
    OPC_CheckPatternPredicate5,
35680
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
35681
0
                  MVT::i32, 1, 0, 
35682
0
   0,
35683
0
  0, 
35684
0
 3|128,1, TARGET_VAL(ISD::SDIV),
35685
0
  OPC_RecordChild0,
35686
0
  OPC_RecordChild1,
35687
0
  OPC_SwitchType , 21, MVT::i64,
35688
0
   OPC_Scope, 9, 
35689
0
    OPC_CheckPatternPredicate, 15,
35690
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
35691
0
                  MVT::i64, 2, 0, 1, 
35692
0
   8, 
35693
0
    OPC_CheckPatternPredicate6,
35694
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
35695
0
                  MVT::i64, 2, 0, 1, 
35696
0
   0, 
35697
0
  22, MVT::i32,
35698
0
   OPC_Scope, 9, 
35699
0
    OPC_CheckPatternPredicate, 9,
35700
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
35701
0
                  MVT::i32, 2, 0, 1, 
35702
0
   9, 
35703
0
    OPC_CheckPatternPredicate, 10,
35704
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
35705
0
                  MVT::i32, 2, 0, 1, 
35706
0
   0, 
35707
0
  8, MVT::v16i8,
35708
0
   OPC_CheckPatternPredicate1,
35709
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_B),
35710
0
                 MVT::v16i8, 2, 0, 1, 
35711
0
  8, MVT::v8i16,
35712
0
   OPC_CheckPatternPredicate1,
35713
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_H),
35714
0
                 MVT::v8i16, 2, 0, 1, 
35715
0
  8, MVT::v4i32,
35716
0
   OPC_CheckPatternPredicate1,
35717
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_W),
35718
0
                 MVT::v4i32, 2, 0, 1, 
35719
0
  8, MVT::v2i64,
35720
0
   OPC_CheckPatternPredicate1,
35721
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_D),
35722
0
                 MVT::v2i64, 2, 0, 1, 
35723
0
  8, MVT::v32i8,
35724
0
   OPC_CheckPatternPredicate0,
35725
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_B),
35726
0
                 MVT::v32i8, 2, 0, 1, 
35727
0
  8, MVT::v16i16,
35728
0
   OPC_CheckPatternPredicate0,
35729
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_H),
35730
0
                 MVT::v16i16, 2, 0, 1, 
35731
0
  8, MVT::v8i32,
35732
0
   OPC_CheckPatternPredicate0,
35733
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_W),
35734
0
                 MVT::v8i32, 2, 0, 1, 
35735
0
  8, MVT::v4i64,
35736
0
   OPC_CheckPatternPredicate0,
35737
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_D),
35738
0
                 MVT::v4i64, 2, 0, 1, 
35739
0
  0,
35740
0
 3|128,1, TARGET_VAL(ISD::UDIV),
35741
0
  OPC_RecordChild0,
35742
0
  OPC_RecordChild1,
35743
0
  OPC_SwitchType , 21, MVT::i64,
35744
0
   OPC_Scope, 9, 
35745
0
    OPC_CheckPatternPredicate, 15,
35746
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35747
0
                  MVT::i64, 2, 0, 1, 
35748
0
   8, 
35749
0
    OPC_CheckPatternPredicate6,
35750
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
35751
0
                  MVT::i64, 2, 0, 1, 
35752
0
   0, 
35753
0
  22, MVT::i32,
35754
0
   OPC_Scope, 9, 
35755
0
    OPC_CheckPatternPredicate, 9,
35756
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35757
0
                  MVT::i32, 2, 0, 1, 
35758
0
   9, 
35759
0
    OPC_CheckPatternPredicate, 10,
35760
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
35761
0
                  MVT::i32, 2, 0, 1, 
35762
0
   0, 
35763
0
  8, MVT::v16i8,
35764
0
   OPC_CheckPatternPredicate1,
35765
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_BU),
35766
0
                 MVT::v16i8, 2, 0, 1, 
35767
0
  8, MVT::v8i16,
35768
0
   OPC_CheckPatternPredicate1,
35769
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_HU),
35770
0
                 MVT::v8i16, 2, 0, 1, 
35771
0
  8, MVT::v4i32,
35772
0
   OPC_CheckPatternPredicate1,
35773
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_WU),
35774
0
                 MVT::v4i32, 2, 0, 1, 
35775
0
  8, MVT::v2i64,
35776
0
   OPC_CheckPatternPredicate1,
35777
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_DU),
35778
0
                 MVT::v2i64, 2, 0, 1, 
35779
0
  8, MVT::v32i8,
35780
0
   OPC_CheckPatternPredicate0,
35781
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_BU),
35782
0
                 MVT::v32i8, 2, 0, 1, 
35783
0
  8, MVT::v16i16,
35784
0
   OPC_CheckPatternPredicate0,
35785
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_HU),
35786
0
                 MVT::v16i16, 2, 0, 1, 
35787
0
  8, MVT::v8i32,
35788
0
   OPC_CheckPatternPredicate0,
35789
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_WU),
35790
0
                 MVT::v8i32, 2, 0, 1, 
35791
0
  8, MVT::v4i64,
35792
0
   OPC_CheckPatternPredicate0,
35793
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_DU),
35794
0
                 MVT::v4i64, 2, 0, 1, 
35795
0
  0,
35796
0
 3|128,1, TARGET_VAL(ISD::SREM),
35797
0
  OPC_RecordChild0,
35798
0
  OPC_RecordChild1,
35799
0
  OPC_SwitchType , 21, MVT::i64,
35800
0
   OPC_Scope, 9, 
35801
0
    OPC_CheckPatternPredicate, 15,
35802
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
35803
0
                  MVT::i64, 2, 0, 1, 
35804
0
   8, 
35805
0
    OPC_CheckPatternPredicate6,
35806
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
35807
0
                  MVT::i64, 2, 0, 1, 
35808
0
   0, 
35809
0
  22, MVT::i32,
35810
0
   OPC_Scope, 9, 
35811
0
    OPC_CheckPatternPredicate, 9,
35812
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
35813
0
                  MVT::i32, 2, 0, 1, 
35814
0
   9, 
35815
0
    OPC_CheckPatternPredicate, 10,
35816
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
35817
0
                  MVT::i32, 2, 0, 1, 
35818
0
   0, 
35819
0
  8, MVT::v16i8,
35820
0
   OPC_CheckPatternPredicate1,
35821
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_B),
35822
0
                 MVT::v16i8, 2, 0, 1, 
35823
0
  8, MVT::v8i16,
35824
0
   OPC_CheckPatternPredicate1,
35825
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_H),
35826
0
                 MVT::v8i16, 2, 0, 1, 
35827
0
  8, MVT::v4i32,
35828
0
   OPC_CheckPatternPredicate1,
35829
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_W),
35830
0
                 MVT::v4i32, 2, 0, 1, 
35831
0
  8, MVT::v2i64,
35832
0
   OPC_CheckPatternPredicate1,
35833
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_D),
35834
0
                 MVT::v2i64, 2, 0, 1, 
35835
0
  8, MVT::v32i8,
35836
0
   OPC_CheckPatternPredicate0,
35837
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_B),
35838
0
                 MVT::v32i8, 2, 0, 1, 
35839
0
  8, MVT::v16i16,
35840
0
   OPC_CheckPatternPredicate0,
35841
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_H),
35842
0
                 MVT::v16i16, 2, 0, 1, 
35843
0
  8, MVT::v8i32,
35844
0
   OPC_CheckPatternPredicate0,
35845
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_W),
35846
0
                 MVT::v8i32, 2, 0, 1, 
35847
0
  8, MVT::v4i64,
35848
0
   OPC_CheckPatternPredicate0,
35849
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_D),
35850
0
                 MVT::v4i64, 2, 0, 1, 
35851
0
  0,
35852
0
 3|128,1, TARGET_VAL(ISD::UREM),
35853
0
  OPC_RecordChild0,
35854
0
  OPC_RecordChild1,
35855
0
  OPC_SwitchType , 21, MVT::i64,
35856
0
   OPC_Scope, 9, 
35857
0
    OPC_CheckPatternPredicate, 15,
35858
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35859
0
                  MVT::i64, 2, 0, 1, 
35860
0
   8, 
35861
0
    OPC_CheckPatternPredicate6,
35862
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
35863
0
                  MVT::i64, 2, 0, 1, 
35864
0
   0, 
35865
0
  22, MVT::i32,
35866
0
   OPC_Scope, 9, 
35867
0
    OPC_CheckPatternPredicate, 9,
35868
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35869
0
                  MVT::i32, 2, 0, 1, 
35870
0
   9, 
35871
0
    OPC_CheckPatternPredicate, 10,
35872
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
35873
0
                  MVT::i32, 2, 0, 1, 
35874
0
   0, 
35875
0
  8, MVT::v16i8,
35876
0
   OPC_CheckPatternPredicate1,
35877
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_BU),
35878
0
                 MVT::v16i8, 2, 0, 1, 
35879
0
  8, MVT::v8i16,
35880
0
   OPC_CheckPatternPredicate1,
35881
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_HU),
35882
0
                 MVT::v8i16, 2, 0, 1, 
35883
0
  8, MVT::v4i32,
35884
0
   OPC_CheckPatternPredicate1,
35885
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_WU),
35886
0
                 MVT::v4i32, 2, 0, 1, 
35887
0
  8, MVT::v2i64,
35888
0
   OPC_CheckPatternPredicate1,
35889
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_DU),
35890
0
                 MVT::v2i64, 2, 0, 1, 
35891
0
  8, MVT::v32i8,
35892
0
   OPC_CheckPatternPredicate0,
35893
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_BU),
35894
0
                 MVT::v32i8, 2, 0, 1, 
35895
0
  8, MVT::v16i16,
35896
0
   OPC_CheckPatternPredicate0,
35897
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_HU),
35898
0
                 MVT::v16i16, 2, 0, 1, 
35899
0
  8, MVT::v8i32,
35900
0
   OPC_CheckPatternPredicate0,
35901
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_WU),
35902
0
                 MVT::v8i32, 2, 0, 1, 
35903
0
  8, MVT::v4i64,
35904
0
   OPC_CheckPatternPredicate0,
35905
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_DU),
35906
0
                 MVT::v4i64, 2, 0, 1, 
35907
0
  0,
35908
0
 121|128,2, TARGET_VAL(ISD::FDIV),
35909
0
  OPC_Scope, 62, 
35910
0
   OPC_MoveChild0,
35911
0
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
35912
0
   OPC_CheckPredicate, 46,
35913
0
   OPC_Scope, 28, 
35914
0
    OPC_MoveSibling1,
35915
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
35916
0
    OPC_RecordChild0,
35917
0
    OPC_MoveParent,
35918
0
    OPC_SwitchType , 8, MVT::f32,
35919
0
     OPC_CheckPatternPredicate, 17,
35920
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
35921
0
                   MVT::f32, 1, 0, 
35922
0
    8, MVT::f64,
35923
0
     OPC_CheckPatternPredicate, 16,
35924
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
35925
0
                   MVT::f64, 1, 0, 
35926
0
    0,
35927
0
   24, 
35928
0
    OPC_MoveParent,
35929
0
    OPC_RecordChild1,
35930
0
    OPC_SwitchType , 8, MVT::f32,
35931
0
     OPC_CheckPatternPredicate, 17,
35932
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
35933
0
                   MVT::f32, 1, 0, 
35934
0
    8, MVT::f64,
35935
0
     OPC_CheckPatternPredicate, 16,
35936
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
35937
0
                   MVT::f64, 1, 0, 
35938
0
    0,
35939
0
   0, 
35940
0
  26, 
35941
0
   OPC_RecordChild0,
35942
0
   OPC_RecordChild1,
35943
0
   OPC_SwitchType , 9, MVT::f32,
35944
0
    OPC_CheckPatternPredicate, 17,
35945
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_S),
35946
0
                  MVT::f32, 2, 0, 1, 
35947
0
   9, MVT::f64,
35948
0
    OPC_CheckPatternPredicate, 16,
35949
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_D),
35950
0
                  MVT::f64, 2, 0, 1, 
35951
0
   0,
35952
0
  110|128,1, 
35953
0
   OPC_MoveChild0,
35954
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
35955
0
   OPC_MoveChild0,
35956
0
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
35957
0
   OPC_SwitchType , 55, MVT::v4i32,
35958
0
    OPC_MoveParent,
35959
0
    OPC_CheckPredicate, 54,
35960
0
    OPC_Scope, 26, 
35961
0
     OPC_MoveSibling1,
35962
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
35963
0
     OPC_RecordChild0,
35964
0
     OPC_MoveParent,
35965
0
     OPC_SwitchType , 7, MVT::v4f32,
35966
0
      OPC_CheckPatternPredicate1,
35967
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
35968
0
                    MVT::v4f32, 1, 0, 
35969
0
     7, MVT::v8f32,
35970
0
      OPC_CheckPatternPredicate0,
35971
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
35972
0
                    MVT::v8f32, 1, 0, 
35973
0
     0,
35974
0
    22, 
35975
0
     OPC_MoveParent,
35976
0
     OPC_RecordChild1,
35977
0
     OPC_SwitchType , 7, MVT::v4f32,
35978
0
      OPC_CheckPatternPredicate1,
35979
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
35980
0
                    MVT::v4f32, 1, 0, 
35981
0
     7, MVT::v8f32,
35982
0
      OPC_CheckPatternPredicate0,
35983
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
35984
0
                    MVT::v8f32, 1, 0, 
35985
0
     0,
35986
0
    0, 
35987
0
   55, MVT::v8i32,
35988
0
    OPC_MoveParent,
35989
0
    OPC_CheckPredicate, 54,
35990
0
    OPC_Scope, 26, 
35991
0
     OPC_MoveSibling1,
35992
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
35993
0
     OPC_RecordChild0,
35994
0
     OPC_MoveParent,
35995
0
     OPC_SwitchType , 7, MVT::v4f32,
35996
0
      OPC_CheckPatternPredicate1,
35997
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
35998
0
                    MVT::v4f32, 1, 0, 
35999
0
     7, MVT::v8f32,
36000
0
      OPC_CheckPatternPredicate0,
36001
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
36002
0
                    MVT::v8f32, 1, 0, 
36003
0
     0,
36004
0
    22, 
36005
0
     OPC_MoveParent,
36006
0
     OPC_RecordChild1,
36007
0
     OPC_SwitchType , 7, MVT::v4f32,
36008
0
      OPC_CheckPatternPredicate1,
36009
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
36010
0
                    MVT::v4f32, 1, 0, 
36011
0
     7, MVT::v8f32,
36012
0
      OPC_CheckPatternPredicate0,
36013
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
36014
0
                    MVT::v8f32, 1, 0, 
36015
0
     0,
36016
0
    0, 
36017
0
   55, MVT::v2i64,
36018
0
    OPC_MoveParent,
36019
0
    OPC_CheckPredicate, 53,
36020
0
    OPC_Scope, 26, 
36021
0
     OPC_MoveSibling1,
36022
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36023
0
     OPC_RecordChild0,
36024
0
     OPC_MoveParent,
36025
0
     OPC_SwitchType , 7, MVT::v2f64,
36026
0
      OPC_CheckPatternPredicate1,
36027
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
36028
0
                    MVT::v2f64, 1, 0, 
36029
0
     7, MVT::v4f64,
36030
0
      OPC_CheckPatternPredicate0,
36031
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
36032
0
                    MVT::v4f64, 1, 0, 
36033
0
     0,
36034
0
    22, 
36035
0
     OPC_MoveParent,
36036
0
     OPC_RecordChild1,
36037
0
     OPC_SwitchType , 7, MVT::v2f64,
36038
0
      OPC_CheckPatternPredicate1,
36039
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
36040
0
                    MVT::v2f64, 1, 0, 
36041
0
     7, MVT::v4f64,
36042
0
      OPC_CheckPatternPredicate0,
36043
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
36044
0
                    MVT::v4f64, 1, 0, 
36045
0
     0,
36046
0
    0, 
36047
0
   55, MVT::v4i64,
36048
0
    OPC_MoveParent,
36049
0
    OPC_CheckPredicate, 53,
36050
0
    OPC_Scope, 26, 
36051
0
     OPC_MoveSibling1,
36052
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36053
0
     OPC_RecordChild0,
36054
0
     OPC_MoveParent,
36055
0
     OPC_SwitchType , 7, MVT::v2f64,
36056
0
      OPC_CheckPatternPredicate1,
36057
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
36058
0
                    MVT::v2f64, 1, 0, 
36059
0
     7, MVT::v4f64,
36060
0
      OPC_CheckPatternPredicate0,
36061
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
36062
0
                    MVT::v4f64, 1, 0, 
36063
0
     0,
36064
0
    22, 
36065
0
     OPC_MoveParent,
36066
0
     OPC_RecordChild1,
36067
0
     OPC_SwitchType , 7, MVT::v2f64,
36068
0
      OPC_CheckPatternPredicate1,
36069
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
36070
0
                    MVT::v2f64, 1, 0, 
36071
0
     7, MVT::v4f64,
36072
0
      OPC_CheckPatternPredicate0,
36073
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
36074
0
                    MVT::v4f64, 1, 0, 
36075
0
     0,
36076
0
    0, 
36077
0
   0,
36078
0
  44, 
36079
0
   OPC_RecordChild0,
36080
0
   OPC_RecordChild1,
36081
0
   OPC_SwitchType , 8, MVT::v4f32,
36082
0
    OPC_CheckPatternPredicate1,
36083
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_S),
36084
0
                  MVT::v4f32, 2, 0, 1, 
36085
0
   8, MVT::v2f64,
36086
0
    OPC_CheckPatternPredicate1,
36087
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_D),
36088
0
                  MVT::v2f64, 2, 0, 1, 
36089
0
   8, MVT::v8f32,
36090
0
    OPC_CheckPatternPredicate0,
36091
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_S),
36092
0
                  MVT::v8f32, 2, 0, 1, 
36093
0
   8, MVT::v4f64,
36094
0
    OPC_CheckPatternPredicate0,
36095
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_D),
36096
0
                  MVT::v4f64, 2, 0, 1, 
36097
0
   0,
36098
0
  0, 
36099
0
 61|128,4, TARGET_VAL(ISD::FMA),
36100
0
  OPC_Scope, 41, 
36101
0
   OPC_MoveChild0,
36102
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36103
0
   OPC_RecordChild0,
36104
0
   OPC_MoveParent,
36105
0
   OPC_RecordChild1,
36106
0
   OPC_MoveChild2,
36107
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36108
0
   OPC_RecordChild0,
36109
0
   OPC_MoveParent,
36110
0
   OPC_CheckPredicate, 34,
36111
0
   OPC_SwitchType , 10, MVT::f32,
36112
0
    OPC_CheckPatternPredicate, 17,
36113
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36114
0
                  MVT::f32, 3, 0, 1, 2, 
36115
0
   10, MVT::f64,
36116
0
    OPC_CheckPatternPredicate, 16,
36117
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36118
0
                  MVT::f64, 3, 0, 1, 2, 
36119
0
   0,
36120
0
  40, 
36121
0
   OPC_RecordChild0,
36122
0
   OPC_MoveChild1,
36123
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36124
0
   OPC_RecordChild0,
36125
0
   OPC_MoveSibling2,
36126
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36127
0
   OPC_RecordChild0,
36128
0
   OPC_MoveParent,
36129
0
   OPC_CheckPredicate, 34,
36130
0
   OPC_SwitchType , 10, MVT::f32,
36131
0
    OPC_CheckPatternPredicate, 17,
36132
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36133
0
                  MVT::f32, 3, 1, 0, 2, 
36134
0
   10, MVT::f64,
36135
0
    OPC_CheckPatternPredicate, 16,
36136
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36137
0
                  MVT::f64, 3, 1, 0, 2, 
36138
0
   0,
36139
0
  36, 
36140
0
   OPC_MoveChild0,
36141
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36142
0
   OPC_RecordChild0,
36143
0
   OPC_MoveParent,
36144
0
   OPC_RecordChild1,
36145
0
   OPC_RecordChild2,
36146
0
   OPC_CheckPredicate, 34,
36147
0
   OPC_SwitchType , 10, MVT::f32,
36148
0
    OPC_CheckPatternPredicate, 17,
36149
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36150
0
                  MVT::f32, 3, 0, 1, 2, 
36151
0
   10, MVT::f64,
36152
0
    OPC_CheckPatternPredicate, 16,
36153
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36154
0
                  MVT::f64, 3, 0, 1, 2, 
36155
0
   0,
36156
0
  104, 
36157
0
   OPC_RecordChild0,
36158
0
   OPC_Scope, 35, 
36159
0
    OPC_MoveChild1,
36160
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36161
0
    OPC_RecordChild0,
36162
0
    OPC_MoveParent,
36163
0
    OPC_RecordChild2,
36164
0
    OPC_CheckPredicate, 34,
36165
0
    OPC_SwitchType , 10, MVT::f32,
36166
0
     OPC_CheckPatternPredicate, 17,
36167
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36168
0
                   MVT::f32, 3, 1, 0, 2, 
36169
0
    10, MVT::f64,
36170
0
     OPC_CheckPatternPredicate, 16,
36171
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36172
0
                   MVT::f64, 3, 1, 0, 2, 
36173
0
    0,
36174
0
   64, 
36175
0
    OPC_RecordChild1,
36176
0
    OPC_Scope, 32, 
36177
0
     OPC_MoveChild2,
36178
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36179
0
     OPC_RecordChild0,
36180
0
     OPC_MoveParent,
36181
0
     OPC_SwitchType , 10, MVT::f32,
36182
0
      OPC_CheckPatternPredicate, 17,
36183
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_S),
36184
0
                    MVT::f32, 3, 0, 1, 2, 
36185
0
     10, MVT::f64,
36186
0
      OPC_CheckPatternPredicate, 16,
36187
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_D),
36188
0
                    MVT::f64, 3, 0, 1, 2, 
36189
0
     0,
36190
0
    27, 
36191
0
     OPC_RecordChild2,
36192
0
     OPC_SwitchType , 10, MVT::f32,
36193
0
      OPC_CheckPatternPredicate, 17,
36194
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_S),
36195
0
                    MVT::f32, 3, 0, 1, 2, 
36196
0
     10, MVT::f64,
36197
0
      OPC_CheckPatternPredicate, 16,
36198
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_D),
36199
0
                    MVT::f64, 3, 0, 1, 2, 
36200
0
     0,
36201
0
    0, 
36202
0
   0, 
36203
0
  61, 
36204
0
   OPC_MoveChild0,
36205
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36206
0
   OPC_RecordChild0,
36207
0
   OPC_MoveParent,
36208
0
   OPC_RecordChild1,
36209
0
   OPC_MoveChild2,
36210
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36211
0
   OPC_RecordChild0,
36212
0
   OPC_MoveParent,
36213
0
   OPC_CheckPredicate, 34,
36214
0
   OPC_SwitchType , 9, MVT::v4f32,
36215
0
    OPC_CheckPatternPredicate1,
36216
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36217
0
                  MVT::v4f32, 3, 0, 1, 2, 
36218
0
   9, MVT::v2f64,
36219
0
    OPC_CheckPatternPredicate1,
36220
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36221
0
                  MVT::v2f64, 3, 0, 1, 2, 
36222
0
   9, MVT::v8f32,
36223
0
    OPC_CheckPatternPredicate0,
36224
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36225
0
                  MVT::v8f32, 3, 0, 1, 2, 
36226
0
   9, MVT::v4f64,
36227
0
    OPC_CheckPatternPredicate0,
36228
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36229
0
                  MVT::v4f64, 3, 0, 1, 2, 
36230
0
   0,
36231
0
  60, 
36232
0
   OPC_RecordChild0,
36233
0
   OPC_MoveChild1,
36234
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36235
0
   OPC_RecordChild0,
36236
0
   OPC_MoveSibling2,
36237
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36238
0
   OPC_RecordChild0,
36239
0
   OPC_MoveParent,
36240
0
   OPC_CheckPredicate, 34,
36241
0
   OPC_SwitchType , 9, MVT::v4f32,
36242
0
    OPC_CheckPatternPredicate1,
36243
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36244
0
                  MVT::v4f32, 3, 1, 0, 2, 
36245
0
   9, MVT::v2f64,
36246
0
    OPC_CheckPatternPredicate1,
36247
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36248
0
                  MVT::v2f64, 3, 1, 0, 2, 
36249
0
   9, MVT::v8f32,
36250
0
    OPC_CheckPatternPredicate0,
36251
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36252
0
                  MVT::v8f32, 3, 1, 0, 2, 
36253
0
   9, MVT::v4f64,
36254
0
    OPC_CheckPatternPredicate0,
36255
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36256
0
                  MVT::v4f64, 3, 1, 0, 2, 
36257
0
   0,
36258
0
  56, 
36259
0
   OPC_MoveChild0,
36260
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36261
0
   OPC_RecordChild0,
36262
0
   OPC_MoveParent,
36263
0
   OPC_RecordChild1,
36264
0
   OPC_RecordChild2,
36265
0
   OPC_CheckPredicate, 34,
36266
0
   OPC_SwitchType , 9, MVT::v4f32,
36267
0
    OPC_CheckPatternPredicate1,
36268
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36269
0
                  MVT::v4f32, 3, 0, 1, 2, 
36270
0
   9, MVT::v2f64,
36271
0
    OPC_CheckPatternPredicate1,
36272
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36273
0
                  MVT::v2f64, 3, 0, 1, 2, 
36274
0
   9, MVT::v8f32,
36275
0
    OPC_CheckPatternPredicate0,
36276
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36277
0
                  MVT::v8f32, 3, 0, 1, 2, 
36278
0
   9, MVT::v4f64,
36279
0
    OPC_CheckPatternPredicate0,
36280
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36281
0
                  MVT::v4f64, 3, 0, 1, 2, 
36282
0
   0,
36283
0
  36|128,1, 
36284
0
   OPC_RecordChild0,
36285
0
   OPC_Scope, 55, 
36286
0
    OPC_MoveChild1,
36287
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36288
0
    OPC_RecordChild0,
36289
0
    OPC_MoveParent,
36290
0
    OPC_RecordChild2,
36291
0
    OPC_CheckPredicate, 34,
36292
0
    OPC_SwitchType , 9, MVT::v4f32,
36293
0
     OPC_CheckPatternPredicate1,
36294
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36295
0
                   MVT::v4f32, 3, 1, 0, 2, 
36296
0
    9, MVT::v2f64,
36297
0
     OPC_CheckPatternPredicate1,
36298
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36299
0
                   MVT::v2f64, 3, 1, 0, 2, 
36300
0
    9, MVT::v8f32,
36301
0
     OPC_CheckPatternPredicate0,
36302
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36303
0
                   MVT::v8f32, 3, 1, 0, 2, 
36304
0
    9, MVT::v4f64,
36305
0
     OPC_CheckPatternPredicate0,
36306
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36307
0
                   MVT::v4f64, 3, 1, 0, 2, 
36308
0
    0,
36309
0
   104, 
36310
0
    OPC_RecordChild1,
36311
0
    OPC_Scope, 52, 
36312
0
     OPC_MoveChild2,
36313
0
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36314
0
     OPC_RecordChild0,
36315
0
     OPC_MoveParent,
36316
0
     OPC_SwitchType , 9, MVT::v4f32,
36317
0
      OPC_CheckPatternPredicate1,
36318
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
36319
0
                    MVT::v4f32, 3, 0, 1, 2, 
36320
0
     9, MVT::v2f64,
36321
0
      OPC_CheckPatternPredicate1,
36322
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
36323
0
                    MVT::v2f64, 3, 0, 1, 2, 
36324
0
     9, MVT::v8f32,
36325
0
      OPC_CheckPatternPredicate0,
36326
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
36327
0
                    MVT::v8f32, 3, 0, 1, 2, 
36328
0
     9, MVT::v4f64,
36329
0
      OPC_CheckPatternPredicate0,
36330
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
36331
0
                    MVT::v4f64, 3, 0, 1, 2, 
36332
0
     0,
36333
0
    47, 
36334
0
     OPC_RecordChild2,
36335
0
     OPC_SwitchType , 9, MVT::v4f32,
36336
0
      OPC_CheckPatternPredicate1,
36337
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_S),
36338
0
                    MVT::v4f32, 3, 0, 1, 2, 
36339
0
     9, MVT::v2f64,
36340
0
      OPC_CheckPatternPredicate1,
36341
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_D),
36342
0
                    MVT::v2f64, 3, 0, 1, 2, 
36343
0
     9, MVT::v8f32,
36344
0
      OPC_CheckPatternPredicate0,
36345
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_S),
36346
0
                    MVT::v8f32, 3, 0, 1, 2, 
36347
0
     9, MVT::v4f64,
36348
0
      OPC_CheckPatternPredicate0,
36349
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_D),
36350
0
                    MVT::v4f64, 3, 0, 1, 2, 
36351
0
     0,
36352
0
    0, 
36353
0
   0, 
36354
0
  0, 
36355
0
 62|128,2, TARGET_VAL(ISD::FNEG),
36356
0
  OPC_Scope, 71, 
36357
0
   OPC_MoveChild0,
36358
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
36359
0
   OPC_RecordChild0,
36360
0
   OPC_RecordChild1,
36361
0
   OPC_Scope, 33, 
36362
0
    OPC_MoveChild2,
36363
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36364
0
    OPC_RecordChild0,
36365
0
    OPC_MoveParent,
36366
0
    OPC_MoveParent,
36367
0
    OPC_SwitchType , 10, MVT::f32,
36368
0
     OPC_CheckPatternPredicate, 17,
36369
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36370
0
                   MVT::f32, 3, 0, 1, 2, 
36371
0
    10, MVT::f64,
36372
0
     OPC_CheckPatternPredicate, 16,
36373
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36374
0
                   MVT::f64, 3, 0, 1, 2, 
36375
0
    0,
36376
0
   28, 
36377
0
    OPC_RecordChild2,
36378
0
    OPC_MoveParent,
36379
0
    OPC_SwitchType , 10, MVT::f32,
36380
0
     OPC_CheckPatternPredicate, 17,
36381
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36382
0
                   MVT::f32, 3, 0, 1, 2, 
36383
0
    10, MVT::f64,
36384
0
     OPC_CheckPatternPredicate, 16,
36385
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36386
0
                   MVT::f64, 3, 0, 1, 2, 
36387
0
    0,
36388
0
   0, 
36389
0
  23, 
36390
0
   OPC_RecordChild0,
36391
0
   OPC_SwitchType , 8, MVT::f32,
36392
0
    OPC_CheckPatternPredicate, 17,
36393
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36394
0
                  MVT::f32, 1, 0, 
36395
0
   8, MVT::f64,
36396
0
    OPC_CheckPatternPredicate, 16,
36397
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36398
0
                  MVT::f64, 1, 0, 
36399
0
   0,
36400
0
  111, 
36401
0
   OPC_MoveChild0,
36402
0
   OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
36403
0
   OPC_RecordChild0,
36404
0
   OPC_RecordChild1,
36405
0
   OPC_Scope, 53, 
36406
0
    OPC_MoveChild2,
36407
0
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36408
0
    OPC_RecordChild0,
36409
0
    OPC_MoveParent,
36410
0
    OPC_MoveParent,
36411
0
    OPC_SwitchType , 9, MVT::v4f32,
36412
0
     OPC_CheckPatternPredicate1,
36413
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36414
0
                   MVT::v4f32, 3, 0, 1, 2, 
36415
0
    9, MVT::v2f64,
36416
0
     OPC_CheckPatternPredicate1,
36417
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36418
0
                   MVT::v2f64, 3, 0, 1, 2, 
36419
0
    9, MVT::v8f32,
36420
0
     OPC_CheckPatternPredicate0,
36421
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36422
0
                   MVT::v8f32, 3, 0, 1, 2, 
36423
0
    9, MVT::v4f64,
36424
0
     OPC_CheckPatternPredicate0,
36425
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36426
0
                   MVT::v4f64, 3, 0, 1, 2, 
36427
0
    0,
36428
0
   48, 
36429
0
    OPC_RecordChild2,
36430
0
    OPC_MoveParent,
36431
0
    OPC_SwitchType , 9, MVT::v4f32,
36432
0
     OPC_CheckPatternPredicate1,
36433
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36434
0
                   MVT::v4f32, 3, 0, 1, 2, 
36435
0
    9, MVT::v2f64,
36436
0
     OPC_CheckPatternPredicate1,
36437
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36438
0
                   MVT::v2f64, 3, 0, 1, 2, 
36439
0
    9, MVT::v8f32,
36440
0
     OPC_CheckPatternPredicate0,
36441
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36442
0
                   MVT::v8f32, 3, 0, 1, 2, 
36443
0
    9, MVT::v4f64,
36444
0
     OPC_CheckPatternPredicate0,
36445
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36446
0
                   MVT::v4f64, 3, 0, 1, 2, 
36447
0
    0,
36448
0
   0, 
36449
0
  107, 
36450
0
   OPC_RecordChild0,
36451
0
   OPC_SwitchType , 24, MVT::v4f32,
36452
0
    OPC_Scope, 10, 
36453
0
     OPC_CheckPatternPredicate2,
36454
0
     OPC_EmitInteger64, 62, 
36455
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
36456
0
                   MVT::v4f32, 2, 0, 1, 
36457
0
    10, 
36458
0
     OPC_CheckPatternPredicate4,
36459
0
     OPC_EmitInteger32, 62, 
36460
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
36461
0
                   MVT::v4f32, 2, 0, 1, 
36462
0
    0, 
36463
0
   24, MVT::v2f64,
36464
0
    OPC_Scope, 10, 
36465
0
     OPC_CheckPatternPredicate2,
36466
0
     OPC_EmitInteger64, 126, 
36467
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
36468
0
                   MVT::v2f64, 2, 0, 1, 
36469
0
    10, 
36470
0
     OPC_CheckPatternPredicate4,
36471
0
     OPC_EmitInteger32, 126, 
36472
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
36473
0
                   MVT::v2f64, 2, 0, 1, 
36474
0
    0, 
36475
0
   24, MVT::v8f32,
36476
0
    OPC_Scope, 10, 
36477
0
     OPC_CheckPatternPredicate3,
36478
0
     OPC_EmitInteger64, 62, 
36479
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
36480
0
                   MVT::v8f32, 2, 0, 1, 
36481
0
    10, 
36482
0
     OPC_CheckPatternPredicate5,
36483
0
     OPC_EmitInteger32, 62, 
36484
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
36485
0
                   MVT::v8f32, 2, 0, 1, 
36486
0
    0, 
36487
0
   24, MVT::v4f64,
36488
0
    OPC_Scope, 10, 
36489
0
     OPC_CheckPatternPredicate3,
36490
0
     OPC_EmitInteger64, 126, 
36491
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
36492
0
                   MVT::v4f64, 2, 0, 1, 
36493
0
    10, 
36494
0
     OPC_CheckPatternPredicate5,
36495
0
     OPC_EmitInteger32, 126, 
36496
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
36497
0
                   MVT::v4f64, 2, 0, 1, 
36498
0
    0, 
36499
0
   0,
36500
0
  0, 
36501
0
 23|128,1, TARGET_VAL(ISD::SINT_TO_FP),
36502
0
  OPC_RecordChild0,
36503
0
  OPC_Scope, 75, 
36504
0
   OPC_CheckChild0TypeI64,
36505
0
   OPC_SwitchType , 35, MVT::f32,
36506
0
    OPC_Scope, 17, 
36507
0
     OPC_CheckPatternPredicate, 20,
36508
0
     OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36509
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36510
0
                   MVT::f32, 1, 1, 
36511
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36512
0
                   MVT::f32, 1, 2, 
36513
0
    14, 
36514
0
     OPC_CheckPatternPredicate, 18,
36515
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36516
0
                   MVT::f64, 1, 0, 
36517
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
36518
0
                   MVT::f32, 1, 1, 
36519
0
    0, 
36520
0
   33, MVT::f64,
36521
0
    OPC_CheckPatternPredicate, 18,
36522
0
    OPC_Scope, 15, 
36523
0
     OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36524
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36525
0
                   MVT::f32, 1, 1, 
36526
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
36527
0
                   MVT::f64, 1, 2, 
36528
0
    12, 
36529
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36530
0
                   MVT::f64, 1, 0, 
36531
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36532
0
                   MVT::f64, 1, 1, 
36533
0
    0, 
36534
0
   0,
36535
0
  71, 
36536
0
   OPC_CheckChild0TypeI32,
36537
0
   OPC_SwitchType , 32, MVT::f32,
36538
0
    OPC_Scope, 14, 
36539
0
     OPC_CheckPatternPredicate, 22,
36540
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36541
0
                   MVT::f32, 1, 0, 
36542
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36543
0
                   MVT::f32, 1, 1, 
36544
0
    14, 
36545
0
     OPC_CheckPatternPredicate, 19,
36546
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36547
0
                   MVT::f64, 1, 0, 
36548
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
36549
0
                   MVT::f32, 1, 1, 
36550
0
    0, 
36551
0
   32, MVT::f64,
36552
0
    OPC_Scope, 14, 
36553
0
     OPC_CheckPatternPredicate, 19,
36554
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36555
0
                   MVT::f64, 1, 0, 
36556
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36557
0
                   MVT::f64, 1, 1, 
36558
0
    14, 
36559
0
     OPC_CheckPatternPredicate, 21,
36560
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36561
0
                   MVT::f32, 1, 0, 
36562
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
36563
0
                   MVT::f64, 1, 1, 
36564
0
    0, 
36565
0
   0,
36566
0
  0, 
36567
0
 21, TARGET_VAL(ISD::UINT_TO_FP),
36568
0
  OPC_RecordChild0,
36569
0
  OPC_CheckChild0TypeI64,
36570
0
  OPC_CheckType, MVT::f32,
36571
0
  OPC_CheckPatternPredicate, 20,
36572
0
  OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36573
0
  OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36574
0
                MVT::f32, 1, 1, 
36575
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36576
0
                MVT::f32, 1, 2, 
36577
0
 50|128,3, TARGET_VAL(ISD::ConstantFP),
36578
0
  OPC_Scope, 56, 
36579
0
   OPC_CheckPredicate, 48,
36580
0
   OPC_SwitchType , 24, MVT::f32,
36581
0
    OPC_Scope, 10, 
36582
0
     OPC_CheckPatternPredicate, 11,
36583
0
     OPC_EmitRegisterI64, LoongArch::R0,
36584
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36585
0
                   MVT::f32, 1, 0, 
36586
0
    10, 
36587
0
     OPC_CheckPatternPredicate, 12,
36588
0
     OPC_EmitRegisterI32, LoongArch::R0,
36589
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36590
0
                   MVT::f32, 1, 0, 
36591
0
    0, 
36592
0
   24, MVT::f64,
36593
0
    OPC_Scope, 10, 
36594
0
     OPC_CheckPatternPredicate, 18,
36595
0
     OPC_EmitRegisterI64, LoongArch::R0,
36596
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36597
0
                   MVT::f64, 1, 0, 
36598
0
    10, 
36599
0
     OPC_CheckPatternPredicate, 19,
36600
0
     OPC_EmitRegisterI32, LoongArch::R0,
36601
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36602
0
                   MVT::f64, 1, 0, 
36603
0
    0, 
36604
0
   0,
36605
0
  80, 
36606
0
   OPC_CheckPredicate, 50,
36607
0
   OPC_SwitchType , 36, MVT::f32,
36608
0
    OPC_Scope, 16, 
36609
0
     OPC_CheckPatternPredicate, 11,
36610
0
     OPC_EmitRegisterI64, LoongArch::R0,
36611
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36612
0
                   MVT::f32, 1, 0, 
36613
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36614
0
                   MVT::f32, 1, 1, 
36615
0
    16, 
36616
0
     OPC_CheckPatternPredicate, 12,
36617
0
     OPC_EmitRegisterI32, LoongArch::R0,
36618
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36619
0
                   MVT::f32, 1, 0, 
36620
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36621
0
                   MVT::f32, 1, 1, 
36622
0
    0, 
36623
0
   36, MVT::f64,
36624
0
    OPC_Scope, 16, 
36625
0
     OPC_CheckPatternPredicate, 18,
36626
0
     OPC_EmitRegisterI64, LoongArch::R0,
36627
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36628
0
                   MVT::f64, 1, 0, 
36629
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36630
0
                   MVT::f64, 1, 1, 
36631
0
    16, 
36632
0
     OPC_CheckPatternPredicate, 19,
36633
0
     OPC_EmitRegisterI32, LoongArch::R0,
36634
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36635
0
                   MVT::f64, 1, 0, 
36636
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36637
0
                   MVT::f64, 1, 1, 
36638
0
    0, 
36639
0
   0,
36640
0
  46, 
36641
0
   OPC_CheckPredicate, 48,
36642
0
   OPC_CheckType, MVT::f64,
36643
0
   OPC_Scope, 19, 
36644
0
    OPC_CheckPatternPredicate, 23,
36645
0
    OPC_EmitRegisterI64, LoongArch::R0,
36646
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36647
0
                  MVT::f64, 1, 0, 
36648
0
    OPC_EmitRegisterI64, LoongArch::R0,
36649
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36650
0
                  MVT::f64, 2, 1, 2, 
36651
0
   19, 
36652
0
    OPC_CheckPatternPredicate, 21,
36653
0
    OPC_EmitRegisterI32, LoongArch::R0,
36654
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36655
0
                  MVT::f64, 1, 0, 
36656
0
    OPC_EmitRegisterI32, LoongArch::R0,
36657
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36658
0
                  MVT::f64, 2, 1, 2, 
36659
0
   0, 
36660
0
  116, 
36661
0
   OPC_CheckPredicate, 46,
36662
0
   OPC_SwitchType , 54, MVT::f32,
36663
0
    OPC_Scope, 25, 
36664
0
     OPC_CheckPatternPredicate, 11,
36665
0
     OPC_EmitRegisterI64, LoongArch::R0,
36666
0
     OPC_EmitInteger64, 2, 
36667
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36668
0
                   MVT::i64, 2, 0, 1, 
36669
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36670
0
                   MVT::f32, 1, 2, 
36671
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36672
0
                   MVT::f32, 1, 3, 
36673
0
    25, 
36674
0
     OPC_CheckPatternPredicate, 12,
36675
0
     OPC_EmitRegisterI32, LoongArch::R0,
36676
0
     OPC_EmitInteger32, 2, 
36677
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36678
0
                   MVT::i32, 2, 0, 1, 
36679
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36680
0
                   MVT::f32, 1, 2, 
36681
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36682
0
                   MVT::f32, 1, 3, 
36683
0
    0, 
36684
0
   54, MVT::f64,
36685
0
    OPC_Scope, 25, 
36686
0
     OPC_CheckPatternPredicate, 18,
36687
0
     OPC_EmitRegisterI64, LoongArch::R0,
36688
0
     OPC_EmitInteger64, 2, 
36689
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
36690
0
                   MVT::i64, 2, 0, 1, 
36691
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36692
0
                   MVT::f64, 1, 2, 
36693
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36694
0
                   MVT::f64, 1, 3, 
36695
0
    25, 
36696
0
     OPC_CheckPatternPredicate, 19,
36697
0
     OPC_EmitRegisterI32, LoongArch::R0,
36698
0
     OPC_EmitInteger32, 2, 
36699
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
36700
0
                   MVT::i32, 2, 0, 1, 
36701
0
     OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36702
0
                   MVT::f64, 1, 2, 
36703
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36704
0
                   MVT::f64, 1, 3, 
36705
0
    0, 
36706
0
   0,
36707
0
  58, 
36708
0
   OPC_CheckPredicate, 50,
36709
0
   OPC_CheckType, MVT::f64,
36710
0
   OPC_Scope, 25, 
36711
0
    OPC_CheckPatternPredicate, 23,
36712
0
    OPC_EmitRegisterI64, LoongArch::R0,
36713
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36714
0
                  MVT::f64, 1, 0, 
36715
0
    OPC_EmitRegisterI64, LoongArch::R0,
36716
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36717
0
                  MVT::f64, 2, 1, 2, 
36718
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36719
0
                  MVT::f64, 1, 3, 
36720
0
   25, 
36721
0
    OPC_CheckPatternPredicate, 21,
36722
0
    OPC_EmitRegisterI32, LoongArch::R0,
36723
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36724
0
                  MVT::f64, 1, 0, 
36725
0
    OPC_EmitRegisterI32, LoongArch::R0,
36726
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36727
0
                  MVT::f64, 2, 1, 2, 
36728
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36729
0
                  MVT::f64, 1, 3, 
36730
0
   0, 
36731
0
  70, 
36732
0
   OPC_CheckPredicate, 46,
36733
0
   OPC_CheckType, MVT::f64,
36734
0
   OPC_Scope, 31, 
36735
0
    OPC_CheckPatternPredicate, 23,
36736
0
    OPC_EmitRegisterI64, LoongArch::R0,
36737
0
    OPC_EmitInteger64, 2, 
36738
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36739
0
                  MVT::i64, 2, 0, 1, 
36740
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36741
0
                  MVT::f32, 1, 2, 
36742
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
36743
0
                  MVT::f32, 1, 3, 
36744
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
36745
0
                  MVT::f64, 1, 4, 
36746
0
   31, 
36747
0
    OPC_CheckPatternPredicate, 21,
36748
0
    OPC_EmitRegisterI32, LoongArch::R0,
36749
0
    OPC_EmitInteger32, 2, 
36750
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36751
0
                  MVT::i32, 2, 0, 1, 
36752
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36753
0
                  MVT::f32, 1, 2, 
36754
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
36755
0
                  MVT::f32, 1, 3, 
36756
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
36757
0
                  MVT::f64, 1, 4, 
36758
0
   0, 
36759
0
  0, 
36760
0
 66, TARGET_VAL(ISD::FADD),
36761
0
  OPC_RecordChild0,
36762
0
  OPC_RecordChild1,
36763
0
  OPC_SwitchType , 9, MVT::f32,
36764
0
   OPC_CheckPatternPredicate, 17,
36765
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_S),
36766
0
                 MVT::f32, 2, 0, 1, 
36767
0
  9, MVT::f64,
36768
0
   OPC_CheckPatternPredicate, 16,
36769
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_D),
36770
0
                 MVT::f64, 2, 0, 1, 
36771
0
  8, MVT::v4f32,
36772
0
   OPC_CheckPatternPredicate1,
36773
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_S),
36774
0
                 MVT::v4f32, 2, 0, 1, 
36775
0
  8, MVT::v2f64,
36776
0
   OPC_CheckPatternPredicate1,
36777
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_D),
36778
0
                 MVT::v2f64, 2, 0, 1, 
36779
0
  8, MVT::v8f32,
36780
0
   OPC_CheckPatternPredicate0,
36781
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_S),
36782
0
                 MVT::v8f32, 2, 0, 1, 
36783
0
  8, MVT::v4f64,
36784
0
   OPC_CheckPatternPredicate0,
36785
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_D),
36786
0
                 MVT::v4f64, 2, 0, 1, 
36787
0
  0,
36788
0
 66, TARGET_VAL(ISD::FSUB),
36789
0
  OPC_RecordChild0,
36790
0
  OPC_RecordChild1,
36791
0
  OPC_SwitchType , 9, MVT::f32,
36792
0
   OPC_CheckPatternPredicate, 17,
36793
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_S),
36794
0
                 MVT::f32, 2, 0, 1, 
36795
0
  9, MVT::f64,
36796
0
   OPC_CheckPatternPredicate, 16,
36797
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_D),
36798
0
                 MVT::f64, 2, 0, 1, 
36799
0
  8, MVT::v4f32,
36800
0
   OPC_CheckPatternPredicate1,
36801
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_S),
36802
0
                 MVT::v4f32, 2, 0, 1, 
36803
0
  8, MVT::v2f64,
36804
0
   OPC_CheckPatternPredicate1,
36805
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_D),
36806
0
                 MVT::v2f64, 2, 0, 1, 
36807
0
  8, MVT::v8f32,
36808
0
   OPC_CheckPatternPredicate0,
36809
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_S),
36810
0
                 MVT::v8f32, 2, 0, 1, 
36811
0
  8, MVT::v4f64,
36812
0
   OPC_CheckPatternPredicate0,
36813
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_D),
36814
0
                 MVT::v4f64, 2, 0, 1, 
36815
0
  0,
36816
0
 66, TARGET_VAL(ISD::FMUL),
36817
0
  OPC_RecordChild0,
36818
0
  OPC_RecordChild1,
36819
0
  OPC_SwitchType , 9, MVT::f32,
36820
0
   OPC_CheckPatternPredicate, 17,
36821
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_S),
36822
0
                 MVT::f32, 2, 0, 1, 
36823
0
  9, MVT::f64,
36824
0
   OPC_CheckPatternPredicate, 16,
36825
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_D),
36826
0
                 MVT::f64, 2, 0, 1, 
36827
0
  8, MVT::v4f32,
36828
0
   OPC_CheckPatternPredicate1,
36829
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_S),
36830
0
                 MVT::v4f32, 2, 0, 1, 
36831
0
  8, MVT::v2f64,
36832
0
   OPC_CheckPatternPredicate1,
36833
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_D),
36834
0
                 MVT::v2f64, 2, 0, 1, 
36835
0
  8, MVT::v8f32,
36836
0
   OPC_CheckPatternPredicate0,
36837
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_S),
36838
0
                 MVT::v8f32, 2, 0, 1, 
36839
0
  8, MVT::v4f64,
36840
0
   OPC_CheckPatternPredicate0,
36841
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_D),
36842
0
                 MVT::v4f64, 2, 0, 1, 
36843
0
  0,
36844
0
 70, TARGET_VAL(ISD::FCOPYSIGN),
36845
0
  OPC_RecordChild0,
36846
0
  OPC_RecordChild1,
36847
0
  OPC_Scope, 32, 
36848
0
   OPC_CheckChild1Type, MVT::f32,
36849
0
   OPC_SwitchType , 9, MVT::f32,
36850
0
    OPC_CheckPatternPredicate, 17,
36851
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
36852
0
                  MVT::f32, 2, 0, 1, 
36853
0
   15, MVT::f64,
36854
0
    OPC_CheckPatternPredicate, 16,
36855
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_D_S),
36856
0
                  MVT::f64, 1, 1, 
36857
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
36858
0
                  MVT::f64, 2, 0, 2, 
36859
0
   0,
36860
0
  32, 
36861
0
   OPC_CheckChild1Type, MVT::f64,
36862
0
   OPC_SwitchType , 9, MVT::f64,
36863
0
    OPC_CheckPatternPredicate, 16,
36864
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
36865
0
                  MVT::f64, 2, 0, 1, 
36866
0
   15, MVT::f32,
36867
0
    OPC_CheckPatternPredicate, 16,
36868
0
    OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_S_D),
36869
0
                  MVT::f32, 1, 1, 
36870
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
36871
0
                  MVT::f32, 2, 0, 2, 
36872
0
   0,
36873
0
  0, 
36874
0
 26, TARGET_VAL(ISD::FMAXNUM_IEEE),
36875
0
  OPC_RecordChild0,
36876
0
  OPC_RecordChild1,
36877
0
  OPC_SwitchType , 9, MVT::f32,
36878
0
   OPC_CheckPatternPredicate, 17,
36879
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
36880
0
                 MVT::f32, 2, 0, 1, 
36881
0
  9, MVT::f64,
36882
0
   OPC_CheckPatternPredicate, 16,
36883
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
36884
0
                 MVT::f64, 2, 0, 1, 
36885
0
  0,
36886
0
 26, TARGET_VAL(ISD::FMINNUM_IEEE),
36887
0
  OPC_RecordChild0,
36888
0
  OPC_RecordChild1,
36889
0
  OPC_SwitchType , 9, MVT::f32,
36890
0
   OPC_CheckPatternPredicate, 17,
36891
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
36892
0
                 MVT::f32, 2, 0, 1, 
36893
0
  9, MVT::f64,
36894
0
   OPC_CheckPatternPredicate, 16,
36895
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
36896
0
                 MVT::f64, 2, 0, 1, 
36897
0
  0,
36898
0
 23, TARGET_VAL(ISD::FABS),
36899
0
  OPC_RecordChild0,
36900
0
  OPC_SwitchType , 8, MVT::f32,
36901
0
   OPC_CheckPatternPredicate, 17,
36902
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_S),
36903
0
                 MVT::f32, 1, 0, 
36904
0
  8, MVT::f64,
36905
0
   OPC_CheckPatternPredicate, 16,
36906
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_D),
36907
0
                 MVT::f64, 1, 0, 
36908
0
  0,
36909
0
 59, TARGET_VAL(ISD::FSQRT),
36910
0
  OPC_RecordChild0,
36911
0
  OPC_SwitchType , 8, MVT::f32,
36912
0
   OPC_CheckPatternPredicate, 17,
36913
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_S),
36914
0
                 MVT::f32, 1, 0, 
36915
0
  8, MVT::f64,
36916
0
   OPC_CheckPatternPredicate, 16,
36917
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_D),
36918
0
                 MVT::f64, 1, 0, 
36919
0
  7, MVT::v4f32,
36920
0
   OPC_CheckPatternPredicate1,
36921
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
36922
0
                 MVT::v4f32, 1, 0, 
36923
0
  7, MVT::v2f64,
36924
0
   OPC_CheckPatternPredicate1,
36925
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
36926
0
                 MVT::v2f64, 1, 0, 
36927
0
  7, MVT::v8f32,
36928
0
   OPC_CheckPatternPredicate0,
36929
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
36930
0
                 MVT::v8f32, 1, 0, 
36931
0
  7, MVT::v4f64,
36932
0
   OPC_CheckPatternPredicate0,
36933
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
36934
0
                 MVT::v4f64, 1, 0, 
36935
0
  0,
36936
0
 25, TARGET_VAL(ISD::FCANONICALIZE),
36937
0
  OPC_RecordChild0,
36938
0
  OPC_SwitchType , 9, MVT::f32,
36939
0
   OPC_CheckPatternPredicate, 17,
36940
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
36941
0
                 MVT::f32, 2, 0, 0, 
36942
0
  9, MVT::f64,
36943
0
   OPC_CheckPatternPredicate, 16,
36944
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
36945
0
                 MVT::f64, 2, 0, 0, 
36946
0
  0,
36947
0
 53, TARGET_VAL(LoongArchISD::FTINT),
36948
0
  OPC_RecordChild0,
36949
0
  OPC_Scope, 24, 
36950
0
   OPC_CheckChild0Type, MVT::f32,
36951
0
   OPC_SwitchType , 8, MVT::f32,
36952
0
    OPC_CheckPatternPredicate, 17,
36953
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_S),
36954
0
                  MVT::f32, 1, 0, 
36955
0
   8, MVT::f64,
36956
0
    OPC_CheckPatternPredicate, 16,
36957
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_S),
36958
0
                  MVT::f64, 1, 0, 
36959
0
   0,
36960
0
  24, 
36961
0
   OPC_CheckChild0Type, MVT::f64,
36962
0
   OPC_SwitchType , 8, MVT::f32,
36963
0
    OPC_CheckPatternPredicate, 16,
36964
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_D),
36965
0
                  MVT::f32, 1, 0, 
36966
0
   8, MVT::f64,
36967
0
    OPC_CheckPatternPredicate, 16,
36968
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_D),
36969
0
                  MVT::f64, 1, 0, 
36970
0
   0,
36971
0
  0, 
36972
0
 23, TARGET_VAL(ISD::FRINT),
36973
0
  OPC_RecordChild0,
36974
0
  OPC_SwitchType , 8, MVT::f32,
36975
0
   OPC_CheckPatternPredicate, 11,
36976
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_S),
36977
0
                 MVT::f32, 1, 0, 
36978
0
  8, MVT::f64,
36979
0
   OPC_CheckPatternPredicate, 13,
36980
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_D),
36981
0
                 MVT::f64, 1, 0, 
36982
0
  0,
36983
0
 11, TARGET_VAL(ISD::FP_ROUND),
36984
0
  OPC_RecordChild0,
36985
0
  OPC_CheckType, MVT::f32,
36986
0
  OPC_CheckPatternPredicate, 16,
36987
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_S_D),
36988
0
                MVT::f32, 1, 0, 
36989
0
 11, TARGET_VAL(ISD::FP_EXTEND),
36990
0
  OPC_RecordChild0,
36991
0
  OPC_CheckType, MVT::f64,
36992
0
  OPC_CheckPatternPredicate, 16,
36993
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
36994
0
                MVT::f64, 1, 0, 
36995
0
 9, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
36996
0
  OPC_RecordChild0,
36997
0
  OPC_CheckPatternPredicate, 20,
36998
0
  OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36999
0
                MVT::f32, 1, 0, 
37000
0
 76|128,3, TARGET_VAL(ISD::SMAX),
37001
0
  OPC_RecordChild0,
37002
0
  OPC_RecordChild1,
37003
0
  OPC_SwitchType , 55, MVT::v16i8,
37004
0
   OPC_Scope, 10, 
37005
0
    OPC_CheckPatternPredicate2,
37006
0
    OPC_CheckComplexPat3, /*#*/1,
37007
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37008
0
                  MVT::v16i8, 2, 0, 2, 
37009
0
   10, 
37010
0
    OPC_CheckPatternPredicate4,
37011
0
    OPC_CheckComplexPat3, /*#*/1,
37012
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37013
0
                  MVT::v16i8, 2, 0, 2, 
37014
0
   10, 
37015
0
    OPC_CheckPatternPredicate2,
37016
0
    OPC_CheckComplexPat3, /*#*/0,
37017
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37018
0
                  MVT::v16i8, 2, 1, 2, 
37019
0
   10, 
37020
0
    OPC_CheckPatternPredicate4,
37021
0
    OPC_CheckComplexPat3, /*#*/0,
37022
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37023
0
                  MVT::v16i8, 2, 1, 2, 
37024
0
   8, 
37025
0
    OPC_CheckPatternPredicate1,
37026
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_B),
37027
0
                  MVT::v16i8, 2, 0, 1, 
37028
0
   0, 
37029
0
  55, MVT::v8i16,
37030
0
   OPC_Scope, 10, 
37031
0
    OPC_CheckPatternPredicate2,
37032
0
    OPC_CheckComplexPat3, /*#*/1,
37033
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37034
0
                  MVT::v8i16, 2, 0, 2, 
37035
0
   10, 
37036
0
    OPC_CheckPatternPredicate4,
37037
0
    OPC_CheckComplexPat3, /*#*/1,
37038
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37039
0
                  MVT::v8i16, 2, 0, 2, 
37040
0
   10, 
37041
0
    OPC_CheckPatternPredicate2,
37042
0
    OPC_CheckComplexPat3, /*#*/0,
37043
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37044
0
                  MVT::v8i16, 2, 1, 2, 
37045
0
   10, 
37046
0
    OPC_CheckPatternPredicate4,
37047
0
    OPC_CheckComplexPat3, /*#*/0,
37048
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37049
0
                  MVT::v8i16, 2, 1, 2, 
37050
0
   8, 
37051
0
    OPC_CheckPatternPredicate1,
37052
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_H),
37053
0
                  MVT::v8i16, 2, 0, 1, 
37054
0
   0, 
37055
0
  55, MVT::v4i32,
37056
0
   OPC_Scope, 10, 
37057
0
    OPC_CheckPatternPredicate2,
37058
0
    OPC_CheckComplexPat3, /*#*/1,
37059
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37060
0
                  MVT::v4i32, 2, 0, 2, 
37061
0
   10, 
37062
0
    OPC_CheckPatternPredicate4,
37063
0
    OPC_CheckComplexPat3, /*#*/1,
37064
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37065
0
                  MVT::v4i32, 2, 0, 2, 
37066
0
   10, 
37067
0
    OPC_CheckPatternPredicate2,
37068
0
    OPC_CheckComplexPat3, /*#*/0,
37069
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37070
0
                  MVT::v4i32, 2, 1, 2, 
37071
0
   10, 
37072
0
    OPC_CheckPatternPredicate4,
37073
0
    OPC_CheckComplexPat3, /*#*/0,
37074
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37075
0
                  MVT::v4i32, 2, 1, 2, 
37076
0
   8, 
37077
0
    OPC_CheckPatternPredicate1,
37078
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_W),
37079
0
                  MVT::v4i32, 2, 0, 1, 
37080
0
   0, 
37081
0
  55, MVT::v2i64,
37082
0
   OPC_Scope, 10, 
37083
0
    OPC_CheckPatternPredicate2,
37084
0
    OPC_CheckComplexPat3, /*#*/1,
37085
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37086
0
                  MVT::v2i64, 2, 0, 2, 
37087
0
   10, 
37088
0
    OPC_CheckPatternPredicate4,
37089
0
    OPC_CheckComplexPat3, /*#*/1,
37090
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37091
0
                  MVT::v2i64, 2, 0, 2, 
37092
0
   10, 
37093
0
    OPC_CheckPatternPredicate2,
37094
0
    OPC_CheckComplexPat3, /*#*/0,
37095
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37096
0
                  MVT::v2i64, 2, 1, 2, 
37097
0
   10, 
37098
0
    OPC_CheckPatternPredicate4,
37099
0
    OPC_CheckComplexPat3, /*#*/0,
37100
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37101
0
                  MVT::v2i64, 2, 1, 2, 
37102
0
   8, 
37103
0
    OPC_CheckPatternPredicate1,
37104
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_D),
37105
0
                  MVT::v2i64, 2, 0, 1, 
37106
0
   0, 
37107
0
  55, MVT::v32i8,
37108
0
   OPC_Scope, 10, 
37109
0
    OPC_CheckPatternPredicate3,
37110
0
    OPC_CheckComplexPat3, /*#*/1,
37111
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37112
0
                  MVT::v32i8, 2, 0, 2, 
37113
0
   10, 
37114
0
    OPC_CheckPatternPredicate5,
37115
0
    OPC_CheckComplexPat3, /*#*/1,
37116
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37117
0
                  MVT::v32i8, 2, 0, 2, 
37118
0
   10, 
37119
0
    OPC_CheckPatternPredicate3,
37120
0
    OPC_CheckComplexPat3, /*#*/0,
37121
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37122
0
                  MVT::v32i8, 2, 1, 2, 
37123
0
   10, 
37124
0
    OPC_CheckPatternPredicate5,
37125
0
    OPC_CheckComplexPat3, /*#*/0,
37126
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37127
0
                  MVT::v32i8, 2, 1, 2, 
37128
0
   8, 
37129
0
    OPC_CheckPatternPredicate0,
37130
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_B),
37131
0
                  MVT::v32i8, 2, 0, 1, 
37132
0
   0, 
37133
0
  55, MVT::v16i16,
37134
0
   OPC_Scope, 10, 
37135
0
    OPC_CheckPatternPredicate3,
37136
0
    OPC_CheckComplexPat3, /*#*/1,
37137
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37138
0
                  MVT::v16i16, 2, 0, 2, 
37139
0
   10, 
37140
0
    OPC_CheckPatternPredicate5,
37141
0
    OPC_CheckComplexPat3, /*#*/1,
37142
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37143
0
                  MVT::v16i16, 2, 0, 2, 
37144
0
   10, 
37145
0
    OPC_CheckPatternPredicate3,
37146
0
    OPC_CheckComplexPat3, /*#*/0,
37147
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37148
0
                  MVT::v16i16, 2, 1, 2, 
37149
0
   10, 
37150
0
    OPC_CheckPatternPredicate5,
37151
0
    OPC_CheckComplexPat3, /*#*/0,
37152
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37153
0
                  MVT::v16i16, 2, 1, 2, 
37154
0
   8, 
37155
0
    OPC_CheckPatternPredicate0,
37156
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_H),
37157
0
                  MVT::v16i16, 2, 0, 1, 
37158
0
   0, 
37159
0
  55, MVT::v8i32,
37160
0
   OPC_Scope, 10, 
37161
0
    OPC_CheckPatternPredicate3,
37162
0
    OPC_CheckComplexPat3, /*#*/1,
37163
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37164
0
                  MVT::v8i32, 2, 0, 2, 
37165
0
   10, 
37166
0
    OPC_CheckPatternPredicate5,
37167
0
    OPC_CheckComplexPat3, /*#*/1,
37168
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37169
0
                  MVT::v8i32, 2, 0, 2, 
37170
0
   10, 
37171
0
    OPC_CheckPatternPredicate3,
37172
0
    OPC_CheckComplexPat3, /*#*/0,
37173
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37174
0
                  MVT::v8i32, 2, 1, 2, 
37175
0
   10, 
37176
0
    OPC_CheckPatternPredicate5,
37177
0
    OPC_CheckComplexPat3, /*#*/0,
37178
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37179
0
                  MVT::v8i32, 2, 1, 2, 
37180
0
   8, 
37181
0
    OPC_CheckPatternPredicate0,
37182
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_W),
37183
0
                  MVT::v8i32, 2, 0, 1, 
37184
0
   0, 
37185
0
  55, MVT::v4i64,
37186
0
   OPC_Scope, 10, 
37187
0
    OPC_CheckPatternPredicate3,
37188
0
    OPC_CheckComplexPat3, /*#*/1,
37189
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37190
0
                  MVT::v4i64, 2, 0, 2, 
37191
0
   10, 
37192
0
    OPC_CheckPatternPredicate5,
37193
0
    OPC_CheckComplexPat3, /*#*/1,
37194
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37195
0
                  MVT::v4i64, 2, 0, 2, 
37196
0
   10, 
37197
0
    OPC_CheckPatternPredicate3,
37198
0
    OPC_CheckComplexPat3, /*#*/0,
37199
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37200
0
                  MVT::v4i64, 2, 1, 2, 
37201
0
   10, 
37202
0
    OPC_CheckPatternPredicate5,
37203
0
    OPC_CheckComplexPat3, /*#*/0,
37204
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37205
0
                  MVT::v4i64, 2, 1, 2, 
37206
0
   8, 
37207
0
    OPC_CheckPatternPredicate0,
37208
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_D),
37209
0
                  MVT::v4i64, 2, 0, 1, 
37210
0
   0, 
37211
0
  0,
37212
0
 76|128,3, TARGET_VAL(ISD::SMIN),
37213
0
  OPC_RecordChild0,
37214
0
  OPC_RecordChild1,
37215
0
  OPC_SwitchType , 55, MVT::v16i8,
37216
0
   OPC_Scope, 10, 
37217
0
    OPC_CheckPatternPredicate2,
37218
0
    OPC_CheckComplexPat3, /*#*/1,
37219
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37220
0
                  MVT::v16i8, 2, 0, 2, 
37221
0
   10, 
37222
0
    OPC_CheckPatternPredicate4,
37223
0
    OPC_CheckComplexPat3, /*#*/1,
37224
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37225
0
                  MVT::v16i8, 2, 0, 2, 
37226
0
   10, 
37227
0
    OPC_CheckPatternPredicate2,
37228
0
    OPC_CheckComplexPat3, /*#*/0,
37229
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37230
0
                  MVT::v16i8, 2, 1, 2, 
37231
0
   10, 
37232
0
    OPC_CheckPatternPredicate4,
37233
0
    OPC_CheckComplexPat3, /*#*/0,
37234
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37235
0
                  MVT::v16i8, 2, 1, 2, 
37236
0
   8, 
37237
0
    OPC_CheckPatternPredicate1,
37238
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_B),
37239
0
                  MVT::v16i8, 2, 0, 1, 
37240
0
   0, 
37241
0
  55, MVT::v8i16,
37242
0
   OPC_Scope, 10, 
37243
0
    OPC_CheckPatternPredicate2,
37244
0
    OPC_CheckComplexPat3, /*#*/1,
37245
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37246
0
                  MVT::v8i16, 2, 0, 2, 
37247
0
   10, 
37248
0
    OPC_CheckPatternPredicate4,
37249
0
    OPC_CheckComplexPat3, /*#*/1,
37250
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37251
0
                  MVT::v8i16, 2, 0, 2, 
37252
0
   10, 
37253
0
    OPC_CheckPatternPredicate2,
37254
0
    OPC_CheckComplexPat3, /*#*/0,
37255
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37256
0
                  MVT::v8i16, 2, 1, 2, 
37257
0
   10, 
37258
0
    OPC_CheckPatternPredicate4,
37259
0
    OPC_CheckComplexPat3, /*#*/0,
37260
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37261
0
                  MVT::v8i16, 2, 1, 2, 
37262
0
   8, 
37263
0
    OPC_CheckPatternPredicate1,
37264
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_H),
37265
0
                  MVT::v8i16, 2, 0, 1, 
37266
0
   0, 
37267
0
  55, MVT::v4i32,
37268
0
   OPC_Scope, 10, 
37269
0
    OPC_CheckPatternPredicate2,
37270
0
    OPC_CheckComplexPat3, /*#*/1,
37271
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37272
0
                  MVT::v4i32, 2, 0, 2, 
37273
0
   10, 
37274
0
    OPC_CheckPatternPredicate4,
37275
0
    OPC_CheckComplexPat3, /*#*/1,
37276
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37277
0
                  MVT::v4i32, 2, 0, 2, 
37278
0
   10, 
37279
0
    OPC_CheckPatternPredicate2,
37280
0
    OPC_CheckComplexPat3, /*#*/0,
37281
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37282
0
                  MVT::v4i32, 2, 1, 2, 
37283
0
   10, 
37284
0
    OPC_CheckPatternPredicate4,
37285
0
    OPC_CheckComplexPat3, /*#*/0,
37286
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37287
0
                  MVT::v4i32, 2, 1, 2, 
37288
0
   8, 
37289
0
    OPC_CheckPatternPredicate1,
37290
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_W),
37291
0
                  MVT::v4i32, 2, 0, 1, 
37292
0
   0, 
37293
0
  55, MVT::v2i64,
37294
0
   OPC_Scope, 10, 
37295
0
    OPC_CheckPatternPredicate2,
37296
0
    OPC_CheckComplexPat3, /*#*/1,
37297
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37298
0
                  MVT::v2i64, 2, 0, 2, 
37299
0
   10, 
37300
0
    OPC_CheckPatternPredicate4,
37301
0
    OPC_CheckComplexPat3, /*#*/1,
37302
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37303
0
                  MVT::v2i64, 2, 0, 2, 
37304
0
   10, 
37305
0
    OPC_CheckPatternPredicate2,
37306
0
    OPC_CheckComplexPat3, /*#*/0,
37307
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37308
0
                  MVT::v2i64, 2, 1, 2, 
37309
0
   10, 
37310
0
    OPC_CheckPatternPredicate4,
37311
0
    OPC_CheckComplexPat3, /*#*/0,
37312
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37313
0
                  MVT::v2i64, 2, 1, 2, 
37314
0
   8, 
37315
0
    OPC_CheckPatternPredicate1,
37316
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_D),
37317
0
                  MVT::v2i64, 2, 0, 1, 
37318
0
   0, 
37319
0
  55, MVT::v32i8,
37320
0
   OPC_Scope, 10, 
37321
0
    OPC_CheckPatternPredicate3,
37322
0
    OPC_CheckComplexPat3, /*#*/1,
37323
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37324
0
                  MVT::v32i8, 2, 0, 2, 
37325
0
   10, 
37326
0
    OPC_CheckPatternPredicate5,
37327
0
    OPC_CheckComplexPat3, /*#*/1,
37328
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37329
0
                  MVT::v32i8, 2, 0, 2, 
37330
0
   10, 
37331
0
    OPC_CheckPatternPredicate3,
37332
0
    OPC_CheckComplexPat3, /*#*/0,
37333
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37334
0
                  MVT::v32i8, 2, 1, 2, 
37335
0
   10, 
37336
0
    OPC_CheckPatternPredicate5,
37337
0
    OPC_CheckComplexPat3, /*#*/0,
37338
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37339
0
                  MVT::v32i8, 2, 1, 2, 
37340
0
   8, 
37341
0
    OPC_CheckPatternPredicate0,
37342
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_B),
37343
0
                  MVT::v32i8, 2, 0, 1, 
37344
0
   0, 
37345
0
  55, MVT::v16i16,
37346
0
   OPC_Scope, 10, 
37347
0
    OPC_CheckPatternPredicate3,
37348
0
    OPC_CheckComplexPat3, /*#*/1,
37349
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37350
0
                  MVT::v16i16, 2, 0, 2, 
37351
0
   10, 
37352
0
    OPC_CheckPatternPredicate5,
37353
0
    OPC_CheckComplexPat3, /*#*/1,
37354
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37355
0
                  MVT::v16i16, 2, 0, 2, 
37356
0
   10, 
37357
0
    OPC_CheckPatternPredicate3,
37358
0
    OPC_CheckComplexPat3, /*#*/0,
37359
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37360
0
                  MVT::v16i16, 2, 1, 2, 
37361
0
   10, 
37362
0
    OPC_CheckPatternPredicate5,
37363
0
    OPC_CheckComplexPat3, /*#*/0,
37364
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37365
0
                  MVT::v16i16, 2, 1, 2, 
37366
0
   8, 
37367
0
    OPC_CheckPatternPredicate0,
37368
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_H),
37369
0
                  MVT::v16i16, 2, 0, 1, 
37370
0
   0, 
37371
0
  55, MVT::v8i32,
37372
0
   OPC_Scope, 10, 
37373
0
    OPC_CheckPatternPredicate3,
37374
0
    OPC_CheckComplexPat3, /*#*/1,
37375
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37376
0
                  MVT::v8i32, 2, 0, 2, 
37377
0
   10, 
37378
0
    OPC_CheckPatternPredicate5,
37379
0
    OPC_CheckComplexPat3, /*#*/1,
37380
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37381
0
                  MVT::v8i32, 2, 0, 2, 
37382
0
   10, 
37383
0
    OPC_CheckPatternPredicate3,
37384
0
    OPC_CheckComplexPat3, /*#*/0,
37385
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37386
0
                  MVT::v8i32, 2, 1, 2, 
37387
0
   10, 
37388
0
    OPC_CheckPatternPredicate5,
37389
0
    OPC_CheckComplexPat3, /*#*/0,
37390
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37391
0
                  MVT::v8i32, 2, 1, 2, 
37392
0
   8, 
37393
0
    OPC_CheckPatternPredicate0,
37394
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_W),
37395
0
                  MVT::v8i32, 2, 0, 1, 
37396
0
   0, 
37397
0
  55, MVT::v4i64,
37398
0
   OPC_Scope, 10, 
37399
0
    OPC_CheckPatternPredicate3,
37400
0
    OPC_CheckComplexPat3, /*#*/1,
37401
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37402
0
                  MVT::v4i64, 2, 0, 2, 
37403
0
   10, 
37404
0
    OPC_CheckPatternPredicate5,
37405
0
    OPC_CheckComplexPat3, /*#*/1,
37406
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37407
0
                  MVT::v4i64, 2, 0, 2, 
37408
0
   10, 
37409
0
    OPC_CheckPatternPredicate3,
37410
0
    OPC_CheckComplexPat3, /*#*/0,
37411
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37412
0
                  MVT::v4i64, 2, 1, 2, 
37413
0
   10, 
37414
0
    OPC_CheckPatternPredicate5,
37415
0
    OPC_CheckComplexPat3, /*#*/0,
37416
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37417
0
                  MVT::v4i64, 2, 1, 2, 
37418
0
   8, 
37419
0
    OPC_CheckPatternPredicate0,
37420
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_D),
37421
0
                  MVT::v4i64, 2, 0, 1, 
37422
0
   0, 
37423
0
  0,
37424
0
 76|128,3, TARGET_VAL(ISD::UMAX),
37425
0
  OPC_RecordChild0,
37426
0
  OPC_RecordChild1,
37427
0
  OPC_SwitchType , 55, MVT::v16i8,
37428
0
   OPC_Scope, 10, 
37429
0
    OPC_CheckPatternPredicate2,
37430
0
    OPC_CheckComplexPat1, /*#*/1,
37431
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37432
0
                  MVT::v16i8, 2, 0, 2, 
37433
0
   10, 
37434
0
    OPC_CheckPatternPredicate4,
37435
0
    OPC_CheckComplexPat1, /*#*/1,
37436
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37437
0
                  MVT::v16i8, 2, 0, 2, 
37438
0
   10, 
37439
0
    OPC_CheckPatternPredicate2,
37440
0
    OPC_CheckComplexPat1, /*#*/0,
37441
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37442
0
                  MVT::v16i8, 2, 1, 2, 
37443
0
   10, 
37444
0
    OPC_CheckPatternPredicate4,
37445
0
    OPC_CheckComplexPat1, /*#*/0,
37446
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37447
0
                  MVT::v16i8, 2, 1, 2, 
37448
0
   8, 
37449
0
    OPC_CheckPatternPredicate1,
37450
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_BU),
37451
0
                  MVT::v16i8, 2, 0, 1, 
37452
0
   0, 
37453
0
  55, MVT::v8i16,
37454
0
   OPC_Scope, 10, 
37455
0
    OPC_CheckPatternPredicate2,
37456
0
    OPC_CheckComplexPat1, /*#*/1,
37457
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37458
0
                  MVT::v8i16, 2, 0, 2, 
37459
0
   10, 
37460
0
    OPC_CheckPatternPredicate4,
37461
0
    OPC_CheckComplexPat1, /*#*/1,
37462
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37463
0
                  MVT::v8i16, 2, 0, 2, 
37464
0
   10, 
37465
0
    OPC_CheckPatternPredicate2,
37466
0
    OPC_CheckComplexPat1, /*#*/0,
37467
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37468
0
                  MVT::v8i16, 2, 1, 2, 
37469
0
   10, 
37470
0
    OPC_CheckPatternPredicate4,
37471
0
    OPC_CheckComplexPat1, /*#*/0,
37472
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37473
0
                  MVT::v8i16, 2, 1, 2, 
37474
0
   8, 
37475
0
    OPC_CheckPatternPredicate1,
37476
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_HU),
37477
0
                  MVT::v8i16, 2, 0, 1, 
37478
0
   0, 
37479
0
  55, MVT::v4i32,
37480
0
   OPC_Scope, 10, 
37481
0
    OPC_CheckPatternPredicate2,
37482
0
    OPC_CheckComplexPat1, /*#*/1,
37483
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37484
0
                  MVT::v4i32, 2, 0, 2, 
37485
0
   10, 
37486
0
    OPC_CheckPatternPredicate4,
37487
0
    OPC_CheckComplexPat1, /*#*/1,
37488
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37489
0
                  MVT::v4i32, 2, 0, 2, 
37490
0
   10, 
37491
0
    OPC_CheckPatternPredicate2,
37492
0
    OPC_CheckComplexPat1, /*#*/0,
37493
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37494
0
                  MVT::v4i32, 2, 1, 2, 
37495
0
   10, 
37496
0
    OPC_CheckPatternPredicate4,
37497
0
    OPC_CheckComplexPat1, /*#*/0,
37498
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37499
0
                  MVT::v4i32, 2, 1, 2, 
37500
0
   8, 
37501
0
    OPC_CheckPatternPredicate1,
37502
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_WU),
37503
0
                  MVT::v4i32, 2, 0, 1, 
37504
0
   0, 
37505
0
  55, MVT::v2i64,
37506
0
   OPC_Scope, 10, 
37507
0
    OPC_CheckPatternPredicate2,
37508
0
    OPC_CheckComplexPat1, /*#*/1,
37509
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37510
0
                  MVT::v2i64, 2, 0, 2, 
37511
0
   10, 
37512
0
    OPC_CheckPatternPredicate4,
37513
0
    OPC_CheckComplexPat1, /*#*/1,
37514
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37515
0
                  MVT::v2i64, 2, 0, 2, 
37516
0
   10, 
37517
0
    OPC_CheckPatternPredicate2,
37518
0
    OPC_CheckComplexPat1, /*#*/0,
37519
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37520
0
                  MVT::v2i64, 2, 1, 2, 
37521
0
   10, 
37522
0
    OPC_CheckPatternPredicate4,
37523
0
    OPC_CheckComplexPat1, /*#*/0,
37524
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37525
0
                  MVT::v2i64, 2, 1, 2, 
37526
0
   8, 
37527
0
    OPC_CheckPatternPredicate1,
37528
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_DU),
37529
0
                  MVT::v2i64, 2, 0, 1, 
37530
0
   0, 
37531
0
  55, MVT::v32i8,
37532
0
   OPC_Scope, 10, 
37533
0
    OPC_CheckPatternPredicate3,
37534
0
    OPC_CheckComplexPat1, /*#*/1,
37535
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37536
0
                  MVT::v32i8, 2, 0, 2, 
37537
0
   10, 
37538
0
    OPC_CheckPatternPredicate5,
37539
0
    OPC_CheckComplexPat1, /*#*/1,
37540
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37541
0
                  MVT::v32i8, 2, 0, 2, 
37542
0
   10, 
37543
0
    OPC_CheckPatternPredicate3,
37544
0
    OPC_CheckComplexPat1, /*#*/0,
37545
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37546
0
                  MVT::v32i8, 2, 1, 2, 
37547
0
   10, 
37548
0
    OPC_CheckPatternPredicate5,
37549
0
    OPC_CheckComplexPat1, /*#*/0,
37550
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37551
0
                  MVT::v32i8, 2, 1, 2, 
37552
0
   8, 
37553
0
    OPC_CheckPatternPredicate0,
37554
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_BU),
37555
0
                  MVT::v32i8, 2, 0, 1, 
37556
0
   0, 
37557
0
  55, MVT::v16i16,
37558
0
   OPC_Scope, 10, 
37559
0
    OPC_CheckPatternPredicate3,
37560
0
    OPC_CheckComplexPat1, /*#*/1,
37561
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37562
0
                  MVT::v16i16, 2, 0, 2, 
37563
0
   10, 
37564
0
    OPC_CheckPatternPredicate5,
37565
0
    OPC_CheckComplexPat1, /*#*/1,
37566
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37567
0
                  MVT::v16i16, 2, 0, 2, 
37568
0
   10, 
37569
0
    OPC_CheckPatternPredicate3,
37570
0
    OPC_CheckComplexPat1, /*#*/0,
37571
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37572
0
                  MVT::v16i16, 2, 1, 2, 
37573
0
   10, 
37574
0
    OPC_CheckPatternPredicate5,
37575
0
    OPC_CheckComplexPat1, /*#*/0,
37576
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37577
0
                  MVT::v16i16, 2, 1, 2, 
37578
0
   8, 
37579
0
    OPC_CheckPatternPredicate0,
37580
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_HU),
37581
0
                  MVT::v16i16, 2, 0, 1, 
37582
0
   0, 
37583
0
  55, MVT::v8i32,
37584
0
   OPC_Scope, 10, 
37585
0
    OPC_CheckPatternPredicate3,
37586
0
    OPC_CheckComplexPat1, /*#*/1,
37587
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37588
0
                  MVT::v8i32, 2, 0, 2, 
37589
0
   10, 
37590
0
    OPC_CheckPatternPredicate5,
37591
0
    OPC_CheckComplexPat1, /*#*/1,
37592
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37593
0
                  MVT::v8i32, 2, 0, 2, 
37594
0
   10, 
37595
0
    OPC_CheckPatternPredicate3,
37596
0
    OPC_CheckComplexPat1, /*#*/0,
37597
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37598
0
                  MVT::v8i32, 2, 1, 2, 
37599
0
   10, 
37600
0
    OPC_CheckPatternPredicate5,
37601
0
    OPC_CheckComplexPat1, /*#*/0,
37602
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37603
0
                  MVT::v8i32, 2, 1, 2, 
37604
0
   8, 
37605
0
    OPC_CheckPatternPredicate0,
37606
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_WU),
37607
0
                  MVT::v8i32, 2, 0, 1, 
37608
0
   0, 
37609
0
  55, MVT::v4i64,
37610
0
   OPC_Scope, 10, 
37611
0
    OPC_CheckPatternPredicate3,
37612
0
    OPC_CheckComplexPat1, /*#*/1,
37613
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37614
0
                  MVT::v4i64, 2, 0, 2, 
37615
0
   10, 
37616
0
    OPC_CheckPatternPredicate5,
37617
0
    OPC_CheckComplexPat1, /*#*/1,
37618
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37619
0
                  MVT::v4i64, 2, 0, 2, 
37620
0
   10, 
37621
0
    OPC_CheckPatternPredicate3,
37622
0
    OPC_CheckComplexPat1, /*#*/0,
37623
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37624
0
                  MVT::v4i64, 2, 1, 2, 
37625
0
   10, 
37626
0
    OPC_CheckPatternPredicate5,
37627
0
    OPC_CheckComplexPat1, /*#*/0,
37628
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37629
0
                  MVT::v4i64, 2, 1, 2, 
37630
0
   8, 
37631
0
    OPC_CheckPatternPredicate0,
37632
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_DU),
37633
0
                  MVT::v4i64, 2, 0, 1, 
37634
0
   0, 
37635
0
  0,
37636
0
 76|128,3, TARGET_VAL(ISD::UMIN),
37637
0
  OPC_RecordChild0,
37638
0
  OPC_RecordChild1,
37639
0
  OPC_SwitchType , 55, MVT::v16i8,
37640
0
   OPC_Scope, 10, 
37641
0
    OPC_CheckPatternPredicate2,
37642
0
    OPC_CheckComplexPat1, /*#*/1,
37643
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37644
0
                  MVT::v16i8, 2, 0, 2, 
37645
0
   10, 
37646
0
    OPC_CheckPatternPredicate4,
37647
0
    OPC_CheckComplexPat1, /*#*/1,
37648
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37649
0
                  MVT::v16i8, 2, 0, 2, 
37650
0
   10, 
37651
0
    OPC_CheckPatternPredicate2,
37652
0
    OPC_CheckComplexPat1, /*#*/0,
37653
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37654
0
                  MVT::v16i8, 2, 1, 2, 
37655
0
   10, 
37656
0
    OPC_CheckPatternPredicate4,
37657
0
    OPC_CheckComplexPat1, /*#*/0,
37658
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37659
0
                  MVT::v16i8, 2, 1, 2, 
37660
0
   8, 
37661
0
    OPC_CheckPatternPredicate1,
37662
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_BU),
37663
0
                  MVT::v16i8, 2, 0, 1, 
37664
0
   0, 
37665
0
  55, MVT::v8i16,
37666
0
   OPC_Scope, 10, 
37667
0
    OPC_CheckPatternPredicate2,
37668
0
    OPC_CheckComplexPat1, /*#*/1,
37669
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37670
0
                  MVT::v8i16, 2, 0, 2, 
37671
0
   10, 
37672
0
    OPC_CheckPatternPredicate4,
37673
0
    OPC_CheckComplexPat1, /*#*/1,
37674
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37675
0
                  MVT::v8i16, 2, 0, 2, 
37676
0
   10, 
37677
0
    OPC_CheckPatternPredicate2,
37678
0
    OPC_CheckComplexPat1, /*#*/0,
37679
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37680
0
                  MVT::v8i16, 2, 1, 2, 
37681
0
   10, 
37682
0
    OPC_CheckPatternPredicate4,
37683
0
    OPC_CheckComplexPat1, /*#*/0,
37684
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37685
0
                  MVT::v8i16, 2, 1, 2, 
37686
0
   8, 
37687
0
    OPC_CheckPatternPredicate1,
37688
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_HU),
37689
0
                  MVT::v8i16, 2, 0, 1, 
37690
0
   0, 
37691
0
  55, MVT::v4i32,
37692
0
   OPC_Scope, 10, 
37693
0
    OPC_CheckPatternPredicate2,
37694
0
    OPC_CheckComplexPat1, /*#*/1,
37695
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37696
0
                  MVT::v4i32, 2, 0, 2, 
37697
0
   10, 
37698
0
    OPC_CheckPatternPredicate4,
37699
0
    OPC_CheckComplexPat1, /*#*/1,
37700
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37701
0
                  MVT::v4i32, 2, 0, 2, 
37702
0
   10, 
37703
0
    OPC_CheckPatternPredicate2,
37704
0
    OPC_CheckComplexPat1, /*#*/0,
37705
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37706
0
                  MVT::v4i32, 2, 1, 2, 
37707
0
   10, 
37708
0
    OPC_CheckPatternPredicate4,
37709
0
    OPC_CheckComplexPat1, /*#*/0,
37710
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37711
0
                  MVT::v4i32, 2, 1, 2, 
37712
0
   8, 
37713
0
    OPC_CheckPatternPredicate1,
37714
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_WU),
37715
0
                  MVT::v4i32, 2, 0, 1, 
37716
0
   0, 
37717
0
  55, MVT::v2i64,
37718
0
   OPC_Scope, 10, 
37719
0
    OPC_CheckPatternPredicate2,
37720
0
    OPC_CheckComplexPat1, /*#*/1,
37721
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37722
0
                  MVT::v2i64, 2, 0, 2, 
37723
0
   10, 
37724
0
    OPC_CheckPatternPredicate4,
37725
0
    OPC_CheckComplexPat1, /*#*/1,
37726
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37727
0
                  MVT::v2i64, 2, 0, 2, 
37728
0
   10, 
37729
0
    OPC_CheckPatternPredicate2,
37730
0
    OPC_CheckComplexPat1, /*#*/0,
37731
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37732
0
                  MVT::v2i64, 2, 1, 2, 
37733
0
   10, 
37734
0
    OPC_CheckPatternPredicate4,
37735
0
    OPC_CheckComplexPat1, /*#*/0,
37736
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37737
0
                  MVT::v2i64, 2, 1, 2, 
37738
0
   8, 
37739
0
    OPC_CheckPatternPredicate1,
37740
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_DU),
37741
0
                  MVT::v2i64, 2, 0, 1, 
37742
0
   0, 
37743
0
  55, MVT::v32i8,
37744
0
   OPC_Scope, 10, 
37745
0
    OPC_CheckPatternPredicate3,
37746
0
    OPC_CheckComplexPat1, /*#*/1,
37747
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37748
0
                  MVT::v32i8, 2, 0, 2, 
37749
0
   10, 
37750
0
    OPC_CheckPatternPredicate5,
37751
0
    OPC_CheckComplexPat1, /*#*/1,
37752
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37753
0
                  MVT::v32i8, 2, 0, 2, 
37754
0
   10, 
37755
0
    OPC_CheckPatternPredicate3,
37756
0
    OPC_CheckComplexPat1, /*#*/0,
37757
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37758
0
                  MVT::v32i8, 2, 1, 2, 
37759
0
   10, 
37760
0
    OPC_CheckPatternPredicate5,
37761
0
    OPC_CheckComplexPat1, /*#*/0,
37762
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37763
0
                  MVT::v32i8, 2, 1, 2, 
37764
0
   8, 
37765
0
    OPC_CheckPatternPredicate0,
37766
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_BU),
37767
0
                  MVT::v32i8, 2, 0, 1, 
37768
0
   0, 
37769
0
  55, MVT::v16i16,
37770
0
   OPC_Scope, 10, 
37771
0
    OPC_CheckPatternPredicate3,
37772
0
    OPC_CheckComplexPat1, /*#*/1,
37773
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37774
0
                  MVT::v16i16, 2, 0, 2, 
37775
0
   10, 
37776
0
    OPC_CheckPatternPredicate5,
37777
0
    OPC_CheckComplexPat1, /*#*/1,
37778
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37779
0
                  MVT::v16i16, 2, 0, 2, 
37780
0
   10, 
37781
0
    OPC_CheckPatternPredicate3,
37782
0
    OPC_CheckComplexPat1, /*#*/0,
37783
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37784
0
                  MVT::v16i16, 2, 1, 2, 
37785
0
   10, 
37786
0
    OPC_CheckPatternPredicate5,
37787
0
    OPC_CheckComplexPat1, /*#*/0,
37788
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37789
0
                  MVT::v16i16, 2, 1, 2, 
37790
0
   8, 
37791
0
    OPC_CheckPatternPredicate0,
37792
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_HU),
37793
0
                  MVT::v16i16, 2, 0, 1, 
37794
0
   0, 
37795
0
  55, MVT::v8i32,
37796
0
   OPC_Scope, 10, 
37797
0
    OPC_CheckPatternPredicate3,
37798
0
    OPC_CheckComplexPat1, /*#*/1,
37799
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
37800
0
                  MVT::v8i32, 2, 0, 2, 
37801
0
   10, 
37802
0
    OPC_CheckPatternPredicate5,
37803
0
    OPC_CheckComplexPat1, /*#*/1,
37804
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
37805
0
                  MVT::v8i32, 2, 0, 2, 
37806
0
   10, 
37807
0
    OPC_CheckPatternPredicate3,
37808
0
    OPC_CheckComplexPat1, /*#*/0,
37809
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
37810
0
                  MVT::v8i32, 2, 1, 2, 
37811
0
   10, 
37812
0
    OPC_CheckPatternPredicate5,
37813
0
    OPC_CheckComplexPat1, /*#*/0,
37814
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
37815
0
                  MVT::v8i32, 2, 1, 2, 
37816
0
   8, 
37817
0
    OPC_CheckPatternPredicate0,
37818
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_WU),
37819
0
                  MVT::v8i32, 2, 0, 1, 
37820
0
   0, 
37821
0
  55, MVT::v4i64,
37822
0
   OPC_Scope, 10, 
37823
0
    OPC_CheckPatternPredicate3,
37824
0
    OPC_CheckComplexPat1, /*#*/1,
37825
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
37826
0
                  MVT::v4i64, 2, 0, 2, 
37827
0
   10, 
37828
0
    OPC_CheckPatternPredicate5,
37829
0
    OPC_CheckComplexPat1, /*#*/1,
37830
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
37831
0
                  MVT::v4i64, 2, 0, 2, 
37832
0
   10, 
37833
0
    OPC_CheckPatternPredicate3,
37834
0
    OPC_CheckComplexPat1, /*#*/0,
37835
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
37836
0
                  MVT::v4i64, 2, 1, 2, 
37837
0
   10, 
37838
0
    OPC_CheckPatternPredicate5,
37839
0
    OPC_CheckComplexPat1, /*#*/0,
37840
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
37841
0
                  MVT::v4i64, 2, 1, 2, 
37842
0
   8, 
37843
0
    OPC_CheckPatternPredicate0,
37844
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_DU),
37845
0
                  MVT::v4i64, 2, 0, 1, 
37846
0
   0, 
37847
0
  0,
37848
0
 124|128,1, TARGET_VAL(ISD::VSELECT),
37849
0
  OPC_RecordChild0,
37850
0
  OPC_Scope, 32, 
37851
0
   OPC_CheckChild0Type, MVT::v16i8,
37852
0
   OPC_RecordChild1,
37853
0
   OPC_RecordChild2,
37854
0
   OPC_CheckType, MVT::v16i8,
37855
0
   OPC_Scope, 11, 
37856
0
    OPC_CheckPatternPredicate2,
37857
0
    OPC_CheckComplexPat7, /*#*/1,
37858
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
37859
0
                  MVT::v16i8, 3, 0, 2, 3, 
37860
0
   11, 
37861
0
    OPC_CheckPatternPredicate4,
37862
0
    OPC_CheckComplexPat7, /*#*/1,
37863
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
37864
0
                  MVT::v16i8, 3, 0, 2, 3, 
37865
0
   0, 
37866
0
  30, 
37867
0
   OPC_RecordChild1,
37868
0
   OPC_RecordChild2,
37869
0
   OPC_CheckType, MVT::v32i8,
37870
0
   OPC_Scope, 11, 
37871
0
    OPC_CheckPatternPredicate3,
37872
0
    OPC_CheckComplexPat7, /*#*/1,
37873
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
37874
0
                  MVT::v32i8, 3, 0, 2, 3, 
37875
0
   11, 
37876
0
    OPC_CheckPatternPredicate5,
37877
0
    OPC_CheckComplexPat7, /*#*/1,
37878
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
37879
0
                  MVT::v32i8, 3, 0, 2, 3, 
37880
0
   0, 
37881
0
  15, 
37882
0
   OPC_CheckChild0Type, MVT::v16i8,
37883
0
   OPC_RecordChild1,
37884
0
   OPC_RecordChild2,
37885
0
   OPC_CheckType, MVT::v16i8,
37886
0
   OPC_CheckPatternPredicate1,
37887
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
37888
0
                 MVT::v16i8, 3, 2, 1, 0, 
37889
0
  15, 
37890
0
   OPC_CheckChild0Type, MVT::v8i16,
37891
0
   OPC_RecordChild1,
37892
0
   OPC_RecordChild2,
37893
0
   OPC_CheckType, MVT::v8i16,
37894
0
   OPC_CheckPatternPredicate1,
37895
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
37896
0
                 MVT::v8i16, 3, 2, 1, 0, 
37897
0
  15, 
37898
0
   OPC_CheckChild0Type, MVT::v4i32,
37899
0
   OPC_RecordChild1,
37900
0
   OPC_RecordChild2,
37901
0
   OPC_CheckType, MVT::v4i32,
37902
0
   OPC_CheckPatternPredicate1,
37903
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
37904
0
                 MVT::v4i32, 3, 2, 1, 0, 
37905
0
  26, 
37906
0
   OPC_RecordChild1,
37907
0
   OPC_RecordChild2,
37908
0
   OPC_SwitchType , 9, MVT::v2i64,
37909
0
    OPC_CheckPatternPredicate1,
37910
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
37911
0
                  MVT::v2i64, 3, 2, 1, 0, 
37912
0
   9, MVT::v32i8,
37913
0
    OPC_CheckPatternPredicate0,
37914
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
37915
0
                  MVT::v32i8, 3, 2, 1, 0, 
37916
0
   0,
37917
0
  15, 
37918
0
   OPC_CheckChild0Type, MVT::v16i16,
37919
0
   OPC_RecordChild1,
37920
0
   OPC_RecordChild2,
37921
0
   OPC_CheckType, MVT::v16i16,
37922
0
   OPC_CheckPatternPredicate0,
37923
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
37924
0
                 MVT::v16i16, 3, 2, 1, 0, 
37925
0
  15, 
37926
0
   OPC_CheckChild0Type, MVT::v8i32,
37927
0
   OPC_RecordChild1,
37928
0
   OPC_RecordChild2,
37929
0
   OPC_CheckType, MVT::v8i32,
37930
0
   OPC_CheckPatternPredicate0,
37931
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
37932
0
                 MVT::v8i32, 3, 2, 1, 0, 
37933
0
  15, 
37934
0
   OPC_CheckChild0Type, MVT::v4i64,
37935
0
   OPC_RecordChild1,
37936
0
   OPC_RecordChild2,
37937
0
   OPC_CheckType, MVT::v4i64,
37938
0
   OPC_CheckPatternPredicate0,
37939
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
37940
0
                 MVT::v4i64, 3, 2, 1, 0, 
37941
0
  15, 
37942
0
   OPC_CheckChild0Type, MVT::v4i32,
37943
0
   OPC_RecordChild1,
37944
0
   OPC_RecordChild2,
37945
0
   OPC_CheckType, MVT::v4f32,
37946
0
   OPC_CheckPatternPredicate1,
37947
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
37948
0
                 MVT::v4f32, 3, 2, 1, 0, 
37949
0
  13, 
37950
0
   OPC_RecordChild1,
37951
0
   OPC_RecordChild2,
37952
0
   OPC_CheckType, MVT::v2f64,
37953
0
   OPC_CheckPatternPredicate1,
37954
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
37955
0
                 MVT::v2f64, 3, 2, 1, 0, 
37956
0
  15, 
37957
0
   OPC_CheckChild0Type, MVT::v8i32,
37958
0
   OPC_RecordChild1,
37959
0
   OPC_RecordChild2,
37960
0
   OPC_CheckType, MVT::v8f32,
37961
0
   OPC_CheckPatternPredicate0,
37962
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
37963
0
                 MVT::v8f32, 3, 2, 1, 0, 
37964
0
  15, 
37965
0
   OPC_CheckChild0Type, MVT::v4i64,
37966
0
   OPC_RecordChild1,
37967
0
   OPC_RecordChild2,
37968
0
   OPC_CheckType, MVT::v4f64,
37969
0
   OPC_CheckPatternPredicate0,
37970
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
37971
0
                 MVT::v4f64, 3, 2, 1, 0, 
37972
0
  0, 
37973
0
 2|128,4, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
37974
0
  OPC_RecordChild0,
37975
0
  OPC_RecordChild1,
37976
0
  OPC_Scope, 9|128,1, 
37977
0
   OPC_CheckChild1TypeI64,
37978
0
   OPC_RecordChild2,
37979
0
   OPC_MoveChild2,
37980
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37981
0
   OPC_CheckTypeI64,
37982
0
   OPC_Scope, 15, 
37983
0
    OPC_CheckPredicate, 32,
37984
0
    OPC_MoveParent,
37985
0
    OPC_CheckType, MVT::v16i8,
37986
0
    OPC_CheckPatternPredicate2,
37987
0
    OPC_EmitConvertToTarget2,
37988
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
37989
0
                  MVT::v16i8, 3, 0, 1, 3, 
37990
0
   15, 
37991
0
    OPC_CheckPredicate, 26,
37992
0
    OPC_MoveParent,
37993
0
    OPC_CheckType, MVT::v8i16,
37994
0
    OPC_CheckPatternPredicate2,
37995
0
    OPC_EmitConvertToTarget2,
37996
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
37997
0
                  MVT::v8i16, 3, 0, 1, 3, 
37998
0
   15, 
37999
0
    OPC_CheckPredicate, 25,
38000
0
    OPC_MoveParent,
38001
0
    OPC_CheckType, MVT::v4i32,
38002
0
    OPC_CheckPatternPredicate2,
38003
0
    OPC_EmitConvertToTarget2,
38004
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38005
0
                  MVT::v4i32, 3, 0, 1, 3, 
38006
0
   15, 
38007
0
    OPC_CheckPredicate, 36,
38008
0
    OPC_MoveParent,
38009
0
    OPC_CheckType, MVT::v2i64,
38010
0
    OPC_CheckPatternPredicate2,
38011
0
    OPC_EmitConvertToTarget2,
38012
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38013
0
                  MVT::v2i64, 3, 0, 1, 3, 
38014
0
   15, 
38015
0
    OPC_CheckPredicate, 26,
38016
0
    OPC_MoveParent,
38017
0
    OPC_CheckType, MVT::v8i32,
38018
0
    OPC_CheckPatternPredicate3,
38019
0
    OPC_EmitConvertToTarget2,
38020
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38021
0
                  MVT::v8i32, 3, 0, 1, 3, 
38022
0
   15, 
38023
0
    OPC_CheckPredicate, 25,
38024
0
    OPC_MoveParent,
38025
0
    OPC_CheckType, MVT::v4i64,
38026
0
    OPC_CheckPatternPredicate3,
38027
0
    OPC_EmitConvertToTarget2,
38028
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38029
0
                  MVT::v4i64, 3, 0, 1, 3, 
38030
0
   15, 
38031
0
    OPC_CheckPredicate, 24,
38032
0
    OPC_MoveParent,
38033
0
    OPC_CheckType, MVT::v32i8,
38034
0
    OPC_CheckPatternPredicate3,
38035
0
    OPC_EmitConvertToTarget2,
38036
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
38037
0
                  MVT::v32i8, 3, 0, 1, 3, 
38038
0
   15, 
38039
0
    OPC_CheckPredicate, 32,
38040
0
    OPC_MoveParent,
38041
0
    OPC_CheckType, MVT::v16i16,
38042
0
    OPC_CheckPatternPredicate3,
38043
0
    OPC_EmitConvertToTarget2,
38044
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
38045
0
                  MVT::v16i16, 3, 0, 1, 3, 
38046
0
   0, 
38047
0
  9|128,1, 
38048
0
   OPC_CheckChild1TypeI32,
38049
0
   OPC_RecordChild2,
38050
0
   OPC_MoveChild2,
38051
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38052
0
   OPC_CheckTypeI32,
38053
0
   OPC_Scope, 15, 
38054
0
    OPC_CheckPredicate, 32,
38055
0
    OPC_MoveParent,
38056
0
    OPC_CheckType, MVT::v16i8,
38057
0
    OPC_CheckPatternPredicate4,
38058
0
    OPC_EmitConvertToTarget2,
38059
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
38060
0
                  MVT::v16i8, 3, 0, 1, 3, 
38061
0
   15, 
38062
0
    OPC_CheckPredicate, 26,
38063
0
    OPC_MoveParent,
38064
0
    OPC_CheckType, MVT::v8i16,
38065
0
    OPC_CheckPatternPredicate4,
38066
0
    OPC_EmitConvertToTarget2,
38067
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
38068
0
                  MVT::v8i16, 3, 0, 1, 3, 
38069
0
   15, 
38070
0
    OPC_CheckPredicate, 25,
38071
0
    OPC_MoveParent,
38072
0
    OPC_CheckType, MVT::v4i32,
38073
0
    OPC_CheckPatternPredicate4,
38074
0
    OPC_EmitConvertToTarget2,
38075
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38076
0
                  MVT::v4i32, 3, 0, 1, 3, 
38077
0
   15, 
38078
0
    OPC_CheckPredicate, 36,
38079
0
    OPC_MoveParent,
38080
0
    OPC_CheckType, MVT::v2i64,
38081
0
    OPC_CheckPatternPredicate4,
38082
0
    OPC_EmitConvertToTarget2,
38083
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38084
0
                  MVT::v2i64, 3, 0, 1, 3, 
38085
0
   15, 
38086
0
    OPC_CheckPredicate, 26,
38087
0
    OPC_MoveParent,
38088
0
    OPC_CheckType, MVT::v8i32,
38089
0
    OPC_CheckPatternPredicate5,
38090
0
    OPC_EmitConvertToTarget2,
38091
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38092
0
                  MVT::v8i32, 3, 0, 1, 3, 
38093
0
   15, 
38094
0
    OPC_CheckPredicate, 25,
38095
0
    OPC_MoveParent,
38096
0
    OPC_CheckType, MVT::v4i64,
38097
0
    OPC_CheckPatternPredicate5,
38098
0
    OPC_EmitConvertToTarget2,
38099
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38100
0
                  MVT::v4i64, 3, 0, 1, 3, 
38101
0
   15, 
38102
0
    OPC_CheckPredicate, 24,
38103
0
    OPC_MoveParent,
38104
0
    OPC_CheckType, MVT::v32i8,
38105
0
    OPC_CheckPatternPredicate5,
38106
0
    OPC_EmitConvertToTarget2,
38107
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
38108
0
                  MVT::v32i8, 3, 0, 1, 3, 
38109
0
   15, 
38110
0
    OPC_CheckPredicate, 32,
38111
0
    OPC_MoveParent,
38112
0
    OPC_CheckType, MVT::v16i16,
38113
0
    OPC_CheckPatternPredicate5,
38114
0
    OPC_EmitConvertToTarget2,
38115
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
38116
0
                  MVT::v16i16, 3, 0, 1, 3, 
38117
0
   0, 
38118
0
  115, 
38119
0
   OPC_CheckChild1Type, MVT::f32,
38120
0
   OPC_RecordChild2,
38121
0
   OPC_MoveChild2,
38122
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38123
0
   OPC_Scope, 52, 
38124
0
    OPC_CheckPredicate, 25,
38125
0
    OPC_SwitchType , 22, MVT::i64,
38126
0
     OPC_MoveParent,
38127
0
     OPC_CheckType, MVT::v4f32,
38128
0
     OPC_CheckPatternPredicate2,
38129
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38130
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38131
0
                   MVT::i64, 2, 1, 3, 
38132
0
     OPC_EmitConvertToTarget2,
38133
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38134
0
                   MVT::v4f32, 3, 0, 4, 5, 
38135
0
    22, MVT::i32,
38136
0
     OPC_MoveParent,
38137
0
     OPC_CheckType, MVT::v4f32,
38138
0
     OPC_CheckPatternPredicate4,
38139
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38140
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38141
0
                   MVT::i32, 2, 1, 3, 
38142
0
     OPC_EmitConvertToTarget2,
38143
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38144
0
                   MVT::v4f32, 3, 0, 4, 5, 
38145
0
    0,
38146
0
   52, 
38147
0
    OPC_CheckPredicate, 26,
38148
0
    OPC_SwitchType , 22, MVT::i64,
38149
0
     OPC_MoveParent,
38150
0
     OPC_CheckType, MVT::v8f32,
38151
0
     OPC_CheckPatternPredicate3,
38152
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38153
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38154
0
                   MVT::i64, 2, 1, 3, 
38155
0
     OPC_EmitConvertToTarget2,
38156
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38157
0
                   MVT::v8f32, 3, 0, 4, 5, 
38158
0
    22, MVT::i32,
38159
0
     OPC_MoveParent,
38160
0
     OPC_CheckType, MVT::v8f32,
38161
0
     OPC_CheckPatternPredicate5,
38162
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38163
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38164
0
                   MVT::i32, 2, 1, 3, 
38165
0
     OPC_EmitConvertToTarget2,
38166
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38167
0
                   MVT::v8f32, 3, 0, 4, 5, 
38168
0
    0,
38169
0
   0, 
38170
0
  115, 
38171
0
   OPC_CheckChild1Type, MVT::f64,
38172
0
   OPC_RecordChild2,
38173
0
   OPC_MoveChild2,
38174
0
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38175
0
   OPC_Scope, 52, 
38176
0
    OPC_CheckPredicate, 36,
38177
0
    OPC_SwitchType , 22, MVT::i64,
38178
0
     OPC_MoveParent,
38179
0
     OPC_CheckType, MVT::v2f64,
38180
0
     OPC_CheckPatternPredicate2,
38181
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38182
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38183
0
                   MVT::i64, 2, 1, 3, 
38184
0
     OPC_EmitConvertToTarget2,
38185
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38186
0
                   MVT::v2f64, 3, 0, 4, 5, 
38187
0
    22, MVT::i32,
38188
0
     OPC_MoveParent,
38189
0
     OPC_CheckType, MVT::v2f64,
38190
0
     OPC_CheckPatternPredicate4,
38191
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38192
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38193
0
                   MVT::i32, 2, 1, 3, 
38194
0
     OPC_EmitConvertToTarget2,
38195
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38196
0
                   MVT::v2f64, 3, 0, 4, 5, 
38197
0
    0,
38198
0
   52, 
38199
0
    OPC_CheckPredicate, 25,
38200
0
    OPC_SwitchType , 22, MVT::i64,
38201
0
     OPC_MoveParent,
38202
0
     OPC_CheckType, MVT::v4f64,
38203
0
     OPC_CheckPatternPredicate3,
38204
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38205
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38206
0
                   MVT::i64, 2, 1, 3, 
38207
0
     OPC_EmitConvertToTarget2,
38208
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38209
0
                   MVT::v4f64, 3, 0, 4, 5, 
38210
0
    22, MVT::i32,
38211
0
     OPC_MoveParent,
38212
0
     OPC_CheckType, MVT::v4f64,
38213
0
     OPC_CheckPatternPredicate5,
38214
0
     OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38215
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38216
0
                   MVT::i32, 2, 1, 3, 
38217
0
     OPC_EmitConvertToTarget2,
38218
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38219
0
                   MVT::v4f64, 3, 0, 4, 5, 
38220
0
    0,
38221
0
   0, 
38222
0
  0, 
38223
0
 91, TARGET_VAL(ISD::CTPOP),
38224
0
  OPC_RecordChild0,
38225
0
  OPC_SwitchType , 9, MVT::v16i8,
38226
0
   OPC_CheckChild0Type, MVT::v16i8,
38227
0
   OPC_CheckPatternPredicate1,
38228
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_B),
38229
0
                 MVT::v16i8, 1, 0, 
38230
0
  9, MVT::v8i16,
38231
0
   OPC_CheckChild0Type, MVT::v8i16,
38232
0
   OPC_CheckPatternPredicate1,
38233
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_H),
38234
0
                 MVT::v8i16, 1, 0, 
38235
0
  9, MVT::v4i32,
38236
0
   OPC_CheckChild0Type, MVT::v4i32,
38237
0
   OPC_CheckPatternPredicate1,
38238
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_W),
38239
0
                 MVT::v4i32, 1, 0, 
38240
0
  9, MVT::v2i64,
38241
0
   OPC_CheckChild0Type, MVT::v2i64,
38242
0
   OPC_CheckPatternPredicate1,
38243
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_D),
38244
0
                 MVT::v2i64, 1, 0, 
38245
0
  9, MVT::v32i8,
38246
0
   OPC_CheckChild0Type, MVT::v32i8,
38247
0
   OPC_CheckPatternPredicate0,
38248
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_B),
38249
0
                 MVT::v32i8, 1, 0, 
38250
0
  9, MVT::v16i16,
38251
0
   OPC_CheckChild0Type, MVT::v16i16,
38252
0
   OPC_CheckPatternPredicate0,
38253
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_H),
38254
0
                 MVT::v16i16, 1, 0, 
38255
0
  9, MVT::v8i32,
38256
0
   OPC_CheckChild0Type, MVT::v8i32,
38257
0
   OPC_CheckPatternPredicate0,
38258
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_W),
38259
0
                 MVT::v8i32, 1, 0, 
38260
0
  9, MVT::v4i64,
38261
0
   OPC_CheckChild0Type, MVT::v4i64,
38262
0
   OPC_CheckPatternPredicate0,
38263
0
   OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_D),
38264
0
                 MVT::v4i64, 1, 0, 
38265
0
  0,
38266
0
 80|128,5, TARGET_VAL(ISD::BUILD_VECTOR),
38267
0
  OPC_RecordChild0,
38268
0
  OPC_Scope, 11|128,2, 
38269
0
   OPC_CheckChild0TypeI64,
38270
0
   OPC_CheckChild1Same, 0,
38271
0
   OPC_Scope, 85, 
38272
0
    OPC_CheckChild2Same, 0,
38273
0
    OPC_CheckChild3Same, 0,
38274
0
    OPC_Scope, 68, 
38275
0
     OPC_MoveChild4,
38276
0
     OPC_CheckSame, 0,
38277
0
     OPC_MoveSibling5,
38278
0
     OPC_CheckSame, 0,
38279
0
     OPC_MoveSibling6,
38280
0
     OPC_CheckSame, 0,
38281
0
     OPC_MoveSibling7,
38282
0
     OPC_CheckSame, 0,
38283
0
     OPC_Scope, 42, 
38284
0
      OPC_MoveSibling, 8,
38285
0
      OPC_CheckSame, 0,
38286
0
      OPC_MoveSibling, 9,
38287
0
      OPC_CheckSame, 0,
38288
0
      OPC_MoveSibling, 10,
38289
0
      OPC_CheckSame, 0,
38290
0
      OPC_MoveSibling, 11,
38291
0
      OPC_CheckSame, 0,
38292
0
      OPC_MoveSibling, 12,
38293
0
      OPC_CheckSame, 0,
38294
0
      OPC_MoveSibling, 13,
38295
0
      OPC_CheckSame, 0,
38296
0
      OPC_MoveSibling, 14,
38297
0
      OPC_CheckSame, 0,
38298
0
      OPC_MoveSibling, 15,
38299
0
      OPC_CheckSame, 0,
38300
0
      OPC_MoveParent,
38301
0
      OPC_CheckType, MVT::v16i8,
38302
0
      OPC_CheckPatternPredicate2,
38303
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
38304
0
                    MVT::v16i8, 1, 0, 
38305
0
     10, 
38306
0
      OPC_MoveParent,
38307
0
      OPC_CheckType, MVT::v8i16,
38308
0
      OPC_CheckPatternPredicate2,
38309
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
38310
0
                    MVT::v8i16, 1, 0, 
38311
0
     0, 
38312
0
    9, 
38313
0
     OPC_CheckType, MVT::v4i32,
38314
0
     OPC_CheckPatternPredicate2,
38315
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
38316
0
                   MVT::v4i32, 1, 0, 
38317
0
    0, 
38318
0
   9, 
38319
0
    OPC_CheckType, MVT::v2i64,
38320
0
    OPC_CheckPatternPredicate2,
38321
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
38322
0
                  MVT::v2i64, 1, 0, 
38323
0
   36|128,1, 
38324
0
    OPC_CheckChild2Same, 0,
38325
0
    OPC_CheckChild3Same, 0,
38326
0
    OPC_Scope, 18|128,1, 
38327
0
     OPC_MoveChild4,
38328
0
     OPC_CheckSame, 0,
38329
0
     OPC_MoveSibling5,
38330
0
     OPC_CheckSame, 0,
38331
0
     OPC_MoveSibling6,
38332
0
     OPC_CheckSame, 0,
38333
0
     OPC_MoveSibling7,
38334
0
     OPC_CheckSame, 0,
38335
0
     OPC_Scope, 120, 
38336
0
      OPC_MoveSibling, 8,
38337
0
      OPC_CheckSame, 0,
38338
0
      OPC_MoveSibling, 9,
38339
0
      OPC_CheckSame, 0,
38340
0
      OPC_MoveSibling, 10,
38341
0
      OPC_CheckSame, 0,
38342
0
      OPC_MoveSibling, 11,
38343
0
      OPC_CheckSame, 0,
38344
0
      OPC_MoveSibling, 12,
38345
0
      OPC_CheckSame, 0,
38346
0
      OPC_MoveSibling, 13,
38347
0
      OPC_CheckSame, 0,
38348
0
      OPC_MoveSibling, 14,
38349
0
      OPC_CheckSame, 0,
38350
0
      OPC_MoveSibling, 15,
38351
0
      OPC_CheckSame, 0,
38352
0
      OPC_Scope, 74, 
38353
0
       OPC_MoveSibling, 16,
38354
0
       OPC_CheckSame, 0,
38355
0
       OPC_MoveSibling, 17,
38356
0
       OPC_CheckSame, 0,
38357
0
       OPC_MoveSibling, 18,
38358
0
       OPC_CheckSame, 0,
38359
0
       OPC_MoveSibling, 19,
38360
0
       OPC_CheckSame, 0,
38361
0
       OPC_MoveSibling, 20,
38362
0
       OPC_CheckSame, 0,
38363
0
       OPC_MoveSibling, 21,
38364
0
       OPC_CheckSame, 0,
38365
0
       OPC_MoveSibling, 22,
38366
0
       OPC_CheckSame, 0,
38367
0
       OPC_MoveSibling, 23,
38368
0
       OPC_CheckSame, 0,
38369
0
       OPC_MoveSibling, 24,
38370
0
       OPC_CheckSame, 0,
38371
0
       OPC_MoveSibling, 25,
38372
0
       OPC_CheckSame, 0,
38373
0
       OPC_MoveSibling, 26,
38374
0
       OPC_CheckSame, 0,
38375
0
       OPC_MoveSibling, 27,
38376
0
       OPC_CheckSame, 0,
38377
0
       OPC_MoveSibling, 28,
38378
0
       OPC_CheckSame, 0,
38379
0
       OPC_MoveSibling, 29,
38380
0
       OPC_CheckSame, 0,
38381
0
       OPC_MoveSibling, 30,
38382
0
       OPC_CheckSame, 0,
38383
0
       OPC_MoveSibling, 31,
38384
0
       OPC_CheckSame, 0,
38385
0
       OPC_MoveParent,
38386
0
       OPC_CheckType, MVT::v32i8,
38387
0
       OPC_CheckPatternPredicate3,
38388
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
38389
0
                     MVT::v32i8, 1, 0, 
38390
0
      10, 
38391
0
       OPC_MoveParent,
38392
0
       OPC_CheckType, MVT::v16i16,
38393
0
       OPC_CheckPatternPredicate3,
38394
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
38395
0
                     MVT::v16i16, 1, 0, 
38396
0
      0, 
38397
0
     10, 
38398
0
      OPC_MoveParent,
38399
0
      OPC_CheckType, MVT::v8i32,
38400
0
      OPC_CheckPatternPredicate3,
38401
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
38402
0
                    MVT::v8i32, 1, 0, 
38403
0
     0, 
38404
0
    9, 
38405
0
     OPC_CheckType, MVT::v4i64,
38406
0
     OPC_CheckPatternPredicate3,
38407
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
38408
0
                   MVT::v4i64, 1, 0, 
38409
0
    0, 
38410
0
   0, 
38411
0
  11|128,2, 
38412
0
   OPC_CheckChild0TypeI32,
38413
0
   OPC_CheckChild1Same, 0,
38414
0
   OPC_Scope, 85, 
38415
0
    OPC_CheckChild2Same, 0,
38416
0
    OPC_CheckChild3Same, 0,
38417
0
    OPC_Scope, 68, 
38418
0
     OPC_MoveChild4,
38419
0
     OPC_CheckSame, 0,
38420
0
     OPC_MoveSibling5,
38421
0
     OPC_CheckSame, 0,
38422
0
     OPC_MoveSibling6,
38423
0
     OPC_CheckSame, 0,
38424
0
     OPC_MoveSibling7,
38425
0
     OPC_CheckSame, 0,
38426
0
     OPC_Scope, 42, 
38427
0
      OPC_MoveSibling, 8,
38428
0
      OPC_CheckSame, 0,
38429
0
      OPC_MoveSibling, 9,
38430
0
      OPC_CheckSame, 0,
38431
0
      OPC_MoveSibling, 10,
38432
0
      OPC_CheckSame, 0,
38433
0
      OPC_MoveSibling, 11,
38434
0
      OPC_CheckSame, 0,
38435
0
      OPC_MoveSibling, 12,
38436
0
      OPC_CheckSame, 0,
38437
0
      OPC_MoveSibling, 13,
38438
0
      OPC_CheckSame, 0,
38439
0
      OPC_MoveSibling, 14,
38440
0
      OPC_CheckSame, 0,
38441
0
      OPC_MoveSibling, 15,
38442
0
      OPC_CheckSame, 0,
38443
0
      OPC_MoveParent,
38444
0
      OPC_CheckType, MVT::v16i8,
38445
0
      OPC_CheckPatternPredicate4,
38446
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
38447
0
                    MVT::v16i8, 1, 0, 
38448
0
     10, 
38449
0
      OPC_MoveParent,
38450
0
      OPC_CheckType, MVT::v8i16,
38451
0
      OPC_CheckPatternPredicate4,
38452
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
38453
0
                    MVT::v8i16, 1, 0, 
38454
0
     0, 
38455
0
    9, 
38456
0
     OPC_CheckType, MVT::v4i32,
38457
0
     OPC_CheckPatternPredicate4,
38458
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
38459
0
                   MVT::v4i32, 1, 0, 
38460
0
    0, 
38461
0
   9, 
38462
0
    OPC_CheckType, MVT::v2i64,
38463
0
    OPC_CheckPatternPredicate4,
38464
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
38465
0
                  MVT::v2i64, 1, 0, 
38466
0
   36|128,1, 
38467
0
    OPC_CheckChild2Same, 0,
38468
0
    OPC_CheckChild3Same, 0,
38469
0
    OPC_Scope, 18|128,1, 
38470
0
     OPC_MoveChild4,
38471
0
     OPC_CheckSame, 0,
38472
0
     OPC_MoveSibling5,
38473
0
     OPC_CheckSame, 0,
38474
0
     OPC_MoveSibling6,
38475
0
     OPC_CheckSame, 0,
38476
0
     OPC_MoveSibling7,
38477
0
     OPC_CheckSame, 0,
38478
0
     OPC_Scope, 120, 
38479
0
      OPC_MoveSibling, 8,
38480
0
      OPC_CheckSame, 0,
38481
0
      OPC_MoveSibling, 9,
38482
0
      OPC_CheckSame, 0,
38483
0
      OPC_MoveSibling, 10,
38484
0
      OPC_CheckSame, 0,
38485
0
      OPC_MoveSibling, 11,
38486
0
      OPC_CheckSame, 0,
38487
0
      OPC_MoveSibling, 12,
38488
0
      OPC_CheckSame, 0,
38489
0
      OPC_MoveSibling, 13,
38490
0
      OPC_CheckSame, 0,
38491
0
      OPC_MoveSibling, 14,
38492
0
      OPC_CheckSame, 0,
38493
0
      OPC_MoveSibling, 15,
38494
0
      OPC_CheckSame, 0,
38495
0
      OPC_Scope, 74, 
38496
0
       OPC_MoveSibling, 16,
38497
0
       OPC_CheckSame, 0,
38498
0
       OPC_MoveSibling, 17,
38499
0
       OPC_CheckSame, 0,
38500
0
       OPC_MoveSibling, 18,
38501
0
       OPC_CheckSame, 0,
38502
0
       OPC_MoveSibling, 19,
38503
0
       OPC_CheckSame, 0,
38504
0
       OPC_MoveSibling, 20,
38505
0
       OPC_CheckSame, 0,
38506
0
       OPC_MoveSibling, 21,
38507
0
       OPC_CheckSame, 0,
38508
0
       OPC_MoveSibling, 22,
38509
0
       OPC_CheckSame, 0,
38510
0
       OPC_MoveSibling, 23,
38511
0
       OPC_CheckSame, 0,
38512
0
       OPC_MoveSibling, 24,
38513
0
       OPC_CheckSame, 0,
38514
0
       OPC_MoveSibling, 25,
38515
0
       OPC_CheckSame, 0,
38516
0
       OPC_MoveSibling, 26,
38517
0
       OPC_CheckSame, 0,
38518
0
       OPC_MoveSibling, 27,
38519
0
       OPC_CheckSame, 0,
38520
0
       OPC_MoveSibling, 28,
38521
0
       OPC_CheckSame, 0,
38522
0
       OPC_MoveSibling, 29,
38523
0
       OPC_CheckSame, 0,
38524
0
       OPC_MoveSibling, 30,
38525
0
       OPC_CheckSame, 0,
38526
0
       OPC_MoveSibling, 31,
38527
0
       OPC_CheckSame, 0,
38528
0
       OPC_MoveParent,
38529
0
       OPC_CheckType, MVT::v32i8,
38530
0
       OPC_CheckPatternPredicate5,
38531
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
38532
0
                     MVT::v32i8, 1, 0, 
38533
0
      10, 
38534
0
       OPC_MoveParent,
38535
0
       OPC_CheckType, MVT::v16i16,
38536
0
       OPC_CheckPatternPredicate5,
38537
0
       OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
38538
0
                     MVT::v16i16, 1, 0, 
38539
0
      0, 
38540
0
     10, 
38541
0
      OPC_MoveParent,
38542
0
      OPC_CheckType, MVT::v8i32,
38543
0
      OPC_CheckPatternPredicate5,
38544
0
      OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
38545
0
                    MVT::v8i32, 1, 0, 
38546
0
     0, 
38547
0
    9, 
38548
0
     OPC_CheckType, MVT::v4i64,
38549
0
     OPC_CheckPatternPredicate5,
38550
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
38551
0
                   MVT::v4i64, 1, 0, 
38552
0
    0, 
38553
0
   0, 
38554
0
  96, 
38555
0
   OPC_CheckChild0Type, MVT::f32,
38556
0
   OPC_CheckChild1Same, 0,
38557
0
   OPC_CheckChild2Same, 0,
38558
0
   OPC_CheckChild3Same, 0,
38559
0
   OPC_Scope, 34, 
38560
0
    OPC_MoveChild4,
38561
0
    OPC_CheckSame, 0,
38562
0
    OPC_MoveSibling5,
38563
0
    OPC_CheckSame, 0,
38564
0
    OPC_MoveSibling6,
38565
0
    OPC_CheckSame, 0,
38566
0
    OPC_MoveSibling7,
38567
0
    OPC_CheckSame, 0,
38568
0
    OPC_MoveParent,
38569
0
    OPC_CheckType, MVT::v8f32,
38570
0
    OPC_CheckPatternPredicate0,
38571
0
    OPC_EmitInteger64, 0, 
38572
0
    OPC_EmitStringInteger32, LoongArch::sub_32,
38573
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38574
0
                  MVT::v32i8, 3, 1, 0, 2, 
38575
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
38576
0
                  MVT::v8f32, 1, 3, 
38577
0
   50, 
38578
0
    OPC_CheckType, MVT::v4f32,
38579
0
    OPC_Scope, 22, 
38580
0
     OPC_CheckPatternPredicate2,
38581
0
     OPC_EmitInteger64, 0, 
38582
0
     OPC_EmitStringInteger32, LoongArch::sub_32,
38583
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38584
0
                   MVT::v16i8, 3, 1, 0, 2, 
38585
0
     OPC_EmitInteger64, 0, 
38586
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
38587
0
                   MVT::v4f32, 2, 3, 4, 
38588
0
    22, 
38589
0
     OPC_CheckPatternPredicate4,
38590
0
     OPC_EmitInteger64, 0, 
38591
0
     OPC_EmitStringInteger32, LoongArch::sub_32,
38592
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38593
0
                   MVT::v16i8, 3, 1, 0, 2, 
38594
0
     OPC_EmitInteger32, 0, 
38595
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
38596
0
                   MVT::v4f32, 2, 3, 4, 
38597
0
    0, 
38598
0
   0, 
38599
0
  81, 
38600
0
   OPC_CheckChild0Type, MVT::f64,
38601
0
   OPC_CheckChild1Same, 0,
38602
0
   OPC_SwitchType , 23, MVT::v4f64,
38603
0
    OPC_CheckChild2Same, 0,
38604
0
    OPC_CheckChild3Same, 0,
38605
0
    OPC_CheckPatternPredicate0,
38606
0
    OPC_EmitInteger64, 0, 
38607
0
    OPC_EmitStringInteger32, LoongArch::sub_64,
38608
0
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38609
0
                  MVT::v32i8, 3, 1, 0, 2, 
38610
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
38611
0
                  MVT::v4f64, 1, 3, 
38612
0
   48, MVT::v2f64,
38613
0
    OPC_Scope, 22, 
38614
0
     OPC_CheckPatternPredicate2,
38615
0
     OPC_EmitInteger64, 0, 
38616
0
     OPC_EmitStringInteger32, LoongArch::sub_64,
38617
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38618
0
                   MVT::v16i8, 3, 1, 0, 2, 
38619
0
     OPC_EmitInteger64, 0, 
38620
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
38621
0
                   MVT::v2f64, 2, 3, 4, 
38622
0
    22, 
38623
0
     OPC_CheckPatternPredicate4,
38624
0
     OPC_EmitInteger64, 0, 
38625
0
     OPC_EmitStringInteger32, LoongArch::sub_64,
38626
0
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38627
0
                   MVT::v16i8, 3, 1, 0, 2, 
38628
0
     OPC_EmitInteger32, 0, 
38629
0
     OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
38630
0
                   MVT::v2f64, 2, 3, 4, 
38631
0
    0, 
38632
0
   0,
38633
0
  0, 
38634
0
 44|128,1, TARGET_VAL(LoongArchISD::VREPLVE),
38635
0
  OPC_RecordChild0,
38636
0
  OPC_RecordChild1,
38637
0
  OPC_Scope, 83, 
38638
0
   OPC_CheckChild1TypeI64,
38639
0
   OPC_SwitchType , 8, MVT::v16i8,
38640
0
    OPC_CheckPatternPredicate2,
38641
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
38642
0
                  MVT::v16i8, 2, 0, 1, 
38643
0
   8, MVT::v8i16,
38644
0
    OPC_CheckPatternPredicate2,
38645
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
38646
0
                  MVT::v8i16, 2, 0, 1, 
38647
0
   8, MVT::v4i32,
38648
0
    OPC_CheckPatternPredicate2,
38649
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
38650
0
                  MVT::v4i32, 2, 0, 1, 
38651
0
   8, MVT::v2i64,
38652
0
    OPC_CheckPatternPredicate2,
38653
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
38654
0
                  MVT::v2i64, 2, 0, 1, 
38655
0
   8, MVT::v32i8,
38656
0
    OPC_CheckPatternPredicate3,
38657
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
38658
0
                  MVT::v32i8, 2, 0, 1, 
38659
0
   8, MVT::v16i16,
38660
0
    OPC_CheckPatternPredicate3,
38661
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
38662
0
                  MVT::v16i16, 2, 0, 1, 
38663
0
   8, MVT::v8i32,
38664
0
    OPC_CheckPatternPredicate3,
38665
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
38666
0
                  MVT::v8i32, 2, 0, 1, 
38667
0
   8, MVT::v4i64,
38668
0
    OPC_CheckPatternPredicate3,
38669
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
38670
0
                  MVT::v4i64, 2, 0, 1, 
38671
0
   0,
38672
0
  83, 
38673
0
   OPC_CheckChild1TypeI32,
38674
0
   OPC_SwitchType , 8, MVT::v16i8,
38675
0
    OPC_CheckPatternPredicate4,
38676
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
38677
0
                  MVT::v16i8, 2, 0, 1, 
38678
0
   8, MVT::v8i16,
38679
0
    OPC_CheckPatternPredicate4,
38680
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
38681
0
                  MVT::v8i16, 2, 0, 1, 
38682
0
   8, MVT::v4i32,
38683
0
    OPC_CheckPatternPredicate4,
38684
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
38685
0
                  MVT::v4i32, 2, 0, 1, 
38686
0
   8, MVT::v2i64,
38687
0
    OPC_CheckPatternPredicate4,
38688
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
38689
0
                  MVT::v2i64, 2, 0, 1, 
38690
0
   8, MVT::v32i8,
38691
0
    OPC_CheckPatternPredicate5,
38692
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
38693
0
                  MVT::v32i8, 2, 0, 1, 
38694
0
   8, MVT::v16i16,
38695
0
    OPC_CheckPatternPredicate5,
38696
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
38697
0
                  MVT::v16i16, 2, 0, 1, 
38698
0
   8, MVT::v8i32,
38699
0
    OPC_CheckPatternPredicate5,
38700
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
38701
0
                  MVT::v8i32, 2, 0, 1, 
38702
0
   8, MVT::v4i64,
38703
0
    OPC_CheckPatternPredicate5,
38704
0
    OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
38705
0
                  MVT::v4i64, 2, 0, 1, 
38706
0
   0,
38707
0
  0, 
38708
0
 0,
38709
0
    0
38710
0
  }; // Total Array size is 78141 bytes
38711
38712
0
  #undef TARGET_VAL
38713
0
  SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
38714
0
}
38715
#endif // GET_DAGISEL_BODY
38716
38717
#ifdef GET_DAGISEL_DECL
38718
bool CheckPatternPredicate(unsigned PredNo) const override;
38719
#endif
38720
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
38721
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
38722
#if DAGISEL_INLINE
38723
  override
38724
#endif
38725
0
{
38726
0
  switch (PredNo) {
38727
0
  default: llvm_unreachable("Invalid predicate in table?");
38728
0
  case 0: return (Subtarget->hasExtLASX());
38729
0
  case 1: return (Subtarget->hasExtLSX());
38730
0
  case 2: return (Subtarget->hasExtLSX()) && (Subtarget->is64Bit());
38731
0
  case 3: return (Subtarget->hasExtLASX()) && (Subtarget->is64Bit());
38732
0
  case 4: return (Subtarget->hasExtLSX()) && !((Subtarget->is64Bit()));
38733
0
  case 5: return (Subtarget->hasExtLASX()) && !((Subtarget->is64Bit()));
38734
0
  case 6: return (Subtarget->is64Bit()) && (Subtarget->is64Bit());
38735
0
  case 7: return (Subtarget->is64Bit());
38736
0
  case 8: return !((Subtarget->is64Bit()));
38737
0
  case 9: return (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
38738
0
  case 10: return (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
38739
0
  case 11: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit());
38740
0
  case 12: return (Subtarget->hasBasicF()) && !((Subtarget->is64Bit()));
38741
0
  case 13: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit());
38742
0
  case 14: return (Subtarget->hasBasicD()) && !((Subtarget->is64Bit()));
38743
0
  case 15: return (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
38744
0
  case 16: return (Subtarget->hasBasicD());
38745
0
  case 17: return (Subtarget->hasBasicF());
38746
0
  case 18: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
38747
0
  case 19: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
38748
0
  case 20: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
38749
0
  case 21: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
38750
0
  case 22: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
38751
0
  case 23: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
38752
0
  }
38753
0
}
38754
#endif // GET_DAGISEL_BODY
38755
38756
#ifdef GET_DAGISEL_DECL
38757
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
38758
#endif
38759
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
38760
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
38761
#if DAGISEL_INLINE
38762
  override
38763
#endif
38764
0
{
38765
0
  switch (PredNo) {
38766
0
  default: llvm_unreachable("Invalid predicate in table?");
38767
0
  case 0: {
38768
    // Predicate_vsplat_imm_eq_1
38769
0
    SDNode *N = Node;
38770
0
    (void)N;
38771
38772
0
  APInt Imm;
38773
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
38774
38775
0
  if (N->getOpcode() == ISD::BITCAST)
38776
0
    N = N->getOperand(0).getNode();
38777
38778
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
38779
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
38780
38781
0
  }
38782
0
  case 1: {
38783
    // Predicate_store
38784
0
    SDNode *N = Node;
38785
0
    (void)N;
38786
0
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
38787
0
return true;
38788
38789
0
  }
38790
0
  case 2: {
38791
    // Predicate_unindexedstore
38792
0
    SDNode *N = Node;
38793
0
    (void)N;
38794
0
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
38795
0
return true;
38796
38797
0
  }
38798
0
  case 3: {
38799
    // Predicate_vsplati64_imm_eq_63
38800
0
    SDNode *N = Node;
38801
0
    (void)N;
38802
38803
0
  APInt Imm;
38804
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
38805
38806
0
  if (N->getOpcode() == ISD::BITCAST)
38807
0
    N = N->getOperand(0).getNode();
38808
38809
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
38810
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
38811
38812
0
  }
38813
0
  case 4: {
38814
    // Predicate_load
38815
0
    SDNode *N = Node;
38816
0
    (void)N;
38817
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
38818
0
return true;
38819
38820
0
  }
38821
0
  case 5: {
38822
    // Predicate_atomic_cmp_swap_32
38823
    // Predicate_atomic_load_32
38824
    // Predicate_atomic_load_add_32
38825
    // Predicate_atomic_load_and_32
38826
    // Predicate_atomic_load_max_32
38827
    // Predicate_atomic_load_min_32
38828
    // Predicate_atomic_load_nand_32
38829
    // Predicate_atomic_load_or_32
38830
    // Predicate_atomic_load_sub_32
38831
    // Predicate_atomic_load_umax_32
38832
    // Predicate_atomic_load_umin_32
38833
    // Predicate_atomic_load_xor_32
38834
    // Predicate_atomic_store_32
38835
    // Predicate_atomic_swap_32
38836
    // Predicate_extloadi32
38837
    // Predicate_sextloadi32
38838
    // Predicate_zextloadi32
38839
0
    SDNode *N = Node;
38840
0
    (void)N;
38841
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
38842
0
return true;
38843
38844
0
  }
38845
0
  case 6: {
38846
    // Predicate_unindexedload
38847
0
    SDNode *N = Node;
38848
0
    (void)N;
38849
0
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
38850
0
return true;
38851
38852
0
  }
38853
0
  case 7: {
38854
    // Predicate_vsplati8_imm_eq_7
38855
0
    SDNode *N = Node;
38856
0
    (void)N;
38857
38858
0
  APInt Imm;
38859
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
38860
38861
0
  if (N->getOpcode() == ISD::BITCAST)
38862
0
    N = N->getOperand(0).getNode();
38863
38864
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
38865
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 7;
38866
38867
0
  }
38868
0
  case 8: {
38869
    // Predicate_vsplati32_imm_eq_31
38870
0
    SDNode *N = Node;
38871
0
    (void)N;
38872
38873
0
  APInt Imm;
38874
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
38875
38876
0
  if (N->getOpcode() == ISD::BITCAST)
38877
0
    N = N->getOperand(0).getNode();
38878
38879
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
38880
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 31;
38881
38882
0
  }
38883
0
  case 9: {
38884
    // Predicate_vsplati16_imm_eq_15
38885
0
    SDNode *N = Node;
38886
0
    (void)N;
38887
38888
0
  APInt Imm;
38889
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
38890
38891
0
  if (N->getOpcode() == ISD::BITCAST)
38892
0
    N = N->getOperand(0).getNode();
38893
38894
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
38895
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 15;
38896
38897
0
  }
38898
0
  case 10: {
38899
    // Predicate_simm12
38900
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
38901
0
return isInt<12>(Imm);
38902
0
  }
38903
0
  case 11: {
38904
    // Predicate_AddLike
38905
0
    SDNode *N = Node;
38906
0
    (void)N;
38907
38908
0
    return N->getOpcode() == ISD::ADD || isOrEquivalentToAdd(N);
38909
38910
0
  }
38911
0
  case 12: {
38912
    // Predicate_mul_const_oneuse
38913
0
    SDNode *N = Node;
38914
0
    (void)N;
38915
38916
0
  if (auto *N1C = dyn_cast<ConstantSDNode>(N->getOperand(1)))
38917
0
    return N1C->hasOneUse();
38918
0
  return false;
38919
38920
0
  }
38921
0
  case 13: {
38922
    // Predicate_atomic_load_16
38923
    // Predicate_atomic_store_16
38924
    // Predicate_extloadi16
38925
    // Predicate_sextloadi16
38926
    // Predicate_zextloadi16
38927
0
    SDNode *N = Node;
38928
0
    (void)N;
38929
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
38930
0
return true;
38931
38932
0
  }
38933
0
  case 14: {
38934
    // Predicate_atomic_load_8
38935
    // Predicate_atomic_store_8
38936
    // Predicate_extloadi8
38937
    // Predicate_sextloadi8
38938
    // Predicate_zextloadi8
38939
0
    SDNode *N = Node;
38940
0
    (void)N;
38941
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
38942
0
return true;
38943
38944
0
  }
38945
0
  case 15: {
38946
    // Predicate_atomic_cmp_swap_64
38947
    // Predicate_atomic_load_64
38948
    // Predicate_atomic_load_add_64
38949
    // Predicate_atomic_load_and_64
38950
    // Predicate_atomic_load_max_64
38951
    // Predicate_atomic_load_min_64
38952
    // Predicate_atomic_load_nand_64
38953
    // Predicate_atomic_load_or_64
38954
    // Predicate_atomic_load_sub_64
38955
    // Predicate_atomic_load_umax_64
38956
    // Predicate_atomic_load_umin_64
38957
    // Predicate_atomic_load_xor_64
38958
    // Predicate_atomic_store_64
38959
    // Predicate_atomic_swap_64
38960
0
    SDNode *N = Node;
38961
0
    (void)N;
38962
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
38963
0
return true;
38964
38965
0
  }
38966
0
  case 16: {
38967
    // Predicate_sextload
38968
0
    SDNode *N = Node;
38969
0
    (void)N;
38970
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
38971
0
return true;
38972
38973
0
  }
38974
0
  case 17: {
38975
    // Predicate_extload
38976
0
    SDNode *N = Node;
38977
0
    (void)N;
38978
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
38979
0
return true;
38980
38981
0
  }
38982
0
  case 18: {
38983
    // Predicate_atomic_load_add_32_acq_rel
38984
    // Predicate_atomic_load_and_32_acq_rel
38985
    // Predicate_atomic_load_nand_32_acq_rel
38986
    // Predicate_atomic_load_nand_64_acq_rel
38987
    // Predicate_atomic_load_or_32_acq_rel
38988
    // Predicate_atomic_load_sub_32_acq_rel
38989
    // Predicate_atomic_load_xor_32_acq_rel
38990
    // Predicate_atomic_swap_32_acq_rel
38991
0
    SDNode *N = Node;
38992
0
    (void)N;
38993
0
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false;
38994
0
return true;
38995
38996
0
  }
38997
0
  case 19: {
38998
    // Predicate_atomic_load_add_32_monotonic
38999
    // Predicate_atomic_load_and_32_monotonic
39000
    // Predicate_atomic_load_nand_32_monotonic
39001
    // Predicate_atomic_load_nand_64_monotonic
39002
    // Predicate_atomic_load_or_32_monotonic
39003
    // Predicate_atomic_load_sub_32_monotonic
39004
    // Predicate_atomic_load_xor_32_monotonic
39005
    // Predicate_atomic_swap_32_monotonic
39006
0
    SDNode *N = Node;
39007
0
    (void)N;
39008
0
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false;
39009
0
return true;
39010
39011
0
  }
39012
0
  case 20: {
39013
    // Predicate_atomic_load_add_32_seq_cst
39014
    // Predicate_atomic_load_and_32_seq_cst
39015
    // Predicate_atomic_load_nand_32_seq_cst
39016
    // Predicate_atomic_load_nand_64_seq_cst
39017
    // Predicate_atomic_load_or_32_seq_cst
39018
    // Predicate_atomic_load_sub_32_seq_cst
39019
    // Predicate_atomic_load_xor_32_seq_cst
39020
    // Predicate_atomic_swap_32_seq_cst
39021
0
    SDNode *N = Node;
39022
0
    (void)N;
39023
0
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
39024
0
return true;
39025
39026
0
  }
39027
0
  case 21: {
39028
    // Predicate_atomic_load_add_32_acquire
39029
    // Predicate_atomic_load_and_32_acquire
39030
    // Predicate_atomic_load_nand_32_acquire
39031
    // Predicate_atomic_load_nand_64_acquire
39032
    // Predicate_atomic_load_or_32_acquire
39033
    // Predicate_atomic_load_sub_32_acquire
39034
    // Predicate_atomic_load_xor_32_acquire
39035
    // Predicate_atomic_swap_32_acquire
39036
0
    SDNode *N = Node;
39037
0
    (void)N;
39038
0
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Acquire) return false;
39039
0
return true;
39040
39041
0
  }
39042
0
  case 22: {
39043
    // Predicate_atomic_load_add_32_release
39044
    // Predicate_atomic_load_and_32_release
39045
    // Predicate_atomic_load_nand_32_release
39046
    // Predicate_atomic_load_nand_64_release
39047
    // Predicate_atomic_load_or_32_release
39048
    // Predicate_atomic_load_sub_32_release
39049
    // Predicate_atomic_load_xor_32_release
39050
    // Predicate_atomic_swap_32_release
39051
0
    SDNode *N = Node;
39052
0
    (void)N;
39053
0
if (cast<AtomicSDNode>(N)->getMergedOrdering() != AtomicOrdering::Release) return false;
39054
0
return true;
39055
39056
0
  }
39057
0
  case 23: {
39058
    // Predicate_zextload
39059
0
    SDNode *N = Node;
39060
0
    (void)N;
39061
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
39062
0
return true;
39063
39064
0
  }
39065
0
  case 24: {
39066
    // Predicate_uimm5
39067
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39068
0
return isUInt<5>(Imm);
39069
0
  }
39070
0
  case 25: {
39071
    // Predicate_uimm2
39072
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39073
0
return isUInt<2>(Imm);
39074
0
  }
39075
0
  case 26: {
39076
    // Predicate_uimm3
39077
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39078
0
return isUInt<3>(Imm);
39079
0
  }
39080
0
  case 27: {
39081
    // Predicate_atomic_store_unordered_monotonic_32
39082
    // Predicate_atomic_store_unordered_monotonic_64
39083
0
    SDNode *N = Node;
39084
0
    (void)N;
39085
39086
0
  AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering();
39087
0
  return !isReleaseOrStronger(Ordering);
39088
39089
0
  }
39090
0
  case 28: {
39091
    // Predicate_truncstore
39092
0
    SDNode *N = Node;
39093
0
    (void)N;
39094
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
39095
0
return true;
39096
39097
0
  }
39098
0
  case 29: {
39099
    // Predicate_truncstorei16
39100
0
    SDNode *N = Node;
39101
0
    (void)N;
39102
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
39103
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
39104
0
return true;
39105
39106
0
  }
39107
0
  case 30: {
39108
    // Predicate_truncstorei8
39109
0
    SDNode *N = Node;
39110
0
    (void)N;
39111
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
39112
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
39113
0
return true;
39114
39115
0
  }
39116
0
  case 31: {
39117
    // Predicate_uimm6
39118
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39119
0
return isUInt<6>(Imm);
39120
0
  }
39121
0
  case 32: {
39122
    // Predicate_uimm4
39123
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39124
0
return isUInt<4>(Imm);
39125
0
  }
39126
0
  case 33: {
39127
    // Predicate_truncstorei32
39128
0
    SDNode *N = Node;
39129
0
    (void)N;
39130
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
39131
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
39132
0
return true;
39133
39134
0
  }
39135
0
  case 34: {
39136
    // Predicate_fma_nsz
39137
0
    SDNode *N = Node;
39138
0
    (void)N;
39139
39140
0
  return N->getFlags().hasNoSignedZeros();
39141
39142
0
  }
39143
0
  case 35: {
39144
    // Predicate_uimm2_plus1
39145
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39146
0
return isUInt<2>(Imm - 1);
39147
0
  }
39148
0
  case 36: {
39149
    // Predicate_uimm1
39150
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39151
0
return isUInt<1>(Imm);
39152
0
  }
39153
0
  case 37: {
39154
    // Predicate_simm14_lsl2
39155
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39156
0
return isShiftedInt<14,2>(Imm);
39157
0
  }
39158
0
  case 38: {
39159
    // Predicate_atomic_store_release_seqcst_32
39160
    // Predicate_atomic_store_release_seqcst_64
39161
0
    SDNode *N = Node;
39162
0
    (void)N;
39163
39164
0
  AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering();
39165
0
  return isReleaseOrStronger(Ordering);
39166
39167
0
  }
39168
0
  case 39: {
39169
    // Predicate_uimm15
39170
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39171
0
return isUInt<15>(Imm);
39172
0
  }
39173
0
  case 40: {
39174
    // Predicate_atomic_cmp_swap_32_failure_seq_cst
39175
    // Predicate_atomic_cmp_swap_64_failure_seq_cst
39176
0
    SDNode *N = Node;
39177
0
    (void)N;
39178
39179
0
    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
39180
0
    return Ordering == AtomicOrdering::SequentiallyConsistent;
39181
  
39182
0
  }
39183
0
  case 41: {
39184
    // Predicate_atomic_cmp_swap_32_failure_acquire
39185
    // Predicate_atomic_cmp_swap_64_failure_acquire
39186
0
    SDNode *N = Node;
39187
0
    (void)N;
39188
39189
0
    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
39190
0
    return Ordering == AtomicOrdering::Acquire;
39191
  
39192
0
  }
39193
0
  case 42: {
39194
    // Predicate_atomic_cmp_swap_32_failure_acq_rel
39195
    // Predicate_atomic_cmp_swap_64_failure_acq_rel
39196
0
    SDNode *N = Node;
39197
0
    (void)N;
39198
39199
0
    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
39200
0
    return Ordering == AtomicOrdering::AcquireRelease;
39201
  
39202
0
  }
39203
0
  case 43: {
39204
    // Predicate_uimm14
39205
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39206
0
return isUInt<14>(Imm);
39207
0
  }
39208
0
  case 44: {
39209
    // Predicate_atomic_cmp_swap_32_failure_release
39210
    // Predicate_atomic_cmp_swap_64_failure_release
39211
0
    SDNode *N = Node;
39212
0
    (void)N;
39213
39214
0
    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
39215
0
    return Ordering == AtomicOrdering::Release;
39216
  
39217
0
  }
39218
0
  case 45: {
39219
    // Predicate_uimm12
39220
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39221
0
return isUInt<12>(Imm);
39222
0
  }
39223
0
  case 46: {
39224
    // Predicate_fpimm1
39225
0
    auto *N = cast<ConstantFPSDNode>(Node);
39226
0
    (void)N;
39227
0
return N->isExactlyValue(+1.0);
39228
0
  }
39229
0
  case 47: {
39230
    // Predicate_atomic_cmp_swap_32_failure_monotonic
39231
    // Predicate_atomic_cmp_swap_64_failure_monotonic
39232
0
    SDNode *N = Node;
39233
0
    (void)N;
39234
39235
0
    AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getFailureOrdering();
39236
0
    return Ordering == AtomicOrdering::Monotonic;
39237
  
39238
0
  }
39239
0
  case 48: {
39240
    // Predicate_fpimm0
39241
0
    auto *N = cast<ConstantFPSDNode>(Node);
39242
0
    (void)N;
39243
0
return N->isExactlyValue(+0.0);
39244
0
  }
39245
0
  case 49: {
39246
    // Predicate_AddiPair
39247
0
    auto *N = cast<ConstantSDNode>(Node);
39248
0
    (void)N;
39249
39250
0
  if (!N->hasOneUse())
39251
0
    return false;
39252
  // The immediate operand must be in range [-4096,-2049] or [2048,4094].
39253
0
  int64_t Imm = N->getSExtValue();
39254
0
  return (-4096 <= Imm && Imm <= -2049) || (2048 <= Imm && Imm <= 4094);
39255
39256
0
  }
39257
0
  case 50: {
39258
    // Predicate_fpimm0neg
39259
0
    auto *N = cast<ConstantFPSDNode>(Node);
39260
0
    (void)N;
39261
0
return N->isExactlyValue(-0.0);
39262
0
  }
39263
0
  case 51: {
39264
    // Predicate_simm12_plus1
39265
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39266
0
return (isInt<12>(Imm) && Imm != -2048) || Imm == 2048;
39267
0
  }
39268
0
  case 52: {
39269
    // Predicate_AlslSlliImm
39270
0
    auto *N = cast<ConstantSDNode>(Node);
39271
0
    (void)N;
39272
39273
0
  if (!N->hasOneUse())
39274
0
    return false;
39275
0
  uint64_t Imm = N->getZExtValue();
39276
0
  unsigned I1 = llvm::countr_zero(Imm);
39277
0
  uint64_t Rem = Imm >> I1;
39278
0
  return Rem == 3 || Rem == 5 || Rem == 9 || Rem == 17;
39279
39280
0
  }
39281
0
  case 53: {
39282
    // Predicate_vsplatf64_fpimm_eq_1
39283
0
    SDNode *N = Node;
39284
0
    (void)N;
39285
39286
0
  APInt Imm;
39287
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
39288
0
  N = N->getOperand(0).getNode();
39289
39290
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
39291
0
         Imm.getBitWidth() == EltTy.getSizeInBits() &&
39292
0
         Imm == APFloat(+1.0).bitcastToAPInt();
39293
39294
0
  }
39295
0
  case 54: {
39296
    // Predicate_vsplatf32_fpimm_eq_1
39297
0
    SDNode *N = Node;
39298
0
    (void)N;
39299
39300
0
  APInt Imm;
39301
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
39302
0
  N = N->getOperand(0).getNode();
39303
39304
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
39305
0
         Imm.getBitWidth() == EltTy.getSizeInBits() &&
39306
0
         Imm == APFloat(+1.0f).bitcastToAPInt();
39307
39308
0
  }
39309
0
  case 55: {
39310
    // Predicate_simm32_hi16_lo12
39311
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39312
39313
0
  return isShiftedInt<16, 16>(Imm - SignExtend64<12>(Imm));
39314
39315
0
  }
39316
0
  case 56: {
39317
    // Predicate_simm16_lsl16
39318
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39319
0
return isShiftedInt<16, 16>(Imm);
39320
0
  }
39321
0
  case 57: {
39322
    // Predicate_BstrinsImm
39323
0
    auto *N = cast<ConstantSDNode>(Node);
39324
0
    (void)N;
39325
39326
0
  if (!N->hasOneUse())
39327
0
    return false;
39328
0
  uint64_t Imm = N->getZExtValue();
39329
  // andi can be used instead if Imm <= 0xfff.
39330
0
  if (Imm <= 0xfff)
39331
0
    return false;
39332
0
  unsigned MaskIdx, MaskLen;
39333
0
  return N->getValueType(0).getSizeInBits() == 32
39334
0
             ? llvm::isShiftedMask_32(~Imm, MaskIdx, MaskLen)
39335
0
             : llvm::isShiftedMask_64(~Imm, MaskIdx, MaskLen);
39336
39337
0
  }
39338
0
  case 58: {
39339
    // Predicate_simm16_lsl2
39340
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
39341
0
return isInt<16>(Imm>>2);
39342
0
  }
39343
0
  }
39344
0
}
39345
#endif // GET_DAGISEL_BODY
39346
39347
#ifdef GET_DAGISEL_DECL
39348
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
39349
      SDValue N, unsigned PatternNo,
39350
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
39351
#endif
39352
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
39353
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
39354
      SDValue N, unsigned PatternNo,
39355
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
39356
#if DAGISEL_INLINE
39357
  override
39358
#endif
39359
0
{
39360
0
  unsigned NextRes = Result.size();
39361
0
  switch (PatternNo) {
39362
0
  default: llvm_unreachable("Invalid pattern # in table?");
39363
0
  case 0:
39364
0
    Result.resize(NextRes+1);
39365
0
  return SelectBaseAddr(N, Result[NextRes+0].first);
39366
0
  case 1:
39367
0
    Result.resize(NextRes+1);
39368
0
  return selectVSplatImm<5>(N, Result[NextRes+0].first);
39369
0
  case 2:
39370
0
    Result.resize(NextRes+1);
39371
0
  return selectNonFIBaseAddr(N, Result[NextRes+0].first);
39372
0
  case 3:
39373
0
    Result.resize(NextRes+1);
39374
0
  return selectVSplatImm<5, true>(N, Result[NextRes+0].first);
39375
0
  case 4:
39376
0
    Result.resize(NextRes+2);
39377
0
  return SelectAddrConstant(N, Result[NextRes+0].first, Result[NextRes+1].first);
39378
0
  case 5:
39379
0
    Result.resize(NextRes+1);
39380
0
  return selectVSplatUimmPow2(N, Result[NextRes+0].first);
39381
0
  case 6:
39382
0
    Result.resize(NextRes+1);
39383
0
  return selectVSplatUimmInvPow2(N, Result[NextRes+0].first);
39384
0
  case 7:
39385
0
    Result.resize(NextRes+1);
39386
0
  return selectVSplatImm<8>(N, Result[NextRes+0].first);
39387
0
  case 8:
39388
0
    Result.resize(NextRes+1);
39389
0
  return selectShiftMaskGRLen(N, Result[NextRes+0].first);
39390
0
  case 9:
39391
0
    Result.resize(NextRes+1);
39392
0
  return selectVSplatImm<3>(N, Result[NextRes+0].first);
39393
0
  case 10:
39394
0
    Result.resize(NextRes+1);
39395
0
  return selectVSplatImm<4>(N, Result[NextRes+0].first);
39396
0
  case 11:
39397
0
    Result.resize(NextRes+1);
39398
0
  return selectVSplatImm<6>(N, Result[NextRes+0].first);
39399
0
  case 12:
39400
0
    Result.resize(NextRes+1);
39401
0
  return selectShiftMask32(N, Result[NextRes+0].first);
39402
0
  case 13:
39403
0
    Result.resize(NextRes+1);
39404
0
  return selectSExti32(N, Result[NextRes+0].first);
39405
0
  }
39406
0
}
39407
#endif // GET_DAGISEL_BODY
39408
39409
#ifdef GET_DAGISEL_DECL
39410
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
39411
#endif
39412
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
39413
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
39414
#if DAGISEL_INLINE
39415
  override
39416
#endif
39417
0
{
39418
0
  switch (XFormNo) {
39419
0
  default: llvm_unreachable("Invalid xform # in table?");
39420
0
  case 0: {  
39421
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39422
39423
0
  uint64_t Imm = N->getZExtValue();
39424
0
  unsigned I1 = llvm::countr_zero(Imm);
39425
0
  uint64_t I0;
39426
0
  switch (Imm >> I1) {
39427
0
  case 3:  I0 = 1; break;
39428
0
  case 5:  I0 = 2; break;
39429
0
  case 9:  I0 = 3; break;
39430
0
  default: I0 = 4; break;
39431
0
  }
39432
0
  return CurDAG->getTargetConstant(I0, SDLoc(N),
39433
0
                                   N->getValueType(0));
39434
39435
0
  }
39436
0
  case 1: {  
39437
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39438
39439
0
  uint64_t Imm = N->getZExtValue();
39440
0
  unsigned I1 = llvm::countr_zero(Imm);
39441
0
  return CurDAG->getTargetConstant(I1, SDLoc(N),
39442
0
                                   N->getValueType(0));
39443
39444
0
  }
39445
0
  case 2: {  
39446
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39447
39448
0
  auto Imm = N->getSExtValue();
39449
0
  return CurDAG->getTargetConstant((Imm - SignExtend64<12>(Imm)) >> 16,
39450
0
                                   SDLoc(N), N->getValueType(0));
39451
39452
0
  }
39453
0
  case 3: {  
39454
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39455
39456
0
  return CurDAG->getTargetConstant(SignExtend64<12>(N->getSExtValue()),
39457
0
                                   SDLoc(N), N->getValueType(0));
39458
39459
0
  }
39460
0
  case 4: {  
39461
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39462
39463
0
  int64_t Imm = N->getSExtValue() < 0 ? -2048 : 2047;
39464
0
  return CurDAG->getTargetConstant(Imm, SDLoc(N),
39465
0
                                   N->getValueType(0));
39466
39467
0
  }
39468
0
  case 5: {  
39469
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39470
39471
0
  int64_t Imm = N->getSExtValue();
39472
0
  int64_t Adj = Imm < 0 ? -2048 : 2047;
39473
0
  return CurDAG->getTargetConstant(Imm - Adj, SDLoc(N),
39474
0
                                   N->getValueType(0));
39475
39476
0
  }
39477
0
  case 6: {  
39478
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39479
39480
0
  return CurDAG->getTargetConstant(32 - N->getZExtValue(), SDLoc(N),
39481
0
                                   N->getValueType(0));
39482
39483
0
  }
39484
0
  case 7: {  
39485
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39486
39487
0
  return CurDAG->getTargetConstant(N->getSExtValue() >> 16, SDLoc(N),
39488
0
                                   N->getValueType(0));
39489
39490
0
  }
39491
0
  case 8: {  
39492
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39493
39494
0
  auto CN = cast<ConstantSDNode>(N);
39495
0
  return CurDAG->getTargetConstant(CN->getSExtValue(), SDLoc(N), Subtarget->getGRLenVT());
39496
39497
0
  }
39498
0
  case 9: {  
39499
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39500
39501
0
  uint64_t Imm = N->getZExtValue();
39502
0
  unsigned MaskIdx, MaskLen;
39503
0
  N->getValueType(0).getSizeInBits() == 32
39504
0
      ? llvm::isShiftedMask_32(~Imm, MaskIdx, MaskLen)
39505
0
      : llvm::isShiftedMask_64(~Imm, MaskIdx, MaskLen);
39506
0
  return CurDAG->getTargetConstant(MaskIdx + MaskLen - 1, SDLoc(N),
39507
0
                                   N->getValueType(0));
39508
39509
0
  }
39510
0
  case 10: {  
39511
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39512
39513
0
  uint64_t Imm = N->getZExtValue();
39514
0
  unsigned MaskIdx, MaskLen;
39515
0
  N->getValueType(0).getSizeInBits() == 32
39516
0
      ? llvm::isShiftedMask_32(~Imm, MaskIdx, MaskLen)
39517
0
      : llvm::isShiftedMask_64(~Imm, MaskIdx, MaskLen);
39518
0
  return CurDAG->getTargetConstant(MaskIdx, SDLoc(N), N->getValueType(0));
39519
39520
0
  }
39521
0
  case 11: {  
39522
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39523
39524
0
  return CurDAG->getTargetConstant(-N->getSExtValue(), SDLoc(N),
39525
0
                                   N->getValueType(0));
39526
39527
0
  }
39528
0
  case 12: {  
39529
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
39530
39531
0
  uint64_t Check = N->getZExtValue();
39532
0
  unsigned Mask = 0;
39533
0
  if (Check & fcSNan)
39534
0
    Mask |= LoongArch::FClassMaskSignalingNaN;
39535
0
  if (Check & fcQNan)
39536
0
    Mask |= LoongArch::FClassMaskQuietNaN;
39537
0
  if (Check & fcPosInf)
39538
0
    Mask |= LoongArch::FClassMaskPositiveInfinity;
39539
0
  if (Check & fcNegInf)
39540
0
    Mask |= LoongArch::FClassMaskNegativeInfinity;
39541
0
  if (Check & fcPosNormal)
39542
0
    Mask |= LoongArch::FClassMaskPositiveNormal;
39543
0
  if (Check & fcNegNormal)
39544
0
    Mask |= LoongArch::FClassMaskNegativeNormal;
39545
0
  if (Check & fcPosSubnormal)
39546
0
    Mask |= LoongArch::FClassMaskPositiveSubnormal;
39547
0
  if (Check & fcNegSubnormal)
39548
0
    Mask |= LoongArch::FClassMaskNegativeSubnormal;
39549
0
  if (Check & fcPosZero)
39550
0
    Mask |= LoongArch::FClassMaskPositiveZero;
39551
0
  if (Check & fcNegZero)
39552
0
    Mask |= LoongArch::FClassMaskNegativeZero;
39553
0
  return CurDAG->getTargetConstant(Mask, SDLoc(N), Subtarget->getGRLenVT());
39554
39555
0
  }
39556
0
  }
39557
0
}
39558
#endif // GET_DAGISEL_BODY
39559
39560
39561
#ifdef DAGISEL_INLINE
39562
#undef DAGISEL_INLINE
39563
#endif
39564
#ifdef DAGISEL_CLASS_COLONCOLON
39565
#undef DAGISEL_CLASS_COLONCOLON
39566
#endif
39567
#ifdef GET_DAGISEL_DECL
39568
#undef GET_DAGISEL_DECL
39569
#endif
39570
#ifdef GET_DAGISEL_BODY
39571
#undef GET_DAGISEL_BODY
39572
#endif