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
29static_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
48void SelectCode(SDNode *N);
49#endif
50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52{
53 // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 // this.
55 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56 static const unsigned char MatcherTable[] = {
57 OPC_SwitchOpcode , 38|128,18, TARGET_VAL(ISD::MUL),
58 OPC_Scope, 58,
59 OPC_MoveChild0,
60 OPC_SwitchOpcode , 26, TARGET_VAL(LoongArchISD::BSTRPICK),
61 OPC_RecordChild0,
62 OPC_CheckChild1Integer, 62,
63 OPC_CheckChild1TypeI64,
64 OPC_CheckChild2Integer, 0,
65 OPC_MoveSibling1,
66 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
67 OPC_RecordChild0,
68 OPC_CheckChild1Integer, 62,
69 OPC_CheckChild1TypeI64,
70 OPC_CheckChild2Integer, 0,
71 OPC_MoveParent,
72 OPC_CheckTypeI64,
73 OPC_CheckPatternPredicate6,
74 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULW_D_WU),
75 MVT::i64, 2, 0, 1,
76 23, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
77 OPC_RecordChild0,
78 OPC_MoveChild1,
79 OPC_CheckValueType, MVT::i32,
80 OPC_MoveParent,
81 OPC_MoveSibling1,
82 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
83 OPC_RecordChild0,
84 OPC_MoveChild1,
85 OPC_CheckValueType, MVT::i32,
86 OPC_MoveParent,
87 OPC_MoveParent,
88 OPC_CheckPatternPredicate6,
89 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULW_D_W),
90 MVT::i64, 2, 0, 1,
91 0,
92 103|128,17,
93 OPC_RecordChild0,
94 OPC_Scope, 53,
95 OPC_CheckChild1Integer, 14,
96 OPC_CheckPredicate, 12,
97 OPC_SwitchType , 22, MVT::i32,
98 OPC_CheckPatternPredicate, 9,
99 OPC_EmitInteger32, 2,
100 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
101 MVT::i32, 3, 0, 0, 1,
102 OPC_EmitInteger32, 2,
103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
104 MVT::i32, 3, 2, 0, 3,
105 21, MVT::i64,
106 OPC_CheckPatternPredicate6,
107 OPC_EmitInteger64, 2,
108 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
109 MVT::i64, 3, 0, 0, 1,
110 OPC_EmitInteger64, 2,
111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
112 MVT::i64, 3, 2, 0, 3,
113 0,
114 53,
115 OPC_CheckChild1Integer, 26,
116 OPC_CheckPredicate, 12,
117 OPC_SwitchType , 22, MVT::i32,
118 OPC_CheckPatternPredicate, 9,
119 OPC_EmitInteger32, 2,
120 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
121 MVT::i32, 3, 0, 0, 1,
122 OPC_EmitInteger32, 4,
123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
124 MVT::i32, 3, 2, 0, 3,
125 21, MVT::i64,
126 OPC_CheckPatternPredicate6,
127 OPC_EmitInteger64, 2,
128 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
129 MVT::i64, 3, 0, 0, 1,
130 OPC_EmitInteger64, 4,
131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
132 MVT::i64, 3, 2, 0, 3,
133 0,
134 121,
135 OPC_CheckChild1Integer, 50,
136 OPC_CheckPredicate, 12,
137 OPC_SwitchType , 56, MVT::i32,
138 OPC_CheckPatternPredicate, 9,
139 OPC_Scope, 20,
140 OPC_EmitInteger32, 2,
141 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
142 MVT::i32, 3, 0, 0, 1,
143 OPC_EmitInteger32, 6,
144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
145 MVT::i32, 3, 2, 0, 3,
146 30,
147 OPC_EmitInteger32, 4,
148 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
149 MVT::i32, 3, 0, 0, 1,
150 OPC_EmitInteger32, 4,
151 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
152 MVT::i32, 3, 0, 0, 3,
153 OPC_EmitInteger32, 4,
154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
155 MVT::i32, 3, 2, 4, 5,
156 0,
157 55, MVT::i64,
158 OPC_CheckPatternPredicate6,
159 OPC_Scope, 20,
160 OPC_EmitInteger64, 2,
161 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
162 MVT::i64, 3, 0, 0, 1,
163 OPC_EmitInteger64, 6,
164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
165 MVT::i64, 3, 2, 0, 3,
166 30,
167 OPC_EmitInteger64, 4,
168 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
169 MVT::i64, 3, 0, 0, 1,
170 OPC_EmitInteger64, 4,
171 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
172 MVT::i64, 3, 0, 0, 3,
173 OPC_EmitInteger64, 4,
174 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
175 MVT::i64, 3, 2, 4, 5,
176 0,
177 0,
178 53,
179 OPC_CheckChild1Integer, 98,
180 OPC_CheckPredicate, 12,
181 OPC_SwitchType , 22, MVT::i32,
182 OPC_CheckPatternPredicate, 9,
183 OPC_EmitInteger32, 2,
184 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
185 MVT::i32, 3, 0, 0, 1,
186 OPC_EmitInteger32, 8,
187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
188 MVT::i32, 3, 2, 0, 3,
189 21, MVT::i64,
190 OPC_CheckPatternPredicate6,
191 OPC_EmitInteger64, 2,
192 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
193 MVT::i64, 3, 0, 0, 1,
194 OPC_EmitInteger64, 8,
195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
196 MVT::i64, 3, 2, 0, 3,
197 0,
198 53,
199 OPC_CheckChild1Integer, 22,
200 OPC_CheckPredicate, 12,
201 OPC_SwitchType , 22, MVT::i32,
202 OPC_CheckPatternPredicate, 9,
203 OPC_EmitInteger32, 4,
204 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
205 MVT::i32, 3, 0, 0, 1,
206 OPC_EmitInteger32, 2,
207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
208 MVT::i32, 3, 2, 0, 3,
209 21, MVT::i64,
210 OPC_CheckPatternPredicate6,
211 OPC_EmitInteger64, 4,
212 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
213 MVT::i64, 3, 0, 0, 1,
214 OPC_EmitInteger64, 2,
215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
216 MVT::i64, 3, 2, 0, 3,
217 0,
218 53,
219 OPC_CheckChild1Integer, 42,
220 OPC_CheckPredicate, 12,
221 OPC_SwitchType , 22, MVT::i32,
222 OPC_CheckPatternPredicate, 9,
223 OPC_EmitInteger32, 4,
224 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
225 MVT::i32, 3, 0, 0, 1,
226 OPC_EmitInteger32, 4,
227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
228 MVT::i32, 3, 2, 0, 3,
229 21, MVT::i64,
230 OPC_CheckPatternPredicate6,
231 OPC_EmitInteger64, 4,
232 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
233 MVT::i64, 3, 0, 0, 1,
234 OPC_EmitInteger64, 4,
235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
236 MVT::i64, 3, 2, 0, 3,
237 0,
238 53,
239 OPC_CheckChild1Integer, 82,
240 OPC_CheckPredicate, 12,
241 OPC_SwitchType , 22, MVT::i32,
242 OPC_CheckPatternPredicate, 9,
243 OPC_EmitInteger32, 4,
244 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
245 MVT::i32, 3, 0, 0, 1,
246 OPC_EmitInteger32, 6,
247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
248 MVT::i32, 3, 2, 0, 3,
249 21, MVT::i64,
250 OPC_CheckPatternPredicate6,
251 OPC_EmitInteger64, 4,
252 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
253 MVT::i64, 3, 0, 0, 1,
254 OPC_EmitInteger64, 6,
255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
256 MVT::i64, 3, 2, 0, 3,
257 0,
258 122,
259 OPC_CheckChild1Integer, 34|128,1,
260 OPC_CheckPredicate, 12,
261 OPC_SwitchType , 56, MVT::i32,
262 OPC_CheckPatternPredicate, 9,
263 OPC_Scope, 20,
264 OPC_EmitInteger32, 4,
265 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
266 MVT::i32, 3, 0, 0, 1,
267 OPC_EmitInteger32, 8,
268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
269 MVT::i32, 3, 2, 0, 3,
270 30,
271 OPC_EmitInteger32, 6,
272 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
273 MVT::i32, 3, 0, 0, 1,
274 OPC_EmitInteger32, 6,
275 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
276 MVT::i32, 3, 0, 0, 3,
277 OPC_EmitInteger32, 6,
278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
279 MVT::i32, 3, 2, 4, 5,
280 0,
281 55, MVT::i64,
282 OPC_CheckPatternPredicate6,
283 OPC_Scope, 20,
284 OPC_EmitInteger64, 4,
285 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
286 MVT::i64, 3, 0, 0, 1,
287 OPC_EmitInteger64, 8,
288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
289 MVT::i64, 3, 2, 0, 3,
290 30,
291 OPC_EmitInteger64, 6,
292 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
293 MVT::i64, 3, 0, 0, 1,
294 OPC_EmitInteger64, 6,
295 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
296 MVT::i64, 3, 0, 0, 3,
297 OPC_EmitInteger64, 6,
298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
299 MVT::i64, 3, 2, 4, 5,
300 0,
301 0,
302 53,
303 OPC_CheckChild1Integer, 38,
304 OPC_CheckPredicate, 12,
305 OPC_SwitchType , 22, MVT::i32,
306 OPC_CheckPatternPredicate, 9,
307 OPC_EmitInteger32, 6,
308 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
309 MVT::i32, 3, 0, 0, 1,
310 OPC_EmitInteger32, 2,
311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
312 MVT::i32, 3, 2, 0, 3,
313 21, MVT::i64,
314 OPC_CheckPatternPredicate6,
315 OPC_EmitInteger64, 6,
316 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
317 MVT::i64, 3, 0, 0, 1,
318 OPC_EmitInteger64, 2,
319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
320 MVT::i64, 3, 2, 0, 3,
321 0,
322 53,
323 OPC_CheckChild1Integer, 74,
324 OPC_CheckPredicate, 12,
325 OPC_SwitchType , 22, MVT::i32,
326 OPC_CheckPatternPredicate, 9,
327 OPC_EmitInteger32, 6,
328 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
329 MVT::i32, 3, 0, 0, 1,
330 OPC_EmitInteger32, 4,
331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
332 MVT::i32, 3, 2, 0, 3,
333 21, MVT::i64,
334 OPC_CheckPatternPredicate6,
335 OPC_EmitInteger64, 6,
336 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
337 MVT::i64, 3, 0, 0, 1,
338 OPC_EmitInteger64, 4,
339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
340 MVT::i64, 3, 2, 0, 3,
341 0,
342 54,
343 OPC_CheckChild1Integer, 18|128,1,
344 OPC_CheckPredicate, 12,
345 OPC_SwitchType , 22, MVT::i32,
346 OPC_CheckPatternPredicate, 9,
347 OPC_EmitInteger32, 6,
348 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
349 MVT::i32, 3, 0, 0, 1,
350 OPC_EmitInteger32, 6,
351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
352 MVT::i32, 3, 2, 0, 3,
353 21, MVT::i64,
354 OPC_CheckPatternPredicate6,
355 OPC_EmitInteger64, 6,
356 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
357 MVT::i64, 3, 0, 0, 1,
358 OPC_EmitInteger64, 6,
359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
360 MVT::i64, 3, 2, 0, 3,
361 0,
362 54,
363 OPC_CheckChild1Integer, 34|128,2,
364 OPC_CheckPredicate, 12,
365 OPC_SwitchType , 22, MVT::i32,
366 OPC_CheckPatternPredicate, 9,
367 OPC_EmitInteger32, 6,
368 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
369 MVT::i32, 3, 0, 0, 1,
370 OPC_EmitInteger32, 8,
371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
372 MVT::i32, 3, 2, 0, 3,
373 21, MVT::i64,
374 OPC_CheckPatternPredicate6,
375 OPC_EmitInteger64, 6,
376 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
377 MVT::i64, 3, 0, 0, 1,
378 OPC_EmitInteger64, 8,
379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
380 MVT::i64, 3, 2, 0, 3,
381 0,
382 53,
383 OPC_CheckChild1Integer, 70,
384 OPC_CheckPredicate, 12,
385 OPC_SwitchType , 22, MVT::i32,
386 OPC_CheckPatternPredicate, 9,
387 OPC_EmitInteger32, 8,
388 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
389 MVT::i32, 3, 0, 0, 1,
390 OPC_EmitInteger32, 2,
391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
392 MVT::i32, 3, 2, 0, 3,
393 21, MVT::i64,
394 OPC_CheckPatternPredicate6,
395 OPC_EmitInteger64, 8,
396 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
397 MVT::i64, 3, 0, 0, 1,
398 OPC_EmitInteger64, 2,
399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
400 MVT::i64, 3, 2, 0, 3,
401 0,
402 54,
403 OPC_CheckChild1Integer, 10|128,1,
404 OPC_CheckPredicate, 12,
405 OPC_SwitchType , 22, MVT::i32,
406 OPC_CheckPatternPredicate, 9,
407 OPC_EmitInteger32, 8,
408 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
409 MVT::i32, 3, 0, 0, 1,
410 OPC_EmitInteger32, 4,
411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
412 MVT::i32, 3, 2, 0, 3,
413 21, MVT::i64,
414 OPC_CheckPatternPredicate6,
415 OPC_EmitInteger64, 8,
416 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
417 MVT::i64, 3, 0, 0, 1,
418 OPC_EmitInteger64, 4,
419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
420 MVT::i64, 3, 2, 0, 3,
421 0,
422 54,
423 OPC_CheckChild1Integer, 18|128,2,
424 OPC_CheckPredicate, 12,
425 OPC_SwitchType , 22, MVT::i32,
426 OPC_CheckPatternPredicate, 9,
427 OPC_EmitInteger32, 8,
428 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
429 MVT::i32, 3, 0, 0, 1,
430 OPC_EmitInteger32, 6,
431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
432 MVT::i32, 3, 2, 0, 3,
433 21, MVT::i64,
434 OPC_CheckPatternPredicate6,
435 OPC_EmitInteger64, 8,
436 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
437 MVT::i64, 3, 0, 0, 1,
438 OPC_EmitInteger64, 6,
439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
440 MVT::i64, 3, 2, 0, 3,
441 0,
442 54,
443 OPC_CheckChild1Integer, 34|128,4,
444 OPC_CheckPredicate, 12,
445 OPC_SwitchType , 22, MVT::i32,
446 OPC_CheckPatternPredicate, 9,
447 OPC_EmitInteger32, 8,
448 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
449 MVT::i32, 3, 0, 0, 1,
450 OPC_EmitInteger32, 8,
451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
452 MVT::i32, 3, 2, 0, 3,
453 21, MVT::i64,
454 OPC_CheckPatternPredicate6,
455 OPC_EmitInteger64, 8,
456 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
457 MVT::i64, 3, 0, 0, 1,
458 OPC_EmitInteger64, 8,
459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
460 MVT::i64, 3, 2, 0, 3,
461 0,
462 73,
463 OPC_CheckChild1Integer, 18,
464 OPC_CheckPredicate, 12,
465 OPC_SwitchType , 32, MVT::i32,
466 OPC_CheckPatternPredicate, 9,
467 OPC_EmitInteger32, 2,
468 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
469 MVT::i32, 3, 0, 0, 1,
470 OPC_EmitInteger32, 2,
471 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
472 MVT::i32, 3, 0, 0, 3,
473 OPC_EmitInteger32, 2,
474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
475 MVT::i32, 3, 2, 4, 5,
476 31, MVT::i64,
477 OPC_CheckPatternPredicate6,
478 OPC_EmitInteger64, 2,
479 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
480 MVT::i64, 3, 0, 0, 1,
481 OPC_EmitInteger64, 2,
482 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
483 MVT::i64, 3, 0, 0, 3,
484 OPC_EmitInteger64, 2,
485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
486 MVT::i64, 3, 2, 4, 5,
487 0,
488 13|128,1,
489 OPC_CheckChild1Integer, 30,
490 OPC_CheckPredicate, 12,
491 OPC_SwitchType , 66, MVT::i32,
492 OPC_CheckPatternPredicate, 9,
493 OPC_Scope, 30,
494 OPC_EmitInteger32, 2,
495 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
496 MVT::i32, 3, 0, 0, 1,
497 OPC_EmitInteger32, 2,
498 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
499 MVT::i32, 3, 0, 0, 3,
500 OPC_EmitInteger32, 4,
501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
502 MVT::i32, 3, 2, 4, 5,
503 30,
504 OPC_EmitInteger32, 4,
505 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
506 MVT::i32, 3, 0, 0, 1,
507 OPC_EmitInteger32, 4,
508 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
509 MVT::i32, 3, 0, 0, 3,
510 OPC_EmitInteger32, 2,
511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
512 MVT::i32, 3, 2, 4, 5,
513 0,
514 65, MVT::i64,
515 OPC_CheckPatternPredicate6,
516 OPC_Scope, 30,
517 OPC_EmitInteger64, 2,
518 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
519 MVT::i64, 3, 0, 0, 1,
520 OPC_EmitInteger64, 2,
521 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
522 MVT::i64, 3, 0, 0, 3,
523 OPC_EmitInteger64, 4,
524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
525 MVT::i64, 3, 2, 4, 5,
526 30,
527 OPC_EmitInteger64, 4,
528 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
529 MVT::i64, 3, 0, 0, 1,
530 OPC_EmitInteger64, 4,
531 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
532 MVT::i64, 3, 0, 0, 3,
533 OPC_EmitInteger64, 2,
534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
535 MVT::i64, 3, 2, 4, 5,
536 0,
537 0,
538 13|128,1,
539 OPC_CheckChild1Integer, 54,
540 OPC_CheckPredicate, 12,
541 OPC_SwitchType , 66, MVT::i32,
542 OPC_CheckPatternPredicate, 9,
543 OPC_Scope, 30,
544 OPC_EmitInteger32, 2,
545 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
546 MVT::i32, 3, 0, 0, 1,
547 OPC_EmitInteger32, 2,
548 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
549 MVT::i32, 3, 0, 0, 3,
550 OPC_EmitInteger32, 6,
551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
552 MVT::i32, 3, 2, 4, 5,
553 30,
554 OPC_EmitInteger32, 6,
555 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
556 MVT::i32, 3, 0, 0, 1,
557 OPC_EmitInteger32, 6,
558 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
559 MVT::i32, 3, 0, 0, 3,
560 OPC_EmitInteger32, 2,
561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
562 MVT::i32, 3, 2, 4, 5,
563 0,
564 65, MVT::i64,
565 OPC_CheckPatternPredicate6,
566 OPC_Scope, 30,
567 OPC_EmitInteger64, 2,
568 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
569 MVT::i64, 3, 0, 0, 1,
570 OPC_EmitInteger64, 2,
571 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
572 MVT::i64, 3, 0, 0, 3,
573 OPC_EmitInteger64, 6,
574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
575 MVT::i64, 3, 2, 4, 5,
576 30,
577 OPC_EmitInteger64, 6,
578 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
579 MVT::i64, 3, 0, 0, 1,
580 OPC_EmitInteger64, 6,
581 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
582 MVT::i64, 3, 0, 0, 3,
583 OPC_EmitInteger64, 2,
584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
585 MVT::i64, 3, 2, 4, 5,
586 0,
587 0,
588 13|128,1,
589 OPC_CheckChild1Integer, 102,
590 OPC_CheckPredicate, 12,
591 OPC_SwitchType , 66, MVT::i32,
592 OPC_CheckPatternPredicate, 9,
593 OPC_Scope, 30,
594 OPC_EmitInteger32, 2,
595 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
596 MVT::i32, 3, 0, 0, 1,
597 OPC_EmitInteger32, 2,
598 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
599 MVT::i32, 3, 0, 0, 3,
600 OPC_EmitInteger32, 8,
601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
602 MVT::i32, 3, 2, 4, 5,
603 30,
604 OPC_EmitInteger32, 8,
605 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
606 MVT::i32, 3, 0, 0, 1,
607 OPC_EmitInteger32, 8,
608 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
609 MVT::i32, 3, 0, 0, 3,
610 OPC_EmitInteger32, 2,
611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
612 MVT::i32, 3, 2, 4, 5,
613 0,
614 65, MVT::i64,
615 OPC_CheckPatternPredicate6,
616 OPC_Scope, 30,
617 OPC_EmitInteger64, 2,
618 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
619 MVT::i64, 3, 0, 0, 1,
620 OPC_EmitInteger64, 2,
621 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
622 MVT::i64, 3, 0, 0, 3,
623 OPC_EmitInteger64, 8,
624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
625 MVT::i64, 3, 2, 4, 5,
626 30,
627 OPC_EmitInteger64, 8,
628 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
629 MVT::i64, 3, 0, 0, 1,
630 OPC_EmitInteger64, 8,
631 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
632 MVT::i64, 3, 0, 0, 3,
633 OPC_EmitInteger64, 2,
634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
635 MVT::i64, 3, 2, 4, 5,
636 0,
637 0,
638 13|128,1,
639 OPC_CheckChild1Integer, 90,
640 OPC_CheckPredicate, 12,
641 OPC_SwitchType , 66, MVT::i32,
642 OPC_CheckPatternPredicate, 9,
643 OPC_Scope, 30,
644 OPC_EmitInteger32, 4,
645 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
646 MVT::i32, 3, 0, 0, 1,
647 OPC_EmitInteger32, 4,
648 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
649 MVT::i32, 3, 0, 0, 3,
650 OPC_EmitInteger32, 6,
651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
652 MVT::i32, 3, 2, 4, 5,
653 30,
654 OPC_EmitInteger32, 6,
655 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
656 MVT::i32, 3, 0, 0, 1,
657 OPC_EmitInteger32, 6,
658 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
659 MVT::i32, 3, 0, 0, 3,
660 OPC_EmitInteger32, 4,
661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
662 MVT::i32, 3, 2, 4, 5,
663 0,
664 65, MVT::i64,
665 OPC_CheckPatternPredicate6,
666 OPC_Scope, 30,
667 OPC_EmitInteger64, 4,
668 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
669 MVT::i64, 3, 0, 0, 1,
670 OPC_EmitInteger64, 4,
671 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
672 MVT::i64, 3, 0, 0, 3,
673 OPC_EmitInteger64, 6,
674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
675 MVT::i64, 3, 2, 4, 5,
676 30,
677 OPC_EmitInteger64, 6,
678 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
679 MVT::i64, 3, 0, 0, 1,
680 OPC_EmitInteger64, 6,
681 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
682 MVT::i64, 3, 0, 0, 3,
683 OPC_EmitInteger64, 4,
684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
685 MVT::i64, 3, 2, 4, 5,
686 0,
687 0,
688 14|128,1,
689 OPC_CheckChild1Integer, 42|128,1,
690 OPC_CheckPredicate, 12,
691 OPC_SwitchType , 66, MVT::i32,
692 OPC_CheckPatternPredicate, 9,
693 OPC_Scope, 30,
694 OPC_EmitInteger32, 4,
695 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
696 MVT::i32, 3, 0, 0, 1,
697 OPC_EmitInteger32, 4,
698 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
699 MVT::i32, 3, 0, 0, 3,
700 OPC_EmitInteger32, 8,
701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
702 MVT::i32, 3, 2, 4, 5,
703 30,
704 OPC_EmitInteger32, 8,
705 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
706 MVT::i32, 3, 0, 0, 1,
707 OPC_EmitInteger32, 8,
708 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
709 MVT::i32, 3, 0, 0, 3,
710 OPC_EmitInteger32, 4,
711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
712 MVT::i32, 3, 2, 4, 5,
713 0,
714 65, MVT::i64,
715 OPC_CheckPatternPredicate6,
716 OPC_Scope, 30,
717 OPC_EmitInteger64, 4,
718 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
719 MVT::i64, 3, 0, 0, 1,
720 OPC_EmitInteger64, 4,
721 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
722 MVT::i64, 3, 0, 0, 3,
723 OPC_EmitInteger64, 8,
724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
725 MVT::i64, 3, 2, 4, 5,
726 30,
727 OPC_EmitInteger64, 8,
728 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
729 MVT::i64, 3, 0, 0, 1,
730 OPC_EmitInteger64, 8,
731 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
732 MVT::i64, 3, 0, 0, 3,
733 OPC_EmitInteger64, 4,
734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
735 MVT::i64, 3, 2, 4, 5,
736 0,
737 0,
738 14|128,1,
739 OPC_CheckChild1Integer, 50|128,2,
740 OPC_CheckPredicate, 12,
741 OPC_SwitchType , 66, MVT::i32,
742 OPC_CheckPatternPredicate, 9,
743 OPC_Scope, 30,
744 OPC_EmitInteger32, 6,
745 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
746 MVT::i32, 3, 0, 0, 1,
747 OPC_EmitInteger32, 6,
748 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
749 MVT::i32, 3, 0, 0, 3,
750 OPC_EmitInteger32, 8,
751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
752 MVT::i32, 3, 2, 4, 5,
753 30,
754 OPC_EmitInteger32, 8,
755 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
756 MVT::i32, 3, 0, 0, 1,
757 OPC_EmitInteger32, 8,
758 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
759 MVT::i32, 3, 0, 0, 3,
760 OPC_EmitInteger32, 6,
761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
762 MVT::i32, 3, 2, 4, 5,
763 0,
764 65, MVT::i64,
765 OPC_CheckPatternPredicate6,
766 OPC_Scope, 30,
767 OPC_EmitInteger64, 6,
768 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
769 MVT::i64, 3, 0, 0, 1,
770 OPC_EmitInteger64, 6,
771 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
772 MVT::i64, 3, 0, 0, 3,
773 OPC_EmitInteger64, 8,
774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
775 MVT::i64, 3, 2, 4, 5,
776 30,
777 OPC_EmitInteger64, 8,
778 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
779 MVT::i64, 3, 0, 0, 1,
780 OPC_EmitInteger64, 8,
781 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
782 MVT::i64, 3, 0, 0, 3,
783 OPC_EmitInteger64, 6,
784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
785 MVT::i64, 3, 2, 4, 5,
786 0,
787 0,
788 74,
789 OPC_CheckChild1Integer, 66|128,4,
790 OPC_CheckPredicate, 12,
791 OPC_SwitchType , 32, MVT::i32,
792 OPC_CheckPatternPredicate, 9,
793 OPC_EmitInteger32, 8,
794 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
795 MVT::i32, 3, 0, 0, 1,
796 OPC_EmitInteger32, 8,
797 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
798 MVT::i32, 3, 0, 0, 3,
799 OPC_EmitInteger32, 8,
800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
801 MVT::i32, 3, 2, 4, 5,
802 31, MVT::i64,
803 OPC_CheckPatternPredicate6,
804 OPC_EmitInteger64, 8,
805 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
806 MVT::i64, 3, 0, 0, 1,
807 OPC_EmitInteger64, 8,
808 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
809 MVT::i64, 3, 0, 0, 3,
810 OPC_EmitInteger64, 8,
811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
812 MVT::i64, 3, 2, 4, 5,
813 0,
814 3|128,2,
815 OPC_RecordChild1,
816 OPC_Scope, 120,
817 OPC_MoveChild1,
818 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
819 OPC_CheckPredicate, 48,
820 OPC_MoveParent,
821 OPC_SwitchType , 53, MVT::i64,
822 OPC_Scope, 25,
823 OPC_CheckPatternPredicate, 15,
824 OPC_EmitConvertToTarget1,
825 OPC_EmitNodeXForm, 0, 2,
826 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
827 MVT::i64, 3, 0, 0, 3,
828 OPC_EmitConvertToTarget1,
829 OPC_EmitNodeXForm, 1, 5,
830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
831 MVT::i64, 2, 4, 6,
832 24,
833 OPC_CheckPatternPredicate6,
834 OPC_EmitConvertToTarget1,
835 OPC_EmitNodeXForm, 0, 2,
836 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
837 MVT::i64, 3, 0, 0, 3,
838 OPC_EmitConvertToTarget1,
839 OPC_EmitNodeXForm, 1, 5,
840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
841 MVT::i64, 2, 4, 6,
842 0,
843 54, MVT::i32,
844 OPC_Scope, 25,
845 OPC_CheckPatternPredicate, 9,
846 OPC_EmitConvertToTarget1,
847 OPC_EmitNodeXForm, 0, 2,
848 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
849 MVT::i32, 3, 0, 0, 3,
850 OPC_EmitConvertToTarget1,
851 OPC_EmitNodeXForm, 1, 5,
852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
853 MVT::i32, 2, 4, 6,
854 25,
855 OPC_CheckPatternPredicate, 10,
856 OPC_EmitConvertToTarget1,
857 OPC_EmitNodeXForm, 0, 2,
858 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_D),
859 MVT::i32, 3, 0, 0, 3,
860 OPC_EmitConvertToTarget1,
861 OPC_EmitNodeXForm, 1, 5,
862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
863 MVT::i32, 2, 4, 6,
864 0,
865 0,
866 22,
867 OPC_CheckTypeI64,
868 OPC_Scope, 9,
869 OPC_CheckPatternPredicate, 15,
870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_W),
871 MVT::i64, 2, 0, 1,
872 8,
873 OPC_CheckPatternPredicate6,
874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_D),
875 MVT::i64, 2, 0, 1,
876 0,
877 23,
878 OPC_CheckTypeI32,
879 OPC_Scope, 9,
880 OPC_CheckPatternPredicate, 9,
881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_W),
882 MVT::i32, 2, 0, 1,
883 9,
884 OPC_CheckPatternPredicate, 10,
885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MUL_D),
886 MVT::i32, 2, 0, 1,
887 0,
888 10,
889 OPC_CheckType, MVT::v16i8,
890 OPC_CheckPatternPredicate1,
891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_B),
892 MVT::v16i8, 2, 0, 1,
893 10,
894 OPC_CheckType, MVT::v8i16,
895 OPC_CheckPatternPredicate1,
896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_H),
897 MVT::v8i16, 2, 0, 1,
898 10,
899 OPC_CheckType, MVT::v4i32,
900 OPC_CheckPatternPredicate1,
901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_W),
902 MVT::v4i32, 2, 0, 1,
903 10,
904 OPC_CheckType, MVT::v2i64,
905 OPC_CheckPatternPredicate1,
906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_D),
907 MVT::v2i64, 2, 0, 1,
908 10,
909 OPC_CheckType, MVT::v32i8,
910 OPC_CheckPatternPredicate0,
911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_B),
912 MVT::v32i8, 2, 0, 1,
913 10,
914 OPC_CheckType, MVT::v16i16,
915 OPC_CheckPatternPredicate0,
916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_H),
917 MVT::v16i16, 2, 0, 1,
918 10,
919 OPC_CheckType, MVT::v8i32,
920 OPC_CheckPatternPredicate0,
921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_W),
922 MVT::v8i32, 2, 0, 1,
923 10,
924 OPC_CheckType, MVT::v4i64,
925 OPC_CheckPatternPredicate0,
926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_D),
927 MVT::v4i64, 2, 0, 1,
928 0,
929 0,
930 0,
931 55|128,12, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
932 OPC_Scope, 110|128,11,
933 OPC_MoveChild0,
934 OPC_SwitchOpcode , 61|128,1, TARGET_VAL(ISD::OR),
935 OPC_MoveChild0,
936 OPC_SwitchOpcode , 93, TARGET_VAL(ISD::SHL),
937 OPC_RecordChild0,
938 OPC_Scope, 29,
939 OPC_CheckChild1Integer, 16,
940 OPC_CheckChild1TypeI64,
941 OPC_MoveSibling1,
942 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
943 OPC_RecordChild0,
944 OPC_CheckChild1Integer, 62,
945 OPC_CheckChild1TypeI64,
946 OPC_CheckChild2Integer, 48,
947 OPC_MoveParent,
948 OPC_MoveSibling1,
949 OPC_CheckValueType, MVT::i32,
950 OPC_MoveParent,
951 OPC_CheckPatternPredicate6,
952 OPC_EmitInteger64, 2,
953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
954 MVT::i64, 3, 1, 0, 2,
955 29,
956 OPC_CheckChild1Integer, 32,
957 OPC_CheckChild1TypeI64,
958 OPC_MoveSibling1,
959 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
960 OPC_RecordChild0,
961 OPC_CheckChild1Integer, 62,
962 OPC_CheckChild1TypeI64,
963 OPC_CheckChild2Integer, 32,
964 OPC_MoveParent,
965 OPC_MoveSibling1,
966 OPC_CheckValueType, MVT::i32,
967 OPC_MoveParent,
968 OPC_CheckPatternPredicate6,
969 OPC_EmitInteger64, 4,
970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
971 MVT::i64, 3, 1, 0, 2,
972 29,
973 OPC_CheckChild1Integer, 48,
974 OPC_CheckChild1TypeI64,
975 OPC_MoveSibling1,
976 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
977 OPC_RecordChild0,
978 OPC_CheckChild1Integer, 62,
979 OPC_CheckChild1TypeI64,
980 OPC_CheckChild2Integer, 16,
981 OPC_MoveParent,
982 OPC_MoveSibling1,
983 OPC_CheckValueType, MVT::i32,
984 OPC_MoveParent,
985 OPC_CheckPatternPredicate6,
986 OPC_EmitInteger64, 6,
987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
988 MVT::i64, 3, 1, 0, 2,
989 0,
990 87, TARGET_VAL(LoongArchISD::BSTRPICK),
991 OPC_RecordChild0,
992 OPC_CheckChild1Integer, 62,
993 OPC_CheckChild1TypeI64,
994 OPC_Scope, 26,
995 OPC_CheckChild2Integer, 48,
996 OPC_MoveSibling1,
997 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
998 OPC_RecordChild0,
999 OPC_CheckChild1Integer, 16,
1000 OPC_CheckChild1TypeI64,
1001 OPC_MoveParent,
1002 OPC_MoveSibling1,
1003 OPC_CheckValueType, MVT::i32,
1004 OPC_MoveParent,
1005 OPC_CheckPatternPredicate6,
1006 OPC_EmitInteger64, 2,
1007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1008 MVT::i64, 3, 0, 1, 2,
1009 26,
1010 OPC_CheckChild2Integer, 32,
1011 OPC_MoveSibling1,
1012 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1013 OPC_RecordChild0,
1014 OPC_CheckChild1Integer, 32,
1015 OPC_CheckChild1TypeI64,
1016 OPC_MoveParent,
1017 OPC_MoveSibling1,
1018 OPC_CheckValueType, MVT::i32,
1019 OPC_MoveParent,
1020 OPC_CheckPatternPredicate6,
1021 OPC_EmitInteger64, 4,
1022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1023 MVT::i64, 3, 0, 1, 2,
1024 26,
1025 OPC_CheckChild2Integer, 16,
1026 OPC_MoveSibling1,
1027 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1028 OPC_RecordChild0,
1029 OPC_CheckChild1Integer, 48,
1030 OPC_CheckChild1TypeI64,
1031 OPC_MoveParent,
1032 OPC_MoveSibling1,
1033 OPC_CheckValueType, MVT::i32,
1034 OPC_MoveParent,
1035 OPC_CheckPatternPredicate6,
1036 OPC_EmitInteger64, 6,
1037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1038 MVT::i64, 3, 0, 1, 2,
1039 0,
1040 0,
1041 5|128,1, TARGET_VAL(ISD::ADD),
1042 OPC_Scope, 30,
1043 OPC_RecordChild0,
1044 OPC_MoveChild1,
1045 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1046 OPC_RecordChild0,
1047 OPC_RecordChild1,
1048 OPC_MoveChild1,
1049 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1050 OPC_CheckPredicate, 36,
1051 OPC_CheckTypeI64,
1052 OPC_MoveParent,
1053 OPC_MoveParent,
1054 OPC_MoveSibling1,
1055 OPC_CheckValueType, MVT::i32,
1056 OPC_MoveParent,
1057 OPC_CheckPatternPredicate6,
1058 OPC_EmitConvertToTarget2,
1059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1060 MVT::i64, 3, 1, 0, 3,
1061 30,
1062 OPC_MoveChild0,
1063 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1064 OPC_RecordChild0,
1065 OPC_RecordChild1,
1066 OPC_MoveChild1,
1067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1068 OPC_CheckPredicate, 36,
1069 OPC_CheckTypeI64,
1070 OPC_MoveParent,
1071 OPC_MoveParent,
1072 OPC_RecordChild1,
1073 OPC_MoveSibling1,
1074 OPC_CheckValueType, MVT::i32,
1075 OPC_MoveParent,
1076 OPC_CheckPatternPredicate6,
1077 OPC_EmitConvertToTarget1,
1078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1079 MVT::i64, 3, 0, 2, 3,
1080 68,
1081 OPC_RecordChild0,
1082 OPC_RecordChild1,
1083 OPC_MoveChild1,
1084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1085 OPC_Scope, 28,
1086 OPC_CheckPredicate, 49,
1087 OPC_MoveParent,
1088 OPC_MoveSibling1,
1089 OPC_CheckValueType, MVT::i32,
1090 OPC_MoveParent,
1091 OPC_CheckPatternPredicate6,
1092 OPC_EmitNodeXForm, 2, 1,
1093 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
1094 MVT::i64, 2, 0, 2,
1095 OPC_EmitNodeXForm, 3, 1,
1096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1097 MVT::i64, 2, 3, 4,
1098 30,
1099 OPC_CheckPredicate, 50,
1100 OPC_MoveParent,
1101 OPC_MoveSibling1,
1102 OPC_CheckValueType, MVT::i32,
1103 OPC_MoveParent,
1104 OPC_CheckPatternPredicate6,
1105 OPC_EmitConvertToTarget1,
1106 OPC_EmitNodeXForm, 4, 2,
1107 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
1108 MVT::i64, 2, 0, 3,
1109 OPC_EmitConvertToTarget1,
1110 OPC_EmitNodeXForm, 5, 5,
1111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1112 MVT::i64, 2, 4, 6,
1113 0,
1114 0,
1115 97|128,8, TARGET_VAL(ISD::MUL),
1116 OPC_RecordChild0,
1117 OPC_Scope, 29,
1118 OPC_CheckChild1Integer, 14,
1119 OPC_CheckPredicate, 12,
1120 OPC_MoveSibling1,
1121 OPC_CheckValueType, MVT::i32,
1122 OPC_MoveParent,
1123 OPC_CheckPatternPredicate6,
1124 OPC_EmitInteger64, 2,
1125 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1126 MVT::i64, 3, 0, 0, 1,
1127 OPC_EmitInteger64, 2,
1128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1129 MVT::i64, 3, 2, 0, 3,
1130 29,
1131 OPC_CheckChild1Integer, 26,
1132 OPC_CheckPredicate, 12,
1133 OPC_MoveSibling1,
1134 OPC_CheckValueType, MVT::i32,
1135 OPC_MoveParent,
1136 OPC_CheckPatternPredicate6,
1137 OPC_EmitInteger64, 2,
1138 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1139 MVT::i64, 3, 0, 0, 1,
1140 OPC_EmitInteger64, 4,
1141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1142 MVT::i64, 3, 2, 0, 3,
1143 63,
1144 OPC_CheckChild1Integer, 50,
1145 OPC_CheckPredicate, 12,
1146 OPC_MoveSibling1,
1147 OPC_CheckValueType, MVT::i32,
1148 OPC_MoveParent,
1149 OPC_CheckPatternPredicate6,
1150 OPC_Scope, 20,
1151 OPC_EmitInteger64, 2,
1152 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1153 MVT::i64, 3, 0, 0, 1,
1154 OPC_EmitInteger64, 6,
1155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1156 MVT::i64, 3, 2, 0, 3,
1157 30,
1158 OPC_EmitInteger64, 4,
1159 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1160 MVT::i64, 3, 0, 0, 1,
1161 OPC_EmitInteger64, 4,
1162 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1163 MVT::i64, 3, 0, 0, 3,
1164 OPC_EmitInteger64, 4,
1165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1166 MVT::i64, 3, 2, 4, 5,
1167 0,
1168 29,
1169 OPC_CheckChild1Integer, 98,
1170 OPC_CheckPredicate, 12,
1171 OPC_MoveSibling1,
1172 OPC_CheckValueType, MVT::i32,
1173 OPC_MoveParent,
1174 OPC_CheckPatternPredicate6,
1175 OPC_EmitInteger64, 2,
1176 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1177 MVT::i64, 3, 0, 0, 1,
1178 OPC_EmitInteger64, 8,
1179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1180 MVT::i64, 3, 2, 0, 3,
1181 29,
1182 OPC_CheckChild1Integer, 22,
1183 OPC_CheckPredicate, 12,
1184 OPC_MoveSibling1,
1185 OPC_CheckValueType, MVT::i32,
1186 OPC_MoveParent,
1187 OPC_CheckPatternPredicate6,
1188 OPC_EmitInteger64, 4,
1189 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1190 MVT::i64, 3, 0, 0, 1,
1191 OPC_EmitInteger64, 2,
1192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1193 MVT::i64, 3, 2, 0, 3,
1194 29,
1195 OPC_CheckChild1Integer, 42,
1196 OPC_CheckPredicate, 12,
1197 OPC_MoveSibling1,
1198 OPC_CheckValueType, MVT::i32,
1199 OPC_MoveParent,
1200 OPC_CheckPatternPredicate6,
1201 OPC_EmitInteger64, 4,
1202 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1203 MVT::i64, 3, 0, 0, 1,
1204 OPC_EmitInteger64, 4,
1205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1206 MVT::i64, 3, 2, 0, 3,
1207 29,
1208 OPC_CheckChild1Integer, 82,
1209 OPC_CheckPredicate, 12,
1210 OPC_MoveSibling1,
1211 OPC_CheckValueType, MVT::i32,
1212 OPC_MoveParent,
1213 OPC_CheckPatternPredicate6,
1214 OPC_EmitInteger64, 4,
1215 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1216 MVT::i64, 3, 0, 0, 1,
1217 OPC_EmitInteger64, 6,
1218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1219 MVT::i64, 3, 2, 0, 3,
1220 64,
1221 OPC_CheckChild1Integer, 34|128,1,
1222 OPC_CheckPredicate, 12,
1223 OPC_MoveSibling1,
1224 OPC_CheckValueType, MVT::i32,
1225 OPC_MoveParent,
1226 OPC_CheckPatternPredicate6,
1227 OPC_Scope, 20,
1228 OPC_EmitInteger64, 4,
1229 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1230 MVT::i64, 3, 0, 0, 1,
1231 OPC_EmitInteger64, 8,
1232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1233 MVT::i64, 3, 2, 0, 3,
1234 30,
1235 OPC_EmitInteger64, 6,
1236 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1237 MVT::i64, 3, 0, 0, 1,
1238 OPC_EmitInteger64, 6,
1239 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1240 MVT::i64, 3, 0, 0, 3,
1241 OPC_EmitInteger64, 6,
1242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1243 MVT::i64, 3, 2, 4, 5,
1244 0,
1245 29,
1246 OPC_CheckChild1Integer, 38,
1247 OPC_CheckPredicate, 12,
1248 OPC_MoveSibling1,
1249 OPC_CheckValueType, MVT::i32,
1250 OPC_MoveParent,
1251 OPC_CheckPatternPredicate6,
1252 OPC_EmitInteger64, 6,
1253 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1254 MVT::i64, 3, 0, 0, 1,
1255 OPC_EmitInteger64, 2,
1256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1257 MVT::i64, 3, 2, 0, 3,
1258 29,
1259 OPC_CheckChild1Integer, 74,
1260 OPC_CheckPredicate, 12,
1261 OPC_MoveSibling1,
1262 OPC_CheckValueType, MVT::i32,
1263 OPC_MoveParent,
1264 OPC_CheckPatternPredicate6,
1265 OPC_EmitInteger64, 6,
1266 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1267 MVT::i64, 3, 0, 0, 1,
1268 OPC_EmitInteger64, 4,
1269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1270 MVT::i64, 3, 2, 0, 3,
1271 30,
1272 OPC_CheckChild1Integer, 18|128,1,
1273 OPC_CheckPredicate, 12,
1274 OPC_MoveSibling1,
1275 OPC_CheckValueType, MVT::i32,
1276 OPC_MoveParent,
1277 OPC_CheckPatternPredicate6,
1278 OPC_EmitInteger64, 6,
1279 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1280 MVT::i64, 3, 0, 0, 1,
1281 OPC_EmitInteger64, 6,
1282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1283 MVT::i64, 3, 2, 0, 3,
1284 30,
1285 OPC_CheckChild1Integer, 34|128,2,
1286 OPC_CheckPredicate, 12,
1287 OPC_MoveSibling1,
1288 OPC_CheckValueType, MVT::i32,
1289 OPC_MoveParent,
1290 OPC_CheckPatternPredicate6,
1291 OPC_EmitInteger64, 6,
1292 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1293 MVT::i64, 3, 0, 0, 1,
1294 OPC_EmitInteger64, 8,
1295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1296 MVT::i64, 3, 2, 0, 3,
1297 29,
1298 OPC_CheckChild1Integer, 70,
1299 OPC_CheckPredicate, 12,
1300 OPC_MoveSibling1,
1301 OPC_CheckValueType, MVT::i32,
1302 OPC_MoveParent,
1303 OPC_CheckPatternPredicate6,
1304 OPC_EmitInteger64, 8,
1305 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1306 MVT::i64, 3, 0, 0, 1,
1307 OPC_EmitInteger64, 2,
1308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1309 MVT::i64, 3, 2, 0, 3,
1310 30,
1311 OPC_CheckChild1Integer, 10|128,1,
1312 OPC_CheckPredicate, 12,
1313 OPC_MoveSibling1,
1314 OPC_CheckValueType, MVT::i32,
1315 OPC_MoveParent,
1316 OPC_CheckPatternPredicate6,
1317 OPC_EmitInteger64, 8,
1318 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1319 MVT::i64, 3, 0, 0, 1,
1320 OPC_EmitInteger64, 4,
1321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1322 MVT::i64, 3, 2, 0, 3,
1323 30,
1324 OPC_CheckChild1Integer, 18|128,2,
1325 OPC_CheckPredicate, 12,
1326 OPC_MoveSibling1,
1327 OPC_CheckValueType, MVT::i32,
1328 OPC_MoveParent,
1329 OPC_CheckPatternPredicate6,
1330 OPC_EmitInteger64, 8,
1331 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1332 MVT::i64, 3, 0, 0, 1,
1333 OPC_EmitInteger64, 6,
1334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1335 MVT::i64, 3, 2, 0, 3,
1336 30,
1337 OPC_CheckChild1Integer, 34|128,4,
1338 OPC_CheckPredicate, 12,
1339 OPC_MoveSibling1,
1340 OPC_CheckValueType, MVT::i32,
1341 OPC_MoveParent,
1342 OPC_CheckPatternPredicate6,
1343 OPC_EmitInteger64, 8,
1344 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1345 MVT::i64, 3, 0, 0, 1,
1346 OPC_EmitInteger64, 8,
1347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1348 MVT::i64, 3, 2, 0, 3,
1349 39,
1350 OPC_CheckChild1Integer, 18,
1351 OPC_CheckPredicate, 12,
1352 OPC_MoveSibling1,
1353 OPC_CheckValueType, MVT::i32,
1354 OPC_MoveParent,
1355 OPC_CheckPatternPredicate6,
1356 OPC_EmitInteger64, 2,
1357 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1358 MVT::i64, 3, 0, 0, 1,
1359 OPC_EmitInteger64, 2,
1360 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1361 MVT::i64, 3, 0, 0, 3,
1362 OPC_EmitInteger64, 2,
1363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1364 MVT::i64, 3, 2, 4, 5,
1365 73,
1366 OPC_CheckChild1Integer, 30,
1367 OPC_CheckPredicate, 12,
1368 OPC_MoveSibling1,
1369 OPC_CheckValueType, MVT::i32,
1370 OPC_MoveParent,
1371 OPC_CheckPatternPredicate6,
1372 OPC_Scope, 30,
1373 OPC_EmitInteger64, 2,
1374 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1375 MVT::i64, 3, 0, 0, 1,
1376 OPC_EmitInteger64, 2,
1377 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1378 MVT::i64, 3, 0, 0, 3,
1379 OPC_EmitInteger64, 4,
1380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1381 MVT::i64, 3, 2, 4, 5,
1382 30,
1383 OPC_EmitInteger64, 4,
1384 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1385 MVT::i64, 3, 0, 0, 1,
1386 OPC_EmitInteger64, 4,
1387 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1388 MVT::i64, 3, 0, 0, 3,
1389 OPC_EmitInteger64, 2,
1390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1391 MVT::i64, 3, 2, 4, 5,
1392 0,
1393 73,
1394 OPC_CheckChild1Integer, 54,
1395 OPC_CheckPredicate, 12,
1396 OPC_MoveSibling1,
1397 OPC_CheckValueType, MVT::i32,
1398 OPC_MoveParent,
1399 OPC_CheckPatternPredicate6,
1400 OPC_Scope, 30,
1401 OPC_EmitInteger64, 2,
1402 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1403 MVT::i64, 3, 0, 0, 1,
1404 OPC_EmitInteger64, 2,
1405 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1406 MVT::i64, 3, 0, 0, 3,
1407 OPC_EmitInteger64, 6,
1408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1409 MVT::i64, 3, 2, 4, 5,
1410 30,
1411 OPC_EmitInteger64, 6,
1412 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1413 MVT::i64, 3, 0, 0, 1,
1414 OPC_EmitInteger64, 6,
1415 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1416 MVT::i64, 3, 0, 0, 3,
1417 OPC_EmitInteger64, 2,
1418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1419 MVT::i64, 3, 2, 4, 5,
1420 0,
1421 73,
1422 OPC_CheckChild1Integer, 102,
1423 OPC_CheckPredicate, 12,
1424 OPC_MoveSibling1,
1425 OPC_CheckValueType, MVT::i32,
1426 OPC_MoveParent,
1427 OPC_CheckPatternPredicate6,
1428 OPC_Scope, 30,
1429 OPC_EmitInteger64, 2,
1430 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1431 MVT::i64, 3, 0, 0, 1,
1432 OPC_EmitInteger64, 2,
1433 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1434 MVT::i64, 3, 0, 0, 3,
1435 OPC_EmitInteger64, 8,
1436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1437 MVT::i64, 3, 2, 4, 5,
1438 30,
1439 OPC_EmitInteger64, 8,
1440 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1441 MVT::i64, 3, 0, 0, 1,
1442 OPC_EmitInteger64, 8,
1443 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1444 MVT::i64, 3, 0, 0, 3,
1445 OPC_EmitInteger64, 2,
1446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1447 MVT::i64, 3, 2, 4, 5,
1448 0,
1449 73,
1450 OPC_CheckChild1Integer, 90,
1451 OPC_CheckPredicate, 12,
1452 OPC_MoveSibling1,
1453 OPC_CheckValueType, MVT::i32,
1454 OPC_MoveParent,
1455 OPC_CheckPatternPredicate6,
1456 OPC_Scope, 30,
1457 OPC_EmitInteger64, 4,
1458 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1459 MVT::i64, 3, 0, 0, 1,
1460 OPC_EmitInteger64, 4,
1461 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1462 MVT::i64, 3, 0, 0, 3,
1463 OPC_EmitInteger64, 6,
1464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1465 MVT::i64, 3, 2, 4, 5,
1466 30,
1467 OPC_EmitInteger64, 6,
1468 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1469 MVT::i64, 3, 0, 0, 1,
1470 OPC_EmitInteger64, 6,
1471 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1472 MVT::i64, 3, 0, 0, 3,
1473 OPC_EmitInteger64, 4,
1474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1475 MVT::i64, 3, 2, 4, 5,
1476 0,
1477 74,
1478 OPC_CheckChild1Integer, 42|128,1,
1479 OPC_CheckPredicate, 12,
1480 OPC_MoveSibling1,
1481 OPC_CheckValueType, MVT::i32,
1482 OPC_MoveParent,
1483 OPC_CheckPatternPredicate6,
1484 OPC_Scope, 30,
1485 OPC_EmitInteger64, 4,
1486 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1487 MVT::i64, 3, 0, 0, 1,
1488 OPC_EmitInteger64, 4,
1489 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1490 MVT::i64, 3, 0, 0, 3,
1491 OPC_EmitInteger64, 8,
1492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1493 MVT::i64, 3, 2, 4, 5,
1494 30,
1495 OPC_EmitInteger64, 8,
1496 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1497 MVT::i64, 3, 0, 0, 1,
1498 OPC_EmitInteger64, 8,
1499 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1500 MVT::i64, 3, 0, 0, 3,
1501 OPC_EmitInteger64, 4,
1502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1503 MVT::i64, 3, 2, 4, 5,
1504 0,
1505 74,
1506 OPC_CheckChild1Integer, 50|128,2,
1507 OPC_CheckPredicate, 12,
1508 OPC_MoveSibling1,
1509 OPC_CheckValueType, MVT::i32,
1510 OPC_MoveParent,
1511 OPC_CheckPatternPredicate6,
1512 OPC_Scope, 30,
1513 OPC_EmitInteger64, 6,
1514 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1515 MVT::i64, 3, 0, 0, 1,
1516 OPC_EmitInteger64, 6,
1517 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1518 MVT::i64, 3, 0, 0, 3,
1519 OPC_EmitInteger64, 8,
1520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1521 MVT::i64, 3, 2, 4, 5,
1522 30,
1523 OPC_EmitInteger64, 8,
1524 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1525 MVT::i64, 3, 0, 0, 1,
1526 OPC_EmitInteger64, 8,
1527 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1528 MVT::i64, 3, 0, 0, 3,
1529 OPC_EmitInteger64, 6,
1530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1531 MVT::i64, 3, 2, 4, 5,
1532 0,
1533 40,
1534 OPC_CheckChild1Integer, 66|128,4,
1535 OPC_CheckPredicate, 12,
1536 OPC_MoveSibling1,
1537 OPC_CheckValueType, MVT::i32,
1538 OPC_MoveParent,
1539 OPC_CheckPatternPredicate6,
1540 OPC_EmitInteger64, 8,
1541 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1542 MVT::i64, 3, 0, 0, 1,
1543 OPC_EmitInteger64, 8,
1544 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1545 MVT::i64, 3, 0, 0, 3,
1546 OPC_EmitInteger64, 8,
1547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1548 MVT::i64, 3, 2, 4, 5,
1549 36,
1550 OPC_RecordChild1,
1551 OPC_MoveChild1,
1552 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1553 OPC_CheckPredicate, 48,
1554 OPC_MoveParent,
1555 OPC_MoveSibling1,
1556 OPC_CheckValueType, MVT::i32,
1557 OPC_MoveParent,
1558 OPC_CheckPatternPredicate6,
1559 OPC_EmitConvertToTarget1,
1560 OPC_EmitNodeXForm, 0, 2,
1561 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1562 MVT::i64, 3, 0, 0, 3,
1563 OPC_EmitConvertToTarget1,
1564 OPC_EmitNodeXForm, 1, 5,
1565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
1566 MVT::i64, 2, 4, 6,
1567 0,
1568 23, TARGET_VAL(ISD::ROTR),
1569 OPC_RecordChild0,
1570 OPC_RecordChild1,
1571 OPC_MoveChild1,
1572 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1573 OPC_CheckPredicate, 26,
1574 OPC_CheckTypeI64,
1575 OPC_MoveParent,
1576 OPC_MoveSibling1,
1577 OPC_CheckValueType, MVT::i32,
1578 OPC_MoveParent,
1579 OPC_CheckPatternPredicate6,
1580 OPC_EmitConvertToTarget1,
1581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
1582 MVT::i64, 2, 0, 2,
1583 14, TARGET_VAL(ISD::SDIV),
1584 OPC_RecordChild0,
1585 OPC_RecordChild1,
1586 OPC_MoveSibling1,
1587 OPC_CheckValueType, MVT::i32,
1588 OPC_MoveParent,
1589 OPC_CheckPatternPredicate6,
1590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
1591 MVT::i64, 2, 0, 1,
1592 14, TARGET_VAL(ISD::SREM),
1593 OPC_RecordChild0,
1594 OPC_RecordChild1,
1595 OPC_MoveSibling1,
1596 OPC_CheckValueType, MVT::i32,
1597 OPC_MoveParent,
1598 OPC_CheckPatternPredicate6,
1599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
1600 MVT::i64, 2, 0, 1,
1601 0,
1602 68,
1603 OPC_RecordChild0,
1604 OPC_MoveChild1,
1605 OPC_Scope, 24,
1606 OPC_CheckValueType, MVT::i8,
1607 OPC_MoveParent,
1608 OPC_SwitchType , 7, MVT::i64,
1609 OPC_CheckPatternPredicate7,
1610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
1611 MVT::i64, 1, 0,
1612 8, MVT::i32,
1613 OPC_CheckPatternPredicate, 8,
1614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
1615 MVT::i32, 1, 0,
1616 0,
1617 24,
1618 OPC_CheckValueType, MVT::i16,
1619 OPC_MoveParent,
1620 OPC_SwitchType , 7, MVT::i64,
1621 OPC_CheckPatternPredicate7,
1622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
1623 MVT::i64, 1, 0,
1624 8, MVT::i32,
1625 OPC_CheckPatternPredicate, 8,
1626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
1627 MVT::i32, 1, 0,
1628 0,
1629 13,
1630 OPC_CheckValueType, MVT::i32,
1631 OPC_MoveParent,
1632 OPC_CheckPatternPredicate6,
1633 OPC_EmitInteger64, 0,
1634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1635 MVT::i64, 2, 0, 1,
1636 0,
1637 0,
1638 110|128,1, TARGET_VAL(LoongArchISD::BSTRPICK),
1639 OPC_Scope, 125,
1640 OPC_MoveChild0,
1641 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1642 OPC_Scope, 58,
1643 OPC_RecordChild0,
1644 OPC_MoveChild1,
1645 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1646 OPC_RecordChild0,
1647 OPC_RecordChild1,
1648 OPC_MoveChild1,
1649 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1650 OPC_CheckPredicate, 36,
1651 OPC_SwitchType , 19, MVT::i64,
1652 OPC_MoveParent,
1653 OPC_MoveParent,
1654 OPC_MoveParent,
1655 OPC_CheckChild1Integer, 62,
1656 OPC_CheckChild1TypeI64,
1657 OPC_CheckChild2Integer, 0,
1658 OPC_CheckTypeI64,
1659 OPC_CheckPatternPredicate6,
1660 OPC_EmitConvertToTarget2,
1661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1662 MVT::i64, 3, 1, 0, 3,
1663 20, MVT::i32,
1664 OPC_MoveParent,
1665 OPC_MoveParent,
1666 OPC_MoveParent,
1667 OPC_CheckChild1Integer, 62,
1668 OPC_CheckChild1TypeI64,
1669 OPC_CheckChild2Integer, 0,
1670 OPC_CheckTypeI32,
1671 OPC_CheckPatternPredicate, 10,
1672 OPC_EmitConvertToTarget2,
1673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1674 MVT::i32, 3, 1, 0, 3,
1675 0,
1676 59,
1677 OPC_MoveChild0,
1678 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1679 OPC_RecordChild0,
1680 OPC_RecordChild1,
1681 OPC_MoveChild1,
1682 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1683 OPC_CheckPredicate, 36,
1684 OPC_SwitchType , 20, MVT::i64,
1685 OPC_MoveParent,
1686 OPC_MoveParent,
1687 OPC_RecordChild1,
1688 OPC_MoveParent,
1689 OPC_CheckChild1Integer, 62,
1690 OPC_CheckChild1TypeI64,
1691 OPC_CheckChild2Integer, 0,
1692 OPC_CheckTypeI64,
1693 OPC_CheckPatternPredicate6,
1694 OPC_EmitConvertToTarget1,
1695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1696 MVT::i64, 3, 0, 2, 3,
1697 21, MVT::i32,
1698 OPC_MoveParent,
1699 OPC_MoveParent,
1700 OPC_RecordChild1,
1701 OPC_MoveParent,
1702 OPC_CheckChild1Integer, 62,
1703 OPC_CheckChild1TypeI64,
1704 OPC_CheckChild2Integer, 0,
1705 OPC_CheckTypeI32,
1706 OPC_CheckPatternPredicate, 10,
1707 OPC_EmitConvertToTarget1,
1708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1709 MVT::i32, 3, 0, 2, 3,
1710 0,
1711 0,
1712 109,
1713 OPC_RecordChild0,
1714 OPC_RecordChild1,
1715 OPC_MoveChild1,
1716 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1717 OPC_Scope, 50,
1718 OPC_CheckPredicate, 26,
1719 OPC_SwitchType , 21, MVT::i64,
1720 OPC_MoveSibling2,
1721 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1722 OPC_RecordNode,
1723 OPC_CheckPredicate, 26,
1724 OPC_MoveParent,
1725 OPC_CheckTypeI64,
1726 OPC_CheckPatternPredicate, 15,
1727 OPC_EmitConvertToTarget1,
1728 OPC_EmitConvertToTarget2,
1729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
1730 MVT::i64, 3, 0, 3, 4,
1731 21, MVT::i32,
1732 OPC_MoveSibling2,
1733 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1734 OPC_RecordNode,
1735 OPC_CheckPredicate, 26,
1736 OPC_MoveParent,
1737 OPC_CheckTypeI32,
1738 OPC_CheckPatternPredicate, 9,
1739 OPC_EmitConvertToTarget1,
1740 OPC_EmitConvertToTarget2,
1741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
1742 MVT::i32, 3, 0, 3, 4,
1743 0,
1744 49,
1745 OPC_CheckPredicate, 29,
1746 OPC_SwitchType , 20, MVT::i64,
1747 OPC_MoveSibling2,
1748 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1749 OPC_RecordNode,
1750 OPC_CheckPredicate, 29,
1751 OPC_MoveParent,
1752 OPC_CheckTypeI64,
1753 OPC_CheckPatternPredicate6,
1754 OPC_EmitConvertToTarget1,
1755 OPC_EmitConvertToTarget2,
1756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
1757 MVT::i64, 3, 0, 3, 4,
1758 21, MVT::i32,
1759 OPC_MoveSibling2,
1760 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1761 OPC_RecordNode,
1762 OPC_CheckPredicate, 29,
1763 OPC_MoveParent,
1764 OPC_CheckTypeI32,
1765 OPC_CheckPatternPredicate, 10,
1766 OPC_EmitConvertToTarget1,
1767 OPC_EmitConvertToTarget2,
1768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
1769 MVT::i32, 3, 0, 3, 4,
1770 0,
1771 0,
1772 0,
1773 25|128,37, TARGET_VAL(ISD::OR),
1774 OPC_Scope, 101|128,6,
1775 OPC_MoveChild0,
1776 OPC_SwitchOpcode , 45|128,3, TARGET_VAL(ISD::SHL),
1777 OPC_RecordChild0,
1778 OPC_Scope, 85,
1779 OPC_CheckChild1Integer, 16,
1780 OPC_Scope, 40,
1781 OPC_CheckChild1TypeI32,
1782 OPC_MoveSibling1,
1783 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1784 OPC_RecordChild0,
1785 OPC_CheckChild1Integer, 48,
1786 OPC_CheckChild1TypeI32,
1787 OPC_MoveParent,
1788 OPC_SwitchType , 12, MVT::i64,
1789 OPC_CheckPatternPredicate, 15,
1790 OPC_EmitInteger64, 2,
1791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1792 MVT::i64, 3, 1, 0, 2,
1793 12, MVT::i32,
1794 OPC_CheckPatternPredicate, 9,
1795 OPC_EmitInteger32, 2,
1796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1797 MVT::i32, 3, 1, 0, 2,
1798 0,
1799 39,
1800 OPC_CheckChild1TypeI64,
1801 OPC_MoveSibling1,
1802 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1803 OPC_RecordChild0,
1804 OPC_CheckChild1Integer, 112,
1805 OPC_CheckChild1TypeI64,
1806 OPC_MoveParent,
1807 OPC_SwitchType , 11, MVT::i64,
1808 OPC_CheckPatternPredicate6,
1809 OPC_EmitInteger64, 2,
1810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1811 MVT::i64, 3, 1, 0, 2,
1812 12, MVT::i32,
1813 OPC_CheckPatternPredicate, 10,
1814 OPC_EmitInteger32, 2,
1815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1816 MVT::i32, 3, 1, 0, 2,
1817 0,
1818 0,
1819 85,
1820 OPC_CheckChild1Integer, 32,
1821 OPC_Scope, 40,
1822 OPC_CheckChild1TypeI32,
1823 OPC_MoveSibling1,
1824 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1825 OPC_RecordChild0,
1826 OPC_CheckChild1Integer, 32,
1827 OPC_CheckChild1TypeI32,
1828 OPC_MoveParent,
1829 OPC_SwitchType , 12, MVT::i64,
1830 OPC_CheckPatternPredicate, 15,
1831 OPC_EmitInteger64, 4,
1832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1833 MVT::i64, 3, 1, 0, 2,
1834 12, MVT::i32,
1835 OPC_CheckPatternPredicate, 9,
1836 OPC_EmitInteger32, 4,
1837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1838 MVT::i32, 3, 1, 0, 2,
1839 0,
1840 39,
1841 OPC_CheckChild1TypeI64,
1842 OPC_MoveSibling1,
1843 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1844 OPC_RecordChild0,
1845 OPC_CheckChild1Integer, 96,
1846 OPC_CheckChild1TypeI64,
1847 OPC_MoveParent,
1848 OPC_SwitchType , 11, MVT::i64,
1849 OPC_CheckPatternPredicate6,
1850 OPC_EmitInteger64, 4,
1851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1852 MVT::i64, 3, 1, 0, 2,
1853 12, MVT::i32,
1854 OPC_CheckPatternPredicate, 10,
1855 OPC_EmitInteger32, 4,
1856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1857 MVT::i32, 3, 1, 0, 2,
1858 0,
1859 0,
1860 85,
1861 OPC_CheckChild1Integer, 48,
1862 OPC_Scope, 40,
1863 OPC_CheckChild1TypeI32,
1864 OPC_MoveSibling1,
1865 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1866 OPC_RecordChild0,
1867 OPC_CheckChild1Integer, 16,
1868 OPC_CheckChild1TypeI32,
1869 OPC_MoveParent,
1870 OPC_SwitchType , 12, MVT::i64,
1871 OPC_CheckPatternPredicate, 15,
1872 OPC_EmitInteger64, 6,
1873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1874 MVT::i64, 3, 1, 0, 2,
1875 12, MVT::i32,
1876 OPC_CheckPatternPredicate, 9,
1877 OPC_EmitInteger32, 6,
1878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1879 MVT::i32, 3, 1, 0, 2,
1880 0,
1881 39,
1882 OPC_CheckChild1TypeI64,
1883 OPC_MoveSibling1,
1884 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1885 OPC_RecordChild0,
1886 OPC_CheckChild1Integer, 80,
1887 OPC_CheckChild1TypeI64,
1888 OPC_MoveParent,
1889 OPC_SwitchType , 11, MVT::i64,
1890 OPC_CheckPatternPredicate6,
1891 OPC_EmitInteger64, 6,
1892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1893 MVT::i64, 3, 1, 0, 2,
1894 12, MVT::i32,
1895 OPC_CheckPatternPredicate, 10,
1896 OPC_EmitInteger32, 6,
1897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1898 MVT::i32, 3, 1, 0, 2,
1899 0,
1900 0,
1901 41,
1902 OPC_CheckChild1Integer, 64,
1903 OPC_CheckChild1TypeI64,
1904 OPC_MoveSibling1,
1905 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1906 OPC_RecordChild0,
1907 OPC_CheckChild1Integer, 64,
1908 OPC_CheckChild1TypeI64,
1909 OPC_MoveParent,
1910 OPC_SwitchType , 11, MVT::i64,
1911 OPC_CheckPatternPredicate6,
1912 OPC_EmitInteger64, 8,
1913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1914 MVT::i64, 3, 1, 0, 2,
1915 12, MVT::i32,
1916 OPC_CheckPatternPredicate, 10,
1917 OPC_EmitInteger32, 8,
1918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1919 MVT::i32, 3, 1, 0, 2,
1920 0,
1921 41,
1922 OPC_CheckChild1Integer, 80,
1923 OPC_CheckChild1TypeI64,
1924 OPC_MoveSibling1,
1925 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1926 OPC_RecordChild0,
1927 OPC_CheckChild1Integer, 48,
1928 OPC_CheckChild1TypeI64,
1929 OPC_MoveParent,
1930 OPC_SwitchType , 11, MVT::i64,
1931 OPC_CheckPatternPredicate6,
1932 OPC_EmitInteger64, 10,
1933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1934 MVT::i64, 3, 1, 0, 2,
1935 12, MVT::i32,
1936 OPC_CheckPatternPredicate, 10,
1937 OPC_EmitInteger32, 10,
1938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1939 MVT::i32, 3, 1, 0, 2,
1940 0,
1941 41,
1942 OPC_CheckChild1Integer, 96,
1943 OPC_CheckChild1TypeI64,
1944 OPC_MoveSibling1,
1945 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1946 OPC_RecordChild0,
1947 OPC_CheckChild1Integer, 32,
1948 OPC_CheckChild1TypeI64,
1949 OPC_MoveParent,
1950 OPC_SwitchType , 11, MVT::i64,
1951 OPC_CheckPatternPredicate6,
1952 OPC_EmitInteger64, 12,
1953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1954 MVT::i64, 3, 1, 0, 2,
1955 12, MVT::i32,
1956 OPC_CheckPatternPredicate, 10,
1957 OPC_EmitInteger32, 12,
1958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1959 MVT::i32, 3, 1, 0, 2,
1960 0,
1961 41,
1962 OPC_CheckChild1Integer, 112,
1963 OPC_CheckChild1TypeI64,
1964 OPC_MoveSibling1,
1965 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1966 OPC_RecordChild0,
1967 OPC_CheckChild1Integer, 16,
1968 OPC_CheckChild1TypeI64,
1969 OPC_MoveParent,
1970 OPC_SwitchType , 11, MVT::i64,
1971 OPC_CheckPatternPredicate6,
1972 OPC_EmitInteger64, 14,
1973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1974 MVT::i64, 3, 1, 0, 2,
1975 12, MVT::i32,
1976 OPC_CheckPatternPredicate, 10,
1977 OPC_EmitInteger32, 14,
1978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1979 MVT::i32, 3, 1, 0, 2,
1980 0,
1981 0,
1982 45|128,3, TARGET_VAL(ISD::SRL),
1983 OPC_RecordChild0,
1984 OPC_Scope, 85,
1985 OPC_CheckChild1Integer, 48,
1986 OPC_Scope, 40,
1987 OPC_CheckChild1TypeI32,
1988 OPC_MoveSibling1,
1989 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1990 OPC_RecordChild0,
1991 OPC_CheckChild1Integer, 16,
1992 OPC_CheckChild1TypeI32,
1993 OPC_MoveParent,
1994 OPC_SwitchType , 12, MVT::i64,
1995 OPC_CheckPatternPredicate, 15,
1996 OPC_EmitInteger64, 2,
1997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1998 MVT::i64, 3, 0, 1, 2,
1999 12, MVT::i32,
2000 OPC_CheckPatternPredicate, 9,
2001 OPC_EmitInteger32, 2,
2002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2003 MVT::i32, 3, 0, 1, 2,
2004 0,
2005 39,
2006 OPC_CheckChild1TypeI64,
2007 OPC_MoveSibling1,
2008 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2009 OPC_RecordChild0,
2010 OPC_CheckChild1Integer, 80,
2011 OPC_CheckChild1TypeI64,
2012 OPC_MoveParent,
2013 OPC_SwitchType , 11, MVT::i64,
2014 OPC_CheckPatternPredicate6,
2015 OPC_EmitInteger64, 10,
2016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2017 MVT::i64, 3, 0, 1, 2,
2018 12, MVT::i32,
2019 OPC_CheckPatternPredicate, 10,
2020 OPC_EmitInteger32, 10,
2021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2022 MVT::i32, 3, 0, 1, 2,
2023 0,
2024 0,
2025 85,
2026 OPC_CheckChild1Integer, 32,
2027 OPC_Scope, 40,
2028 OPC_CheckChild1TypeI32,
2029 OPC_MoveSibling1,
2030 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2031 OPC_RecordChild0,
2032 OPC_CheckChild1Integer, 32,
2033 OPC_CheckChild1TypeI32,
2034 OPC_MoveParent,
2035 OPC_SwitchType , 12, MVT::i64,
2036 OPC_CheckPatternPredicate, 15,
2037 OPC_EmitInteger64, 4,
2038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2039 MVT::i64, 3, 0, 1, 2,
2040 12, MVT::i32,
2041 OPC_CheckPatternPredicate, 9,
2042 OPC_EmitInteger32, 4,
2043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2044 MVT::i32, 3, 0, 1, 2,
2045 0,
2046 39,
2047 OPC_CheckChild1TypeI64,
2048 OPC_MoveSibling1,
2049 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2050 OPC_RecordChild0,
2051 OPC_CheckChild1Integer, 96,
2052 OPC_CheckChild1TypeI64,
2053 OPC_MoveParent,
2054 OPC_SwitchType , 11, MVT::i64,
2055 OPC_CheckPatternPredicate6,
2056 OPC_EmitInteger64, 12,
2057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2058 MVT::i64, 3, 0, 1, 2,
2059 12, MVT::i32,
2060 OPC_CheckPatternPredicate, 10,
2061 OPC_EmitInteger32, 12,
2062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2063 MVT::i32, 3, 0, 1, 2,
2064 0,
2065 0,
2066 85,
2067 OPC_CheckChild1Integer, 16,
2068 OPC_Scope, 40,
2069 OPC_CheckChild1TypeI32,
2070 OPC_MoveSibling1,
2071 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2072 OPC_RecordChild0,
2073 OPC_CheckChild1Integer, 48,
2074 OPC_CheckChild1TypeI32,
2075 OPC_MoveParent,
2076 OPC_SwitchType , 12, MVT::i64,
2077 OPC_CheckPatternPredicate, 15,
2078 OPC_EmitInteger64, 6,
2079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2080 MVT::i64, 3, 0, 1, 2,
2081 12, MVT::i32,
2082 OPC_CheckPatternPredicate, 9,
2083 OPC_EmitInteger32, 6,
2084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2085 MVT::i32, 3, 0, 1, 2,
2086 0,
2087 39,
2088 OPC_CheckChild1TypeI64,
2089 OPC_MoveSibling1,
2090 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2091 OPC_RecordChild0,
2092 OPC_CheckChild1Integer, 112,
2093 OPC_CheckChild1TypeI64,
2094 OPC_MoveParent,
2095 OPC_SwitchType , 11, MVT::i64,
2096 OPC_CheckPatternPredicate6,
2097 OPC_EmitInteger64, 14,
2098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2099 MVT::i64, 3, 0, 1, 2,
2100 12, MVT::i32,
2101 OPC_CheckPatternPredicate, 10,
2102 OPC_EmitInteger32, 14,
2103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2104 MVT::i32, 3, 0, 1, 2,
2105 0,
2106 0,
2107 41,
2108 OPC_CheckChild1Integer, 112,
2109 OPC_CheckChild1TypeI64,
2110 OPC_MoveSibling1,
2111 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2112 OPC_RecordChild0,
2113 OPC_CheckChild1Integer, 16,
2114 OPC_CheckChild1TypeI64,
2115 OPC_MoveParent,
2116 OPC_SwitchType , 11, MVT::i64,
2117 OPC_CheckPatternPredicate6,
2118 OPC_EmitInteger64, 2,
2119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2120 MVT::i64, 3, 0, 1, 2,
2121 12, MVT::i32,
2122 OPC_CheckPatternPredicate, 10,
2123 OPC_EmitInteger32, 2,
2124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2125 MVT::i32, 3, 0, 1, 2,
2126 0,
2127 41,
2128 OPC_CheckChild1Integer, 96,
2129 OPC_CheckChild1TypeI64,
2130 OPC_MoveSibling1,
2131 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2132 OPC_RecordChild0,
2133 OPC_CheckChild1Integer, 32,
2134 OPC_CheckChild1TypeI64,
2135 OPC_MoveParent,
2136 OPC_SwitchType , 11, MVT::i64,
2137 OPC_CheckPatternPredicate6,
2138 OPC_EmitInteger64, 4,
2139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2140 MVT::i64, 3, 0, 1, 2,
2141 12, MVT::i32,
2142 OPC_CheckPatternPredicate, 10,
2143 OPC_EmitInteger32, 4,
2144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2145 MVT::i32, 3, 0, 1, 2,
2146 0,
2147 41,
2148 OPC_CheckChild1Integer, 80,
2149 OPC_CheckChild1TypeI64,
2150 OPC_MoveSibling1,
2151 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2152 OPC_RecordChild0,
2153 OPC_CheckChild1Integer, 48,
2154 OPC_CheckChild1TypeI64,
2155 OPC_MoveParent,
2156 OPC_SwitchType , 11, MVT::i64,
2157 OPC_CheckPatternPredicate6,
2158 OPC_EmitInteger64, 6,
2159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2160 MVT::i64, 3, 0, 1, 2,
2161 12, MVT::i32,
2162 OPC_CheckPatternPredicate, 10,
2163 OPC_EmitInteger32, 6,
2164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2165 MVT::i32, 3, 0, 1, 2,
2166 0,
2167 41,
2168 OPC_CheckChild1Integer, 64,
2169 OPC_CheckChild1TypeI64,
2170 OPC_MoveSibling1,
2171 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2172 OPC_RecordChild0,
2173 OPC_CheckChild1Integer, 64,
2174 OPC_CheckChild1TypeI64,
2175 OPC_MoveParent,
2176 OPC_SwitchType , 11, MVT::i64,
2177 OPC_CheckPatternPredicate6,
2178 OPC_EmitInteger64, 8,
2179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2180 MVT::i64, 3, 0, 1, 2,
2181 12, MVT::i32,
2182 OPC_CheckPatternPredicate, 10,
2183 OPC_EmitInteger32, 8,
2184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2185 MVT::i32, 3, 0, 1, 2,
2186 0,
2187 0,
2188 0,
2189 75,
2190 OPC_RecordChild0,
2191 OPC_Scope, 39,
2192 OPC_RecordChild1,
2193 OPC_MoveChild1,
2194 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2195 OPC_CheckPredicate, 11,
2196 OPC_MoveParent,
2197 OPC_CheckPredicate, 10,
2198 OPC_SwitchType , 12, MVT::i32,
2199 OPC_CheckPatternPredicate, 9,
2200 OPC_CheckComplexPat0, /*#*/0,
2201 OPC_EmitConvertToTarget1,
2202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
2203 MVT::i32, 2, 2, 3,
2204 11, MVT::i64,
2205 OPC_CheckPatternPredicate6,
2206 OPC_CheckComplexPat0, /*#*/0,
2207 OPC_EmitConvertToTarget1,
2208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
2209 MVT::i64, 2, 2, 3,
2210 0,
2211 31,
2212 OPC_MoveChild1,
2213 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2214 OPC_RecordChild0,
2215 OPC_CheckChild1Integer, 3,
2216 OPC_MoveParent,
2217 OPC_SwitchType , 8, MVT::i64,
2218 OPC_CheckPatternPredicate7,
2219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2220 MVT::i64, 2, 0, 1,
2221 9, MVT::i32,
2222 OPC_CheckPatternPredicate, 8,
2223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2224 MVT::i32, 2, 0, 1,
2225 0,
2226 0,
2227 32,
2228 OPC_MoveChild0,
2229 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2230 OPC_RecordChild0,
2231 OPC_CheckChild1Integer, 3,
2232 OPC_MoveParent,
2233 OPC_RecordChild1,
2234 OPC_SwitchType , 8, MVT::i64,
2235 OPC_CheckPatternPredicate7,
2236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2237 MVT::i64, 2, 1, 0,
2238 9, MVT::i32,
2239 OPC_CheckPatternPredicate, 8,
2240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2241 MVT::i32, 2, 1, 0,
2242 0,
2243 30|128,1,
2244 OPC_RecordChild0,
2245 OPC_Scope, 57,
2246 OPC_RecordChild1,
2247 OPC_Scope, 32,
2248 OPC_MoveChild1,
2249 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2250 OPC_CheckPredicate, 40,
2251 OPC_MoveParent,
2252 OPC_SwitchType , 9, MVT::i64,
2253 OPC_CheckPatternPredicate7,
2254 OPC_EmitConvertToTarget1,
2255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
2256 MVT::i64, 2, 0, 2,
2257 10, MVT::i32,
2258 OPC_CheckPatternPredicate, 8,
2259 OPC_EmitConvertToTarget1,
2260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
2261 MVT::i32, 2, 0, 2,
2262 0,
2263 9,
2264 OPC_CheckTypeI64,
2265 OPC_CheckPatternPredicate7,
2266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
2267 MVT::i64, 2, 0, 1,
2268 10,
2269 OPC_CheckTypeI32,
2270 OPC_CheckPatternPredicate, 8,
2271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
2272 MVT::i32, 2, 0, 1,
2273 0,
2274 96,
2275 OPC_MoveChild1,
2276 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2277 OPC_MoveChild0,
2278 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2279 OPC_MoveChild0,
2280 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2281 OPC_CheckType, MVT::v4i32,
2282 OPC_MoveParent,
2283 OPC_CheckPredicate0,
2284 OPC_MoveSibling1,
2285 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2286 OPC_Scope, 44,
2287 OPC_RecordChild0,
2288 OPC_MoveChild1,
2289 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2290 OPC_MoveChild0,
2291 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2292 OPC_CheckType, MVT::v4i32,
2293 OPC_MoveParent,
2294 OPC_CheckPredicate3,
2295 OPC_MoveParent,
2296 OPC_SwitchType , 12, MVT::v2i64,
2297 OPC_MoveParent,
2298 OPC_MoveParent,
2299 OPC_CheckType, MVT::v2i64,
2300 OPC_CheckPatternPredicate1,
2301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2302 MVT::v2i64, 2, 0, 1,
2303 12, MVT::v4i64,
2304 OPC_MoveParent,
2305 OPC_MoveParent,
2306 OPC_CheckType, MVT::v4i64,
2307 OPC_CheckPatternPredicate0,
2308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2309 MVT::v4i64, 2, 0, 1,
2310 0,
2311 28,
2312 OPC_MoveChild0,
2313 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2314 OPC_MoveChild0,
2315 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2316 OPC_CheckType, MVT::v4i32,
2317 OPC_MoveParent,
2318 OPC_CheckPredicate3,
2319 OPC_MoveParent,
2320 OPC_RecordChild1,
2321 OPC_CheckType, MVT::v2i64,
2322 OPC_MoveParent,
2323 OPC_MoveParent,
2324 OPC_CheckType, MVT::v2i64,
2325 OPC_CheckPatternPredicate1,
2326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2327 MVT::v2i64, 2, 0, 1,
2328 0,
2329 0,
2330 82,
2331 OPC_MoveChild0,
2332 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2333 OPC_MoveChild0,
2334 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2335 OPC_MoveChild0,
2336 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2337 OPC_CheckType, MVT::v4i32,
2338 OPC_MoveParent,
2339 OPC_CheckPredicate0,
2340 OPC_MoveSibling1,
2341 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2342 OPC_Scope, 29,
2343 OPC_RecordChild0,
2344 OPC_MoveChild1,
2345 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2346 OPC_MoveChild0,
2347 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2348 OPC_CheckType, MVT::v4i32,
2349 OPC_MoveParent,
2350 OPC_CheckPredicate3,
2351 OPC_MoveParent,
2352 OPC_CheckType, MVT::v2i64,
2353 OPC_MoveParent,
2354 OPC_MoveParent,
2355 OPC_RecordChild1,
2356 OPC_CheckType, MVT::v2i64,
2357 OPC_CheckPatternPredicate1,
2358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2359 MVT::v2i64, 2, 1, 0,
2360 29,
2361 OPC_MoveChild0,
2362 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2363 OPC_MoveChild0,
2364 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2365 OPC_CheckType, MVT::v4i32,
2366 OPC_MoveParent,
2367 OPC_CheckPredicate3,
2368 OPC_MoveParent,
2369 OPC_RecordChild1,
2370 OPC_CheckType, MVT::v2i64,
2371 OPC_MoveParent,
2372 OPC_MoveParent,
2373 OPC_RecordChild1,
2374 OPC_CheckType, MVT::v2i64,
2375 OPC_CheckPatternPredicate1,
2376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2377 MVT::v2i64, 2, 1, 0,
2378 0,
2379 49,
2380 OPC_RecordChild0,
2381 OPC_MoveChild1,
2382 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2383 OPC_MoveChild0,
2384 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2385 OPC_MoveChild0,
2386 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2387 OPC_CheckType, MVT::v4i32,
2388 OPC_MoveParent,
2389 OPC_CheckPredicate0,
2390 OPC_MoveSibling1,
2391 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2392 OPC_MoveChild0,
2393 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2394 OPC_MoveChild0,
2395 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2396 OPC_CheckType, MVT::v4i32,
2397 OPC_MoveParent,
2398 OPC_CheckPredicate3,
2399 OPC_MoveParent,
2400 OPC_RecordChild1,
2401 OPC_CheckType, MVT::v4i64,
2402 OPC_MoveParent,
2403 OPC_MoveParent,
2404 OPC_CheckType, MVT::v4i64,
2405 OPC_CheckPatternPredicate0,
2406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2407 MVT::v4i64, 2, 0, 1,
2408 82,
2409 OPC_MoveChild0,
2410 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2411 OPC_MoveChild0,
2412 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2413 OPC_MoveChild0,
2414 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2415 OPC_CheckType, MVT::v4i32,
2416 OPC_MoveParent,
2417 OPC_CheckPredicate0,
2418 OPC_MoveSibling1,
2419 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2420 OPC_Scope, 29,
2421 OPC_RecordChild0,
2422 OPC_MoveChild1,
2423 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2424 OPC_MoveChild0,
2425 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2426 OPC_CheckType, MVT::v4i32,
2427 OPC_MoveParent,
2428 OPC_CheckPredicate3,
2429 OPC_MoveParent,
2430 OPC_CheckType, MVT::v4i64,
2431 OPC_MoveParent,
2432 OPC_MoveParent,
2433 OPC_RecordChild1,
2434 OPC_CheckType, MVT::v4i64,
2435 OPC_CheckPatternPredicate0,
2436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2437 MVT::v4i64, 2, 1, 0,
2438 29,
2439 OPC_MoveChild0,
2440 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2441 OPC_MoveChild0,
2442 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2443 OPC_CheckType, MVT::v4i32,
2444 OPC_MoveParent,
2445 OPC_CheckPredicate3,
2446 OPC_MoveParent,
2447 OPC_RecordChild1,
2448 OPC_CheckType, MVT::v4i64,
2449 OPC_MoveParent,
2450 OPC_MoveParent,
2451 OPC_RecordChild1,
2452 OPC_CheckType, MVT::v4i64,
2453 OPC_CheckPatternPredicate0,
2454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2455 MVT::v4i64, 2, 1, 0,
2456 0,
2457 103|128,1,
2458 OPC_RecordChild0,
2459 OPC_MoveChild1,
2460 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2461 OPC_MoveChild0,
2462 OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::BITCAST),
2463 OPC_MoveChild0,
2464 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2465 OPC_CheckType, MVT::v4i32,
2466 OPC_MoveParent,
2467 OPC_CheckPredicate0,
2468 OPC_MoveSibling1,
2469 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2470 OPC_Scope, 1|128,1,
2471 OPC_RecordChild0,
2472 OPC_MoveChild1,
2473 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2474 OPC_Scope, 16,
2475 OPC_CheckPredicate7,
2476 OPC_MoveParent,
2477 OPC_CheckType, MVT::v16i8,
2478 OPC_MoveParent,
2479 OPC_MoveParent,
2480 OPC_CheckType, MVT::v16i8,
2481 OPC_CheckPatternPredicate1,
2482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2483 MVT::v16i8, 2, 0, 1,
2484 17,
2485 OPC_CheckPredicate, 8,
2486 OPC_MoveParent,
2487 OPC_CheckType, MVT::v8i16,
2488 OPC_MoveParent,
2489 OPC_MoveParent,
2490 OPC_CheckType, MVT::v8i16,
2491 OPC_CheckPatternPredicate1,
2492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2493 MVT::v8i16, 2, 0, 1,
2494 16,
2495 OPC_CheckPredicate3,
2496 OPC_MoveParent,
2497 OPC_CheckType, MVT::v2i64,
2498 OPC_MoveParent,
2499 OPC_MoveParent,
2500 OPC_CheckType, MVT::v2i64,
2501 OPC_CheckPatternPredicate1,
2502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2503 MVT::v2i64, 2, 0, 1,
2504 16,
2505 OPC_CheckPredicate7,
2506 OPC_MoveParent,
2507 OPC_CheckType, MVT::v32i8,
2508 OPC_MoveParent,
2509 OPC_MoveParent,
2510 OPC_CheckType, MVT::v32i8,
2511 OPC_CheckPatternPredicate0,
2512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2513 MVT::v32i8, 2, 0, 1,
2514 17,
2515 OPC_CheckPredicate, 8,
2516 OPC_MoveParent,
2517 OPC_CheckType, MVT::v16i16,
2518 OPC_MoveParent,
2519 OPC_MoveParent,
2520 OPC_CheckType, MVT::v16i16,
2521 OPC_CheckPatternPredicate0,
2522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2523 MVT::v16i16, 2, 0, 1,
2524 17,
2525 OPC_CheckPredicate, 9,
2526 OPC_MoveParent,
2527 OPC_CheckType, MVT::v8i32,
2528 OPC_MoveParent,
2529 OPC_MoveParent,
2530 OPC_CheckType, MVT::v8i32,
2531 OPC_CheckPatternPredicate0,
2532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
2533 MVT::v8i32, 2, 0, 1,
2534 16,
2535 OPC_CheckPredicate3,
2536 OPC_MoveParent,
2537 OPC_CheckType, MVT::v4i64,
2538 OPC_MoveParent,
2539 OPC_MoveParent,
2540 OPC_CheckType, MVT::v4i64,
2541 OPC_CheckPatternPredicate0,
2542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2543 MVT::v4i64, 2, 0, 1,
2544 0,
2545 21,
2546 OPC_MoveChild0,
2547 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2548 OPC_CheckPredicate7,
2549 OPC_MoveParent,
2550 OPC_RecordChild1,
2551 OPC_CheckType, MVT::v16i8,
2552 OPC_MoveParent,
2553 OPC_MoveParent,
2554 OPC_CheckType, MVT::v16i8,
2555 OPC_CheckPatternPredicate1,
2556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2557 MVT::v16i8, 2, 0, 1,
2558 0,
2559 49, TARGET_VAL(ISD::BUILD_VECTOR),
2560 OPC_CheckPredicate0,
2561 OPC_MoveSibling1,
2562 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2563 OPC_RecordChild0,
2564 OPC_MoveChild1,
2565 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2566 OPC_MoveChild0,
2567 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2568 OPC_CheckType, MVT::v4i32,
2569 OPC_MoveParent,
2570 OPC_CheckPredicate3,
2571 OPC_MoveParent,
2572 OPC_SwitchType , 12, MVT::v2i64,
2573 OPC_MoveParent,
2574 OPC_MoveParent,
2575 OPC_CheckType, MVT::v2i64,
2576 OPC_CheckPatternPredicate1,
2577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2578 MVT::v2i64, 2, 0, 1,
2579 12, MVT::v4i64,
2580 OPC_MoveParent,
2581 OPC_MoveParent,
2582 OPC_CheckType, MVT::v4i64,
2583 OPC_CheckPatternPredicate0,
2584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2585 MVT::v4i64, 2, 0, 1,
2586 0,
2587 0,
2588 68,
2589 OPC_MoveChild0,
2590 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2591 OPC_MoveChild0,
2592 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2593 OPC_MoveChild0,
2594 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2595 OPC_CheckType, MVT::v4i32,
2596 OPC_MoveParent,
2597 OPC_CheckPredicate0,
2598 OPC_MoveSibling1,
2599 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2600 OPC_Scope, 22,
2601 OPC_RecordChild0,
2602 OPC_MoveChild1,
2603 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2604 OPC_CheckPredicate7,
2605 OPC_MoveParent,
2606 OPC_CheckType, MVT::v16i8,
2607 OPC_MoveParent,
2608 OPC_MoveParent,
2609 OPC_RecordChild1,
2610 OPC_CheckType, MVT::v16i8,
2611 OPC_CheckPatternPredicate1,
2612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2613 MVT::v16i8, 2, 1, 0,
2614 22,
2615 OPC_MoveChild0,
2616 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2617 OPC_CheckPredicate7,
2618 OPC_MoveParent,
2619 OPC_RecordChild1,
2620 OPC_CheckType, MVT::v16i8,
2621 OPC_MoveParent,
2622 OPC_MoveParent,
2623 OPC_RecordChild1,
2624 OPC_CheckType, MVT::v16i8,
2625 OPC_CheckPatternPredicate1,
2626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2627 MVT::v16i8, 2, 1, 0,
2628 0,
2629 43,
2630 OPC_RecordChild0,
2631 OPC_MoveChild1,
2632 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2633 OPC_MoveChild0,
2634 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2635 OPC_MoveChild0,
2636 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2637 OPC_CheckType, MVT::v4i32,
2638 OPC_MoveParent,
2639 OPC_CheckPredicate0,
2640 OPC_MoveSibling1,
2641 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2642 OPC_MoveChild0,
2643 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2644 OPC_CheckPredicate, 8,
2645 OPC_MoveParent,
2646 OPC_RecordChild1,
2647 OPC_CheckType, MVT::v8i16,
2648 OPC_MoveParent,
2649 OPC_MoveParent,
2650 OPC_CheckType, MVT::v8i16,
2651 OPC_CheckPatternPredicate1,
2652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2653 MVT::v8i16, 2, 0, 1,
2654 70,
2655 OPC_MoveChild0,
2656 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2657 OPC_MoveChild0,
2658 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2659 OPC_MoveChild0,
2660 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2661 OPC_CheckType, MVT::v4i32,
2662 OPC_MoveParent,
2663 OPC_CheckPredicate0,
2664 OPC_MoveSibling1,
2665 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2666 OPC_Scope, 23,
2667 OPC_RecordChild0,
2668 OPC_MoveChild1,
2669 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2670 OPC_CheckPredicate, 8,
2671 OPC_MoveParent,
2672 OPC_CheckType, MVT::v8i16,
2673 OPC_MoveParent,
2674 OPC_MoveParent,
2675 OPC_RecordChild1,
2676 OPC_CheckType, MVT::v8i16,
2677 OPC_CheckPatternPredicate1,
2678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2679 MVT::v8i16, 2, 1, 0,
2680 23,
2681 OPC_MoveChild0,
2682 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2683 OPC_CheckPredicate, 8,
2684 OPC_MoveParent,
2685 OPC_RecordChild1,
2686 OPC_CheckType, MVT::v8i16,
2687 OPC_MoveParent,
2688 OPC_MoveParent,
2689 OPC_RecordChild1,
2690 OPC_CheckType, MVT::v8i16,
2691 OPC_CheckPatternPredicate1,
2692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2693 MVT::v8i16, 2, 1, 0,
2694 0,
2695 42,
2696 OPC_RecordChild0,
2697 OPC_MoveChild1,
2698 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2699 OPC_MoveChild0,
2700 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2701 OPC_CheckPredicate0,
2702 OPC_MoveSibling1,
2703 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2704 OPC_MoveChild0,
2705 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2706 OPC_MoveChild0,
2707 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2708 OPC_CheckType, MVT::v4i32,
2709 OPC_MoveParent,
2710 OPC_CheckPredicate3,
2711 OPC_MoveParent,
2712 OPC_RecordChild1,
2713 OPC_CheckType, MVT::v2i64,
2714 OPC_MoveParent,
2715 OPC_MoveParent,
2716 OPC_CheckType, MVT::v2i64,
2717 OPC_CheckPatternPredicate1,
2718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2719 MVT::v2i64, 2, 0, 1,
2720 75,
2721 OPC_MoveChild0,
2722 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2723 OPC_MoveChild0,
2724 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2725 OPC_CheckPredicate0,
2726 OPC_MoveSibling1,
2727 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2728 OPC_Scope, 29,
2729 OPC_RecordChild0,
2730 OPC_MoveChild1,
2731 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2732 OPC_MoveChild0,
2733 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2734 OPC_CheckType, MVT::v4i32,
2735 OPC_MoveParent,
2736 OPC_CheckPredicate3,
2737 OPC_MoveParent,
2738 OPC_CheckType, MVT::v2i64,
2739 OPC_MoveParent,
2740 OPC_MoveParent,
2741 OPC_RecordChild1,
2742 OPC_CheckType, MVT::v2i64,
2743 OPC_CheckPatternPredicate1,
2744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2745 MVT::v2i64, 2, 1, 0,
2746 29,
2747 OPC_MoveChild0,
2748 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2749 OPC_MoveChild0,
2750 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2751 OPC_CheckType, MVT::v4i32,
2752 OPC_MoveParent,
2753 OPC_CheckPredicate3,
2754 OPC_MoveParent,
2755 OPC_RecordChild1,
2756 OPC_CheckType, MVT::v2i64,
2757 OPC_MoveParent,
2758 OPC_MoveParent,
2759 OPC_RecordChild1,
2760 OPC_CheckType, MVT::v2i64,
2761 OPC_CheckPatternPredicate1,
2762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2763 MVT::v2i64, 2, 1, 0,
2764 0,
2765 42,
2766 OPC_RecordChild0,
2767 OPC_MoveChild1,
2768 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2769 OPC_MoveChild0,
2770 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2771 OPC_MoveChild0,
2772 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2773 OPC_CheckType, MVT::v4i32,
2774 OPC_MoveParent,
2775 OPC_CheckPredicate0,
2776 OPC_MoveSibling1,
2777 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2778 OPC_MoveChild0,
2779 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2780 OPC_CheckPredicate3,
2781 OPC_MoveParent,
2782 OPC_RecordChild1,
2783 OPC_CheckType, MVT::v2i64,
2784 OPC_MoveParent,
2785 OPC_MoveParent,
2786 OPC_CheckType, MVT::v2i64,
2787 OPC_CheckPatternPredicate1,
2788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2789 MVT::v2i64, 2, 0, 1,
2790 68,
2791 OPC_MoveChild0,
2792 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2793 OPC_MoveChild0,
2794 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2795 OPC_MoveChild0,
2796 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2797 OPC_CheckType, MVT::v4i32,
2798 OPC_MoveParent,
2799 OPC_CheckPredicate0,
2800 OPC_MoveSibling1,
2801 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2802 OPC_Scope, 22,
2803 OPC_RecordChild0,
2804 OPC_MoveChild1,
2805 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2806 OPC_CheckPredicate3,
2807 OPC_MoveParent,
2808 OPC_CheckType, MVT::v2i64,
2809 OPC_MoveParent,
2810 OPC_MoveParent,
2811 OPC_RecordChild1,
2812 OPC_CheckType, MVT::v2i64,
2813 OPC_CheckPatternPredicate1,
2814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2815 MVT::v2i64, 2, 1, 0,
2816 22,
2817 OPC_MoveChild0,
2818 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2819 OPC_CheckPredicate3,
2820 OPC_MoveParent,
2821 OPC_RecordChild1,
2822 OPC_CheckType, MVT::v2i64,
2823 OPC_MoveParent,
2824 OPC_MoveParent,
2825 OPC_RecordChild1,
2826 OPC_CheckType, MVT::v2i64,
2827 OPC_CheckPatternPredicate1,
2828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2829 MVT::v2i64, 2, 1, 0,
2830 0,
2831 42,
2832 OPC_RecordChild0,
2833 OPC_MoveChild1,
2834 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2835 OPC_MoveChild0,
2836 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2837 OPC_MoveChild0,
2838 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2839 OPC_CheckType, MVT::v4i32,
2840 OPC_MoveParent,
2841 OPC_CheckPredicate0,
2842 OPC_MoveSibling1,
2843 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2844 OPC_MoveChild0,
2845 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2846 OPC_CheckPredicate7,
2847 OPC_MoveParent,
2848 OPC_RecordChild1,
2849 OPC_CheckType, MVT::v32i8,
2850 OPC_MoveParent,
2851 OPC_MoveParent,
2852 OPC_CheckType, MVT::v32i8,
2853 OPC_CheckPatternPredicate0,
2854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2855 MVT::v32i8, 2, 0, 1,
2856 68,
2857 OPC_MoveChild0,
2858 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2859 OPC_MoveChild0,
2860 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2861 OPC_MoveChild0,
2862 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2863 OPC_CheckType, MVT::v4i32,
2864 OPC_MoveParent,
2865 OPC_CheckPredicate0,
2866 OPC_MoveSibling1,
2867 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2868 OPC_Scope, 22,
2869 OPC_RecordChild0,
2870 OPC_MoveChild1,
2871 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2872 OPC_CheckPredicate7,
2873 OPC_MoveParent,
2874 OPC_CheckType, MVT::v32i8,
2875 OPC_MoveParent,
2876 OPC_MoveParent,
2877 OPC_RecordChild1,
2878 OPC_CheckType, MVT::v32i8,
2879 OPC_CheckPatternPredicate0,
2880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2881 MVT::v32i8, 2, 1, 0,
2882 22,
2883 OPC_MoveChild0,
2884 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2885 OPC_CheckPredicate7,
2886 OPC_MoveParent,
2887 OPC_RecordChild1,
2888 OPC_CheckType, MVT::v32i8,
2889 OPC_MoveParent,
2890 OPC_MoveParent,
2891 OPC_RecordChild1,
2892 OPC_CheckType, MVT::v32i8,
2893 OPC_CheckPatternPredicate0,
2894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2895 MVT::v32i8, 2, 1, 0,
2896 0,
2897 43,
2898 OPC_RecordChild0,
2899 OPC_MoveChild1,
2900 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2901 OPC_MoveChild0,
2902 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2903 OPC_MoveChild0,
2904 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2905 OPC_CheckType, MVT::v4i32,
2906 OPC_MoveParent,
2907 OPC_CheckPredicate0,
2908 OPC_MoveSibling1,
2909 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2910 OPC_MoveChild0,
2911 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2912 OPC_CheckPredicate, 8,
2913 OPC_MoveParent,
2914 OPC_RecordChild1,
2915 OPC_CheckType, MVT::v16i16,
2916 OPC_MoveParent,
2917 OPC_MoveParent,
2918 OPC_CheckType, MVT::v16i16,
2919 OPC_CheckPatternPredicate0,
2920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2921 MVT::v16i16, 2, 0, 1,
2922 70,
2923 OPC_MoveChild0,
2924 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2925 OPC_MoveChild0,
2926 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2927 OPC_MoveChild0,
2928 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2929 OPC_CheckType, MVT::v4i32,
2930 OPC_MoveParent,
2931 OPC_CheckPredicate0,
2932 OPC_MoveSibling1,
2933 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2934 OPC_Scope, 23,
2935 OPC_RecordChild0,
2936 OPC_MoveChild1,
2937 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2938 OPC_CheckPredicate, 8,
2939 OPC_MoveParent,
2940 OPC_CheckType, MVT::v16i16,
2941 OPC_MoveParent,
2942 OPC_MoveParent,
2943 OPC_RecordChild1,
2944 OPC_CheckType, MVT::v16i16,
2945 OPC_CheckPatternPredicate0,
2946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2947 MVT::v16i16, 2, 1, 0,
2948 23,
2949 OPC_MoveChild0,
2950 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2951 OPC_CheckPredicate, 8,
2952 OPC_MoveParent,
2953 OPC_RecordChild1,
2954 OPC_CheckType, MVT::v16i16,
2955 OPC_MoveParent,
2956 OPC_MoveParent,
2957 OPC_RecordChild1,
2958 OPC_CheckType, MVT::v16i16,
2959 OPC_CheckPatternPredicate0,
2960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2961 MVT::v16i16, 2, 1, 0,
2962 0,
2963 43,
2964 OPC_RecordChild0,
2965 OPC_MoveChild1,
2966 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2967 OPC_MoveChild0,
2968 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2969 OPC_MoveChild0,
2970 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2971 OPC_CheckType, MVT::v4i32,
2972 OPC_MoveParent,
2973 OPC_CheckPredicate0,
2974 OPC_MoveSibling1,
2975 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2976 OPC_MoveChild0,
2977 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2978 OPC_CheckPredicate, 9,
2979 OPC_MoveParent,
2980 OPC_RecordChild1,
2981 OPC_CheckType, MVT::v8i32,
2982 OPC_MoveParent,
2983 OPC_MoveParent,
2984 OPC_CheckType, MVT::v8i32,
2985 OPC_CheckPatternPredicate0,
2986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
2987 MVT::v8i32, 2, 0, 1,
2988 70,
2989 OPC_MoveChild0,
2990 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2991 OPC_MoveChild0,
2992 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2993 OPC_MoveChild0,
2994 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2995 OPC_CheckType, MVT::v4i32,
2996 OPC_MoveParent,
2997 OPC_CheckPredicate0,
2998 OPC_MoveSibling1,
2999 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3000 OPC_Scope, 23,
3001 OPC_RecordChild0,
3002 OPC_MoveChild1,
3003 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3004 OPC_CheckPredicate, 9,
3005 OPC_MoveParent,
3006 OPC_CheckType, MVT::v8i32,
3007 OPC_MoveParent,
3008 OPC_MoveParent,
3009 OPC_RecordChild1,
3010 OPC_CheckType, MVT::v8i32,
3011 OPC_CheckPatternPredicate0,
3012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3013 MVT::v8i32, 2, 1, 0,
3014 23,
3015 OPC_MoveChild0,
3016 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3017 OPC_CheckPredicate, 9,
3018 OPC_MoveParent,
3019 OPC_RecordChild1,
3020 OPC_CheckType, MVT::v8i32,
3021 OPC_MoveParent,
3022 OPC_MoveParent,
3023 OPC_RecordChild1,
3024 OPC_CheckType, MVT::v8i32,
3025 OPC_CheckPatternPredicate0,
3026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3027 MVT::v8i32, 2, 1, 0,
3028 0,
3029 42,
3030 OPC_RecordChild0,
3031 OPC_MoveChild1,
3032 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3033 OPC_MoveChild0,
3034 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3035 OPC_CheckPredicate0,
3036 OPC_MoveSibling1,
3037 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3038 OPC_MoveChild0,
3039 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3040 OPC_MoveChild0,
3041 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3042 OPC_CheckType, MVT::v4i32,
3043 OPC_MoveParent,
3044 OPC_CheckPredicate3,
3045 OPC_MoveParent,
3046 OPC_RecordChild1,
3047 OPC_CheckType, MVT::v4i64,
3048 OPC_MoveParent,
3049 OPC_MoveParent,
3050 OPC_CheckType, MVT::v4i64,
3051 OPC_CheckPatternPredicate0,
3052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3053 MVT::v4i64, 2, 0, 1,
3054 75,
3055 OPC_MoveChild0,
3056 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3057 OPC_MoveChild0,
3058 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3059 OPC_CheckPredicate0,
3060 OPC_MoveSibling1,
3061 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3062 OPC_Scope, 29,
3063 OPC_RecordChild0,
3064 OPC_MoveChild1,
3065 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3066 OPC_MoveChild0,
3067 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3068 OPC_CheckType, MVT::v4i32,
3069 OPC_MoveParent,
3070 OPC_CheckPredicate3,
3071 OPC_MoveParent,
3072 OPC_CheckType, MVT::v4i64,
3073 OPC_MoveParent,
3074 OPC_MoveParent,
3075 OPC_RecordChild1,
3076 OPC_CheckType, MVT::v4i64,
3077 OPC_CheckPatternPredicate0,
3078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3079 MVT::v4i64, 2, 1, 0,
3080 29,
3081 OPC_MoveChild0,
3082 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3083 OPC_MoveChild0,
3084 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3085 OPC_CheckType, MVT::v4i32,
3086 OPC_MoveParent,
3087 OPC_CheckPredicate3,
3088 OPC_MoveParent,
3089 OPC_RecordChild1,
3090 OPC_CheckType, MVT::v4i64,
3091 OPC_MoveParent,
3092 OPC_MoveParent,
3093 OPC_RecordChild1,
3094 OPC_CheckType, MVT::v4i64,
3095 OPC_CheckPatternPredicate0,
3096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3097 MVT::v4i64, 2, 1, 0,
3098 0,
3099 42,
3100 OPC_RecordChild0,
3101 OPC_MoveChild1,
3102 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3103 OPC_MoveChild0,
3104 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3105 OPC_MoveChild0,
3106 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3107 OPC_CheckType, MVT::v4i32,
3108 OPC_MoveParent,
3109 OPC_CheckPredicate0,
3110 OPC_MoveSibling1,
3111 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3112 OPC_MoveChild0,
3113 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3114 OPC_CheckPredicate3,
3115 OPC_MoveParent,
3116 OPC_RecordChild1,
3117 OPC_CheckType, MVT::v4i64,
3118 OPC_MoveParent,
3119 OPC_MoveParent,
3120 OPC_CheckType, MVT::v4i64,
3121 OPC_CheckPatternPredicate0,
3122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3123 MVT::v4i64, 2, 0, 1,
3124 68,
3125 OPC_MoveChild0,
3126 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3127 OPC_MoveChild0,
3128 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3129 OPC_MoveChild0,
3130 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3131 OPC_CheckType, MVT::v4i32,
3132 OPC_MoveParent,
3133 OPC_CheckPredicate0,
3134 OPC_MoveSibling1,
3135 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3136 OPC_Scope, 22,
3137 OPC_RecordChild0,
3138 OPC_MoveChild1,
3139 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3140 OPC_CheckPredicate3,
3141 OPC_MoveParent,
3142 OPC_CheckType, MVT::v4i64,
3143 OPC_MoveParent,
3144 OPC_MoveParent,
3145 OPC_RecordChild1,
3146 OPC_CheckType, MVT::v4i64,
3147 OPC_CheckPatternPredicate0,
3148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3149 MVT::v4i64, 2, 1, 0,
3150 22,
3151 OPC_MoveChild0,
3152 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3153 OPC_CheckPredicate3,
3154 OPC_MoveParent,
3155 OPC_RecordChild1,
3156 OPC_CheckType, MVT::v4i64,
3157 OPC_MoveParent,
3158 OPC_MoveParent,
3159 OPC_RecordChild1,
3160 OPC_CheckType, MVT::v4i64,
3161 OPC_CheckPatternPredicate0,
3162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3163 MVT::v4i64, 2, 1, 0,
3164 0,
3165 59|128,1,
3166 OPC_RecordChild0,
3167 OPC_MoveChild1,
3168 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3169 OPC_MoveChild0,
3170 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3171 OPC_CheckPredicate0,
3172 OPC_MoveSibling1,
3173 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3174 OPC_Scope, 19|128,1,
3175 OPC_RecordChild0,
3176 OPC_MoveChild1,
3177 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3178 OPC_Scope, 16,
3179 OPC_CheckPredicate7,
3180 OPC_MoveParent,
3181 OPC_CheckType, MVT::v16i8,
3182 OPC_MoveParent,
3183 OPC_MoveParent,
3184 OPC_CheckType, MVT::v16i8,
3185 OPC_CheckPatternPredicate1,
3186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3187 MVT::v16i8, 2, 0, 1,
3188 17,
3189 OPC_CheckPredicate, 8,
3190 OPC_MoveParent,
3191 OPC_CheckType, MVT::v8i16,
3192 OPC_MoveParent,
3193 OPC_MoveParent,
3194 OPC_CheckType, MVT::v8i16,
3195 OPC_CheckPatternPredicate1,
3196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3197 MVT::v8i16, 2, 0, 1,
3198 17,
3199 OPC_CheckPredicate, 9,
3200 OPC_MoveParent,
3201 OPC_CheckType, MVT::v4i32,
3202 OPC_MoveParent,
3203 OPC_MoveParent,
3204 OPC_CheckType, MVT::v4i32,
3205 OPC_CheckPatternPredicate1,
3206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3207 MVT::v4i32, 2, 0, 1,
3208 16,
3209 OPC_CheckPredicate3,
3210 OPC_MoveParent,
3211 OPC_CheckType, MVT::v2i64,
3212 OPC_MoveParent,
3213 OPC_MoveParent,
3214 OPC_CheckType, MVT::v2i64,
3215 OPC_CheckPatternPredicate1,
3216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3217 MVT::v2i64, 2, 0, 1,
3218 16,
3219 OPC_CheckPredicate7,
3220 OPC_MoveParent,
3221 OPC_CheckType, MVT::v32i8,
3222 OPC_MoveParent,
3223 OPC_MoveParent,
3224 OPC_CheckType, MVT::v32i8,
3225 OPC_CheckPatternPredicate0,
3226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3227 MVT::v32i8, 2, 0, 1,
3228 17,
3229 OPC_CheckPredicate, 8,
3230 OPC_MoveParent,
3231 OPC_CheckType, MVT::v16i16,
3232 OPC_MoveParent,
3233 OPC_MoveParent,
3234 OPC_CheckType, MVT::v16i16,
3235 OPC_CheckPatternPredicate0,
3236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3237 MVT::v16i16, 2, 0, 1,
3238 17,
3239 OPC_CheckPredicate, 9,
3240 OPC_MoveParent,
3241 OPC_CheckType, MVT::v8i32,
3242 OPC_MoveParent,
3243 OPC_MoveParent,
3244 OPC_CheckType, MVT::v8i32,
3245 OPC_CheckPatternPredicate0,
3246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3247 MVT::v8i32, 2, 0, 1,
3248 16,
3249 OPC_CheckPredicate3,
3250 OPC_MoveParent,
3251 OPC_CheckType, MVT::v4i64,
3252 OPC_MoveParent,
3253 OPC_MoveParent,
3254 OPC_CheckType, MVT::v4i64,
3255 OPC_CheckPatternPredicate0,
3256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3257 MVT::v4i64, 2, 0, 1,
3258 0,
3259 21,
3260 OPC_MoveChild0,
3261 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3262 OPC_CheckPredicate7,
3263 OPC_MoveParent,
3264 OPC_RecordChild1,
3265 OPC_CheckType, MVT::v16i8,
3266 OPC_MoveParent,
3267 OPC_MoveParent,
3268 OPC_CheckType, MVT::v16i8,
3269 OPC_CheckPatternPredicate1,
3270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3271 MVT::v16i8, 2, 0, 1,
3272 0,
3273 61,
3274 OPC_MoveChild0,
3275 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3276 OPC_MoveChild0,
3277 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3278 OPC_CheckPredicate0,
3279 OPC_MoveSibling1,
3280 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3281 OPC_Scope, 22,
3282 OPC_RecordChild0,
3283 OPC_MoveChild1,
3284 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3285 OPC_CheckPredicate7,
3286 OPC_MoveParent,
3287 OPC_CheckType, MVT::v16i8,
3288 OPC_MoveParent,
3289 OPC_MoveParent,
3290 OPC_RecordChild1,
3291 OPC_CheckType, MVT::v16i8,
3292 OPC_CheckPatternPredicate1,
3293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3294 MVT::v16i8, 2, 1, 0,
3295 22,
3296 OPC_MoveChild0,
3297 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3298 OPC_CheckPredicate7,
3299 OPC_MoveParent,
3300 OPC_RecordChild1,
3301 OPC_CheckType, MVT::v16i8,
3302 OPC_MoveParent,
3303 OPC_MoveParent,
3304 OPC_RecordChild1,
3305 OPC_CheckType, MVT::v16i8,
3306 OPC_CheckPatternPredicate1,
3307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3308 MVT::v16i8, 2, 1, 0,
3309 0,
3310 36,
3311 OPC_RecordChild0,
3312 OPC_MoveChild1,
3313 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3314 OPC_MoveChild0,
3315 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3316 OPC_CheckPredicate0,
3317 OPC_MoveSibling1,
3318 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3319 OPC_MoveChild0,
3320 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3321 OPC_CheckPredicate, 8,
3322 OPC_MoveParent,
3323 OPC_RecordChild1,
3324 OPC_CheckType, MVT::v8i16,
3325 OPC_MoveParent,
3326 OPC_MoveParent,
3327 OPC_CheckType, MVT::v8i16,
3328 OPC_CheckPatternPredicate1,
3329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3330 MVT::v8i16, 2, 0, 1,
3331 63,
3332 OPC_MoveChild0,
3333 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3334 OPC_MoveChild0,
3335 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3336 OPC_CheckPredicate0,
3337 OPC_MoveSibling1,
3338 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3339 OPC_Scope, 23,
3340 OPC_RecordChild0,
3341 OPC_MoveChild1,
3342 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3343 OPC_CheckPredicate, 8,
3344 OPC_MoveParent,
3345 OPC_CheckType, MVT::v8i16,
3346 OPC_MoveParent,
3347 OPC_MoveParent,
3348 OPC_RecordChild1,
3349 OPC_CheckType, MVT::v8i16,
3350 OPC_CheckPatternPredicate1,
3351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3352 MVT::v8i16, 2, 1, 0,
3353 23,
3354 OPC_MoveChild0,
3355 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3356 OPC_CheckPredicate, 8,
3357 OPC_MoveParent,
3358 OPC_RecordChild1,
3359 OPC_CheckType, MVT::v8i16,
3360 OPC_MoveParent,
3361 OPC_MoveParent,
3362 OPC_RecordChild1,
3363 OPC_CheckType, MVT::v8i16,
3364 OPC_CheckPatternPredicate1,
3365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3366 MVT::v8i16, 2, 1, 0,
3367 0,
3368 36,
3369 OPC_RecordChild0,
3370 OPC_MoveChild1,
3371 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3372 OPC_MoveChild0,
3373 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3374 OPC_CheckPredicate0,
3375 OPC_MoveSibling1,
3376 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3377 OPC_MoveChild0,
3378 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3379 OPC_CheckPredicate, 9,
3380 OPC_MoveParent,
3381 OPC_RecordChild1,
3382 OPC_CheckType, MVT::v4i32,
3383 OPC_MoveParent,
3384 OPC_MoveParent,
3385 OPC_CheckType, MVT::v4i32,
3386 OPC_CheckPatternPredicate1,
3387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3388 MVT::v4i32, 2, 0, 1,
3389 63,
3390 OPC_MoveChild0,
3391 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3392 OPC_MoveChild0,
3393 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3394 OPC_CheckPredicate0,
3395 OPC_MoveSibling1,
3396 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3397 OPC_Scope, 23,
3398 OPC_RecordChild0,
3399 OPC_MoveChild1,
3400 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3401 OPC_CheckPredicate, 9,
3402 OPC_MoveParent,
3403 OPC_CheckType, MVT::v4i32,
3404 OPC_MoveParent,
3405 OPC_MoveParent,
3406 OPC_RecordChild1,
3407 OPC_CheckType, MVT::v4i32,
3408 OPC_CheckPatternPredicate1,
3409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3410 MVT::v4i32, 2, 1, 0,
3411 23,
3412 OPC_MoveChild0,
3413 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3414 OPC_CheckPredicate, 9,
3415 OPC_MoveParent,
3416 OPC_RecordChild1,
3417 OPC_CheckType, MVT::v4i32,
3418 OPC_MoveParent,
3419 OPC_MoveParent,
3420 OPC_RecordChild1,
3421 OPC_CheckType, MVT::v4i32,
3422 OPC_CheckPatternPredicate1,
3423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3424 MVT::v4i32, 2, 1, 0,
3425 0,
3426 35,
3427 OPC_RecordChild0,
3428 OPC_MoveChild1,
3429 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3430 OPC_MoveChild0,
3431 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3432 OPC_CheckPredicate0,
3433 OPC_MoveSibling1,
3434 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3435 OPC_MoveChild0,
3436 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3437 OPC_CheckPredicate3,
3438 OPC_MoveParent,
3439 OPC_RecordChild1,
3440 OPC_CheckType, MVT::v2i64,
3441 OPC_MoveParent,
3442 OPC_MoveParent,
3443 OPC_CheckType, MVT::v2i64,
3444 OPC_CheckPatternPredicate1,
3445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3446 MVT::v2i64, 2, 0, 1,
3447 61,
3448 OPC_MoveChild0,
3449 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3450 OPC_MoveChild0,
3451 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3452 OPC_CheckPredicate0,
3453 OPC_MoveSibling1,
3454 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3455 OPC_Scope, 22,
3456 OPC_RecordChild0,
3457 OPC_MoveChild1,
3458 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3459 OPC_CheckPredicate3,
3460 OPC_MoveParent,
3461 OPC_CheckType, MVT::v2i64,
3462 OPC_MoveParent,
3463 OPC_MoveParent,
3464 OPC_RecordChild1,
3465 OPC_CheckType, MVT::v2i64,
3466 OPC_CheckPatternPredicate1,
3467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3468 MVT::v2i64, 2, 1, 0,
3469 22,
3470 OPC_MoveChild0,
3471 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3472 OPC_CheckPredicate3,
3473 OPC_MoveParent,
3474 OPC_RecordChild1,
3475 OPC_CheckType, MVT::v2i64,
3476 OPC_MoveParent,
3477 OPC_MoveParent,
3478 OPC_RecordChild1,
3479 OPC_CheckType, MVT::v2i64,
3480 OPC_CheckPatternPredicate1,
3481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3482 MVT::v2i64, 2, 1, 0,
3483 0,
3484 35,
3485 OPC_RecordChild0,
3486 OPC_MoveChild1,
3487 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3488 OPC_MoveChild0,
3489 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3490 OPC_CheckPredicate0,
3491 OPC_MoveSibling1,
3492 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3493 OPC_MoveChild0,
3494 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3495 OPC_CheckPredicate7,
3496 OPC_MoveParent,
3497 OPC_RecordChild1,
3498 OPC_CheckType, MVT::v32i8,
3499 OPC_MoveParent,
3500 OPC_MoveParent,
3501 OPC_CheckType, MVT::v32i8,
3502 OPC_CheckPatternPredicate0,
3503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3504 MVT::v32i8, 2, 0, 1,
3505 61,
3506 OPC_MoveChild0,
3507 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3508 OPC_MoveChild0,
3509 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3510 OPC_CheckPredicate0,
3511 OPC_MoveSibling1,
3512 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3513 OPC_Scope, 22,
3514 OPC_RecordChild0,
3515 OPC_MoveChild1,
3516 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3517 OPC_CheckPredicate7,
3518 OPC_MoveParent,
3519 OPC_CheckType, MVT::v32i8,
3520 OPC_MoveParent,
3521 OPC_MoveParent,
3522 OPC_RecordChild1,
3523 OPC_CheckType, MVT::v32i8,
3524 OPC_CheckPatternPredicate0,
3525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3526 MVT::v32i8, 2, 1, 0,
3527 22,
3528 OPC_MoveChild0,
3529 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3530 OPC_CheckPredicate7,
3531 OPC_MoveParent,
3532 OPC_RecordChild1,
3533 OPC_CheckType, MVT::v32i8,
3534 OPC_MoveParent,
3535 OPC_MoveParent,
3536 OPC_RecordChild1,
3537 OPC_CheckType, MVT::v32i8,
3538 OPC_CheckPatternPredicate0,
3539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3540 MVT::v32i8, 2, 1, 0,
3541 0,
3542 36,
3543 OPC_RecordChild0,
3544 OPC_MoveChild1,
3545 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3546 OPC_MoveChild0,
3547 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3548 OPC_CheckPredicate0,
3549 OPC_MoveSibling1,
3550 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3551 OPC_MoveChild0,
3552 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3553 OPC_CheckPredicate, 8,
3554 OPC_MoveParent,
3555 OPC_RecordChild1,
3556 OPC_CheckType, MVT::v16i16,
3557 OPC_MoveParent,
3558 OPC_MoveParent,
3559 OPC_CheckType, MVT::v16i16,
3560 OPC_CheckPatternPredicate0,
3561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3562 MVT::v16i16, 2, 0, 1,
3563 63,
3564 OPC_MoveChild0,
3565 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3566 OPC_MoveChild0,
3567 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3568 OPC_CheckPredicate0,
3569 OPC_MoveSibling1,
3570 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3571 OPC_Scope, 23,
3572 OPC_RecordChild0,
3573 OPC_MoveChild1,
3574 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3575 OPC_CheckPredicate, 8,
3576 OPC_MoveParent,
3577 OPC_CheckType, MVT::v16i16,
3578 OPC_MoveParent,
3579 OPC_MoveParent,
3580 OPC_RecordChild1,
3581 OPC_CheckType, MVT::v16i16,
3582 OPC_CheckPatternPredicate0,
3583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3584 MVT::v16i16, 2, 1, 0,
3585 23,
3586 OPC_MoveChild0,
3587 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3588 OPC_CheckPredicate, 8,
3589 OPC_MoveParent,
3590 OPC_RecordChild1,
3591 OPC_CheckType, MVT::v16i16,
3592 OPC_MoveParent,
3593 OPC_MoveParent,
3594 OPC_RecordChild1,
3595 OPC_CheckType, MVT::v16i16,
3596 OPC_CheckPatternPredicate0,
3597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3598 MVT::v16i16, 2, 1, 0,
3599 0,
3600 36,
3601 OPC_RecordChild0,
3602 OPC_MoveChild1,
3603 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3604 OPC_MoveChild0,
3605 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3606 OPC_CheckPredicate0,
3607 OPC_MoveSibling1,
3608 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3609 OPC_MoveChild0,
3610 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3611 OPC_CheckPredicate, 9,
3612 OPC_MoveParent,
3613 OPC_RecordChild1,
3614 OPC_CheckType, MVT::v8i32,
3615 OPC_MoveParent,
3616 OPC_MoveParent,
3617 OPC_CheckType, MVT::v8i32,
3618 OPC_CheckPatternPredicate0,
3619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3620 MVT::v8i32, 2, 0, 1,
3621 63,
3622 OPC_MoveChild0,
3623 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3624 OPC_MoveChild0,
3625 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3626 OPC_CheckPredicate0,
3627 OPC_MoveSibling1,
3628 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3629 OPC_Scope, 23,
3630 OPC_RecordChild0,
3631 OPC_MoveChild1,
3632 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3633 OPC_CheckPredicate, 9,
3634 OPC_MoveParent,
3635 OPC_CheckType, MVT::v8i32,
3636 OPC_MoveParent,
3637 OPC_MoveParent,
3638 OPC_RecordChild1,
3639 OPC_CheckType, MVT::v8i32,
3640 OPC_CheckPatternPredicate0,
3641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3642 MVT::v8i32, 2, 1, 0,
3643 23,
3644 OPC_MoveChild0,
3645 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3646 OPC_CheckPredicate, 9,
3647 OPC_MoveParent,
3648 OPC_RecordChild1,
3649 OPC_CheckType, MVT::v8i32,
3650 OPC_MoveParent,
3651 OPC_MoveParent,
3652 OPC_RecordChild1,
3653 OPC_CheckType, MVT::v8i32,
3654 OPC_CheckPatternPredicate0,
3655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3656 MVT::v8i32, 2, 1, 0,
3657 0,
3658 35,
3659 OPC_RecordChild0,
3660 OPC_MoveChild1,
3661 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3662 OPC_MoveChild0,
3663 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3664 OPC_CheckPredicate0,
3665 OPC_MoveSibling1,
3666 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3667 OPC_MoveChild0,
3668 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3669 OPC_CheckPredicate3,
3670 OPC_MoveParent,
3671 OPC_RecordChild1,
3672 OPC_CheckType, MVT::v4i64,
3673 OPC_MoveParent,
3674 OPC_MoveParent,
3675 OPC_CheckType, MVT::v4i64,
3676 OPC_CheckPatternPredicate0,
3677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3678 MVT::v4i64, 2, 0, 1,
3679 61,
3680 OPC_MoveChild0,
3681 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3682 OPC_MoveChild0,
3683 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3684 OPC_CheckPredicate0,
3685 OPC_MoveSibling1,
3686 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3687 OPC_Scope, 22,
3688 OPC_RecordChild0,
3689 OPC_MoveChild1,
3690 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3691 OPC_CheckPredicate3,
3692 OPC_MoveParent,
3693 OPC_CheckType, MVT::v4i64,
3694 OPC_MoveParent,
3695 OPC_MoveParent,
3696 OPC_RecordChild1,
3697 OPC_CheckType, MVT::v4i64,
3698 OPC_CheckPatternPredicate0,
3699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3700 MVT::v4i64, 2, 1, 0,
3701 22,
3702 OPC_MoveChild0,
3703 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3704 OPC_CheckPredicate3,
3705 OPC_MoveParent,
3706 OPC_RecordChild1,
3707 OPC_CheckType, MVT::v4i64,
3708 OPC_MoveParent,
3709 OPC_MoveParent,
3710 OPC_RecordChild1,
3711 OPC_CheckType, MVT::v4i64,
3712 OPC_CheckPatternPredicate0,
3713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3714 MVT::v4i64, 2, 1, 0,
3715 0,
3716 61,
3717 OPC_RecordChild0,
3718 OPC_MoveChild1,
3719 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3720 OPC_MoveChild0,
3721 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3722 OPC_MoveSibling1,
3723 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3724 OPC_Scope, 22,
3725 OPC_RecordChild0,
3726 OPC_MoveChild1,
3727 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3728 OPC_CheckPredicate, 9,
3729 OPC_MoveParent,
3730 OPC_CheckType, MVT::v4i32,
3731 OPC_MoveParent,
3732 OPC_MoveParent,
3733 OPC_CheckType, MVT::v4i32,
3734 OPC_CheckPatternPredicate1,
3735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3736 MVT::v4i32, 2, 0, 1,
3737 22,
3738 OPC_MoveChild0,
3739 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3740 OPC_CheckPredicate, 9,
3741 OPC_MoveParent,
3742 OPC_RecordChild1,
3743 OPC_CheckType, MVT::v4i32,
3744 OPC_MoveParent,
3745 OPC_MoveParent,
3746 OPC_CheckType, MVT::v4i32,
3747 OPC_CheckPatternPredicate1,
3748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3749 MVT::v4i32, 2, 0, 1,
3750 0,
3751 62,
3752 OPC_MoveChild0,
3753 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3754 OPC_MoveChild0,
3755 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3756 OPC_MoveSibling1,
3757 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3758 OPC_Scope, 23,
3759 OPC_RecordChild0,
3760 OPC_MoveChild1,
3761 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3762 OPC_CheckPredicate, 9,
3763 OPC_MoveParent,
3764 OPC_CheckType, MVT::v4i32,
3765 OPC_MoveParent,
3766 OPC_MoveParent,
3767 OPC_RecordChild1,
3768 OPC_CheckType, MVT::v4i32,
3769 OPC_CheckPatternPredicate1,
3770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3771 MVT::v4i32, 2, 1, 0,
3772 23,
3773 OPC_MoveChild0,
3774 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3775 OPC_CheckPredicate, 9,
3776 OPC_MoveParent,
3777 OPC_RecordChild1,
3778 OPC_CheckType, MVT::v4i32,
3779 OPC_MoveParent,
3780 OPC_MoveParent,
3781 OPC_RecordChild1,
3782 OPC_CheckType, MVT::v4i32,
3783 OPC_CheckPatternPredicate1,
3784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3785 MVT::v4i32, 2, 1, 0,
3786 0,
3787 119,
3788 OPC_RecordChild0,
3789 OPC_MoveChild1,
3790 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3791 OPC_MoveChild0,
3792 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3793 OPC_MoveChild0,
3794 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3795 OPC_CheckType, MVT::v4i32,
3796 OPC_MoveParent,
3797 OPC_CheckPredicate0,
3798 OPC_MoveParent,
3799 OPC_RecordChild1,
3800 OPC_Scope, 13,
3801 OPC_CheckChild1Type, MVT::v16i8,
3802 OPC_MoveParent,
3803 OPC_CheckType, MVT::v16i8,
3804 OPC_CheckPatternPredicate1,
3805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3806 MVT::v16i8, 2, 0, 1,
3807 13,
3808 OPC_CheckChild1Type, MVT::v8i16,
3809 OPC_MoveParent,
3810 OPC_CheckType, MVT::v8i16,
3811 OPC_CheckPatternPredicate1,
3812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3813 MVT::v8i16, 2, 0, 1,
3814 13,
3815 OPC_CheckChild1Type, MVT::v2i64,
3816 OPC_MoveParent,
3817 OPC_CheckType, MVT::v2i64,
3818 OPC_CheckPatternPredicate1,
3819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3820 MVT::v2i64, 2, 0, 1,
3821 13,
3822 OPC_CheckChild1Type, MVT::v32i8,
3823 OPC_MoveParent,
3824 OPC_CheckType, MVT::v32i8,
3825 OPC_CheckPatternPredicate0,
3826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3827 MVT::v32i8, 2, 0, 1,
3828 13,
3829 OPC_CheckChild1Type, MVT::v16i16,
3830 OPC_MoveParent,
3831 OPC_CheckType, MVT::v16i16,
3832 OPC_CheckPatternPredicate0,
3833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3834 MVT::v16i16, 2, 0, 1,
3835 13,
3836 OPC_CheckChild1Type, MVT::v8i32,
3837 OPC_MoveParent,
3838 OPC_CheckType, MVT::v8i32,
3839 OPC_CheckPatternPredicate0,
3840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3841 MVT::v8i32, 2, 0, 1,
3842 13,
3843 OPC_CheckChild1Type, MVT::v4i64,
3844 OPC_MoveParent,
3845 OPC_CheckType, MVT::v4i64,
3846 OPC_CheckPatternPredicate0,
3847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3848 MVT::v4i64, 2, 0, 1,
3849 0,
3850 125,
3851 OPC_MoveChild0,
3852 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3853 OPC_MoveChild0,
3854 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3855 OPC_MoveChild0,
3856 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3857 OPC_CheckType, MVT::v4i32,
3858 OPC_MoveParent,
3859 OPC_CheckPredicate0,
3860 OPC_MoveParent,
3861 OPC_RecordChild1,
3862 OPC_Scope, 14,
3863 OPC_CheckChild1Type, MVT::v16i8,
3864 OPC_MoveParent,
3865 OPC_RecordChild1,
3866 OPC_CheckType, MVT::v16i8,
3867 OPC_CheckPatternPredicate1,
3868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3869 MVT::v16i8, 2, 1, 0,
3870 14,
3871 OPC_CheckChild1Type, MVT::v8i16,
3872 OPC_MoveParent,
3873 OPC_RecordChild1,
3874 OPC_CheckType, MVT::v8i16,
3875 OPC_CheckPatternPredicate1,
3876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3877 MVT::v8i16, 2, 1, 0,
3878 14,
3879 OPC_CheckChild1Type, MVT::v2i64,
3880 OPC_MoveParent,
3881 OPC_RecordChild1,
3882 OPC_CheckType, MVT::v2i64,
3883 OPC_CheckPatternPredicate1,
3884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3885 MVT::v2i64, 2, 1, 0,
3886 14,
3887 OPC_CheckChild1Type, MVT::v32i8,
3888 OPC_MoveParent,
3889 OPC_RecordChild1,
3890 OPC_CheckType, MVT::v32i8,
3891 OPC_CheckPatternPredicate0,
3892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3893 MVT::v32i8, 2, 1, 0,
3894 14,
3895 OPC_CheckChild1Type, MVT::v16i16,
3896 OPC_MoveParent,
3897 OPC_RecordChild1,
3898 OPC_CheckType, MVT::v16i16,
3899 OPC_CheckPatternPredicate0,
3900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3901 MVT::v16i16, 2, 1, 0,
3902 14,
3903 OPC_CheckChild1Type, MVT::v8i32,
3904 OPC_MoveParent,
3905 OPC_RecordChild1,
3906 OPC_CheckType, MVT::v8i32,
3907 OPC_CheckPatternPredicate0,
3908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3909 MVT::v8i32, 2, 1, 0,
3910 14,
3911 OPC_CheckChild1Type, MVT::v4i64,
3912 OPC_MoveParent,
3913 OPC_RecordChild1,
3914 OPC_CheckType, MVT::v4i64,
3915 OPC_CheckPatternPredicate0,
3916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3917 MVT::v4i64, 2, 1, 0,
3918 0,
3919 126,
3920 OPC_RecordChild0,
3921 OPC_MoveChild1,
3922 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3923 OPC_MoveChild0,
3924 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3925 OPC_CheckPredicate0,
3926 OPC_MoveParent,
3927 OPC_RecordChild1,
3928 OPC_Scope, 13,
3929 OPC_CheckChild1Type, MVT::v16i8,
3930 OPC_MoveParent,
3931 OPC_CheckType, MVT::v16i8,
3932 OPC_CheckPatternPredicate1,
3933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3934 MVT::v16i8, 2, 0, 1,
3935 13,
3936 OPC_CheckChild1Type, MVT::v8i16,
3937 OPC_MoveParent,
3938 OPC_CheckType, MVT::v8i16,
3939 OPC_CheckPatternPredicate1,
3940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3941 MVT::v8i16, 2, 0, 1,
3942 13,
3943 OPC_CheckChild1Type, MVT::v4i32,
3944 OPC_MoveParent,
3945 OPC_CheckType, MVT::v4i32,
3946 OPC_CheckPatternPredicate1,
3947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3948 MVT::v4i32, 2, 0, 1,
3949 13,
3950 OPC_CheckChild1Type, MVT::v2i64,
3951 OPC_MoveParent,
3952 OPC_CheckType, MVT::v2i64,
3953 OPC_CheckPatternPredicate1,
3954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3955 MVT::v2i64, 2, 0, 1,
3956 13,
3957 OPC_CheckChild1Type, MVT::v32i8,
3958 OPC_MoveParent,
3959 OPC_CheckType, MVT::v32i8,
3960 OPC_CheckPatternPredicate0,
3961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3962 MVT::v32i8, 2, 0, 1,
3963 13,
3964 OPC_CheckChild1Type, MVT::v16i16,
3965 OPC_MoveParent,
3966 OPC_CheckType, MVT::v16i16,
3967 OPC_CheckPatternPredicate0,
3968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3969 MVT::v16i16, 2, 0, 1,
3970 13,
3971 OPC_CheckChild1Type, MVT::v8i32,
3972 OPC_MoveParent,
3973 OPC_CheckType, MVT::v8i32,
3974 OPC_CheckPatternPredicate0,
3975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3976 MVT::v8i32, 2, 0, 1,
3977 13,
3978 OPC_CheckChild1Type, MVT::v4i64,
3979 OPC_MoveParent,
3980 OPC_CheckType, MVT::v4i64,
3981 OPC_CheckPatternPredicate0,
3982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3983 MVT::v4i64, 2, 0, 1,
3984 0,
3985 5|128,1,
3986 OPC_MoveChild0,
3987 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3988 OPC_MoveChild0,
3989 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3990 OPC_CheckPredicate0,
3991 OPC_MoveParent,
3992 OPC_RecordChild1,
3993 OPC_Scope, 14,
3994 OPC_CheckChild1Type, MVT::v16i8,
3995 OPC_MoveParent,
3996 OPC_RecordChild1,
3997 OPC_CheckType, MVT::v16i8,
3998 OPC_CheckPatternPredicate1,
3999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
4000 MVT::v16i8, 2, 1, 0,
4001 14,
4002 OPC_CheckChild1Type, MVT::v8i16,
4003 OPC_MoveParent,
4004 OPC_RecordChild1,
4005 OPC_CheckType, MVT::v8i16,
4006 OPC_CheckPatternPredicate1,
4007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
4008 MVT::v8i16, 2, 1, 0,
4009 14,
4010 OPC_CheckChild1Type, MVT::v4i32,
4011 OPC_MoveParent,
4012 OPC_RecordChild1,
4013 OPC_CheckType, MVT::v4i32,
4014 OPC_CheckPatternPredicate1,
4015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4016 MVT::v4i32, 2, 1, 0,
4017 14,
4018 OPC_CheckChild1Type, MVT::v2i64,
4019 OPC_MoveParent,
4020 OPC_RecordChild1,
4021 OPC_CheckType, MVT::v2i64,
4022 OPC_CheckPatternPredicate1,
4023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
4024 MVT::v2i64, 2, 1, 0,
4025 14,
4026 OPC_CheckChild1Type, MVT::v32i8,
4027 OPC_MoveParent,
4028 OPC_RecordChild1,
4029 OPC_CheckType, MVT::v32i8,
4030 OPC_CheckPatternPredicate0,
4031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
4032 MVT::v32i8, 2, 1, 0,
4033 14,
4034 OPC_CheckChild1Type, MVT::v16i16,
4035 OPC_MoveParent,
4036 OPC_RecordChild1,
4037 OPC_CheckType, MVT::v16i16,
4038 OPC_CheckPatternPredicate0,
4039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
4040 MVT::v16i16, 2, 1, 0,
4041 14,
4042 OPC_CheckChild1Type, MVT::v8i32,
4043 OPC_MoveParent,
4044 OPC_RecordChild1,
4045 OPC_CheckType, MVT::v8i32,
4046 OPC_CheckPatternPredicate0,
4047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
4048 MVT::v8i32, 2, 1, 0,
4049 14,
4050 OPC_CheckChild1Type, MVT::v4i64,
4051 OPC_MoveParent,
4052 OPC_RecordChild1,
4053 OPC_CheckType, MVT::v4i64,
4054 OPC_CheckPatternPredicate0,
4055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
4056 MVT::v4i64, 2, 1, 0,
4057 0,
4058 24,
4059 OPC_RecordChild0,
4060 OPC_MoveChild1,
4061 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4062 OPC_MoveChild0,
4063 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4064 OPC_MoveParent,
4065 OPC_RecordChild1,
4066 OPC_CheckChild1Type, MVT::v4i32,
4067 OPC_MoveParent,
4068 OPC_CheckType, MVT::v4i32,
4069 OPC_CheckPatternPredicate1,
4070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4071 MVT::v4i32, 2, 0, 1,
4072 24,
4073 OPC_MoveChild0,
4074 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4075 OPC_MoveChild0,
4076 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4077 OPC_MoveParent,
4078 OPC_RecordChild1,
4079 OPC_CheckChild1Type, MVT::v4i32,
4080 OPC_MoveParent,
4081 OPC_RecordChild1,
4082 OPC_CheckType, MVT::v4i32,
4083 OPC_CheckPatternPredicate1,
4084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4085 MVT::v4i32, 2, 1, 0,
4086 36|128,4,
4087 OPC_RecordChild0,
4088 OPC_RecordChild1,
4089 OPC_SwitchType , 99, MVT::v16i8,
4090 OPC_Scope, 10,
4091 OPC_CheckPatternPredicate2,
4092 OPC_CheckComplexPat5, /*#*/1,
4093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4094 MVT::v16i8, 2, 0, 2,
4095 10,
4096 OPC_CheckPatternPredicate5,
4097 OPC_CheckComplexPat5, /*#*/1,
4098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4099 MVT::v16i8, 2, 0, 2,
4100 10,
4101 OPC_CheckPatternPredicate2,
4102 OPC_CheckComplexPat5, /*#*/0,
4103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4104 MVT::v16i8, 2, 1, 2,
4105 10,
4106 OPC_CheckPatternPredicate5,
4107 OPC_CheckComplexPat5, /*#*/0,
4108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4109 MVT::v16i8, 2, 1, 2,
4110 10,
4111 OPC_CheckPatternPredicate2,
4112 OPC_CheckComplexPat7, /*#*/1,
4113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4114 MVT::v16i8, 2, 0, 2,
4115 10,
4116 OPC_CheckPatternPredicate5,
4117 OPC_CheckComplexPat7, /*#*/1,
4118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4119 MVT::v16i8, 2, 0, 2,
4120 10,
4121 OPC_CheckPatternPredicate2,
4122 OPC_CheckComplexPat7, /*#*/0,
4123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4124 MVT::v16i8, 2, 1, 2,
4125 10,
4126 OPC_CheckPatternPredicate5,
4127 OPC_CheckComplexPat7, /*#*/0,
4128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4129 MVT::v16i8, 2, 1, 2,
4130 8,
4131 OPC_CheckPatternPredicate1,
4132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4133 MVT::v16i8, 2, 0, 1,
4134 0,
4135 55, MVT::v8i16,
4136 OPC_Scope, 10,
4137 OPC_CheckPatternPredicate2,
4138 OPC_CheckComplexPat5, /*#*/1,
4139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4140 MVT::v8i16, 2, 0, 2,
4141 10,
4142 OPC_CheckPatternPredicate5,
4143 OPC_CheckComplexPat5, /*#*/1,
4144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4145 MVT::v8i16, 2, 0, 2,
4146 10,
4147 OPC_CheckPatternPredicate2,
4148 OPC_CheckComplexPat5, /*#*/0,
4149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4150 MVT::v8i16, 2, 1, 2,
4151 10,
4152 OPC_CheckPatternPredicate5,
4153 OPC_CheckComplexPat5, /*#*/0,
4154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4155 MVT::v8i16, 2, 1, 2,
4156 8,
4157 OPC_CheckPatternPredicate1,
4158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4159 MVT::v8i16, 2, 0, 1,
4160 0,
4161 55, MVT::v4i32,
4162 OPC_Scope, 10,
4163 OPC_CheckPatternPredicate2,
4164 OPC_CheckComplexPat5, /*#*/1,
4165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4166 MVT::v4i32, 2, 0, 2,
4167 10,
4168 OPC_CheckPatternPredicate5,
4169 OPC_CheckComplexPat5, /*#*/1,
4170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4171 MVT::v4i32, 2, 0, 2,
4172 10,
4173 OPC_CheckPatternPredicate2,
4174 OPC_CheckComplexPat5, /*#*/0,
4175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4176 MVT::v4i32, 2, 1, 2,
4177 10,
4178 OPC_CheckPatternPredicate5,
4179 OPC_CheckComplexPat5, /*#*/0,
4180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4181 MVT::v4i32, 2, 1, 2,
4182 8,
4183 OPC_CheckPatternPredicate1,
4184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4185 MVT::v4i32, 2, 0, 1,
4186 0,
4187 55, MVT::v2i64,
4188 OPC_Scope, 10,
4189 OPC_CheckPatternPredicate2,
4190 OPC_CheckComplexPat5, /*#*/1,
4191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4192 MVT::v2i64, 2, 0, 2,
4193 10,
4194 OPC_CheckPatternPredicate5,
4195 OPC_CheckComplexPat5, /*#*/1,
4196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4197 MVT::v2i64, 2, 0, 2,
4198 10,
4199 OPC_CheckPatternPredicate2,
4200 OPC_CheckComplexPat5, /*#*/0,
4201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4202 MVT::v2i64, 2, 1, 2,
4203 10,
4204 OPC_CheckPatternPredicate5,
4205 OPC_CheckComplexPat5, /*#*/0,
4206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4207 MVT::v2i64, 2, 1, 2,
4208 8,
4209 OPC_CheckPatternPredicate1,
4210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4211 MVT::v2i64, 2, 0, 1,
4212 0,
4213 99, MVT::v32i8,
4214 OPC_Scope, 10,
4215 OPC_CheckPatternPredicate3,
4216 OPC_CheckComplexPat5, /*#*/1,
4217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4218 MVT::v32i8, 2, 0, 2,
4219 10,
4220 OPC_CheckPatternPredicate4,
4221 OPC_CheckComplexPat5, /*#*/1,
4222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4223 MVT::v32i8, 2, 0, 2,
4224 10,
4225 OPC_CheckPatternPredicate3,
4226 OPC_CheckComplexPat5, /*#*/0,
4227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4228 MVT::v32i8, 2, 1, 2,
4229 10,
4230 OPC_CheckPatternPredicate4,
4231 OPC_CheckComplexPat5, /*#*/0,
4232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4233 MVT::v32i8, 2, 1, 2,
4234 10,
4235 OPC_CheckPatternPredicate3,
4236 OPC_CheckComplexPat7, /*#*/1,
4237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4238 MVT::v32i8, 2, 0, 2,
4239 10,
4240 OPC_CheckPatternPredicate4,
4241 OPC_CheckComplexPat7, /*#*/1,
4242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4243 MVT::v32i8, 2, 0, 2,
4244 10,
4245 OPC_CheckPatternPredicate3,
4246 OPC_CheckComplexPat7, /*#*/0,
4247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4248 MVT::v32i8, 2, 1, 2,
4249 10,
4250 OPC_CheckPatternPredicate4,
4251 OPC_CheckComplexPat7, /*#*/0,
4252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4253 MVT::v32i8, 2, 1, 2,
4254 8,
4255 OPC_CheckPatternPredicate0,
4256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4257 MVT::v32i8, 2, 0, 1,
4258 0,
4259 55, MVT::v16i16,
4260 OPC_Scope, 10,
4261 OPC_CheckPatternPredicate3,
4262 OPC_CheckComplexPat5, /*#*/1,
4263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4264 MVT::v16i16, 2, 0, 2,
4265 10,
4266 OPC_CheckPatternPredicate4,
4267 OPC_CheckComplexPat5, /*#*/1,
4268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4269 MVT::v16i16, 2, 0, 2,
4270 10,
4271 OPC_CheckPatternPredicate3,
4272 OPC_CheckComplexPat5, /*#*/0,
4273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4274 MVT::v16i16, 2, 1, 2,
4275 10,
4276 OPC_CheckPatternPredicate4,
4277 OPC_CheckComplexPat5, /*#*/0,
4278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4279 MVT::v16i16, 2, 1, 2,
4280 8,
4281 OPC_CheckPatternPredicate0,
4282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4283 MVT::v16i16, 2, 0, 1,
4284 0,
4285 55, MVT::v8i32,
4286 OPC_Scope, 10,
4287 OPC_CheckPatternPredicate3,
4288 OPC_CheckComplexPat5, /*#*/1,
4289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4290 MVT::v8i32, 2, 0, 2,
4291 10,
4292 OPC_CheckPatternPredicate4,
4293 OPC_CheckComplexPat5, /*#*/1,
4294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4295 MVT::v8i32, 2, 0, 2,
4296 10,
4297 OPC_CheckPatternPredicate3,
4298 OPC_CheckComplexPat5, /*#*/0,
4299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4300 MVT::v8i32, 2, 1, 2,
4301 10,
4302 OPC_CheckPatternPredicate4,
4303 OPC_CheckComplexPat5, /*#*/0,
4304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4305 MVT::v8i32, 2, 1, 2,
4306 8,
4307 OPC_CheckPatternPredicate0,
4308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4309 MVT::v8i32, 2, 0, 1,
4310 0,
4311 55, MVT::v4i64,
4312 OPC_Scope, 10,
4313 OPC_CheckPatternPredicate3,
4314 OPC_CheckComplexPat5, /*#*/1,
4315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4316 MVT::v4i64, 2, 0, 2,
4317 10,
4318 OPC_CheckPatternPredicate4,
4319 OPC_CheckComplexPat5, /*#*/1,
4320 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4321 MVT::v4i64, 2, 0, 2,
4322 10,
4323 OPC_CheckPatternPredicate3,
4324 OPC_CheckComplexPat5, /*#*/0,
4325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4326 MVT::v4i64, 2, 1, 2,
4327 10,
4328 OPC_CheckPatternPredicate4,
4329 OPC_CheckComplexPat5, /*#*/0,
4330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4331 MVT::v4i64, 2, 1, 2,
4332 8,
4333 OPC_CheckPatternPredicate0,
4334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4335 MVT::v4i64, 2, 0, 1,
4336 0,
4337 0,
4338 0,
4339 56|128,38, TARGET_VAL(ISD::LOAD),
4340 OPC_RecordMemRef,
4341 OPC_RecordNode,
4342 OPC_Scope, 41|128,6,
4343 OPC_MoveChild1,
4344 OPC_SwitchOpcode , 15|128,3, TARGET_VAL(ISD::ADD),
4345 OPC_RecordChild0,
4346 OPC_RecordChild1,
4347 OPC_MoveChild1,
4348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4349 OPC_Scope, 89|128,2,
4350 OPC_CheckPredicate, 11,
4351 OPC_MoveParent,
4352 OPC_CheckPredicate, 10,
4353 OPC_SwitchType , 68|128,1, MVT::i64,
4354 OPC_MoveParent,
4355 OPC_CheckPredicate6,
4356 OPC_CheckTypeI64,
4357 OPC_Scope, 17,
4358 OPC_CheckPredicate, 16,
4359 OPC_CheckPredicate, 13,
4360 OPC_CheckPatternPredicate7,
4361 OPC_CheckComplexPat0, /*#*/1,
4362 OPC_EmitMergeInputChains1_0,
4363 OPC_EmitConvertToTarget2,
4364 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4365 MVT::i64, 2, 3, 4,
4366 17,
4367 OPC_CheckPredicate, 17,
4368 OPC_CheckPredicate, 13,
4369 OPC_CheckPatternPredicate7,
4370 OPC_CheckComplexPat0, /*#*/1,
4371 OPC_EmitMergeInputChains1_0,
4372 OPC_EmitConvertToTarget2,
4373 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4374 MVT::i64, 2, 3, 4,
4375 17,
4376 OPC_CheckPredicate, 16,
4377 OPC_CheckPredicate, 14,
4378 OPC_CheckPatternPredicate7,
4379 OPC_CheckComplexPat0, /*#*/1,
4380 OPC_EmitMergeInputChains1_0,
4381 OPC_EmitConvertToTarget2,
4382 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4383 MVT::i64, 2, 3, 4,
4384 17,
4385 OPC_CheckPredicate, 17,
4386 OPC_CheckPredicate, 14,
4387 OPC_CheckPatternPredicate7,
4388 OPC_CheckComplexPat0, /*#*/1,
4389 OPC_EmitMergeInputChains1_0,
4390 OPC_EmitConvertToTarget2,
4391 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4392 MVT::i64, 2, 3, 4,
4393 15,
4394 OPC_CheckPredicate4,
4395 OPC_CheckPatternPredicate, 15,
4396 OPC_CheckComplexPat0, /*#*/1,
4397 OPC_EmitMergeInputChains1_0,
4398 OPC_EmitConvertToTarget2,
4399 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4400 MVT::i64, 2, 3, 4,
4401 36,
4402 OPC_CheckPredicate, 19,
4403 OPC_Scope, 15,
4404 OPC_CheckPredicate, 13,
4405 OPC_CheckPatternPredicate7,
4406 OPC_CheckComplexPat0, /*#*/1,
4407 OPC_EmitMergeInputChains1_0,
4408 OPC_EmitConvertToTarget2,
4409 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4410 MVT::i64, 2, 3, 4,
4411 15,
4412 OPC_CheckPredicate, 14,
4413 OPC_CheckPatternPredicate7,
4414 OPC_CheckComplexPat0, /*#*/1,
4415 OPC_EmitMergeInputChains1_0,
4416 OPC_EmitConvertToTarget2,
4417 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4418 MVT::i64, 2, 3, 4,
4419 0,
4420 16,
4421 OPC_CheckPredicate, 16,
4422 OPC_CheckPredicate5,
4423 OPC_CheckPatternPredicate6,
4424 OPC_CheckComplexPat0, /*#*/1,
4425 OPC_EmitMergeInputChains1_0,
4426 OPC_EmitConvertToTarget2,
4427 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4428 MVT::i64, 2, 3, 4,
4429 16,
4430 OPC_CheckPredicate, 17,
4431 OPC_CheckPredicate5,
4432 OPC_CheckPatternPredicate6,
4433 OPC_CheckComplexPat0, /*#*/1,
4434 OPC_EmitMergeInputChains1_0,
4435 OPC_EmitConvertToTarget2,
4436 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4437 MVT::i64, 2, 3, 4,
4438 16,
4439 OPC_CheckPredicate, 19,
4440 OPC_CheckPredicate5,
4441 OPC_CheckPatternPredicate6,
4442 OPC_CheckComplexPat0, /*#*/1,
4443 OPC_EmitMergeInputChains1_0,
4444 OPC_EmitConvertToTarget2,
4445 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4446 MVT::i64, 2, 3, 4,
4447 14,
4448 OPC_CheckPredicate4,
4449 OPC_CheckPatternPredicate6,
4450 OPC_CheckComplexPat0, /*#*/1,
4451 OPC_EmitMergeInputChains1_0,
4452 OPC_EmitConvertToTarget2,
4453 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4454 MVT::i64, 2, 3, 4,
4455 0,
4456 8|128,1, MVT::i32,
4457 OPC_MoveParent,
4458 OPC_CheckPredicate6,
4459 OPC_CheckTypeI32,
4460 OPC_Scope, 18,
4461 OPC_CheckPredicate, 16,
4462 OPC_CheckPredicate, 13,
4463 OPC_CheckPatternPredicate, 8,
4464 OPC_CheckComplexPat0, /*#*/1,
4465 OPC_EmitMergeInputChains1_0,
4466 OPC_EmitConvertToTarget2,
4467 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4468 MVT::i32, 2, 3, 4,
4469 18,
4470 OPC_CheckPredicate, 17,
4471 OPC_CheckPredicate, 13,
4472 OPC_CheckPatternPredicate, 8,
4473 OPC_CheckComplexPat0, /*#*/1,
4474 OPC_EmitMergeInputChains1_0,
4475 OPC_EmitConvertToTarget2,
4476 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4477 MVT::i32, 2, 3, 4,
4478 18,
4479 OPC_CheckPredicate, 16,
4480 OPC_CheckPredicate, 14,
4481 OPC_CheckPatternPredicate, 8,
4482 OPC_CheckComplexPat0, /*#*/1,
4483 OPC_EmitMergeInputChains1_0,
4484 OPC_EmitConvertToTarget2,
4485 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4486 MVT::i32, 2, 3, 4,
4487 18,
4488 OPC_CheckPredicate, 17,
4489 OPC_CheckPredicate, 14,
4490 OPC_CheckPatternPredicate, 8,
4491 OPC_CheckComplexPat0, /*#*/1,
4492 OPC_EmitMergeInputChains1_0,
4493 OPC_EmitConvertToTarget2,
4494 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4495 MVT::i32, 2, 3, 4,
4496 15,
4497 OPC_CheckPredicate4,
4498 OPC_CheckPatternPredicate, 9,
4499 OPC_CheckComplexPat0, /*#*/1,
4500 OPC_EmitMergeInputChains1_0,
4501 OPC_EmitConvertToTarget2,
4502 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4503 MVT::i32, 2, 3, 4,
4504 38,
4505 OPC_CheckPredicate, 19,
4506 OPC_Scope, 16,
4507 OPC_CheckPredicate, 13,
4508 OPC_CheckPatternPredicate, 8,
4509 OPC_CheckComplexPat0, /*#*/1,
4510 OPC_EmitMergeInputChains1_0,
4511 OPC_EmitConvertToTarget2,
4512 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4513 MVT::i32, 2, 3, 4,
4514 16,
4515 OPC_CheckPredicate, 14,
4516 OPC_CheckPatternPredicate, 8,
4517 OPC_CheckComplexPat0, /*#*/1,
4518 OPC_EmitMergeInputChains1_0,
4519 OPC_EmitConvertToTarget2,
4520 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4521 MVT::i32, 2, 3, 4,
4522 0,
4523 0,
4524 0,
4525 43,
4526 OPC_CheckPredicate, 37,
4527 OPC_MoveParent,
4528 OPC_CheckPredicate, 10,
4529 OPC_CheckTypeI64,
4530 OPC_MoveParent,
4531 OPC_CheckPredicate6,
4532 OPC_CheckTypeI64,
4533 OPC_Scope, 16,
4534 OPC_CheckPredicate, 16,
4535 OPC_CheckPredicate5,
4536 OPC_CheckPatternPredicate6,
4537 OPC_CheckComplexPat0, /*#*/1,
4538 OPC_EmitMergeInputChains1_0,
4539 OPC_EmitConvertToTarget2,
4540 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
4541 MVT::i64, 2, 3, 4,
4542 14,
4543 OPC_CheckPredicate4,
4544 OPC_CheckPatternPredicate6,
4545 OPC_CheckComplexPat0, /*#*/1,
4546 OPC_EmitMergeInputChains1_0,
4547 OPC_EmitConvertToTarget2,
4548 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
4549 MVT::i64, 2, 3, 4,
4550 0,
4551 0,
4552 15|128,3, TARGET_VAL(ISD::OR),
4553 OPC_RecordChild0,
4554 OPC_RecordChild1,
4555 OPC_MoveChild1,
4556 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4557 OPC_Scope, 89|128,2,
4558 OPC_CheckPredicate, 11,
4559 OPC_MoveParent,
4560 OPC_CheckPredicate, 10,
4561 OPC_SwitchType , 68|128,1, MVT::i64,
4562 OPC_MoveParent,
4563 OPC_CheckPredicate6,
4564 OPC_CheckTypeI64,
4565 OPC_Scope, 17,
4566 OPC_CheckPredicate, 16,
4567 OPC_CheckPredicate, 13,
4568 OPC_CheckPatternPredicate7,
4569 OPC_CheckComplexPat0, /*#*/1,
4570 OPC_EmitMergeInputChains1_0,
4571 OPC_EmitConvertToTarget2,
4572 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4573 MVT::i64, 2, 3, 4,
4574 17,
4575 OPC_CheckPredicate, 17,
4576 OPC_CheckPredicate, 13,
4577 OPC_CheckPatternPredicate7,
4578 OPC_CheckComplexPat0, /*#*/1,
4579 OPC_EmitMergeInputChains1_0,
4580 OPC_EmitConvertToTarget2,
4581 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4582 MVT::i64, 2, 3, 4,
4583 17,
4584 OPC_CheckPredicate, 16,
4585 OPC_CheckPredicate, 14,
4586 OPC_CheckPatternPredicate7,
4587 OPC_CheckComplexPat0, /*#*/1,
4588 OPC_EmitMergeInputChains1_0,
4589 OPC_EmitConvertToTarget2,
4590 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4591 MVT::i64, 2, 3, 4,
4592 17,
4593 OPC_CheckPredicate, 17,
4594 OPC_CheckPredicate, 14,
4595 OPC_CheckPatternPredicate7,
4596 OPC_CheckComplexPat0, /*#*/1,
4597 OPC_EmitMergeInputChains1_0,
4598 OPC_EmitConvertToTarget2,
4599 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4600 MVT::i64, 2, 3, 4,
4601 15,
4602 OPC_CheckPredicate4,
4603 OPC_CheckPatternPredicate, 15,
4604 OPC_CheckComplexPat0, /*#*/1,
4605 OPC_EmitMergeInputChains1_0,
4606 OPC_EmitConvertToTarget2,
4607 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4608 MVT::i64, 2, 3, 4,
4609 36,
4610 OPC_CheckPredicate, 19,
4611 OPC_Scope, 15,
4612 OPC_CheckPredicate, 13,
4613 OPC_CheckPatternPredicate7,
4614 OPC_CheckComplexPat0, /*#*/1,
4615 OPC_EmitMergeInputChains1_0,
4616 OPC_EmitConvertToTarget2,
4617 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4618 MVT::i64, 2, 3, 4,
4619 15,
4620 OPC_CheckPredicate, 14,
4621 OPC_CheckPatternPredicate7,
4622 OPC_CheckComplexPat0, /*#*/1,
4623 OPC_EmitMergeInputChains1_0,
4624 OPC_EmitConvertToTarget2,
4625 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4626 MVT::i64, 2, 3, 4,
4627 0,
4628 16,
4629 OPC_CheckPredicate, 16,
4630 OPC_CheckPredicate5,
4631 OPC_CheckPatternPredicate6,
4632 OPC_CheckComplexPat0, /*#*/1,
4633 OPC_EmitMergeInputChains1_0,
4634 OPC_EmitConvertToTarget2,
4635 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4636 MVT::i64, 2, 3, 4,
4637 16,
4638 OPC_CheckPredicate, 17,
4639 OPC_CheckPredicate5,
4640 OPC_CheckPatternPredicate6,
4641 OPC_CheckComplexPat0, /*#*/1,
4642 OPC_EmitMergeInputChains1_0,
4643 OPC_EmitConvertToTarget2,
4644 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4645 MVT::i64, 2, 3, 4,
4646 16,
4647 OPC_CheckPredicate, 19,
4648 OPC_CheckPredicate5,
4649 OPC_CheckPatternPredicate6,
4650 OPC_CheckComplexPat0, /*#*/1,
4651 OPC_EmitMergeInputChains1_0,
4652 OPC_EmitConvertToTarget2,
4653 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4654 MVT::i64, 2, 3, 4,
4655 14,
4656 OPC_CheckPredicate4,
4657 OPC_CheckPatternPredicate6,
4658 OPC_CheckComplexPat0, /*#*/1,
4659 OPC_EmitMergeInputChains1_0,
4660 OPC_EmitConvertToTarget2,
4661 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4662 MVT::i64, 2, 3, 4,
4663 0,
4664 8|128,1, MVT::i32,
4665 OPC_MoveParent,
4666 OPC_CheckPredicate6,
4667 OPC_CheckTypeI32,
4668 OPC_Scope, 18,
4669 OPC_CheckPredicate, 16,
4670 OPC_CheckPredicate, 13,
4671 OPC_CheckPatternPredicate, 8,
4672 OPC_CheckComplexPat0, /*#*/1,
4673 OPC_EmitMergeInputChains1_0,
4674 OPC_EmitConvertToTarget2,
4675 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4676 MVT::i32, 2, 3, 4,
4677 18,
4678 OPC_CheckPredicate, 17,
4679 OPC_CheckPredicate, 13,
4680 OPC_CheckPatternPredicate, 8,
4681 OPC_CheckComplexPat0, /*#*/1,
4682 OPC_EmitMergeInputChains1_0,
4683 OPC_EmitConvertToTarget2,
4684 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4685 MVT::i32, 2, 3, 4,
4686 18,
4687 OPC_CheckPredicate, 16,
4688 OPC_CheckPredicate, 14,
4689 OPC_CheckPatternPredicate, 8,
4690 OPC_CheckComplexPat0, /*#*/1,
4691 OPC_EmitMergeInputChains1_0,
4692 OPC_EmitConvertToTarget2,
4693 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4694 MVT::i32, 2, 3, 4,
4695 18,
4696 OPC_CheckPredicate, 17,
4697 OPC_CheckPredicate, 14,
4698 OPC_CheckPatternPredicate, 8,
4699 OPC_CheckComplexPat0, /*#*/1,
4700 OPC_EmitMergeInputChains1_0,
4701 OPC_EmitConvertToTarget2,
4702 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4703 MVT::i32, 2, 3, 4,
4704 15,
4705 OPC_CheckPredicate4,
4706 OPC_CheckPatternPredicate, 9,
4707 OPC_CheckComplexPat0, /*#*/1,
4708 OPC_EmitMergeInputChains1_0,
4709 OPC_EmitConvertToTarget2,
4710 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4711 MVT::i32, 2, 3, 4,
4712 38,
4713 OPC_CheckPredicate, 19,
4714 OPC_Scope, 16,
4715 OPC_CheckPredicate, 13,
4716 OPC_CheckPatternPredicate, 8,
4717 OPC_CheckComplexPat0, /*#*/1,
4718 OPC_EmitMergeInputChains1_0,
4719 OPC_EmitConvertToTarget2,
4720 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4721 MVT::i32, 2, 3, 4,
4722 16,
4723 OPC_CheckPredicate, 14,
4724 OPC_CheckPatternPredicate, 8,
4725 OPC_CheckComplexPat0, /*#*/1,
4726 OPC_EmitMergeInputChains1_0,
4727 OPC_EmitConvertToTarget2,
4728 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4729 MVT::i32, 2, 3, 4,
4730 0,
4731 0,
4732 0,
4733 43,
4734 OPC_CheckPredicate, 37,
4735 OPC_MoveParent,
4736 OPC_CheckPredicate, 10,
4737 OPC_CheckTypeI64,
4738 OPC_MoveParent,
4739 OPC_CheckPredicate6,
4740 OPC_CheckTypeI64,
4741 OPC_Scope, 16,
4742 OPC_CheckPredicate, 16,
4743 OPC_CheckPredicate5,
4744 OPC_CheckPatternPredicate6,
4745 OPC_CheckComplexPat0, /*#*/1,
4746 OPC_EmitMergeInputChains1_0,
4747 OPC_EmitConvertToTarget2,
4748 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
4749 MVT::i64, 2, 3, 4,
4750 14,
4751 OPC_CheckPredicate4,
4752 OPC_CheckPatternPredicate6,
4753 OPC_CheckComplexPat0, /*#*/1,
4754 OPC_EmitMergeInputChains1_0,
4755 OPC_EmitConvertToTarget2,
4756 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
4757 MVT::i64, 2, 3, 4,
4758 0,
4759 0,
4760 0,
4761 65|128,2,
4762 OPC_RecordChild1,
4763 OPC_CheckPredicate6,
4764 OPC_Scope, 35,
4765 OPC_CheckPredicate, 16,
4766 OPC_CheckPredicate, 13,
4767 OPC_SwitchType , 12, MVT::i64,
4768 OPC_CheckPatternPredicate7,
4769 OPC_CheckComplexPat4, /*#*/1,
4770 OPC_EmitMergeInputChains1_0,
4771 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4772 MVT::i64, 2, 2, 3,
4773 13, MVT::i32,
4774 OPC_CheckPatternPredicate, 8,
4775 OPC_CheckComplexPat4, /*#*/1,
4776 OPC_EmitMergeInputChains1_0,
4777 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4778 MVT::i32, 2, 2, 3,
4779 0,
4780 35,
4781 OPC_CheckPredicate, 17,
4782 OPC_CheckPredicate, 13,
4783 OPC_SwitchType , 12, MVT::i64,
4784 OPC_CheckPatternPredicate7,
4785 OPC_CheckComplexPat4, /*#*/1,
4786 OPC_EmitMergeInputChains1_0,
4787 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4788 MVT::i64, 2, 2, 3,
4789 13, MVT::i32,
4790 OPC_CheckPatternPredicate, 8,
4791 OPC_CheckComplexPat4, /*#*/1,
4792 OPC_EmitMergeInputChains1_0,
4793 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4794 MVT::i32, 2, 2, 3,
4795 0,
4796 35,
4797 OPC_CheckPredicate, 16,
4798 OPC_CheckPredicate, 14,
4799 OPC_SwitchType , 12, MVT::i64,
4800 OPC_CheckPatternPredicate7,
4801 OPC_CheckComplexPat4, /*#*/1,
4802 OPC_EmitMergeInputChains1_0,
4803 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4804 MVT::i64, 2, 2, 3,
4805 13, MVT::i32,
4806 OPC_CheckPatternPredicate, 8,
4807 OPC_CheckComplexPat4, /*#*/1,
4808 OPC_EmitMergeInputChains1_0,
4809 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4810 MVT::i32, 2, 2, 3,
4811 0,
4812 35,
4813 OPC_CheckPredicate, 17,
4814 OPC_CheckPredicate, 14,
4815 OPC_SwitchType , 12, MVT::i64,
4816 OPC_CheckPatternPredicate7,
4817 OPC_CheckComplexPat4, /*#*/1,
4818 OPC_EmitMergeInputChains1_0,
4819 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4820 MVT::i64, 2, 2, 3,
4821 13, MVT::i32,
4822 OPC_CheckPatternPredicate, 8,
4823 OPC_CheckComplexPat4, /*#*/1,
4824 OPC_EmitMergeInputChains1_0,
4825 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4826 MVT::i32, 2, 2, 3,
4827 0,
4828 33,
4829 OPC_CheckPredicate4,
4830 OPC_SwitchType , 13, MVT::i64,
4831 OPC_CheckPatternPredicate, 15,
4832 OPC_CheckComplexPat4, /*#*/1,
4833 OPC_EmitMergeInputChains1_0,
4834 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4835 MVT::i64, 2, 2, 3,
4836 13, MVT::i32,
4837 OPC_CheckPatternPredicate, 9,
4838 OPC_CheckComplexPat4, /*#*/1,
4839 OPC_EmitMergeInputChains1_0,
4840 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4841 MVT::i32, 2, 2, 3,
4842 0,
4843 72,
4844 OPC_CheckPredicate, 19,
4845 OPC_Scope, 33,
4846 OPC_CheckPredicate, 13,
4847 OPC_SwitchType , 12, MVT::i64,
4848 OPC_CheckPatternPredicate7,
4849 OPC_CheckComplexPat4, /*#*/1,
4850 OPC_EmitMergeInputChains1_0,
4851 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4852 MVT::i64, 2, 2, 3,
4853 13, MVT::i32,
4854 OPC_CheckPatternPredicate, 8,
4855 OPC_CheckComplexPat4, /*#*/1,
4856 OPC_EmitMergeInputChains1_0,
4857 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4858 MVT::i32, 2, 2, 3,
4859 0,
4860 33,
4861 OPC_CheckPredicate, 14,
4862 OPC_SwitchType , 12, MVT::i64,
4863 OPC_CheckPatternPredicate7,
4864 OPC_CheckComplexPat4, /*#*/1,
4865 OPC_EmitMergeInputChains1_0,
4866 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4867 MVT::i64, 2, 2, 3,
4868 13, MVT::i32,
4869 OPC_CheckPatternPredicate, 8,
4870 OPC_CheckComplexPat4, /*#*/1,
4871 OPC_EmitMergeInputChains1_0,
4872 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4873 MVT::i32, 2, 2, 3,
4874 0,
4875 0,
4876 16,
4877 OPC_CheckPredicate, 16,
4878 OPC_CheckPredicate5,
4879 OPC_CheckTypeI64,
4880 OPC_CheckPatternPredicate6,
4881 OPC_CheckComplexPat4, /*#*/1,
4882 OPC_EmitMergeInputChains1_0,
4883 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4884 MVT::i64, 2, 2, 3,
4885 16,
4886 OPC_CheckPredicate, 17,
4887 OPC_CheckPredicate5,
4888 OPC_CheckTypeI64,
4889 OPC_CheckPatternPredicate6,
4890 OPC_CheckComplexPat4, /*#*/1,
4891 OPC_EmitMergeInputChains1_0,
4892 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4893 MVT::i64, 2, 2, 3,
4894 16,
4895 OPC_CheckPredicate, 19,
4896 OPC_CheckPredicate5,
4897 OPC_CheckTypeI64,
4898 OPC_CheckPatternPredicate6,
4899 OPC_CheckComplexPat4, /*#*/1,
4900 OPC_EmitMergeInputChains1_0,
4901 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4902 MVT::i64, 2, 2, 3,
4903 14,
4904 OPC_CheckPredicate4,
4905 OPC_CheckTypeI64,
4906 OPC_CheckPatternPredicate6,
4907 OPC_CheckComplexPat4, /*#*/1,
4908 OPC_EmitMergeInputChains1_0,
4909 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4910 MVT::i64, 2, 2, 3,
4911 0,
4912 84|128,2,
4913 OPC_MoveChild1,
4914 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4915 OPC_RecordChild0,
4916 OPC_RecordChild1,
4917 OPC_CheckTypeI64,
4918 OPC_MoveParent,
4919 OPC_CheckPredicate6,
4920 OPC_CheckTypeI64,
4921 OPC_Scope, 16,
4922 OPC_CheckPredicate, 17,
4923 OPC_CheckPredicate, 13,
4924 OPC_CheckPatternPredicate6,
4925 OPC_CheckComplexPat2, /*#*/1,
4926 OPC_EmitMergeInputChains1_0,
4927 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
4928 MVT::i64, 2, 3, 2,
4929 16,
4930 OPC_CheckPredicate, 16,
4931 OPC_CheckPredicate, 13,
4932 OPC_CheckPatternPredicate6,
4933 OPC_CheckComplexPat2, /*#*/1,
4934 OPC_EmitMergeInputChains1_0,
4935 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
4936 MVT::i64, 2, 3, 2,
4937 16,
4938 OPC_CheckPredicate, 19,
4939 OPC_CheckPredicate, 13,
4940 OPC_CheckPatternPredicate6,
4941 OPC_CheckComplexPat2, /*#*/1,
4942 OPC_EmitMergeInputChains1_0,
4943 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
4944 MVT::i64, 2, 3, 2,
4945 16,
4946 OPC_CheckPredicate, 17,
4947 OPC_CheckPredicate, 14,
4948 OPC_CheckPatternPredicate6,
4949 OPC_CheckComplexPat2, /*#*/1,
4950 OPC_EmitMergeInputChains1_0,
4951 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
4952 MVT::i64, 2, 3, 2,
4953 16,
4954 OPC_CheckPredicate, 16,
4955 OPC_CheckPredicate, 14,
4956 OPC_CheckPatternPredicate6,
4957 OPC_CheckComplexPat2, /*#*/1,
4958 OPC_EmitMergeInputChains1_0,
4959 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
4960 MVT::i64, 2, 3, 2,
4961 16,
4962 OPC_CheckPredicate, 19,
4963 OPC_CheckPredicate, 14,
4964 OPC_CheckPatternPredicate6,
4965 OPC_CheckComplexPat2, /*#*/1,
4966 OPC_EmitMergeInputChains1_0,
4967 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
4968 MVT::i64, 2, 3, 2,
4969 15,
4970 OPC_CheckPredicate, 17,
4971 OPC_CheckPredicate5,
4972 OPC_CheckPatternPredicate6,
4973 OPC_CheckComplexPat2, /*#*/1,
4974 OPC_EmitMergeInputChains1_0,
4975 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
4976 MVT::i64, 2, 3, 2,
4977 15,
4978 OPC_CheckPredicate, 16,
4979 OPC_CheckPredicate5,
4980 OPC_CheckPatternPredicate6,
4981 OPC_CheckComplexPat2, /*#*/1,
4982 OPC_EmitMergeInputChains1_0,
4983 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
4984 MVT::i64, 2, 3, 2,
4985 15,
4986 OPC_CheckPredicate, 19,
4987 OPC_CheckPredicate5,
4988 OPC_CheckPatternPredicate6,
4989 OPC_CheckComplexPat2, /*#*/1,
4990 OPC_EmitMergeInputChains1_0,
4991 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
4992 MVT::i64, 2, 3, 2,
4993 13,
4994 OPC_CheckPredicate4,
4995 OPC_CheckPatternPredicate6,
4996 OPC_CheckComplexPat2, /*#*/1,
4997 OPC_EmitMergeInputChains1_0,
4998 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
4999 MVT::i64, 2, 3, 2,
5000 16,
5001 OPC_CheckPredicate, 17,
5002 OPC_CheckPredicate, 13,
5003 OPC_CheckPatternPredicate6,
5004 OPC_CheckComplexPat2, /*#*/2,
5005 OPC_EmitMergeInputChains1_0,
5006 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
5007 MVT::i64, 2, 3, 1,
5008 16,
5009 OPC_CheckPredicate, 16,
5010 OPC_CheckPredicate, 13,
5011 OPC_CheckPatternPredicate6,
5012 OPC_CheckComplexPat2, /*#*/2,
5013 OPC_EmitMergeInputChains1_0,
5014 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
5015 MVT::i64, 2, 3, 1,
5016 16,
5017 OPC_CheckPredicate, 19,
5018 OPC_CheckPredicate, 13,
5019 OPC_CheckPatternPredicate6,
5020 OPC_CheckComplexPat2, /*#*/2,
5021 OPC_EmitMergeInputChains1_0,
5022 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
5023 MVT::i64, 2, 3, 1,
5024 16,
5025 OPC_CheckPredicate, 17,
5026 OPC_CheckPredicate, 14,
5027 OPC_CheckPatternPredicate6,
5028 OPC_CheckComplexPat2, /*#*/2,
5029 OPC_EmitMergeInputChains1_0,
5030 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
5031 MVT::i64, 2, 3, 1,
5032 16,
5033 OPC_CheckPredicate, 16,
5034 OPC_CheckPredicate, 14,
5035 OPC_CheckPatternPredicate6,
5036 OPC_CheckComplexPat2, /*#*/2,
5037 OPC_EmitMergeInputChains1_0,
5038 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
5039 MVT::i64, 2, 3, 1,
5040 16,
5041 OPC_CheckPredicate, 19,
5042 OPC_CheckPredicate, 14,
5043 OPC_CheckPatternPredicate6,
5044 OPC_CheckComplexPat2, /*#*/2,
5045 OPC_EmitMergeInputChains1_0,
5046 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
5047 MVT::i64, 2, 3, 1,
5048 15,
5049 OPC_CheckPredicate, 17,
5050 OPC_CheckPredicate5,
5051 OPC_CheckPatternPredicate6,
5052 OPC_CheckComplexPat2, /*#*/2,
5053 OPC_EmitMergeInputChains1_0,
5054 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5055 MVT::i64, 2, 3, 1,
5056 15,
5057 OPC_CheckPredicate, 16,
5058 OPC_CheckPredicate5,
5059 OPC_CheckPatternPredicate6,
5060 OPC_CheckComplexPat2, /*#*/2,
5061 OPC_EmitMergeInputChains1_0,
5062 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5063 MVT::i64, 2, 3, 1,
5064 15,
5065 OPC_CheckPredicate, 19,
5066 OPC_CheckPredicate5,
5067 OPC_CheckPatternPredicate6,
5068 OPC_CheckComplexPat2, /*#*/2,
5069 OPC_EmitMergeInputChains1_0,
5070 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
5071 MVT::i64, 2, 3, 1,
5072 13,
5073 OPC_CheckPredicate4,
5074 OPC_CheckPatternPredicate6,
5075 OPC_CheckComplexPat2, /*#*/2,
5076 OPC_EmitMergeInputChains1_0,
5077 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5078 MVT::i64, 2, 3, 1,
5079 0,
5080 101|128,2,
5081 OPC_RecordChild1,
5082 OPC_CheckPredicate6,
5083 OPC_Scope, 39,
5084 OPC_CheckPredicate, 16,
5085 OPC_CheckPredicate, 13,
5086 OPC_SwitchType , 14, MVT::i64,
5087 OPC_CheckPatternPredicate7,
5088 OPC_CheckComplexPat0, /*#*/1,
5089 OPC_EmitMergeInputChains1_0,
5090 OPC_EmitInteger64, 0,
5091 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5092 MVT::i64, 2, 2, 3,
5093 15, MVT::i32,
5094 OPC_CheckPatternPredicate, 8,
5095 OPC_CheckComplexPat0, /*#*/1,
5096 OPC_EmitMergeInputChains1_0,
5097 OPC_EmitInteger32, 0,
5098 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5099 MVT::i32, 2, 2, 3,
5100 0,
5101 39,
5102 OPC_CheckPredicate, 17,
5103 OPC_CheckPredicate, 13,
5104 OPC_SwitchType , 14, MVT::i64,
5105 OPC_CheckPatternPredicate7,
5106 OPC_CheckComplexPat0, /*#*/1,
5107 OPC_EmitMergeInputChains1_0,
5108 OPC_EmitInteger64, 0,
5109 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5110 MVT::i64, 2, 2, 3,
5111 15, MVT::i32,
5112 OPC_CheckPatternPredicate, 8,
5113 OPC_CheckComplexPat0, /*#*/1,
5114 OPC_EmitMergeInputChains1_0,
5115 OPC_EmitInteger32, 0,
5116 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5117 MVT::i32, 2, 2, 3,
5118 0,
5119 39,
5120 OPC_CheckPredicate, 16,
5121 OPC_CheckPredicate, 14,
5122 OPC_SwitchType , 14, MVT::i64,
5123 OPC_CheckPatternPredicate7,
5124 OPC_CheckComplexPat0, /*#*/1,
5125 OPC_EmitMergeInputChains1_0,
5126 OPC_EmitInteger64, 0,
5127 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5128 MVT::i64, 2, 2, 3,
5129 15, MVT::i32,
5130 OPC_CheckPatternPredicate, 8,
5131 OPC_CheckComplexPat0, /*#*/1,
5132 OPC_EmitMergeInputChains1_0,
5133 OPC_EmitInteger32, 0,
5134 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5135 MVT::i32, 2, 2, 3,
5136 0,
5137 39,
5138 OPC_CheckPredicate, 17,
5139 OPC_CheckPredicate, 14,
5140 OPC_SwitchType , 14, MVT::i64,
5141 OPC_CheckPatternPredicate7,
5142 OPC_CheckComplexPat0, /*#*/1,
5143 OPC_EmitMergeInputChains1_0,
5144 OPC_EmitInteger64, 0,
5145 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5146 MVT::i64, 2, 2, 3,
5147 15, MVT::i32,
5148 OPC_CheckPatternPredicate, 8,
5149 OPC_CheckComplexPat0, /*#*/1,
5150 OPC_EmitMergeInputChains1_0,
5151 OPC_EmitInteger32, 0,
5152 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5153 MVT::i32, 2, 2, 3,
5154 0,
5155 37,
5156 OPC_CheckPredicate4,
5157 OPC_SwitchType , 15, MVT::i64,
5158 OPC_CheckPatternPredicate, 15,
5159 OPC_CheckComplexPat0, /*#*/1,
5160 OPC_EmitMergeInputChains1_0,
5161 OPC_EmitInteger64, 0,
5162 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5163 MVT::i64, 2, 2, 3,
5164 15, MVT::i32,
5165 OPC_CheckPatternPredicate, 9,
5166 OPC_CheckComplexPat0, /*#*/1,
5167 OPC_EmitMergeInputChains1_0,
5168 OPC_EmitInteger32, 0,
5169 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5170 MVT::i32, 2, 2, 3,
5171 0,
5172 80,
5173 OPC_CheckPredicate, 19,
5174 OPC_Scope, 37,
5175 OPC_CheckPredicate, 13,
5176 OPC_SwitchType , 14, MVT::i64,
5177 OPC_CheckPatternPredicate7,
5178 OPC_CheckComplexPat0, /*#*/1,
5179 OPC_EmitMergeInputChains1_0,
5180 OPC_EmitInteger64, 0,
5181 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
5182 MVT::i64, 2, 2, 3,
5183 15, MVT::i32,
5184 OPC_CheckPatternPredicate, 8,
5185 OPC_CheckComplexPat0, /*#*/1,
5186 OPC_EmitMergeInputChains1_0,
5187 OPC_EmitInteger32, 0,
5188 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
5189 MVT::i32, 2, 2, 3,
5190 0,
5191 37,
5192 OPC_CheckPredicate, 14,
5193 OPC_SwitchType , 14, MVT::i64,
5194 OPC_CheckPatternPredicate7,
5195 OPC_CheckComplexPat0, /*#*/1,
5196 OPC_EmitMergeInputChains1_0,
5197 OPC_EmitInteger64, 0,
5198 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
5199 MVT::i64, 2, 2, 3,
5200 15, MVT::i32,
5201 OPC_CheckPatternPredicate, 8,
5202 OPC_CheckComplexPat0, /*#*/1,
5203 OPC_EmitMergeInputChains1_0,
5204 OPC_EmitInteger32, 0,
5205 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
5206 MVT::i32, 2, 2, 3,
5207 0,
5208 0,
5209 18,
5210 OPC_CheckPredicate, 16,
5211 OPC_CheckPredicate5,
5212 OPC_CheckTypeI64,
5213 OPC_CheckPatternPredicate6,
5214 OPC_CheckComplexPat0, /*#*/1,
5215 OPC_EmitMergeInputChains1_0,
5216 OPC_EmitInteger64, 0,
5217 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5218 MVT::i64, 2, 2, 3,
5219 18,
5220 OPC_CheckPredicate, 17,
5221 OPC_CheckPredicate5,
5222 OPC_CheckTypeI64,
5223 OPC_CheckPatternPredicate6,
5224 OPC_CheckComplexPat0, /*#*/1,
5225 OPC_EmitMergeInputChains1_0,
5226 OPC_EmitInteger64, 0,
5227 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5228 MVT::i64, 2, 2, 3,
5229 18,
5230 OPC_CheckPredicate, 19,
5231 OPC_CheckPredicate5,
5232 OPC_CheckTypeI64,
5233 OPC_CheckPatternPredicate6,
5234 OPC_CheckComplexPat0, /*#*/1,
5235 OPC_EmitMergeInputChains1_0,
5236 OPC_EmitInteger64, 0,
5237 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
5238 MVT::i64, 2, 2, 3,
5239 16,
5240 OPC_CheckPredicate4,
5241 OPC_CheckTypeI64,
5242 OPC_CheckPatternPredicate6,
5243 OPC_CheckComplexPat0, /*#*/1,
5244 OPC_EmitMergeInputChains1_0,
5245 OPC_EmitInteger64, 0,
5246 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
5247 MVT::i64, 2, 2, 3,
5248 0,
5249 63|128,1,
5250 OPC_MoveChild1,
5251 OPC_SwitchOpcode , 91, TARGET_VAL(ISD::ADD),
5252 OPC_RecordChild0,
5253 OPC_RecordChild1,
5254 OPC_MoveChild1,
5255 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5256 OPC_CheckPredicate, 11,
5257 OPC_MoveParent,
5258 OPC_CheckPredicate, 10,
5259 OPC_SwitchType , 37, MVT::i64,
5260 OPC_MoveParent,
5261 OPC_CheckPredicate6,
5262 OPC_CheckPredicate4,
5263 OPC_SwitchType , 14, MVT::f32,
5264 OPC_CheckPatternPredicate, 11,
5265 OPC_CheckComplexPat0, /*#*/1,
5266 OPC_EmitMergeInputChains1_0,
5267 OPC_EmitConvertToTarget2,
5268 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5269 MVT::f32, 2, 3, 4,
5270 14, MVT::f64,
5271 OPC_CheckPatternPredicate, 13,
5272 OPC_CheckComplexPat0, /*#*/1,
5273 OPC_EmitMergeInputChains1_0,
5274 OPC_EmitConvertToTarget2,
5275 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5276 MVT::f64, 2, 3, 4,
5277 0,
5278 37, MVT::i32,
5279 OPC_MoveParent,
5280 OPC_CheckPredicate6,
5281 OPC_CheckPredicate4,
5282 OPC_SwitchType , 14, MVT::f32,
5283 OPC_CheckPatternPredicate, 12,
5284 OPC_CheckComplexPat0, /*#*/1,
5285 OPC_EmitMergeInputChains1_0,
5286 OPC_EmitConvertToTarget2,
5287 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5288 MVT::f32, 2, 3, 4,
5289 14, MVT::f64,
5290 OPC_CheckPatternPredicate, 14,
5291 OPC_CheckComplexPat0, /*#*/1,
5292 OPC_EmitMergeInputChains1_0,
5293 OPC_EmitConvertToTarget2,
5294 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5295 MVT::f64, 2, 3, 4,
5296 0,
5297 0,
5298 91, TARGET_VAL(ISD::OR),
5299 OPC_RecordChild0,
5300 OPC_RecordChild1,
5301 OPC_MoveChild1,
5302 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5303 OPC_CheckPredicate, 11,
5304 OPC_MoveParent,
5305 OPC_CheckPredicate, 10,
5306 OPC_SwitchType , 37, MVT::i64,
5307 OPC_MoveParent,
5308 OPC_CheckPredicate6,
5309 OPC_CheckPredicate4,
5310 OPC_SwitchType , 14, MVT::f32,
5311 OPC_CheckPatternPredicate, 11,
5312 OPC_CheckComplexPat0, /*#*/1,
5313 OPC_EmitMergeInputChains1_0,
5314 OPC_EmitConvertToTarget2,
5315 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5316 MVT::f32, 2, 3, 4,
5317 14, MVT::f64,
5318 OPC_CheckPatternPredicate, 13,
5319 OPC_CheckComplexPat0, /*#*/1,
5320 OPC_EmitMergeInputChains1_0,
5321 OPC_EmitConvertToTarget2,
5322 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5323 MVT::f64, 2, 3, 4,
5324 0,
5325 37, MVT::i32,
5326 OPC_MoveParent,
5327 OPC_CheckPredicate6,
5328 OPC_CheckPredicate4,
5329 OPC_SwitchType , 14, MVT::f32,
5330 OPC_CheckPatternPredicate, 12,
5331 OPC_CheckComplexPat0, /*#*/1,
5332 OPC_EmitMergeInputChains1_0,
5333 OPC_EmitConvertToTarget2,
5334 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5335 MVT::f32, 2, 3, 4,
5336 14, MVT::f64,
5337 OPC_CheckPatternPredicate, 14,
5338 OPC_CheckComplexPat0, /*#*/1,
5339 OPC_EmitMergeInputChains1_0,
5340 OPC_EmitConvertToTarget2,
5341 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5342 MVT::f64, 2, 3, 4,
5343 0,
5344 0,
5345 0,
5346 35,
5347 OPC_RecordChild1,
5348 OPC_CheckPredicate6,
5349 OPC_CheckPredicate4,
5350 OPC_CheckType, MVT::f32,
5351 OPC_Scope, 13,
5352 OPC_CheckPatternPredicate, 11,
5353 OPC_CheckComplexPat4, /*#*/1,
5354 OPC_EmitMergeInputChains1_0,
5355 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5356 MVT::f32, 2, 2, 3,
5357 13,
5358 OPC_CheckPatternPredicate, 12,
5359 OPC_CheckComplexPat4, /*#*/1,
5360 OPC_EmitMergeInputChains1_0,
5361 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5362 MVT::f32, 2, 2, 3,
5363 0,
5364 48,
5365 OPC_MoveChild1,
5366 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5367 OPC_RecordChild0,
5368 OPC_RecordChild1,
5369 OPC_SwitchType , 18, MVT::i64,
5370 OPC_MoveParent,
5371 OPC_CheckPredicate6,
5372 OPC_CheckPredicate4,
5373 OPC_CheckType, MVT::f32,
5374 OPC_CheckPatternPredicate, 11,
5375 OPC_CheckComplexPat2, /*#*/1,
5376 OPC_EmitMergeInputChains1_0,
5377 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5378 MVT::f32, 2, 3, 2,
5379 18, MVT::i32,
5380 OPC_MoveParent,
5381 OPC_CheckPredicate6,
5382 OPC_CheckPredicate4,
5383 OPC_CheckType, MVT::f32,
5384 OPC_CheckPatternPredicate, 12,
5385 OPC_CheckComplexPat2, /*#*/1,
5386 OPC_EmitMergeInputChains1_0,
5387 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5388 MVT::f32, 2, 3, 2,
5389 0,
5390 35,
5391 OPC_RecordChild1,
5392 OPC_CheckPredicate6,
5393 OPC_CheckPredicate4,
5394 OPC_CheckType, MVT::f64,
5395 OPC_Scope, 13,
5396 OPC_CheckPatternPredicate, 13,
5397 OPC_CheckComplexPat4, /*#*/1,
5398 OPC_EmitMergeInputChains1_0,
5399 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5400 MVT::f64, 2, 2, 3,
5401 13,
5402 OPC_CheckPatternPredicate, 14,
5403 OPC_CheckComplexPat4, /*#*/1,
5404 OPC_EmitMergeInputChains1_0,
5405 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5406 MVT::f64, 2, 2, 3,
5407 0,
5408 112,
5409 OPC_MoveChild1,
5410 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5411 OPC_RecordChild0,
5412 OPC_RecordChild1,
5413 OPC_SwitchType , 50, MVT::i64,
5414 OPC_MoveParent,
5415 OPC_CheckPredicate6,
5416 OPC_CheckPredicate4,
5417 OPC_SwitchType , 28, MVT::f64,
5418 OPC_CheckPatternPredicate, 13,
5419 OPC_Scope, 11,
5420 OPC_CheckComplexPat2, /*#*/1,
5421 OPC_EmitMergeInputChains1_0,
5422 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5423 MVT::f64, 2, 3, 2,
5424 11,
5425 OPC_CheckComplexPat2, /*#*/2,
5426 OPC_EmitMergeInputChains1_0,
5427 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5428 MVT::f64, 2, 3, 1,
5429 0,
5430 13, MVT::f32,
5431 OPC_CheckPatternPredicate, 11,
5432 OPC_CheckComplexPat2, /*#*/2,
5433 OPC_EmitMergeInputChains1_0,
5434 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5435 MVT::f32, 2, 3, 1,
5436 0,
5437 50, MVT::i32,
5438 OPC_MoveParent,
5439 OPC_CheckPredicate6,
5440 OPC_CheckPredicate4,
5441 OPC_SwitchType , 28, MVT::f64,
5442 OPC_CheckPatternPredicate, 14,
5443 OPC_Scope, 11,
5444 OPC_CheckComplexPat2, /*#*/1,
5445 OPC_EmitMergeInputChains1_0,
5446 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5447 MVT::f64, 2, 3, 2,
5448 11,
5449 OPC_CheckComplexPat2, /*#*/2,
5450 OPC_EmitMergeInputChains1_0,
5451 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5452 MVT::f64, 2, 3, 1,
5453 0,
5454 13, MVT::f32,
5455 OPC_CheckPatternPredicate, 12,
5456 OPC_CheckComplexPat2, /*#*/2,
5457 OPC_EmitMergeInputChains1_0,
5458 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5459 MVT::f32, 2, 3, 1,
5460 0,
5461 0,
5462 77,
5463 OPC_RecordChild1,
5464 OPC_CheckPredicate6,
5465 OPC_CheckPredicate4,
5466 OPC_SwitchType , 34, MVT::f32,
5467 OPC_Scope, 15,
5468 OPC_CheckPatternPredicate, 11,
5469 OPC_CheckComplexPat0, /*#*/1,
5470 OPC_EmitMergeInputChains1_0,
5471 OPC_EmitInteger64, 0,
5472 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5473 MVT::f32, 2, 2, 3,
5474 15,
5475 OPC_CheckPatternPredicate, 12,
5476 OPC_CheckComplexPat0, /*#*/1,
5477 OPC_EmitMergeInputChains1_0,
5478 OPC_EmitInteger32, 0,
5479 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5480 MVT::f32, 2, 2, 3,
5481 0,
5482 34, MVT::f64,
5483 OPC_Scope, 15,
5484 OPC_CheckPatternPredicate, 13,
5485 OPC_CheckComplexPat0, /*#*/1,
5486 OPC_EmitMergeInputChains1_0,
5487 OPC_EmitInteger64, 0,
5488 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5489 MVT::f64, 2, 2, 3,
5490 15,
5491 OPC_CheckPatternPredicate, 14,
5492 OPC_CheckComplexPat0, /*#*/1,
5493 OPC_EmitMergeInputChains1_0,
5494 OPC_EmitInteger32, 0,
5495 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5496 MVT::f64, 2, 2, 3,
5497 0,
5498 0,
5499 75|128,4,
5500 OPC_MoveChild1,
5501 OPC_SwitchOpcode , 53|128,2, TARGET_VAL(ISD::ADD),
5502 OPC_RecordChild0,
5503 OPC_RecordChild1,
5504 OPC_Scope, 9|128,2,
5505 OPC_MoveChild1,
5506 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5507 OPC_CheckPredicate, 11,
5508 OPC_MoveParent,
5509 OPC_CheckPredicate, 10,
5510 OPC_SwitchType , 125, MVT::i64,
5511 OPC_MoveParent,
5512 OPC_CheckPredicate6,
5513 OPC_CheckPredicate4,
5514 OPC_SwitchType , 13, MVT::v16i8,
5515 OPC_CheckPatternPredicate2,
5516 OPC_CheckComplexPat0, /*#*/1,
5517 OPC_EmitMergeInputChains1_0,
5518 OPC_EmitConvertToTarget2,
5519 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5520 MVT::v16i8, 2, 3, 4,
5521 13, MVT::v8i16,
5522 OPC_CheckPatternPredicate2,
5523 OPC_CheckComplexPat0, /*#*/1,
5524 OPC_EmitMergeInputChains1_0,
5525 OPC_EmitConvertToTarget2,
5526 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5527 MVT::v8i16, 2, 3, 4,
5528 13, MVT::v4i32,
5529 OPC_CheckPatternPredicate2,
5530 OPC_CheckComplexPat0, /*#*/1,
5531 OPC_EmitMergeInputChains1_0,
5532 OPC_EmitConvertToTarget2,
5533 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5534 MVT::v4i32, 2, 3, 4,
5535 13, MVT::v2i64,
5536 OPC_CheckPatternPredicate2,
5537 OPC_CheckComplexPat0, /*#*/1,
5538 OPC_EmitMergeInputChains1_0,
5539 OPC_EmitConvertToTarget2,
5540 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5541 MVT::v2i64, 2, 3, 4,
5542 13, MVT::v32i8,
5543 OPC_CheckPatternPredicate3,
5544 OPC_CheckComplexPat0, /*#*/1,
5545 OPC_EmitMergeInputChains1_0,
5546 OPC_EmitConvertToTarget2,
5547 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5548 MVT::v32i8, 2, 3, 4,
5549 13, MVT::v16i16,
5550 OPC_CheckPatternPredicate3,
5551 OPC_CheckComplexPat0, /*#*/1,
5552 OPC_EmitMergeInputChains1_0,
5553 OPC_EmitConvertToTarget2,
5554 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5555 MVT::v16i16, 2, 3, 4,
5556 13, MVT::v8i32,
5557 OPC_CheckPatternPredicate3,
5558 OPC_CheckComplexPat0, /*#*/1,
5559 OPC_EmitMergeInputChains1_0,
5560 OPC_EmitConvertToTarget2,
5561 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5562 MVT::v8i32, 2, 3, 4,
5563 13, MVT::v4i64,
5564 OPC_CheckPatternPredicate3,
5565 OPC_CheckComplexPat0, /*#*/1,
5566 OPC_EmitMergeInputChains1_0,
5567 OPC_EmitConvertToTarget2,
5568 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5569 MVT::v4i64, 2, 3, 4,
5570 0,
5571 125, MVT::i32,
5572 OPC_MoveParent,
5573 OPC_CheckPredicate6,
5574 OPC_CheckPredicate4,
5575 OPC_SwitchType , 13, MVT::v16i8,
5576 OPC_CheckPatternPredicate5,
5577 OPC_CheckComplexPat0, /*#*/1,
5578 OPC_EmitMergeInputChains1_0,
5579 OPC_EmitConvertToTarget2,
5580 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5581 MVT::v16i8, 2, 3, 4,
5582 13, MVT::v8i16,
5583 OPC_CheckPatternPredicate5,
5584 OPC_CheckComplexPat0, /*#*/1,
5585 OPC_EmitMergeInputChains1_0,
5586 OPC_EmitConvertToTarget2,
5587 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5588 MVT::v8i16, 2, 3, 4,
5589 13, MVT::v4i32,
5590 OPC_CheckPatternPredicate5,
5591 OPC_CheckComplexPat0, /*#*/1,
5592 OPC_EmitMergeInputChains1_0,
5593 OPC_EmitConvertToTarget2,
5594 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5595 MVT::v4i32, 2, 3, 4,
5596 13, MVT::v2i64,
5597 OPC_CheckPatternPredicate5,
5598 OPC_CheckComplexPat0, /*#*/1,
5599 OPC_EmitMergeInputChains1_0,
5600 OPC_EmitConvertToTarget2,
5601 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5602 MVT::v2i64, 2, 3, 4,
5603 13, MVT::v32i8,
5604 OPC_CheckPatternPredicate4,
5605 OPC_CheckComplexPat0, /*#*/1,
5606 OPC_EmitMergeInputChains1_0,
5607 OPC_EmitConvertToTarget2,
5608 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5609 MVT::v32i8, 2, 3, 4,
5610 13, MVT::v16i16,
5611 OPC_CheckPatternPredicate4,
5612 OPC_CheckComplexPat0, /*#*/1,
5613 OPC_EmitMergeInputChains1_0,
5614 OPC_EmitConvertToTarget2,
5615 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5616 MVT::v16i16, 2, 3, 4,
5617 13, MVT::v8i32,
5618 OPC_CheckPatternPredicate4,
5619 OPC_CheckComplexPat0, /*#*/1,
5620 OPC_EmitMergeInputChains1_0,
5621 OPC_EmitConvertToTarget2,
5622 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5623 MVT::v8i32, 2, 3, 4,
5624 13, MVT::v4i64,
5625 OPC_CheckPatternPredicate4,
5626 OPC_CheckComplexPat0, /*#*/1,
5627 OPC_EmitMergeInputChains1_0,
5628 OPC_EmitConvertToTarget2,
5629 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5630 MVT::v4i64, 2, 3, 4,
5631 0,
5632 0,
5633 18,
5634 OPC_CheckTypeI64,
5635 OPC_MoveParent,
5636 OPC_CheckPredicate6,
5637 OPC_CheckPredicate4,
5638 OPC_CheckType, MVT::v16i8,
5639 OPC_CheckPatternPredicate2,
5640 OPC_CheckComplexPat2, /*#*/1,
5641 OPC_EmitMergeInputChains1_0,
5642 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5643 MVT::v16i8, 2, 3, 2,
5644 18,
5645 OPC_CheckTypeI32,
5646 OPC_MoveParent,
5647 OPC_CheckPredicate6,
5648 OPC_CheckPredicate4,
5649 OPC_CheckType, MVT::v16i8,
5650 OPC_CheckPatternPredicate5,
5651 OPC_CheckComplexPat2, /*#*/1,
5652 OPC_EmitMergeInputChains1_0,
5653 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5654 MVT::v16i8, 2, 3, 2,
5655 0,
5656 11|128,2, TARGET_VAL(ISD::OR),
5657 OPC_RecordChild0,
5658 OPC_RecordChild1,
5659 OPC_MoveChild1,
5660 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5661 OPC_CheckPredicate, 11,
5662 OPC_MoveParent,
5663 OPC_CheckPredicate, 10,
5664 OPC_SwitchType , 125, MVT::i64,
5665 OPC_MoveParent,
5666 OPC_CheckPredicate6,
5667 OPC_CheckPredicate4,
5668 OPC_SwitchType , 13, MVT::v16i8,
5669 OPC_CheckPatternPredicate2,
5670 OPC_CheckComplexPat0, /*#*/1,
5671 OPC_EmitMergeInputChains1_0,
5672 OPC_EmitConvertToTarget2,
5673 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5674 MVT::v16i8, 2, 3, 4,
5675 13, MVT::v8i16,
5676 OPC_CheckPatternPredicate2,
5677 OPC_CheckComplexPat0, /*#*/1,
5678 OPC_EmitMergeInputChains1_0,
5679 OPC_EmitConvertToTarget2,
5680 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5681 MVT::v8i16, 2, 3, 4,
5682 13, MVT::v4i32,
5683 OPC_CheckPatternPredicate2,
5684 OPC_CheckComplexPat0, /*#*/1,
5685 OPC_EmitMergeInputChains1_0,
5686 OPC_EmitConvertToTarget2,
5687 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5688 MVT::v4i32, 2, 3, 4,
5689 13, MVT::v2i64,
5690 OPC_CheckPatternPredicate2,
5691 OPC_CheckComplexPat0, /*#*/1,
5692 OPC_EmitMergeInputChains1_0,
5693 OPC_EmitConvertToTarget2,
5694 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5695 MVT::v2i64, 2, 3, 4,
5696 13, MVT::v32i8,
5697 OPC_CheckPatternPredicate3,
5698 OPC_CheckComplexPat0, /*#*/1,
5699 OPC_EmitMergeInputChains1_0,
5700 OPC_EmitConvertToTarget2,
5701 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5702 MVT::v32i8, 2, 3, 4,
5703 13, MVT::v16i16,
5704 OPC_CheckPatternPredicate3,
5705 OPC_CheckComplexPat0, /*#*/1,
5706 OPC_EmitMergeInputChains1_0,
5707 OPC_EmitConvertToTarget2,
5708 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5709 MVT::v16i16, 2, 3, 4,
5710 13, MVT::v8i32,
5711 OPC_CheckPatternPredicate3,
5712 OPC_CheckComplexPat0, /*#*/1,
5713 OPC_EmitMergeInputChains1_0,
5714 OPC_EmitConvertToTarget2,
5715 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5716 MVT::v8i32, 2, 3, 4,
5717 13, MVT::v4i64,
5718 OPC_CheckPatternPredicate3,
5719 OPC_CheckComplexPat0, /*#*/1,
5720 OPC_EmitMergeInputChains1_0,
5721 OPC_EmitConvertToTarget2,
5722 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5723 MVT::v4i64, 2, 3, 4,
5724 0,
5725 125, MVT::i32,
5726 OPC_MoveParent,
5727 OPC_CheckPredicate6,
5728 OPC_CheckPredicate4,
5729 OPC_SwitchType , 13, MVT::v16i8,
5730 OPC_CheckPatternPredicate5,
5731 OPC_CheckComplexPat0, /*#*/1,
5732 OPC_EmitMergeInputChains1_0,
5733 OPC_EmitConvertToTarget2,
5734 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5735 MVT::v16i8, 2, 3, 4,
5736 13, MVT::v8i16,
5737 OPC_CheckPatternPredicate5,
5738 OPC_CheckComplexPat0, /*#*/1,
5739 OPC_EmitMergeInputChains1_0,
5740 OPC_EmitConvertToTarget2,
5741 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5742 MVT::v8i16, 2, 3, 4,
5743 13, MVT::v4i32,
5744 OPC_CheckPatternPredicate5,
5745 OPC_CheckComplexPat0, /*#*/1,
5746 OPC_EmitMergeInputChains1_0,
5747 OPC_EmitConvertToTarget2,
5748 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5749 MVT::v4i32, 2, 3, 4,
5750 13, MVT::v2i64,
5751 OPC_CheckPatternPredicate5,
5752 OPC_CheckComplexPat0, /*#*/1,
5753 OPC_EmitMergeInputChains1_0,
5754 OPC_EmitConvertToTarget2,
5755 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5756 MVT::v2i64, 2, 3, 4,
5757 13, MVT::v32i8,
5758 OPC_CheckPatternPredicate4,
5759 OPC_CheckComplexPat0, /*#*/1,
5760 OPC_EmitMergeInputChains1_0,
5761 OPC_EmitConvertToTarget2,
5762 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5763 MVT::v32i8, 2, 3, 4,
5764 13, MVT::v16i16,
5765 OPC_CheckPatternPredicate4,
5766 OPC_CheckComplexPat0, /*#*/1,
5767 OPC_EmitMergeInputChains1_0,
5768 OPC_EmitConvertToTarget2,
5769 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5770 MVT::v16i16, 2, 3, 4,
5771 13, MVT::v8i32,
5772 OPC_CheckPatternPredicate4,
5773 OPC_CheckComplexPat0, /*#*/1,
5774 OPC_EmitMergeInputChains1_0,
5775 OPC_EmitConvertToTarget2,
5776 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5777 MVT::v8i32, 2, 3, 4,
5778 13, MVT::v4i64,
5779 OPC_CheckPatternPredicate4,
5780 OPC_CheckComplexPat0, /*#*/1,
5781 OPC_EmitMergeInputChains1_0,
5782 OPC_EmitConvertToTarget2,
5783 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5784 MVT::v4i64, 2, 3, 4,
5785 0,
5786 0,
5787 0,
5788 65,
5789 OPC_RecordChild1,
5790 OPC_CheckPredicate6,
5791 OPC_CheckPredicate4,
5792 OPC_SwitchType , 28, MVT::v16i8,
5793 OPC_Scope, 12,
5794 OPC_CheckPatternPredicate2,
5795 OPC_CheckComplexPat4, /*#*/1,
5796 OPC_EmitMergeInputChains1_0,
5797 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5798 MVT::v16i8, 2, 2, 3,
5799 12,
5800 OPC_CheckPatternPredicate5,
5801 OPC_CheckComplexPat4, /*#*/1,
5802 OPC_EmitMergeInputChains1_0,
5803 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5804 MVT::v16i8, 2, 2, 3,
5805 0,
5806 28, MVT::v8i16,
5807 OPC_Scope, 12,
5808 OPC_CheckPatternPredicate2,
5809 OPC_CheckComplexPat4, /*#*/1,
5810 OPC_EmitMergeInputChains1_0,
5811 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5812 MVT::v8i16, 2, 2, 3,
5813 12,
5814 OPC_CheckPatternPredicate5,
5815 OPC_CheckComplexPat4, /*#*/1,
5816 OPC_EmitMergeInputChains1_0,
5817 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5818 MVT::v8i16, 2, 2, 3,
5819 0,
5820 0,
5821 46,
5822 OPC_MoveChild1,
5823 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5824 OPC_RecordChild0,
5825 OPC_RecordChild1,
5826 OPC_SwitchType , 17, MVT::i64,
5827 OPC_MoveParent,
5828 OPC_CheckPredicate6,
5829 OPC_CheckPredicate4,
5830 OPC_CheckType, MVT::v8i16,
5831 OPC_CheckPatternPredicate2,
5832 OPC_CheckComplexPat2, /*#*/1,
5833 OPC_EmitMergeInputChains1_0,
5834 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5835 MVT::v8i16, 2, 3, 2,
5836 17, MVT::i32,
5837 OPC_MoveParent,
5838 OPC_CheckPredicate6,
5839 OPC_CheckPredicate4,
5840 OPC_CheckType, MVT::v8i16,
5841 OPC_CheckPatternPredicate5,
5842 OPC_CheckComplexPat2, /*#*/1,
5843 OPC_EmitMergeInputChains1_0,
5844 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5845 MVT::v8i16, 2, 3, 2,
5846 0,
5847 33,
5848 OPC_RecordChild1,
5849 OPC_CheckPredicate6,
5850 OPC_CheckPredicate4,
5851 OPC_CheckType, MVT::v4i32,
5852 OPC_Scope, 12,
5853 OPC_CheckPatternPredicate2,
5854 OPC_CheckComplexPat4, /*#*/1,
5855 OPC_EmitMergeInputChains1_0,
5856 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5857 MVT::v4i32, 2, 2, 3,
5858 12,
5859 OPC_CheckPatternPredicate5,
5860 OPC_CheckComplexPat4, /*#*/1,
5861 OPC_EmitMergeInputChains1_0,
5862 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5863 MVT::v4i32, 2, 2, 3,
5864 0,
5865 46,
5866 OPC_MoveChild1,
5867 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5868 OPC_RecordChild0,
5869 OPC_RecordChild1,
5870 OPC_SwitchType , 17, MVT::i64,
5871 OPC_MoveParent,
5872 OPC_CheckPredicate6,
5873 OPC_CheckPredicate4,
5874 OPC_CheckType, MVT::v4i32,
5875 OPC_CheckPatternPredicate2,
5876 OPC_CheckComplexPat2, /*#*/1,
5877 OPC_EmitMergeInputChains1_0,
5878 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5879 MVT::v4i32, 2, 3, 2,
5880 17, MVT::i32,
5881 OPC_MoveParent,
5882 OPC_CheckPredicate6,
5883 OPC_CheckPredicate4,
5884 OPC_CheckType, MVT::v4i32,
5885 OPC_CheckPatternPredicate5,
5886 OPC_CheckComplexPat2, /*#*/1,
5887 OPC_EmitMergeInputChains1_0,
5888 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5889 MVT::v4i32, 2, 3, 2,
5890 0,
5891 33,
5892 OPC_RecordChild1,
5893 OPC_CheckPredicate6,
5894 OPC_CheckPredicate4,
5895 OPC_CheckType, MVT::v2i64,
5896 OPC_Scope, 12,
5897 OPC_CheckPatternPredicate2,
5898 OPC_CheckComplexPat4, /*#*/1,
5899 OPC_EmitMergeInputChains1_0,
5900 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5901 MVT::v2i64, 2, 2, 3,
5902 12,
5903 OPC_CheckPatternPredicate5,
5904 OPC_CheckComplexPat4, /*#*/1,
5905 OPC_EmitMergeInputChains1_0,
5906 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5907 MVT::v2i64, 2, 2, 3,
5908 0,
5909 78,
5910 OPC_MoveChild1,
5911 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5912 OPC_RecordChild0,
5913 OPC_RecordChild1,
5914 OPC_SwitchType , 33, MVT::i64,
5915 OPC_MoveParent,
5916 OPC_CheckPredicate6,
5917 OPC_CheckPredicate4,
5918 OPC_SwitchType , 12, MVT::v2i64,
5919 OPC_CheckPatternPredicate2,
5920 OPC_CheckComplexPat2, /*#*/1,
5921 OPC_EmitMergeInputChains1_0,
5922 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5923 MVT::v2i64, 2, 3, 2,
5924 12, MVT::v32i8,
5925 OPC_CheckPatternPredicate3,
5926 OPC_CheckComplexPat2, /*#*/1,
5927 OPC_EmitMergeInputChains1_0,
5928 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
5929 MVT::v32i8, 2, 3, 2,
5930 0,
5931 33, MVT::i32,
5932 OPC_MoveParent,
5933 OPC_CheckPredicate6,
5934 OPC_CheckPredicate4,
5935 OPC_SwitchType , 12, MVT::v2i64,
5936 OPC_CheckPatternPredicate5,
5937 OPC_CheckComplexPat2, /*#*/1,
5938 OPC_EmitMergeInputChains1_0,
5939 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5940 MVT::v2i64, 2, 3, 2,
5941 12, MVT::v32i8,
5942 OPC_CheckPatternPredicate4,
5943 OPC_CheckComplexPat2, /*#*/1,
5944 OPC_EmitMergeInputChains1_0,
5945 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
5946 MVT::v32i8, 2, 3, 2,
5947 0,
5948 0,
5949 65,
5950 OPC_RecordChild1,
5951 OPC_CheckPredicate6,
5952 OPC_CheckPredicate4,
5953 OPC_SwitchType , 28, MVT::v32i8,
5954 OPC_Scope, 12,
5955 OPC_CheckPatternPredicate3,
5956 OPC_CheckComplexPat4, /*#*/1,
5957 OPC_EmitMergeInputChains1_0,
5958 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5959 MVT::v32i8, 2, 2, 3,
5960 12,
5961 OPC_CheckPatternPredicate4,
5962 OPC_CheckComplexPat4, /*#*/1,
5963 OPC_EmitMergeInputChains1_0,
5964 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5965 MVT::v32i8, 2, 2, 3,
5966 0,
5967 28, MVT::v16i16,
5968 OPC_Scope, 12,
5969 OPC_CheckPatternPredicate3,
5970 OPC_CheckComplexPat4, /*#*/1,
5971 OPC_EmitMergeInputChains1_0,
5972 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5973 MVT::v16i16, 2, 2, 3,
5974 12,
5975 OPC_CheckPatternPredicate4,
5976 OPC_CheckComplexPat4, /*#*/1,
5977 OPC_EmitMergeInputChains1_0,
5978 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5979 MVT::v16i16, 2, 2, 3,
5980 0,
5981 0,
5982 46,
5983 OPC_MoveChild1,
5984 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5985 OPC_RecordChild0,
5986 OPC_RecordChild1,
5987 OPC_SwitchType , 17, MVT::i64,
5988 OPC_MoveParent,
5989 OPC_CheckPredicate6,
5990 OPC_CheckPredicate4,
5991 OPC_CheckType, MVT::v16i16,
5992 OPC_CheckPatternPredicate3,
5993 OPC_CheckComplexPat2, /*#*/1,
5994 OPC_EmitMergeInputChains1_0,
5995 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
5996 MVT::v16i16, 2, 3, 2,
5997 17, MVT::i32,
5998 OPC_MoveParent,
5999 OPC_CheckPredicate6,
6000 OPC_CheckPredicate4,
6001 OPC_CheckType, MVT::v16i16,
6002 OPC_CheckPatternPredicate4,
6003 OPC_CheckComplexPat2, /*#*/1,
6004 OPC_EmitMergeInputChains1_0,
6005 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6006 MVT::v16i16, 2, 3, 2,
6007 0,
6008 33,
6009 OPC_RecordChild1,
6010 OPC_CheckPredicate6,
6011 OPC_CheckPredicate4,
6012 OPC_CheckType, MVT::v8i32,
6013 OPC_Scope, 12,
6014 OPC_CheckPatternPredicate3,
6015 OPC_CheckComplexPat4, /*#*/1,
6016 OPC_EmitMergeInputChains1_0,
6017 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6018 MVT::v8i32, 2, 2, 3,
6019 12,
6020 OPC_CheckPatternPredicate4,
6021 OPC_CheckComplexPat4, /*#*/1,
6022 OPC_EmitMergeInputChains1_0,
6023 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6024 MVT::v8i32, 2, 2, 3,
6025 0,
6026 46,
6027 OPC_MoveChild1,
6028 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6029 OPC_RecordChild0,
6030 OPC_RecordChild1,
6031 OPC_SwitchType , 17, MVT::i64,
6032 OPC_MoveParent,
6033 OPC_CheckPredicate6,
6034 OPC_CheckPredicate4,
6035 OPC_CheckType, MVT::v8i32,
6036 OPC_CheckPatternPredicate3,
6037 OPC_CheckComplexPat2, /*#*/1,
6038 OPC_EmitMergeInputChains1_0,
6039 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6040 MVT::v8i32, 2, 3, 2,
6041 17, MVT::i32,
6042 OPC_MoveParent,
6043 OPC_CheckPredicate6,
6044 OPC_CheckPredicate4,
6045 OPC_CheckType, MVT::v8i32,
6046 OPC_CheckPatternPredicate4,
6047 OPC_CheckComplexPat2, /*#*/1,
6048 OPC_EmitMergeInputChains1_0,
6049 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6050 MVT::v8i32, 2, 3, 2,
6051 0,
6052 33,
6053 OPC_RecordChild1,
6054 OPC_CheckPredicate6,
6055 OPC_CheckPredicate4,
6056 OPC_CheckType, MVT::v4i64,
6057 OPC_Scope, 12,
6058 OPC_CheckPatternPredicate3,
6059 OPC_CheckComplexPat4, /*#*/1,
6060 OPC_EmitMergeInputChains1_0,
6061 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6062 MVT::v4i64, 2, 2, 3,
6063 12,
6064 OPC_CheckPatternPredicate4,
6065 OPC_CheckComplexPat4, /*#*/1,
6066 OPC_EmitMergeInputChains1_0,
6067 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6068 MVT::v4i64, 2, 2, 3,
6069 0,
6070 22|128,2,
6071 OPC_MoveChild1,
6072 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6073 OPC_RecordChild0,
6074 OPC_RecordChild1,
6075 OPC_SwitchType , 4|128,1, MVT::i64,
6076 OPC_MoveParent,
6077 OPC_CheckPredicate6,
6078 OPC_CheckPredicate4,
6079 OPC_SwitchType , 27, MVT::v4i64,
6080 OPC_CheckPatternPredicate3,
6081 OPC_Scope, 11,
6082 OPC_CheckComplexPat2, /*#*/1,
6083 OPC_EmitMergeInputChains1_0,
6084 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6085 MVT::v4i64, 2, 3, 2,
6086 11,
6087 OPC_CheckComplexPat2, /*#*/2,
6088 OPC_EmitMergeInputChains1_0,
6089 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6090 MVT::v4i64, 2, 3, 1,
6091 0,
6092 12, MVT::v16i8,
6093 OPC_CheckPatternPredicate2,
6094 OPC_CheckComplexPat2, /*#*/2,
6095 OPC_EmitMergeInputChains1_0,
6096 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6097 MVT::v16i8, 2, 3, 1,
6098 12, MVT::v8i16,
6099 OPC_CheckPatternPredicate2,
6100 OPC_CheckComplexPat2, /*#*/2,
6101 OPC_EmitMergeInputChains1_0,
6102 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6103 MVT::v8i16, 2, 3, 1,
6104 12, MVT::v4i32,
6105 OPC_CheckPatternPredicate2,
6106 OPC_CheckComplexPat2, /*#*/2,
6107 OPC_EmitMergeInputChains1_0,
6108 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6109 MVT::v4i32, 2, 3, 1,
6110 12, MVT::v2i64,
6111 OPC_CheckPatternPredicate2,
6112 OPC_CheckComplexPat2, /*#*/2,
6113 OPC_EmitMergeInputChains1_0,
6114 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6115 MVT::v2i64, 2, 3, 1,
6116 12, MVT::v32i8,
6117 OPC_CheckPatternPredicate3,
6118 OPC_CheckComplexPat2, /*#*/2,
6119 OPC_EmitMergeInputChains1_0,
6120 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6121 MVT::v32i8, 2, 3, 1,
6122 12, MVT::v16i16,
6123 OPC_CheckPatternPredicate3,
6124 OPC_CheckComplexPat2, /*#*/2,
6125 OPC_EmitMergeInputChains1_0,
6126 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6127 MVT::v16i16, 2, 3, 1,
6128 12, MVT::v8i32,
6129 OPC_CheckPatternPredicate3,
6130 OPC_CheckComplexPat2, /*#*/2,
6131 OPC_EmitMergeInputChains1_0,
6132 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6133 MVT::v8i32, 2, 3, 1,
6134 0,
6135 4|128,1, MVT::i32,
6136 OPC_MoveParent,
6137 OPC_CheckPredicate6,
6138 OPC_CheckPredicate4,
6139 OPC_SwitchType , 27, MVT::v4i64,
6140 OPC_CheckPatternPredicate4,
6141 OPC_Scope, 11,
6142 OPC_CheckComplexPat2, /*#*/1,
6143 OPC_EmitMergeInputChains1_0,
6144 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6145 MVT::v4i64, 2, 3, 2,
6146 11,
6147 OPC_CheckComplexPat2, /*#*/2,
6148 OPC_EmitMergeInputChains1_0,
6149 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6150 MVT::v4i64, 2, 3, 1,
6151 0,
6152 12, MVT::v16i8,
6153 OPC_CheckPatternPredicate5,
6154 OPC_CheckComplexPat2, /*#*/2,
6155 OPC_EmitMergeInputChains1_0,
6156 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6157 MVT::v16i8, 2, 3, 1,
6158 12, MVT::v8i16,
6159 OPC_CheckPatternPredicate5,
6160 OPC_CheckComplexPat2, /*#*/2,
6161 OPC_EmitMergeInputChains1_0,
6162 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6163 MVT::v8i16, 2, 3, 1,
6164 12, MVT::v4i32,
6165 OPC_CheckPatternPredicate5,
6166 OPC_CheckComplexPat2, /*#*/2,
6167 OPC_EmitMergeInputChains1_0,
6168 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6169 MVT::v4i32, 2, 3, 1,
6170 12, MVT::v2i64,
6171 OPC_CheckPatternPredicate5,
6172 OPC_CheckComplexPat2, /*#*/2,
6173 OPC_EmitMergeInputChains1_0,
6174 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6175 MVT::v2i64, 2, 3, 1,
6176 12, MVT::v32i8,
6177 OPC_CheckPatternPredicate4,
6178 OPC_CheckComplexPat2, /*#*/2,
6179 OPC_EmitMergeInputChains1_0,
6180 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6181 MVT::v32i8, 2, 3, 1,
6182 12, MVT::v16i16,
6183 OPC_CheckPatternPredicate4,
6184 OPC_CheckComplexPat2, /*#*/2,
6185 OPC_EmitMergeInputChains1_0,
6186 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6187 MVT::v16i16, 2, 3, 1,
6188 12, MVT::v8i32,
6189 OPC_CheckPatternPredicate4,
6190 OPC_CheckComplexPat2, /*#*/2,
6191 OPC_EmitMergeInputChains1_0,
6192 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6193 MVT::v8i32, 2, 3, 1,
6194 0,
6195 0,
6196 21|128,2,
6197 OPC_RecordChild1,
6198 OPC_CheckPredicate6,
6199 OPC_CheckPredicate4,
6200 OPC_SwitchType , 32, MVT::v16i8,
6201 OPC_Scope, 14,
6202 OPC_CheckPatternPredicate2,
6203 OPC_CheckComplexPat0, /*#*/1,
6204 OPC_EmitMergeInputChains1_0,
6205 OPC_EmitInteger64, 0,
6206 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6207 MVT::v16i8, 2, 2, 3,
6208 14,
6209 OPC_CheckPatternPredicate5,
6210 OPC_CheckComplexPat0, /*#*/1,
6211 OPC_EmitMergeInputChains1_0,
6212 OPC_EmitInteger32, 0,
6213 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6214 MVT::v16i8, 2, 2, 3,
6215 0,
6216 32, MVT::v8i16,
6217 OPC_Scope, 14,
6218 OPC_CheckPatternPredicate2,
6219 OPC_CheckComplexPat0, /*#*/1,
6220 OPC_EmitMergeInputChains1_0,
6221 OPC_EmitInteger64, 0,
6222 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6223 MVT::v8i16, 2, 2, 3,
6224 14,
6225 OPC_CheckPatternPredicate5,
6226 OPC_CheckComplexPat0, /*#*/1,
6227 OPC_EmitMergeInputChains1_0,
6228 OPC_EmitInteger32, 0,
6229 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6230 MVT::v8i16, 2, 2, 3,
6231 0,
6232 32, MVT::v4i32,
6233 OPC_Scope, 14,
6234 OPC_CheckPatternPredicate2,
6235 OPC_CheckComplexPat0, /*#*/1,
6236 OPC_EmitMergeInputChains1_0,
6237 OPC_EmitInteger64, 0,
6238 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6239 MVT::v4i32, 2, 2, 3,
6240 14,
6241 OPC_CheckPatternPredicate5,
6242 OPC_CheckComplexPat0, /*#*/1,
6243 OPC_EmitMergeInputChains1_0,
6244 OPC_EmitInteger32, 0,
6245 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6246 MVT::v4i32, 2, 2, 3,
6247 0,
6248 32, MVT::v2i64,
6249 OPC_Scope, 14,
6250 OPC_CheckPatternPredicate2,
6251 OPC_CheckComplexPat0, /*#*/1,
6252 OPC_EmitMergeInputChains1_0,
6253 OPC_EmitInteger64, 0,
6254 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6255 MVT::v2i64, 2, 2, 3,
6256 14,
6257 OPC_CheckPatternPredicate5,
6258 OPC_CheckComplexPat0, /*#*/1,
6259 OPC_EmitMergeInputChains1_0,
6260 OPC_EmitInteger32, 0,
6261 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6262 MVT::v2i64, 2, 2, 3,
6263 0,
6264 32, MVT::v32i8,
6265 OPC_Scope, 14,
6266 OPC_CheckPatternPredicate3,
6267 OPC_CheckComplexPat0, /*#*/1,
6268 OPC_EmitMergeInputChains1_0,
6269 OPC_EmitInteger64, 0,
6270 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6271 MVT::v32i8, 2, 2, 3,
6272 14,
6273 OPC_CheckPatternPredicate4,
6274 OPC_CheckComplexPat0, /*#*/1,
6275 OPC_EmitMergeInputChains1_0,
6276 OPC_EmitInteger32, 0,
6277 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6278 MVT::v32i8, 2, 2, 3,
6279 0,
6280 32, MVT::v16i16,
6281 OPC_Scope, 14,
6282 OPC_CheckPatternPredicate3,
6283 OPC_CheckComplexPat0, /*#*/1,
6284 OPC_EmitMergeInputChains1_0,
6285 OPC_EmitInteger64, 0,
6286 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6287 MVT::v16i16, 2, 2, 3,
6288 14,
6289 OPC_CheckPatternPredicate4,
6290 OPC_CheckComplexPat0, /*#*/1,
6291 OPC_EmitMergeInputChains1_0,
6292 OPC_EmitInteger32, 0,
6293 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6294 MVT::v16i16, 2, 2, 3,
6295 0,
6296 32, MVT::v8i32,
6297 OPC_Scope, 14,
6298 OPC_CheckPatternPredicate3,
6299 OPC_CheckComplexPat0, /*#*/1,
6300 OPC_EmitMergeInputChains1_0,
6301 OPC_EmitInteger64, 0,
6302 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6303 MVT::v8i32, 2, 2, 3,
6304 14,
6305 OPC_CheckPatternPredicate4,
6306 OPC_CheckComplexPat0, /*#*/1,
6307 OPC_EmitMergeInputChains1_0,
6308 OPC_EmitInteger32, 0,
6309 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6310 MVT::v8i32, 2, 2, 3,
6311 0,
6312 32, MVT::v4i64,
6313 OPC_Scope, 14,
6314 OPC_CheckPatternPredicate3,
6315 OPC_CheckComplexPat0, /*#*/1,
6316 OPC_EmitMergeInputChains1_0,
6317 OPC_EmitInteger64, 0,
6318 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6319 MVT::v4i64, 2, 2, 3,
6320 14,
6321 OPC_CheckPatternPredicate4,
6322 OPC_CheckComplexPat0, /*#*/1,
6323 OPC_EmitMergeInputChains1_0,
6324 OPC_EmitInteger32, 0,
6325 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6326 MVT::v4i64, 2, 2, 3,
6327 0,
6328 0,
6329 49|128,2,
6330 OPC_MoveChild1,
6331 OPC_SwitchOpcode , 19|128,1, TARGET_VAL(ISD::ADD),
6332 OPC_RecordChild0,
6333 OPC_RecordChild1,
6334 OPC_MoveChild1,
6335 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6336 OPC_CheckPredicate, 11,
6337 OPC_MoveParent,
6338 OPC_CheckPredicate, 10,
6339 OPC_SwitchType , 65, MVT::i64,
6340 OPC_MoveParent,
6341 OPC_CheckPredicate6,
6342 OPC_CheckPredicate4,
6343 OPC_SwitchType , 13, MVT::v4f32,
6344 OPC_CheckPatternPredicate2,
6345 OPC_CheckComplexPat0, /*#*/1,
6346 OPC_EmitMergeInputChains1_0,
6347 OPC_EmitConvertToTarget2,
6348 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6349 MVT::v4f32, 2, 3, 4,
6350 13, MVT::v2f64,
6351 OPC_CheckPatternPredicate2,
6352 OPC_CheckComplexPat0, /*#*/1,
6353 OPC_EmitMergeInputChains1_0,
6354 OPC_EmitConvertToTarget2,
6355 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6356 MVT::v2f64, 2, 3, 4,
6357 13, MVT::v8f32,
6358 OPC_CheckPatternPredicate3,
6359 OPC_CheckComplexPat0, /*#*/1,
6360 OPC_EmitMergeInputChains1_0,
6361 OPC_EmitConvertToTarget2,
6362 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6363 MVT::v8f32, 2, 3, 4,
6364 13, MVT::v4f64,
6365 OPC_CheckPatternPredicate3,
6366 OPC_CheckComplexPat0, /*#*/1,
6367 OPC_EmitMergeInputChains1_0,
6368 OPC_EmitConvertToTarget2,
6369 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6370 MVT::v4f64, 2, 3, 4,
6371 0,
6372 65, MVT::i32,
6373 OPC_MoveParent,
6374 OPC_CheckPredicate6,
6375 OPC_CheckPredicate4,
6376 OPC_SwitchType , 13, MVT::v4f32,
6377 OPC_CheckPatternPredicate5,
6378 OPC_CheckComplexPat0, /*#*/1,
6379 OPC_EmitMergeInputChains1_0,
6380 OPC_EmitConvertToTarget2,
6381 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6382 MVT::v4f32, 2, 3, 4,
6383 13, MVT::v2f64,
6384 OPC_CheckPatternPredicate5,
6385 OPC_CheckComplexPat0, /*#*/1,
6386 OPC_EmitMergeInputChains1_0,
6387 OPC_EmitConvertToTarget2,
6388 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6389 MVT::v2f64, 2, 3, 4,
6390 13, MVT::v8f32,
6391 OPC_CheckPatternPredicate4,
6392 OPC_CheckComplexPat0, /*#*/1,
6393 OPC_EmitMergeInputChains1_0,
6394 OPC_EmitConvertToTarget2,
6395 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6396 MVT::v8f32, 2, 3, 4,
6397 13, MVT::v4f64,
6398 OPC_CheckPatternPredicate4,
6399 OPC_CheckComplexPat0, /*#*/1,
6400 OPC_EmitMergeInputChains1_0,
6401 OPC_EmitConvertToTarget2,
6402 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6403 MVT::v4f64, 2, 3, 4,
6404 0,
6405 0,
6406 19|128,1, TARGET_VAL(ISD::OR),
6407 OPC_RecordChild0,
6408 OPC_RecordChild1,
6409 OPC_MoveChild1,
6410 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6411 OPC_CheckPredicate, 11,
6412 OPC_MoveParent,
6413 OPC_CheckPredicate, 10,
6414 OPC_SwitchType , 65, MVT::i64,
6415 OPC_MoveParent,
6416 OPC_CheckPredicate6,
6417 OPC_CheckPredicate4,
6418 OPC_SwitchType , 13, MVT::v4f32,
6419 OPC_CheckPatternPredicate2,
6420 OPC_CheckComplexPat0, /*#*/1,
6421 OPC_EmitMergeInputChains1_0,
6422 OPC_EmitConvertToTarget2,
6423 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6424 MVT::v4f32, 2, 3, 4,
6425 13, MVT::v2f64,
6426 OPC_CheckPatternPredicate2,
6427 OPC_CheckComplexPat0, /*#*/1,
6428 OPC_EmitMergeInputChains1_0,
6429 OPC_EmitConvertToTarget2,
6430 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6431 MVT::v2f64, 2, 3, 4,
6432 13, MVT::v8f32,
6433 OPC_CheckPatternPredicate3,
6434 OPC_CheckComplexPat0, /*#*/1,
6435 OPC_EmitMergeInputChains1_0,
6436 OPC_EmitConvertToTarget2,
6437 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6438 MVT::v8f32, 2, 3, 4,
6439 13, MVT::v4f64,
6440 OPC_CheckPatternPredicate3,
6441 OPC_CheckComplexPat0, /*#*/1,
6442 OPC_EmitMergeInputChains1_0,
6443 OPC_EmitConvertToTarget2,
6444 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6445 MVT::v4f64, 2, 3, 4,
6446 0,
6447 65, MVT::i32,
6448 OPC_MoveParent,
6449 OPC_CheckPredicate6,
6450 OPC_CheckPredicate4,
6451 OPC_SwitchType , 13, MVT::v4f32,
6452 OPC_CheckPatternPredicate5,
6453 OPC_CheckComplexPat0, /*#*/1,
6454 OPC_EmitMergeInputChains1_0,
6455 OPC_EmitConvertToTarget2,
6456 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6457 MVT::v4f32, 2, 3, 4,
6458 13, MVT::v2f64,
6459 OPC_CheckPatternPredicate5,
6460 OPC_CheckComplexPat0, /*#*/1,
6461 OPC_EmitMergeInputChains1_0,
6462 OPC_EmitConvertToTarget2,
6463 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6464 MVT::v2f64, 2, 3, 4,
6465 13, MVT::v8f32,
6466 OPC_CheckPatternPredicate4,
6467 OPC_CheckComplexPat0, /*#*/1,
6468 OPC_EmitMergeInputChains1_0,
6469 OPC_EmitConvertToTarget2,
6470 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6471 MVT::v8f32, 2, 3, 4,
6472 13, MVT::v4f64,
6473 OPC_CheckPatternPredicate4,
6474 OPC_CheckComplexPat0, /*#*/1,
6475 OPC_EmitMergeInputChains1_0,
6476 OPC_EmitConvertToTarget2,
6477 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6478 MVT::v4f64, 2, 3, 4,
6479 0,
6480 0,
6481 0,
6482 33,
6483 OPC_RecordChild1,
6484 OPC_CheckPredicate6,
6485 OPC_CheckPredicate4,
6486 OPC_CheckType, MVT::v4f32,
6487 OPC_Scope, 12,
6488 OPC_CheckPatternPredicate2,
6489 OPC_CheckComplexPat4, /*#*/1,
6490 OPC_EmitMergeInputChains1_0,
6491 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6492 MVT::v4f32, 2, 2, 3,
6493 12,
6494 OPC_CheckPatternPredicate5,
6495 OPC_CheckComplexPat4, /*#*/1,
6496 OPC_EmitMergeInputChains1_0,
6497 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6498 MVT::v4f32, 2, 2, 3,
6499 0,
6500 46,
6501 OPC_MoveChild1,
6502 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6503 OPC_RecordChild0,
6504 OPC_RecordChild1,
6505 OPC_SwitchType , 17, MVT::i64,
6506 OPC_MoveParent,
6507 OPC_CheckPredicate6,
6508 OPC_CheckPredicate4,
6509 OPC_CheckType, MVT::v4f32,
6510 OPC_CheckPatternPredicate2,
6511 OPC_CheckComplexPat2, /*#*/1,
6512 OPC_EmitMergeInputChains1_0,
6513 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6514 MVT::v4f32, 2, 3, 2,
6515 17, MVT::i32,
6516 OPC_MoveParent,
6517 OPC_CheckPredicate6,
6518 OPC_CheckPredicate4,
6519 OPC_CheckType, MVT::v4f32,
6520 OPC_CheckPatternPredicate5,
6521 OPC_CheckComplexPat2, /*#*/1,
6522 OPC_EmitMergeInputChains1_0,
6523 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6524 MVT::v4f32, 2, 3, 2,
6525 0,
6526 33,
6527 OPC_RecordChild1,
6528 OPC_CheckPredicate6,
6529 OPC_CheckPredicate4,
6530 OPC_CheckType, MVT::v2f64,
6531 OPC_Scope, 12,
6532 OPC_CheckPatternPredicate2,
6533 OPC_CheckComplexPat4, /*#*/1,
6534 OPC_EmitMergeInputChains1_0,
6535 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6536 MVT::v2f64, 2, 2, 3,
6537 12,
6538 OPC_CheckPatternPredicate5,
6539 OPC_CheckComplexPat4, /*#*/1,
6540 OPC_EmitMergeInputChains1_0,
6541 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6542 MVT::v2f64, 2, 2, 3,
6543 0,
6544 46,
6545 OPC_MoveChild1,
6546 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6547 OPC_RecordChild0,
6548 OPC_RecordChild1,
6549 OPC_SwitchType , 17, MVT::i64,
6550 OPC_MoveParent,
6551 OPC_CheckPredicate6,
6552 OPC_CheckPredicate4,
6553 OPC_CheckType, MVT::v2f64,
6554 OPC_CheckPatternPredicate2,
6555 OPC_CheckComplexPat2, /*#*/1,
6556 OPC_EmitMergeInputChains1_0,
6557 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6558 MVT::v2f64, 2, 3, 2,
6559 17, MVT::i32,
6560 OPC_MoveParent,
6561 OPC_CheckPredicate6,
6562 OPC_CheckPredicate4,
6563 OPC_CheckType, MVT::v2f64,
6564 OPC_CheckPatternPredicate5,
6565 OPC_CheckComplexPat2, /*#*/1,
6566 OPC_EmitMergeInputChains1_0,
6567 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6568 MVT::v2f64, 2, 3, 2,
6569 0,
6570 33,
6571 OPC_RecordChild1,
6572 OPC_CheckPredicate6,
6573 OPC_CheckPredicate4,
6574 OPC_CheckType, MVT::v8f32,
6575 OPC_Scope, 12,
6576 OPC_CheckPatternPredicate3,
6577 OPC_CheckComplexPat4, /*#*/1,
6578 OPC_EmitMergeInputChains1_0,
6579 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6580 MVT::v8f32, 2, 2, 3,
6581 12,
6582 OPC_CheckPatternPredicate4,
6583 OPC_CheckComplexPat4, /*#*/1,
6584 OPC_EmitMergeInputChains1_0,
6585 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6586 MVT::v8f32, 2, 2, 3,
6587 0,
6588 46,
6589 OPC_MoveChild1,
6590 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6591 OPC_RecordChild0,
6592 OPC_RecordChild1,
6593 OPC_SwitchType , 17, MVT::i64,
6594 OPC_MoveParent,
6595 OPC_CheckPredicate6,
6596 OPC_CheckPredicate4,
6597 OPC_CheckType, MVT::v8f32,
6598 OPC_CheckPatternPredicate3,
6599 OPC_CheckComplexPat2, /*#*/1,
6600 OPC_EmitMergeInputChains1_0,
6601 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6602 MVT::v8f32, 2, 3, 2,
6603 17, MVT::i32,
6604 OPC_MoveParent,
6605 OPC_CheckPredicate6,
6606 OPC_CheckPredicate4,
6607 OPC_CheckType, MVT::v8f32,
6608 OPC_CheckPatternPredicate4,
6609 OPC_CheckComplexPat2, /*#*/1,
6610 OPC_EmitMergeInputChains1_0,
6611 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6612 MVT::v8f32, 2, 3, 2,
6613 0,
6614 33,
6615 OPC_RecordChild1,
6616 OPC_CheckPredicate6,
6617 OPC_CheckPredicate4,
6618 OPC_CheckType, MVT::v4f64,
6619 OPC_Scope, 12,
6620 OPC_CheckPatternPredicate3,
6621 OPC_CheckComplexPat4, /*#*/1,
6622 OPC_EmitMergeInputChains1_0,
6623 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6624 MVT::v4f64, 2, 2, 3,
6625 12,
6626 OPC_CheckPatternPredicate4,
6627 OPC_CheckComplexPat4, /*#*/1,
6628 OPC_EmitMergeInputChains1_0,
6629 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6630 MVT::v4f64, 2, 2, 3,
6631 0,
6632 36|128,1,
6633 OPC_MoveChild1,
6634 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6635 OPC_RecordChild0,
6636 OPC_RecordChild1,
6637 OPC_SwitchType , 76, MVT::i64,
6638 OPC_MoveParent,
6639 OPC_CheckPredicate6,
6640 OPC_CheckPredicate4,
6641 OPC_SwitchType , 27, MVT::v4f64,
6642 OPC_CheckPatternPredicate3,
6643 OPC_Scope, 11,
6644 OPC_CheckComplexPat2, /*#*/1,
6645 OPC_EmitMergeInputChains1_0,
6646 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6647 MVT::v4f64, 2, 3, 2,
6648 11,
6649 OPC_CheckComplexPat2, /*#*/2,
6650 OPC_EmitMergeInputChains1_0,
6651 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6652 MVT::v4f64, 2, 3, 1,
6653 0,
6654 12, MVT::v4f32,
6655 OPC_CheckPatternPredicate2,
6656 OPC_CheckComplexPat2, /*#*/2,
6657 OPC_EmitMergeInputChains1_0,
6658 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6659 MVT::v4f32, 2, 3, 1,
6660 12, MVT::v2f64,
6661 OPC_CheckPatternPredicate2,
6662 OPC_CheckComplexPat2, /*#*/2,
6663 OPC_EmitMergeInputChains1_0,
6664 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6665 MVT::v2f64, 2, 3, 1,
6666 12, MVT::v8f32,
6667 OPC_CheckPatternPredicate3,
6668 OPC_CheckComplexPat2, /*#*/2,
6669 OPC_EmitMergeInputChains1_0,
6670 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6671 MVT::v8f32, 2, 3, 1,
6672 0,
6673 76, MVT::i32,
6674 OPC_MoveParent,
6675 OPC_CheckPredicate6,
6676 OPC_CheckPredicate4,
6677 OPC_SwitchType , 27, MVT::v4f64,
6678 OPC_CheckPatternPredicate4,
6679 OPC_Scope, 11,
6680 OPC_CheckComplexPat2, /*#*/1,
6681 OPC_EmitMergeInputChains1_0,
6682 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6683 MVT::v4f64, 2, 3, 2,
6684 11,
6685 OPC_CheckComplexPat2, /*#*/2,
6686 OPC_EmitMergeInputChains1_0,
6687 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6688 MVT::v4f64, 2, 3, 1,
6689 0,
6690 12, MVT::v4f32,
6691 OPC_CheckPatternPredicate5,
6692 OPC_CheckComplexPat2, /*#*/2,
6693 OPC_EmitMergeInputChains1_0,
6694 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6695 MVT::v4f32, 2, 3, 1,
6696 12, MVT::v2f64,
6697 OPC_CheckPatternPredicate5,
6698 OPC_CheckComplexPat2, /*#*/2,
6699 OPC_EmitMergeInputChains1_0,
6700 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6701 MVT::v2f64, 2, 3, 1,
6702 12, MVT::v8f32,
6703 OPC_CheckPatternPredicate4,
6704 OPC_CheckComplexPat2, /*#*/2,
6705 OPC_EmitMergeInputChains1_0,
6706 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6707 MVT::v8f32, 2, 3, 1,
6708 0,
6709 0,
6710 13|128,1,
6711 OPC_RecordChild1,
6712 OPC_CheckPredicate6,
6713 OPC_CheckPredicate4,
6714 OPC_SwitchType , 32, MVT::v4f32,
6715 OPC_Scope, 14,
6716 OPC_CheckPatternPredicate2,
6717 OPC_CheckComplexPat0, /*#*/1,
6718 OPC_EmitMergeInputChains1_0,
6719 OPC_EmitInteger64, 0,
6720 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6721 MVT::v4f32, 2, 2, 3,
6722 14,
6723 OPC_CheckPatternPredicate5,
6724 OPC_CheckComplexPat0, /*#*/1,
6725 OPC_EmitMergeInputChains1_0,
6726 OPC_EmitInteger32, 0,
6727 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6728 MVT::v4f32, 2, 2, 3,
6729 0,
6730 32, MVT::v2f64,
6731 OPC_Scope, 14,
6732 OPC_CheckPatternPredicate2,
6733 OPC_CheckComplexPat0, /*#*/1,
6734 OPC_EmitMergeInputChains1_0,
6735 OPC_EmitInteger64, 0,
6736 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6737 MVT::v2f64, 2, 2, 3,
6738 14,
6739 OPC_CheckPatternPredicate5,
6740 OPC_CheckComplexPat0, /*#*/1,
6741 OPC_EmitMergeInputChains1_0,
6742 OPC_EmitInteger32, 0,
6743 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6744 MVT::v2f64, 2, 2, 3,
6745 0,
6746 32, MVT::v8f32,
6747 OPC_Scope, 14,
6748 OPC_CheckPatternPredicate3,
6749 OPC_CheckComplexPat0, /*#*/1,
6750 OPC_EmitMergeInputChains1_0,
6751 OPC_EmitInteger64, 0,
6752 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6753 MVT::v8f32, 2, 2, 3,
6754 14,
6755 OPC_CheckPatternPredicate4,
6756 OPC_CheckComplexPat0, /*#*/1,
6757 OPC_EmitMergeInputChains1_0,
6758 OPC_EmitInteger32, 0,
6759 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6760 MVT::v8f32, 2, 2, 3,
6761 0,
6762 32, MVT::v4f64,
6763 OPC_Scope, 14,
6764 OPC_CheckPatternPredicate3,
6765 OPC_CheckComplexPat0, /*#*/1,
6766 OPC_EmitMergeInputChains1_0,
6767 OPC_EmitInteger64, 0,
6768 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6769 MVT::v4f64, 2, 2, 3,
6770 14,
6771 OPC_CheckPatternPredicate4,
6772 OPC_CheckComplexPat0, /*#*/1,
6773 OPC_EmitMergeInputChains1_0,
6774 OPC_EmitInteger32, 0,
6775 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6776 MVT::v4f64, 2, 2, 3,
6777 0,
6778 0,
6779 0,
6780 99|128,34, TARGET_VAL(ISD::STORE),
6781 OPC_RecordMemRef,
6782 OPC_RecordNode,
6783 OPC_RecordChild1,
6784 OPC_Scope, 53|128,4,
6785 OPC_CheckChild1TypeI64,
6786 OPC_Scope, 17|128,2,
6787 OPC_MoveChild2,
6788 OPC_SwitchOpcode , 3|128,1, TARGET_VAL(ISD::ADD),
6789 OPC_RecordChild0,
6790 OPC_RecordChild1,
6791 OPC_MoveChild1,
6792 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6793 OPC_Scope, 78,
6794 OPC_CheckPredicate, 11,
6795 OPC_MoveParent,
6796 OPC_CheckPredicate, 10,
6797 OPC_CheckTypeI64,
6798 OPC_MoveParent,
6799 OPC_CheckPredicate2,
6800 OPC_Scope, 52,
6801 OPC_CheckPredicate, 27,
6802 OPC_Scope, 15,
6803 OPC_CheckPredicate, 30,
6804 OPC_CheckPatternPredicate7,
6805 OPC_CheckComplexPat0, /*#*/2,
6806 OPC_EmitMergeInputChains1_0,
6807 OPC_EmitConvertToTarget3,
6808 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6809 3, 1, 4, 5,
6810 15,
6811 OPC_CheckPredicate, 31,
6812 OPC_CheckPatternPredicate7,
6813 OPC_CheckComplexPat0, /*#*/2,
6814 OPC_EmitMergeInputChains1_0,
6815 OPC_EmitConvertToTarget3,
6816 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6817 3, 1, 4, 5,
6818 15,
6819 OPC_CheckPredicate, 34,
6820 OPC_CheckPatternPredicate6,
6821 OPC_CheckComplexPat0, /*#*/2,
6822 OPC_EmitMergeInputChains1_0,
6823 OPC_EmitConvertToTarget3,
6824 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6825 3, 1, 4, 5,
6826 0,
6827 14,
6828 OPC_CheckPredicate1,
6829 OPC_CheckPatternPredicate6,
6830 OPC_CheckComplexPat0, /*#*/2,
6831 OPC_EmitMergeInputChains1_0,
6832 OPC_EmitConvertToTarget3,
6833 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6834 3, 1, 4, 5,
6835 0,
6836 43,
6837 OPC_CheckPredicate, 37,
6838 OPC_MoveParent,
6839 OPC_CheckPredicate, 10,
6840 OPC_CheckTypeI64,
6841 OPC_MoveParent,
6842 OPC_CheckPredicate2,
6843 OPC_Scope, 17,
6844 OPC_CheckPredicate, 27,
6845 OPC_CheckPredicate, 34,
6846 OPC_CheckPatternPredicate6,
6847 OPC_CheckComplexPat0, /*#*/2,
6848 OPC_EmitMergeInputChains1_0,
6849 OPC_EmitConvertToTarget3,
6850 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6851 3, 1, 4, 5,
6852 14,
6853 OPC_CheckPredicate1,
6854 OPC_CheckPatternPredicate6,
6855 OPC_CheckComplexPat0, /*#*/2,
6856 OPC_EmitMergeInputChains1_0,
6857 OPC_EmitConvertToTarget3,
6858 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6859 3, 1, 4, 5,
6860 0,
6861 0,
6862 3|128,1, TARGET_VAL(ISD::OR),
6863 OPC_RecordChild0,
6864 OPC_RecordChild1,
6865 OPC_MoveChild1,
6866 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6867 OPC_Scope, 78,
6868 OPC_CheckPredicate, 11,
6869 OPC_MoveParent,
6870 OPC_CheckPredicate, 10,
6871 OPC_CheckTypeI64,
6872 OPC_MoveParent,
6873 OPC_CheckPredicate2,
6874 OPC_Scope, 52,
6875 OPC_CheckPredicate, 27,
6876 OPC_Scope, 15,
6877 OPC_CheckPredicate, 30,
6878 OPC_CheckPatternPredicate7,
6879 OPC_CheckComplexPat0, /*#*/2,
6880 OPC_EmitMergeInputChains1_0,
6881 OPC_EmitConvertToTarget3,
6882 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6883 3, 1, 4, 5,
6884 15,
6885 OPC_CheckPredicate, 31,
6886 OPC_CheckPatternPredicate7,
6887 OPC_CheckComplexPat0, /*#*/2,
6888 OPC_EmitMergeInputChains1_0,
6889 OPC_EmitConvertToTarget3,
6890 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6891 3, 1, 4, 5,
6892 15,
6893 OPC_CheckPredicate, 34,
6894 OPC_CheckPatternPredicate6,
6895 OPC_CheckComplexPat0, /*#*/2,
6896 OPC_EmitMergeInputChains1_0,
6897 OPC_EmitConvertToTarget3,
6898 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6899 3, 1, 4, 5,
6900 0,
6901 14,
6902 OPC_CheckPredicate1,
6903 OPC_CheckPatternPredicate6,
6904 OPC_CheckComplexPat0, /*#*/2,
6905 OPC_EmitMergeInputChains1_0,
6906 OPC_EmitConvertToTarget3,
6907 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6908 3, 1, 4, 5,
6909 0,
6910 43,
6911 OPC_CheckPredicate, 37,
6912 OPC_MoveParent,
6913 OPC_CheckPredicate, 10,
6914 OPC_CheckTypeI64,
6915 OPC_MoveParent,
6916 OPC_CheckPredicate2,
6917 OPC_Scope, 17,
6918 OPC_CheckPredicate, 27,
6919 OPC_CheckPredicate, 34,
6920 OPC_CheckPatternPredicate6,
6921 OPC_CheckComplexPat0, /*#*/2,
6922 OPC_EmitMergeInputChains1_0,
6923 OPC_EmitConvertToTarget3,
6924 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6925 3, 1, 4, 5,
6926 14,
6927 OPC_CheckPredicate1,
6928 OPC_CheckPatternPredicate6,
6929 OPC_CheckComplexPat0, /*#*/2,
6930 OPC_EmitMergeInputChains1_0,
6931 OPC_EmitConvertToTarget3,
6932 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6933 3, 1, 4, 5,
6934 0,
6935 0,
6936 0,
6937 68,
6938 OPC_RecordChild2,
6939 OPC_CheckPredicate2,
6940 OPC_Scope, 49,
6941 OPC_CheckPredicate, 27,
6942 OPC_Scope, 14,
6943 OPC_CheckPredicate, 30,
6944 OPC_CheckPatternPredicate7,
6945 OPC_CheckComplexPat4, /*#*/2,
6946 OPC_EmitMergeInputChains1_0,
6947 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6948 3, 1, 3, 4,
6949 14,
6950 OPC_CheckPredicate, 31,
6951 OPC_CheckPatternPredicate7,
6952 OPC_CheckComplexPat4, /*#*/2,
6953 OPC_EmitMergeInputChains1_0,
6954 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6955 3, 1, 3, 4,
6956 14,
6957 OPC_CheckPredicate, 34,
6958 OPC_CheckPatternPredicate6,
6959 OPC_CheckComplexPat4, /*#*/2,
6960 OPC_EmitMergeInputChains1_0,
6961 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6962 3, 1, 3, 4,
6963 0,
6964 13,
6965 OPC_CheckPredicate1,
6966 OPC_CheckPatternPredicate6,
6967 OPC_CheckComplexPat4, /*#*/2,
6968 OPC_EmitMergeInputChains1_0,
6969 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6970 3, 1, 3, 4,
6971 0,
6972 11|128,1,
6973 OPC_MoveChild2,
6974 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6975 OPC_RecordChild0,
6976 OPC_RecordChild1,
6977 OPC_CheckTypeI64,
6978 OPC_MoveParent,
6979 OPC_CheckPredicate2,
6980 OPC_Scope, 49,
6981 OPC_CheckPredicate, 27,
6982 OPC_Scope, 14,
6983 OPC_CheckPredicate, 30,
6984 OPC_CheckPatternPredicate6,
6985 OPC_CheckComplexPat2, /*#*/2,
6986 OPC_EmitMergeInputChains1_0,
6987 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
6988 3, 1, 4, 3,
6989 14,
6990 OPC_CheckPredicate, 31,
6991 OPC_CheckPatternPredicate6,
6992 OPC_CheckComplexPat2, /*#*/2,
6993 OPC_EmitMergeInputChains1_0,
6994 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
6995 3, 1, 4, 3,
6996 14,
6997 OPC_CheckPredicate, 34,
6998 OPC_CheckPatternPredicate6,
6999 OPC_CheckComplexPat2, /*#*/2,
7000 OPC_EmitMergeInputChains1_0,
7001 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
7002 3, 1, 4, 3,
7003 0,
7004 13,
7005 OPC_CheckPredicate1,
7006 OPC_CheckPatternPredicate6,
7007 OPC_CheckComplexPat2, /*#*/2,
7008 OPC_EmitMergeInputChains1_0,
7009 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
7010 3, 1, 4, 3,
7011 49,
7012 OPC_CheckPredicate, 27,
7013 OPC_Scope, 14,
7014 OPC_CheckPredicate, 30,
7015 OPC_CheckPatternPredicate6,
7016 OPC_CheckComplexPat2, /*#*/3,
7017 OPC_EmitMergeInputChains1_0,
7018 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
7019 3, 1, 4, 2,
7020 14,
7021 OPC_CheckPredicate, 31,
7022 OPC_CheckPatternPredicate6,
7023 OPC_CheckComplexPat2, /*#*/3,
7024 OPC_EmitMergeInputChains1_0,
7025 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
7026 3, 1, 4, 2,
7027 14,
7028 OPC_CheckPredicate, 34,
7029 OPC_CheckPatternPredicate6,
7030 OPC_CheckComplexPat2, /*#*/3,
7031 OPC_EmitMergeInputChains1_0,
7032 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
7033 3, 1, 4, 2,
7034 0,
7035 13,
7036 OPC_CheckPredicate1,
7037 OPC_CheckPatternPredicate6,
7038 OPC_CheckComplexPat2, /*#*/3,
7039 OPC_EmitMergeInputChains1_0,
7040 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
7041 3, 1, 4, 2,
7042 0,
7043 76,
7044 OPC_RecordChild2,
7045 OPC_CheckPredicate2,
7046 OPC_Scope, 55,
7047 OPC_CheckPredicate, 27,
7048 OPC_Scope, 16,
7049 OPC_CheckPredicate, 30,
7050 OPC_CheckPatternPredicate7,
7051 OPC_CheckComplexPat0, /*#*/2,
7052 OPC_EmitMergeInputChains1_0,
7053 OPC_EmitInteger64, 0,
7054 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7055 3, 1, 3, 4,
7056 16,
7057 OPC_CheckPredicate, 31,
7058 OPC_CheckPatternPredicate7,
7059 OPC_CheckComplexPat0, /*#*/2,
7060 OPC_EmitMergeInputChains1_0,
7061 OPC_EmitInteger64, 0,
7062 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7063 3, 1, 3, 4,
7064 16,
7065 OPC_CheckPredicate, 34,
7066 OPC_CheckPatternPredicate6,
7067 OPC_CheckComplexPat0, /*#*/2,
7068 OPC_EmitMergeInputChains1_0,
7069 OPC_EmitInteger64, 0,
7070 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7071 3, 1, 3, 4,
7072 0,
7073 15,
7074 OPC_CheckPredicate1,
7075 OPC_CheckPatternPredicate6,
7076 OPC_CheckComplexPat0, /*#*/2,
7077 OPC_EmitMergeInputChains1_0,
7078 OPC_EmitInteger64, 0,
7079 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
7080 3, 1, 3, 4,
7081 0,
7082 0,
7083 15|128,2,
7084 OPC_CheckChild1TypeI32,
7085 OPC_Scope, 23|128,1,
7086 OPC_MoveChild2,
7087 OPC_SwitchOpcode , 71, TARGET_VAL(ISD::ADD),
7088 OPC_RecordChild0,
7089 OPC_RecordChild1,
7090 OPC_MoveChild1,
7091 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7092 OPC_CheckPredicate, 11,
7093 OPC_MoveParent,
7094 OPC_CheckPredicate, 10,
7095 OPC_CheckTypeI32,
7096 OPC_MoveParent,
7097 OPC_CheckPredicate2,
7098 OPC_Scope, 38,
7099 OPC_CheckPredicate, 27,
7100 OPC_Scope, 16,
7101 OPC_CheckPredicate, 30,
7102 OPC_CheckPatternPredicate, 8,
7103 OPC_CheckComplexPat0, /*#*/2,
7104 OPC_EmitMergeInputChains1_0,
7105 OPC_EmitConvertToTarget3,
7106 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7107 3, 1, 4, 5,
7108 16,
7109 OPC_CheckPredicate, 31,
7110 OPC_CheckPatternPredicate, 8,
7111 OPC_CheckComplexPat0, /*#*/2,
7112 OPC_EmitMergeInputChains1_0,
7113 OPC_EmitConvertToTarget3,
7114 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7115 3, 1, 4, 5,
7116 0,
7117 15,
7118 OPC_CheckPredicate1,
7119 OPC_CheckPatternPredicate, 9,
7120 OPC_CheckComplexPat0, /*#*/2,
7121 OPC_EmitMergeInputChains1_0,
7122 OPC_EmitConvertToTarget3,
7123 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7124 3, 1, 4, 5,
7125 0,
7126 71, TARGET_VAL(ISD::OR),
7127 OPC_RecordChild0,
7128 OPC_RecordChild1,
7129 OPC_MoveChild1,
7130 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7131 OPC_CheckPredicate, 11,
7132 OPC_MoveParent,
7133 OPC_CheckPredicate, 10,
7134 OPC_CheckTypeI32,
7135 OPC_MoveParent,
7136 OPC_CheckPredicate2,
7137 OPC_Scope, 38,
7138 OPC_CheckPredicate, 27,
7139 OPC_Scope, 16,
7140 OPC_CheckPredicate, 30,
7141 OPC_CheckPatternPredicate, 8,
7142 OPC_CheckComplexPat0, /*#*/2,
7143 OPC_EmitMergeInputChains1_0,
7144 OPC_EmitConvertToTarget3,
7145 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7146 3, 1, 4, 5,
7147 16,
7148 OPC_CheckPredicate, 31,
7149 OPC_CheckPatternPredicate, 8,
7150 OPC_CheckComplexPat0, /*#*/2,
7151 OPC_EmitMergeInputChains1_0,
7152 OPC_EmitConvertToTarget3,
7153 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7154 3, 1, 4, 5,
7155 0,
7156 15,
7157 OPC_CheckPredicate1,
7158 OPC_CheckPatternPredicate, 9,
7159 OPC_CheckComplexPat0, /*#*/2,
7160 OPC_EmitMergeInputChains1_0,
7161 OPC_EmitConvertToTarget3,
7162 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7163 3, 1, 4, 5,
7164 0,
7165 0,
7166 114,
7167 OPC_RecordChild2,
7168 OPC_CheckPredicate2,
7169 OPC_Scope, 36,
7170 OPC_CheckPredicate, 27,
7171 OPC_Scope, 15,
7172 OPC_CheckPredicate, 30,
7173 OPC_CheckPatternPredicate, 8,
7174 OPC_CheckComplexPat4, /*#*/2,
7175 OPC_EmitMergeInputChains1_0,
7176 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7177 3, 1, 3, 4,
7178 15,
7179 OPC_CheckPredicate, 31,
7180 OPC_CheckPatternPredicate, 8,
7181 OPC_CheckComplexPat4, /*#*/2,
7182 OPC_EmitMergeInputChains1_0,
7183 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7184 3, 1, 3, 4,
7185 0,
7186 14,
7187 OPC_CheckPredicate1,
7188 OPC_CheckPatternPredicate, 9,
7189 OPC_CheckComplexPat4, /*#*/2,
7190 OPC_EmitMergeInputChains1_0,
7191 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7192 3, 1, 3, 4,
7193 40,
7194 OPC_CheckPredicate, 27,
7195 OPC_Scope, 17,
7196 OPC_CheckPredicate, 30,
7197 OPC_CheckPatternPredicate, 8,
7198 OPC_CheckComplexPat0, /*#*/2,
7199 OPC_EmitMergeInputChains1_0,
7200 OPC_EmitInteger32, 0,
7201 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7202 3, 1, 3, 4,
7203 17,
7204 OPC_CheckPredicate, 31,
7205 OPC_CheckPatternPredicate, 8,
7206 OPC_CheckComplexPat0, /*#*/2,
7207 OPC_EmitMergeInputChains1_0,
7208 OPC_EmitInteger32, 0,
7209 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7210 3, 1, 3, 4,
7211 0,
7212 16,
7213 OPC_CheckPredicate1,
7214 OPC_CheckPatternPredicate, 9,
7215 OPC_CheckComplexPat0, /*#*/2,
7216 OPC_EmitMergeInputChains1_0,
7217 OPC_EmitInteger32, 0,
7218 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7219 3, 1, 3, 4,
7220 0,
7221 0,
7222 7|128,2,
7223 OPC_CheckChild1Type, MVT::f32,
7224 OPC_Scope, 111,
7225 OPC_MoveChild2,
7226 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::ADD),
7227 OPC_RecordChild0,
7228 OPC_RecordChild1,
7229 OPC_MoveChild1,
7230 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7231 OPC_CheckPredicate, 11,
7232 OPC_MoveParent,
7233 OPC_CheckPredicate, 10,
7234 OPC_SwitchType , 17, MVT::i64,
7235 OPC_MoveParent,
7236 OPC_CheckPredicate2,
7237 OPC_CheckPredicate1,
7238 OPC_CheckPatternPredicate, 11,
7239 OPC_CheckComplexPat0, /*#*/2,
7240 OPC_EmitMergeInputChains1_0,
7241 OPC_EmitConvertToTarget3,
7242 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7243 3, 1, 4, 5,
7244 17, MVT::i32,
7245 OPC_MoveParent,
7246 OPC_CheckPredicate2,
7247 OPC_CheckPredicate1,
7248 OPC_CheckPatternPredicate, 12,
7249 OPC_CheckComplexPat0, /*#*/2,
7250 OPC_EmitMergeInputChains1_0,
7251 OPC_EmitConvertToTarget3,
7252 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7253 3, 1, 4, 5,
7254 0,
7255 51, TARGET_VAL(ISD::OR),
7256 OPC_RecordChild0,
7257 OPC_RecordChild1,
7258 OPC_MoveChild1,
7259 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7260 OPC_CheckPredicate, 11,
7261 OPC_MoveParent,
7262 OPC_CheckPredicate, 10,
7263 OPC_SwitchType , 17, MVT::i64,
7264 OPC_MoveParent,
7265 OPC_CheckPredicate2,
7266 OPC_CheckPredicate1,
7267 OPC_CheckPatternPredicate, 11,
7268 OPC_CheckComplexPat0, /*#*/2,
7269 OPC_EmitMergeInputChains1_0,
7270 OPC_EmitConvertToTarget3,
7271 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7272 3, 1, 4, 5,
7273 17, MVT::i32,
7274 OPC_MoveParent,
7275 OPC_CheckPredicate2,
7276 OPC_CheckPredicate1,
7277 OPC_CheckPatternPredicate, 12,
7278 OPC_CheckComplexPat0, /*#*/2,
7279 OPC_EmitMergeInputChains1_0,
7280 OPC_EmitConvertToTarget3,
7281 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7282 3, 1, 4, 5,
7283 0,
7284 0,
7285 33,
7286 OPC_RecordChild2,
7287 OPC_CheckPredicate2,
7288 OPC_CheckPredicate1,
7289 OPC_Scope, 13,
7290 OPC_CheckPatternPredicate, 11,
7291 OPC_CheckComplexPat4, /*#*/2,
7292 OPC_EmitMergeInputChains1_0,
7293 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7294 3, 1, 3, 4,
7295 13,
7296 OPC_CheckPatternPredicate, 12,
7297 OPC_CheckComplexPat4, /*#*/2,
7298 OPC_EmitMergeInputChains1_0,
7299 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7300 3, 1, 3, 4,
7301 0,
7302 74,
7303 OPC_MoveChild2,
7304 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7305 OPC_RecordChild0,
7306 OPC_RecordChild1,
7307 OPC_SwitchType , 31, MVT::i64,
7308 OPC_MoveParent,
7309 OPC_CheckPredicate2,
7310 OPC_CheckPredicate1,
7311 OPC_CheckPatternPredicate, 11,
7312 OPC_Scope, 11,
7313 OPC_CheckComplexPat2, /*#*/2,
7314 OPC_EmitMergeInputChains1_0,
7315 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7316 3, 1, 4, 3,
7317 11,
7318 OPC_CheckComplexPat2, /*#*/3,
7319 OPC_EmitMergeInputChains1_0,
7320 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7321 3, 1, 4, 2,
7322 0,
7323 31, MVT::i32,
7324 OPC_MoveParent,
7325 OPC_CheckPredicate2,
7326 OPC_CheckPredicate1,
7327 OPC_CheckPatternPredicate, 12,
7328 OPC_Scope, 11,
7329 OPC_CheckComplexPat2, /*#*/2,
7330 OPC_EmitMergeInputChains1_0,
7331 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7332 3, 1, 4, 3,
7333 11,
7334 OPC_CheckComplexPat2, /*#*/3,
7335 OPC_EmitMergeInputChains1_0,
7336 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7337 3, 1, 4, 2,
7338 0,
7339 0,
7340 37,
7341 OPC_RecordChild2,
7342 OPC_CheckPredicate2,
7343 OPC_CheckPredicate1,
7344 OPC_Scope, 15,
7345 OPC_CheckPatternPredicate, 11,
7346 OPC_CheckComplexPat0, /*#*/2,
7347 OPC_EmitMergeInputChains1_0,
7348 OPC_EmitInteger64, 0,
7349 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7350 3, 1, 3, 4,
7351 15,
7352 OPC_CheckPatternPredicate, 12,
7353 OPC_CheckComplexPat0, /*#*/2,
7354 OPC_EmitMergeInputChains1_0,
7355 OPC_EmitInteger32, 0,
7356 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7357 3, 1, 3, 4,
7358 0,
7359 0,
7360 7|128,2,
7361 OPC_CheckChild1Type, MVT::f64,
7362 OPC_Scope, 111,
7363 OPC_MoveChild2,
7364 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::ADD),
7365 OPC_RecordChild0,
7366 OPC_RecordChild1,
7367 OPC_MoveChild1,
7368 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7369 OPC_CheckPredicate, 11,
7370 OPC_MoveParent,
7371 OPC_CheckPredicate, 10,
7372 OPC_SwitchType , 17, MVT::i64,
7373 OPC_MoveParent,
7374 OPC_CheckPredicate2,
7375 OPC_CheckPredicate1,
7376 OPC_CheckPatternPredicate, 13,
7377 OPC_CheckComplexPat0, /*#*/2,
7378 OPC_EmitMergeInputChains1_0,
7379 OPC_EmitConvertToTarget3,
7380 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7381 3, 1, 4, 5,
7382 17, MVT::i32,
7383 OPC_MoveParent,
7384 OPC_CheckPredicate2,
7385 OPC_CheckPredicate1,
7386 OPC_CheckPatternPredicate, 14,
7387 OPC_CheckComplexPat0, /*#*/2,
7388 OPC_EmitMergeInputChains1_0,
7389 OPC_EmitConvertToTarget3,
7390 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7391 3, 1, 4, 5,
7392 0,
7393 51, TARGET_VAL(ISD::OR),
7394 OPC_RecordChild0,
7395 OPC_RecordChild1,
7396 OPC_MoveChild1,
7397 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7398 OPC_CheckPredicate, 11,
7399 OPC_MoveParent,
7400 OPC_CheckPredicate, 10,
7401 OPC_SwitchType , 17, MVT::i64,
7402 OPC_MoveParent,
7403 OPC_CheckPredicate2,
7404 OPC_CheckPredicate1,
7405 OPC_CheckPatternPredicate, 13,
7406 OPC_CheckComplexPat0, /*#*/2,
7407 OPC_EmitMergeInputChains1_0,
7408 OPC_EmitConvertToTarget3,
7409 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7410 3, 1, 4, 5,
7411 17, MVT::i32,
7412 OPC_MoveParent,
7413 OPC_CheckPredicate2,
7414 OPC_CheckPredicate1,
7415 OPC_CheckPatternPredicate, 14,
7416 OPC_CheckComplexPat0, /*#*/2,
7417 OPC_EmitMergeInputChains1_0,
7418 OPC_EmitConvertToTarget3,
7419 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7420 3, 1, 4, 5,
7421 0,
7422 0,
7423 33,
7424 OPC_RecordChild2,
7425 OPC_CheckPredicate2,
7426 OPC_CheckPredicate1,
7427 OPC_Scope, 13,
7428 OPC_CheckPatternPredicate, 13,
7429 OPC_CheckComplexPat4, /*#*/2,
7430 OPC_EmitMergeInputChains1_0,
7431 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7432 3, 1, 3, 4,
7433 13,
7434 OPC_CheckPatternPredicate, 14,
7435 OPC_CheckComplexPat4, /*#*/2,
7436 OPC_EmitMergeInputChains1_0,
7437 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7438 3, 1, 3, 4,
7439 0,
7440 74,
7441 OPC_MoveChild2,
7442 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7443 OPC_RecordChild0,
7444 OPC_RecordChild1,
7445 OPC_SwitchType , 31, MVT::i64,
7446 OPC_MoveParent,
7447 OPC_CheckPredicate2,
7448 OPC_CheckPredicate1,
7449 OPC_CheckPatternPredicate, 13,
7450 OPC_Scope, 11,
7451 OPC_CheckComplexPat2, /*#*/2,
7452 OPC_EmitMergeInputChains1_0,
7453 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7454 3, 1, 4, 3,
7455 11,
7456 OPC_CheckComplexPat2, /*#*/3,
7457 OPC_EmitMergeInputChains1_0,
7458 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7459 3, 1, 4, 2,
7460 0,
7461 31, MVT::i32,
7462 OPC_MoveParent,
7463 OPC_CheckPredicate2,
7464 OPC_CheckPredicate1,
7465 OPC_CheckPatternPredicate, 14,
7466 OPC_Scope, 11,
7467 OPC_CheckComplexPat2, /*#*/2,
7468 OPC_EmitMergeInputChains1_0,
7469 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7470 3, 1, 4, 3,
7471 11,
7472 OPC_CheckComplexPat2, /*#*/3,
7473 OPC_EmitMergeInputChains1_0,
7474 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7475 3, 1, 4, 2,
7476 0,
7477 0,
7478 37,
7479 OPC_RecordChild2,
7480 OPC_CheckPredicate2,
7481 OPC_CheckPredicate1,
7482 OPC_Scope, 15,
7483 OPC_CheckPatternPredicate, 13,
7484 OPC_CheckComplexPat0, /*#*/2,
7485 OPC_EmitMergeInputChains1_0,
7486 OPC_EmitInteger64, 0,
7487 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7488 3, 1, 3, 4,
7489 15,
7490 OPC_CheckPatternPredicate, 14,
7491 OPC_CheckComplexPat0, /*#*/2,
7492 OPC_EmitMergeInputChains1_0,
7493 OPC_EmitInteger32, 0,
7494 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7495 3, 1, 3, 4,
7496 0,
7497 0,
7498 5|128,2,
7499 OPC_CheckChild1Type, MVT::v16i8,
7500 OPC_Scope, 16|128,1,
7501 OPC_MoveChild2,
7502 OPC_SwitchOpcode , 86, TARGET_VAL(ISD::ADD),
7503 OPC_RecordChild0,
7504 OPC_RecordChild1,
7505 OPC_Scope, 47,
7506 OPC_MoveChild1,
7507 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7508 OPC_CheckPredicate, 11,
7509 OPC_MoveParent,
7510 OPC_CheckPredicate, 10,
7511 OPC_SwitchType , 16, MVT::i64,
7512 OPC_MoveParent,
7513 OPC_CheckPredicate2,
7514 OPC_CheckPredicate1,
7515 OPC_CheckPatternPredicate2,
7516 OPC_CheckComplexPat0, /*#*/2,
7517 OPC_EmitMergeInputChains1_0,
7518 OPC_EmitConvertToTarget3,
7519 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7520 3, 1, 4, 5,
7521 16, MVT::i32,
7522 OPC_MoveParent,
7523 OPC_CheckPredicate2,
7524 OPC_CheckPredicate1,
7525 OPC_CheckPatternPredicate5,
7526 OPC_CheckComplexPat0, /*#*/2,
7527 OPC_EmitMergeInputChains1_0,
7528 OPC_EmitConvertToTarget3,
7529 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7530 3, 1, 4, 5,
7531 0,
7532 16,
7533 OPC_CheckTypeI64,
7534 OPC_MoveParent,
7535 OPC_CheckPredicate2,
7536 OPC_CheckPredicate1,
7537 OPC_CheckPatternPredicate2,
7538 OPC_CheckComplexPat2, /*#*/2,
7539 OPC_EmitMergeInputChains1_0,
7540 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7541 3, 1, 4, 3,
7542 16,
7543 OPC_CheckTypeI32,
7544 OPC_MoveParent,
7545 OPC_CheckPredicate2,
7546 OPC_CheckPredicate1,
7547 OPC_CheckPatternPredicate5,
7548 OPC_CheckComplexPat2, /*#*/2,
7549 OPC_EmitMergeInputChains1_0,
7550 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7551 3, 1, 4, 3,
7552 0,
7553 49, TARGET_VAL(ISD::OR),
7554 OPC_RecordChild0,
7555 OPC_RecordChild1,
7556 OPC_MoveChild1,
7557 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7558 OPC_CheckPredicate, 11,
7559 OPC_MoveParent,
7560 OPC_CheckPredicate, 10,
7561 OPC_SwitchType , 16, MVT::i64,
7562 OPC_MoveParent,
7563 OPC_CheckPredicate2,
7564 OPC_CheckPredicate1,
7565 OPC_CheckPatternPredicate2,
7566 OPC_CheckComplexPat0, /*#*/2,
7567 OPC_EmitMergeInputChains1_0,
7568 OPC_EmitConvertToTarget3,
7569 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7570 3, 1, 4, 5,
7571 16, MVT::i32,
7572 OPC_MoveParent,
7573 OPC_CheckPredicate2,
7574 OPC_CheckPredicate1,
7575 OPC_CheckPatternPredicate5,
7576 OPC_CheckComplexPat0, /*#*/2,
7577 OPC_EmitMergeInputChains1_0,
7578 OPC_EmitConvertToTarget3,
7579 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7580 3, 1, 4, 5,
7581 0,
7582 0,
7583 31,
7584 OPC_RecordChild2,
7585 OPC_CheckPredicate2,
7586 OPC_CheckPredicate1,
7587 OPC_Scope, 12,
7588 OPC_CheckPatternPredicate2,
7589 OPC_CheckComplexPat4, /*#*/2,
7590 OPC_EmitMergeInputChains1_0,
7591 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7592 3, 1, 3, 4,
7593 12,
7594 OPC_CheckPatternPredicate5,
7595 OPC_CheckComplexPat4, /*#*/2,
7596 OPC_EmitMergeInputChains1_0,
7597 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7598 3, 1, 3, 4,
7599 0,
7600 42,
7601 OPC_MoveChild2,
7602 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7603 OPC_RecordChild0,
7604 OPC_RecordChild1,
7605 OPC_SwitchType , 15, MVT::i64,
7606 OPC_MoveParent,
7607 OPC_CheckPredicate2,
7608 OPC_CheckPredicate1,
7609 OPC_CheckPatternPredicate2,
7610 OPC_CheckComplexPat2, /*#*/3,
7611 OPC_EmitMergeInputChains1_0,
7612 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7613 3, 1, 4, 2,
7614 15, MVT::i32,
7615 OPC_MoveParent,
7616 OPC_CheckPredicate2,
7617 OPC_CheckPredicate1,
7618 OPC_CheckPatternPredicate5,
7619 OPC_CheckComplexPat2, /*#*/3,
7620 OPC_EmitMergeInputChains1_0,
7621 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7622 3, 1, 4, 2,
7623 0,
7624 35,
7625 OPC_RecordChild2,
7626 OPC_CheckPredicate2,
7627 OPC_CheckPredicate1,
7628 OPC_Scope, 14,
7629 OPC_CheckPatternPredicate2,
7630 OPC_CheckComplexPat0, /*#*/2,
7631 OPC_EmitMergeInputChains1_0,
7632 OPC_EmitInteger64, 0,
7633 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7634 3, 1, 3, 4,
7635 14,
7636 OPC_CheckPatternPredicate5,
7637 OPC_CheckComplexPat0, /*#*/2,
7638 OPC_EmitMergeInputChains1_0,
7639 OPC_EmitInteger32, 0,
7640 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7641 3, 1, 3, 4,
7642 0,
7643 0,
7644 125|128,1,
7645 OPC_CheckChild1Type, MVT::v8i16,
7646 OPC_Scope, 107,
7647 OPC_MoveChild2,
7648 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7649 OPC_RecordChild0,
7650 OPC_RecordChild1,
7651 OPC_MoveChild1,
7652 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7653 OPC_CheckPredicate, 11,
7654 OPC_MoveParent,
7655 OPC_CheckPredicate, 10,
7656 OPC_SwitchType , 16, MVT::i64,
7657 OPC_MoveParent,
7658 OPC_CheckPredicate2,
7659 OPC_CheckPredicate1,
7660 OPC_CheckPatternPredicate2,
7661 OPC_CheckComplexPat0, /*#*/2,
7662 OPC_EmitMergeInputChains1_0,
7663 OPC_EmitConvertToTarget3,
7664 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7665 3, 1, 4, 5,
7666 16, MVT::i32,
7667 OPC_MoveParent,
7668 OPC_CheckPredicate2,
7669 OPC_CheckPredicate1,
7670 OPC_CheckPatternPredicate5,
7671 OPC_CheckComplexPat0, /*#*/2,
7672 OPC_EmitMergeInputChains1_0,
7673 OPC_EmitConvertToTarget3,
7674 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7675 3, 1, 4, 5,
7676 0,
7677 49, TARGET_VAL(ISD::OR),
7678 OPC_RecordChild0,
7679 OPC_RecordChild1,
7680 OPC_MoveChild1,
7681 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7682 OPC_CheckPredicate, 11,
7683 OPC_MoveParent,
7684 OPC_CheckPredicate, 10,
7685 OPC_SwitchType , 16, MVT::i64,
7686 OPC_MoveParent,
7687 OPC_CheckPredicate2,
7688 OPC_CheckPredicate1,
7689 OPC_CheckPatternPredicate2,
7690 OPC_CheckComplexPat0, /*#*/2,
7691 OPC_EmitMergeInputChains1_0,
7692 OPC_EmitConvertToTarget3,
7693 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7694 3, 1, 4, 5,
7695 16, MVT::i32,
7696 OPC_MoveParent,
7697 OPC_CheckPredicate2,
7698 OPC_CheckPredicate1,
7699 OPC_CheckPatternPredicate5,
7700 OPC_CheckComplexPat0, /*#*/2,
7701 OPC_EmitMergeInputChains1_0,
7702 OPC_EmitConvertToTarget3,
7703 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7704 3, 1, 4, 5,
7705 0,
7706 0,
7707 31,
7708 OPC_RecordChild2,
7709 OPC_CheckPredicate2,
7710 OPC_CheckPredicate1,
7711 OPC_Scope, 12,
7712 OPC_CheckPatternPredicate2,
7713 OPC_CheckComplexPat4, /*#*/2,
7714 OPC_EmitMergeInputChains1_0,
7715 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7716 3, 1, 3, 4,
7717 12,
7718 OPC_CheckPatternPredicate5,
7719 OPC_CheckComplexPat4, /*#*/2,
7720 OPC_EmitMergeInputChains1_0,
7721 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7722 3, 1, 3, 4,
7723 0,
7724 72,
7725 OPC_MoveChild2,
7726 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7727 OPC_RecordChild0,
7728 OPC_RecordChild1,
7729 OPC_SwitchType , 30, MVT::i64,
7730 OPC_MoveParent,
7731 OPC_CheckPredicate2,
7732 OPC_CheckPredicate1,
7733 OPC_CheckPatternPredicate2,
7734 OPC_Scope, 11,
7735 OPC_CheckComplexPat2, /*#*/2,
7736 OPC_EmitMergeInputChains1_0,
7737 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7738 3, 1, 4, 3,
7739 11,
7740 OPC_CheckComplexPat2, /*#*/3,
7741 OPC_EmitMergeInputChains1_0,
7742 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7743 3, 1, 4, 2,
7744 0,
7745 30, MVT::i32,
7746 OPC_MoveParent,
7747 OPC_CheckPredicate2,
7748 OPC_CheckPredicate1,
7749 OPC_CheckPatternPredicate5,
7750 OPC_Scope, 11,
7751 OPC_CheckComplexPat2, /*#*/2,
7752 OPC_EmitMergeInputChains1_0,
7753 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7754 3, 1, 4, 3,
7755 11,
7756 OPC_CheckComplexPat2, /*#*/3,
7757 OPC_EmitMergeInputChains1_0,
7758 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7759 3, 1, 4, 2,
7760 0,
7761 0,
7762 35,
7763 OPC_RecordChild2,
7764 OPC_CheckPredicate2,
7765 OPC_CheckPredicate1,
7766 OPC_Scope, 14,
7767 OPC_CheckPatternPredicate2,
7768 OPC_CheckComplexPat0, /*#*/2,
7769 OPC_EmitMergeInputChains1_0,
7770 OPC_EmitInteger64, 0,
7771 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7772 3, 1, 3, 4,
7773 14,
7774 OPC_CheckPatternPredicate5,
7775 OPC_CheckComplexPat0, /*#*/2,
7776 OPC_EmitMergeInputChains1_0,
7777 OPC_EmitInteger32, 0,
7778 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7779 3, 1, 3, 4,
7780 0,
7781 0,
7782 125|128,1,
7783 OPC_CheckChild1Type, MVT::v4i32,
7784 OPC_Scope, 107,
7785 OPC_MoveChild2,
7786 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7787 OPC_RecordChild0,
7788 OPC_RecordChild1,
7789 OPC_MoveChild1,
7790 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7791 OPC_CheckPredicate, 11,
7792 OPC_MoveParent,
7793 OPC_CheckPredicate, 10,
7794 OPC_SwitchType , 16, MVT::i64,
7795 OPC_MoveParent,
7796 OPC_CheckPredicate2,
7797 OPC_CheckPredicate1,
7798 OPC_CheckPatternPredicate2,
7799 OPC_CheckComplexPat0, /*#*/2,
7800 OPC_EmitMergeInputChains1_0,
7801 OPC_EmitConvertToTarget3,
7802 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7803 3, 1, 4, 5,
7804 16, MVT::i32,
7805 OPC_MoveParent,
7806 OPC_CheckPredicate2,
7807 OPC_CheckPredicate1,
7808 OPC_CheckPatternPredicate5,
7809 OPC_CheckComplexPat0, /*#*/2,
7810 OPC_EmitMergeInputChains1_0,
7811 OPC_EmitConvertToTarget3,
7812 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7813 3, 1, 4, 5,
7814 0,
7815 49, TARGET_VAL(ISD::OR),
7816 OPC_RecordChild0,
7817 OPC_RecordChild1,
7818 OPC_MoveChild1,
7819 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7820 OPC_CheckPredicate, 11,
7821 OPC_MoveParent,
7822 OPC_CheckPredicate, 10,
7823 OPC_SwitchType , 16, MVT::i64,
7824 OPC_MoveParent,
7825 OPC_CheckPredicate2,
7826 OPC_CheckPredicate1,
7827 OPC_CheckPatternPredicate2,
7828 OPC_CheckComplexPat0, /*#*/2,
7829 OPC_EmitMergeInputChains1_0,
7830 OPC_EmitConvertToTarget3,
7831 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7832 3, 1, 4, 5,
7833 16, MVT::i32,
7834 OPC_MoveParent,
7835 OPC_CheckPredicate2,
7836 OPC_CheckPredicate1,
7837 OPC_CheckPatternPredicate5,
7838 OPC_CheckComplexPat0, /*#*/2,
7839 OPC_EmitMergeInputChains1_0,
7840 OPC_EmitConvertToTarget3,
7841 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7842 3, 1, 4, 5,
7843 0,
7844 0,
7845 31,
7846 OPC_RecordChild2,
7847 OPC_CheckPredicate2,
7848 OPC_CheckPredicate1,
7849 OPC_Scope, 12,
7850 OPC_CheckPatternPredicate2,
7851 OPC_CheckComplexPat4, /*#*/2,
7852 OPC_EmitMergeInputChains1_0,
7853 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7854 3, 1, 3, 4,
7855 12,
7856 OPC_CheckPatternPredicate5,
7857 OPC_CheckComplexPat4, /*#*/2,
7858 OPC_EmitMergeInputChains1_0,
7859 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7860 3, 1, 3, 4,
7861 0,
7862 72,
7863 OPC_MoveChild2,
7864 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7865 OPC_RecordChild0,
7866 OPC_RecordChild1,
7867 OPC_SwitchType , 30, MVT::i64,
7868 OPC_MoveParent,
7869 OPC_CheckPredicate2,
7870 OPC_CheckPredicate1,
7871 OPC_CheckPatternPredicate2,
7872 OPC_Scope, 11,
7873 OPC_CheckComplexPat2, /*#*/2,
7874 OPC_EmitMergeInputChains1_0,
7875 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7876 3, 1, 4, 3,
7877 11,
7878 OPC_CheckComplexPat2, /*#*/3,
7879 OPC_EmitMergeInputChains1_0,
7880 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7881 3, 1, 4, 2,
7882 0,
7883 30, MVT::i32,
7884 OPC_MoveParent,
7885 OPC_CheckPredicate2,
7886 OPC_CheckPredicate1,
7887 OPC_CheckPatternPredicate5,
7888 OPC_Scope, 11,
7889 OPC_CheckComplexPat2, /*#*/2,
7890 OPC_EmitMergeInputChains1_0,
7891 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7892 3, 1, 4, 3,
7893 11,
7894 OPC_CheckComplexPat2, /*#*/3,
7895 OPC_EmitMergeInputChains1_0,
7896 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7897 3, 1, 4, 2,
7898 0,
7899 0,
7900 35,
7901 OPC_RecordChild2,
7902 OPC_CheckPredicate2,
7903 OPC_CheckPredicate1,
7904 OPC_Scope, 14,
7905 OPC_CheckPatternPredicate2,
7906 OPC_CheckComplexPat0, /*#*/2,
7907 OPC_EmitMergeInputChains1_0,
7908 OPC_EmitInteger64, 0,
7909 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7910 3, 1, 3, 4,
7911 14,
7912 OPC_CheckPatternPredicate5,
7913 OPC_CheckComplexPat0, /*#*/2,
7914 OPC_EmitMergeInputChains1_0,
7915 OPC_EmitInteger32, 0,
7916 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7917 3, 1, 3, 4,
7918 0,
7919 0,
7920 125|128,1,
7921 OPC_CheckChild1Type, MVT::v2i64,
7922 OPC_Scope, 107,
7923 OPC_MoveChild2,
7924 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7925 OPC_RecordChild0,
7926 OPC_RecordChild1,
7927 OPC_MoveChild1,
7928 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7929 OPC_CheckPredicate, 11,
7930 OPC_MoveParent,
7931 OPC_CheckPredicate, 10,
7932 OPC_SwitchType , 16, MVT::i64,
7933 OPC_MoveParent,
7934 OPC_CheckPredicate2,
7935 OPC_CheckPredicate1,
7936 OPC_CheckPatternPredicate2,
7937 OPC_CheckComplexPat0, /*#*/2,
7938 OPC_EmitMergeInputChains1_0,
7939 OPC_EmitConvertToTarget3,
7940 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7941 3, 1, 4, 5,
7942 16, MVT::i32,
7943 OPC_MoveParent,
7944 OPC_CheckPredicate2,
7945 OPC_CheckPredicate1,
7946 OPC_CheckPatternPredicate5,
7947 OPC_CheckComplexPat0, /*#*/2,
7948 OPC_EmitMergeInputChains1_0,
7949 OPC_EmitConvertToTarget3,
7950 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7951 3, 1, 4, 5,
7952 0,
7953 49, TARGET_VAL(ISD::OR),
7954 OPC_RecordChild0,
7955 OPC_RecordChild1,
7956 OPC_MoveChild1,
7957 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7958 OPC_CheckPredicate, 11,
7959 OPC_MoveParent,
7960 OPC_CheckPredicate, 10,
7961 OPC_SwitchType , 16, MVT::i64,
7962 OPC_MoveParent,
7963 OPC_CheckPredicate2,
7964 OPC_CheckPredicate1,
7965 OPC_CheckPatternPredicate2,
7966 OPC_CheckComplexPat0, /*#*/2,
7967 OPC_EmitMergeInputChains1_0,
7968 OPC_EmitConvertToTarget3,
7969 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7970 3, 1, 4, 5,
7971 16, MVT::i32,
7972 OPC_MoveParent,
7973 OPC_CheckPredicate2,
7974 OPC_CheckPredicate1,
7975 OPC_CheckPatternPredicate5,
7976 OPC_CheckComplexPat0, /*#*/2,
7977 OPC_EmitMergeInputChains1_0,
7978 OPC_EmitConvertToTarget3,
7979 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7980 3, 1, 4, 5,
7981 0,
7982 0,
7983 31,
7984 OPC_RecordChild2,
7985 OPC_CheckPredicate2,
7986 OPC_CheckPredicate1,
7987 OPC_Scope, 12,
7988 OPC_CheckPatternPredicate2,
7989 OPC_CheckComplexPat4, /*#*/2,
7990 OPC_EmitMergeInputChains1_0,
7991 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7992 3, 1, 3, 4,
7993 12,
7994 OPC_CheckPatternPredicate5,
7995 OPC_CheckComplexPat4, /*#*/2,
7996 OPC_EmitMergeInputChains1_0,
7997 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7998 3, 1, 3, 4,
7999 0,
8000 72,
8001 OPC_MoveChild2,
8002 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8003 OPC_RecordChild0,
8004 OPC_RecordChild1,
8005 OPC_SwitchType , 30, MVT::i64,
8006 OPC_MoveParent,
8007 OPC_CheckPredicate2,
8008 OPC_CheckPredicate1,
8009 OPC_CheckPatternPredicate2,
8010 OPC_Scope, 11,
8011 OPC_CheckComplexPat2, /*#*/2,
8012 OPC_EmitMergeInputChains1_0,
8013 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8014 3, 1, 4, 3,
8015 11,
8016 OPC_CheckComplexPat2, /*#*/3,
8017 OPC_EmitMergeInputChains1_0,
8018 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8019 3, 1, 4, 2,
8020 0,
8021 30, MVT::i32,
8022 OPC_MoveParent,
8023 OPC_CheckPredicate2,
8024 OPC_CheckPredicate1,
8025 OPC_CheckPatternPredicate5,
8026 OPC_Scope, 11,
8027 OPC_CheckComplexPat2, /*#*/2,
8028 OPC_EmitMergeInputChains1_0,
8029 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8030 3, 1, 4, 3,
8031 11,
8032 OPC_CheckComplexPat2, /*#*/3,
8033 OPC_EmitMergeInputChains1_0,
8034 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8035 3, 1, 4, 2,
8036 0,
8037 0,
8038 35,
8039 OPC_RecordChild2,
8040 OPC_CheckPredicate2,
8041 OPC_CheckPredicate1,
8042 OPC_Scope, 14,
8043 OPC_CheckPatternPredicate2,
8044 OPC_CheckComplexPat0, /*#*/2,
8045 OPC_EmitMergeInputChains1_0,
8046 OPC_EmitInteger64, 0,
8047 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8048 3, 1, 3, 4,
8049 14,
8050 OPC_CheckPatternPredicate5,
8051 OPC_CheckComplexPat0, /*#*/2,
8052 OPC_EmitMergeInputChains1_0,
8053 OPC_EmitInteger32, 0,
8054 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8055 3, 1, 3, 4,
8056 0,
8057 0,
8058 125|128,1,
8059 OPC_CheckChild1Type, MVT::v4f32,
8060 OPC_Scope, 107,
8061 OPC_MoveChild2,
8062 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8063 OPC_RecordChild0,
8064 OPC_RecordChild1,
8065 OPC_MoveChild1,
8066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8067 OPC_CheckPredicate, 11,
8068 OPC_MoveParent,
8069 OPC_CheckPredicate, 10,
8070 OPC_SwitchType , 16, MVT::i64,
8071 OPC_MoveParent,
8072 OPC_CheckPredicate2,
8073 OPC_CheckPredicate1,
8074 OPC_CheckPatternPredicate2,
8075 OPC_CheckComplexPat0, /*#*/2,
8076 OPC_EmitMergeInputChains1_0,
8077 OPC_EmitConvertToTarget3,
8078 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8079 3, 1, 4, 5,
8080 16, MVT::i32,
8081 OPC_MoveParent,
8082 OPC_CheckPredicate2,
8083 OPC_CheckPredicate1,
8084 OPC_CheckPatternPredicate5,
8085 OPC_CheckComplexPat0, /*#*/2,
8086 OPC_EmitMergeInputChains1_0,
8087 OPC_EmitConvertToTarget3,
8088 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8089 3, 1, 4, 5,
8090 0,
8091 49, TARGET_VAL(ISD::OR),
8092 OPC_RecordChild0,
8093 OPC_RecordChild1,
8094 OPC_MoveChild1,
8095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8096 OPC_CheckPredicate, 11,
8097 OPC_MoveParent,
8098 OPC_CheckPredicate, 10,
8099 OPC_SwitchType , 16, MVT::i64,
8100 OPC_MoveParent,
8101 OPC_CheckPredicate2,
8102 OPC_CheckPredicate1,
8103 OPC_CheckPatternPredicate2,
8104 OPC_CheckComplexPat0, /*#*/2,
8105 OPC_EmitMergeInputChains1_0,
8106 OPC_EmitConvertToTarget3,
8107 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8108 3, 1, 4, 5,
8109 16, MVT::i32,
8110 OPC_MoveParent,
8111 OPC_CheckPredicate2,
8112 OPC_CheckPredicate1,
8113 OPC_CheckPatternPredicate5,
8114 OPC_CheckComplexPat0, /*#*/2,
8115 OPC_EmitMergeInputChains1_0,
8116 OPC_EmitConvertToTarget3,
8117 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8118 3, 1, 4, 5,
8119 0,
8120 0,
8121 31,
8122 OPC_RecordChild2,
8123 OPC_CheckPredicate2,
8124 OPC_CheckPredicate1,
8125 OPC_Scope, 12,
8126 OPC_CheckPatternPredicate2,
8127 OPC_CheckComplexPat4, /*#*/2,
8128 OPC_EmitMergeInputChains1_0,
8129 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8130 3, 1, 3, 4,
8131 12,
8132 OPC_CheckPatternPredicate5,
8133 OPC_CheckComplexPat4, /*#*/2,
8134 OPC_EmitMergeInputChains1_0,
8135 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8136 3, 1, 3, 4,
8137 0,
8138 72,
8139 OPC_MoveChild2,
8140 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8141 OPC_RecordChild0,
8142 OPC_RecordChild1,
8143 OPC_SwitchType , 30, MVT::i64,
8144 OPC_MoveParent,
8145 OPC_CheckPredicate2,
8146 OPC_CheckPredicate1,
8147 OPC_CheckPatternPredicate2,
8148 OPC_Scope, 11,
8149 OPC_CheckComplexPat2, /*#*/2,
8150 OPC_EmitMergeInputChains1_0,
8151 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8152 3, 1, 4, 3,
8153 11,
8154 OPC_CheckComplexPat2, /*#*/3,
8155 OPC_EmitMergeInputChains1_0,
8156 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8157 3, 1, 4, 2,
8158 0,
8159 30, MVT::i32,
8160 OPC_MoveParent,
8161 OPC_CheckPredicate2,
8162 OPC_CheckPredicate1,
8163 OPC_CheckPatternPredicate5,
8164 OPC_Scope, 11,
8165 OPC_CheckComplexPat2, /*#*/2,
8166 OPC_EmitMergeInputChains1_0,
8167 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8168 3, 1, 4, 3,
8169 11,
8170 OPC_CheckComplexPat2, /*#*/3,
8171 OPC_EmitMergeInputChains1_0,
8172 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8173 3, 1, 4, 2,
8174 0,
8175 0,
8176 35,
8177 OPC_RecordChild2,
8178 OPC_CheckPredicate2,
8179 OPC_CheckPredicate1,
8180 OPC_Scope, 14,
8181 OPC_CheckPatternPredicate2,
8182 OPC_CheckComplexPat0, /*#*/2,
8183 OPC_EmitMergeInputChains1_0,
8184 OPC_EmitInteger64, 0,
8185 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8186 3, 1, 3, 4,
8187 14,
8188 OPC_CheckPatternPredicate5,
8189 OPC_CheckComplexPat0, /*#*/2,
8190 OPC_EmitMergeInputChains1_0,
8191 OPC_EmitInteger32, 0,
8192 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8193 3, 1, 3, 4,
8194 0,
8195 0,
8196 125|128,1,
8197 OPC_CheckChild1Type, MVT::v2f64,
8198 OPC_Scope, 107,
8199 OPC_MoveChild2,
8200 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8201 OPC_RecordChild0,
8202 OPC_RecordChild1,
8203 OPC_MoveChild1,
8204 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8205 OPC_CheckPredicate, 11,
8206 OPC_MoveParent,
8207 OPC_CheckPredicate, 10,
8208 OPC_SwitchType , 16, MVT::i64,
8209 OPC_MoveParent,
8210 OPC_CheckPredicate2,
8211 OPC_CheckPredicate1,
8212 OPC_CheckPatternPredicate2,
8213 OPC_CheckComplexPat0, /*#*/2,
8214 OPC_EmitMergeInputChains1_0,
8215 OPC_EmitConvertToTarget3,
8216 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8217 3, 1, 4, 5,
8218 16, MVT::i32,
8219 OPC_MoveParent,
8220 OPC_CheckPredicate2,
8221 OPC_CheckPredicate1,
8222 OPC_CheckPatternPredicate5,
8223 OPC_CheckComplexPat0, /*#*/2,
8224 OPC_EmitMergeInputChains1_0,
8225 OPC_EmitConvertToTarget3,
8226 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8227 3, 1, 4, 5,
8228 0,
8229 49, TARGET_VAL(ISD::OR),
8230 OPC_RecordChild0,
8231 OPC_RecordChild1,
8232 OPC_MoveChild1,
8233 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8234 OPC_CheckPredicate, 11,
8235 OPC_MoveParent,
8236 OPC_CheckPredicate, 10,
8237 OPC_SwitchType , 16, MVT::i64,
8238 OPC_MoveParent,
8239 OPC_CheckPredicate2,
8240 OPC_CheckPredicate1,
8241 OPC_CheckPatternPredicate2,
8242 OPC_CheckComplexPat0, /*#*/2,
8243 OPC_EmitMergeInputChains1_0,
8244 OPC_EmitConvertToTarget3,
8245 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8246 3, 1, 4, 5,
8247 16, MVT::i32,
8248 OPC_MoveParent,
8249 OPC_CheckPredicate2,
8250 OPC_CheckPredicate1,
8251 OPC_CheckPatternPredicate5,
8252 OPC_CheckComplexPat0, /*#*/2,
8253 OPC_EmitMergeInputChains1_0,
8254 OPC_EmitConvertToTarget3,
8255 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8256 3, 1, 4, 5,
8257 0,
8258 0,
8259 31,
8260 OPC_RecordChild2,
8261 OPC_CheckPredicate2,
8262 OPC_CheckPredicate1,
8263 OPC_Scope, 12,
8264 OPC_CheckPatternPredicate2,
8265 OPC_CheckComplexPat4, /*#*/2,
8266 OPC_EmitMergeInputChains1_0,
8267 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8268 3, 1, 3, 4,
8269 12,
8270 OPC_CheckPatternPredicate5,
8271 OPC_CheckComplexPat4, /*#*/2,
8272 OPC_EmitMergeInputChains1_0,
8273 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8274 3, 1, 3, 4,
8275 0,
8276 72,
8277 OPC_MoveChild2,
8278 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8279 OPC_RecordChild0,
8280 OPC_RecordChild1,
8281 OPC_SwitchType , 30, MVT::i64,
8282 OPC_MoveParent,
8283 OPC_CheckPredicate2,
8284 OPC_CheckPredicate1,
8285 OPC_CheckPatternPredicate2,
8286 OPC_Scope, 11,
8287 OPC_CheckComplexPat2, /*#*/2,
8288 OPC_EmitMergeInputChains1_0,
8289 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8290 3, 1, 4, 3,
8291 11,
8292 OPC_CheckComplexPat2, /*#*/3,
8293 OPC_EmitMergeInputChains1_0,
8294 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8295 3, 1, 4, 2,
8296 0,
8297 30, MVT::i32,
8298 OPC_MoveParent,
8299 OPC_CheckPredicate2,
8300 OPC_CheckPredicate1,
8301 OPC_CheckPatternPredicate5,
8302 OPC_Scope, 11,
8303 OPC_CheckComplexPat2, /*#*/2,
8304 OPC_EmitMergeInputChains1_0,
8305 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8306 3, 1, 4, 3,
8307 11,
8308 OPC_CheckComplexPat2, /*#*/3,
8309 OPC_EmitMergeInputChains1_0,
8310 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8311 3, 1, 4, 2,
8312 0,
8313 0,
8314 35,
8315 OPC_RecordChild2,
8316 OPC_CheckPredicate2,
8317 OPC_CheckPredicate1,
8318 OPC_Scope, 14,
8319 OPC_CheckPatternPredicate2,
8320 OPC_CheckComplexPat0, /*#*/2,
8321 OPC_EmitMergeInputChains1_0,
8322 OPC_EmitInteger64, 0,
8323 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8324 3, 1, 3, 4,
8325 14,
8326 OPC_CheckPatternPredicate5,
8327 OPC_CheckComplexPat0, /*#*/2,
8328 OPC_EmitMergeInputChains1_0,
8329 OPC_EmitInteger32, 0,
8330 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8331 3, 1, 3, 4,
8332 0,
8333 0,
8334 5|128,2,
8335 OPC_CheckChild1Type, MVT::v32i8,
8336 OPC_Scope, 16|128,1,
8337 OPC_MoveChild2,
8338 OPC_SwitchOpcode , 86, TARGET_VAL(ISD::ADD),
8339 OPC_RecordChild0,
8340 OPC_RecordChild1,
8341 OPC_Scope, 47,
8342 OPC_MoveChild1,
8343 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8344 OPC_CheckPredicate, 11,
8345 OPC_MoveParent,
8346 OPC_CheckPredicate, 10,
8347 OPC_SwitchType , 16, MVT::i64,
8348 OPC_MoveParent,
8349 OPC_CheckPredicate2,
8350 OPC_CheckPredicate1,
8351 OPC_CheckPatternPredicate3,
8352 OPC_CheckComplexPat0, /*#*/2,
8353 OPC_EmitMergeInputChains1_0,
8354 OPC_EmitConvertToTarget3,
8355 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8356 3, 1, 4, 5,
8357 16, MVT::i32,
8358 OPC_MoveParent,
8359 OPC_CheckPredicate2,
8360 OPC_CheckPredicate1,
8361 OPC_CheckPatternPredicate4,
8362 OPC_CheckComplexPat0, /*#*/2,
8363 OPC_EmitMergeInputChains1_0,
8364 OPC_EmitConvertToTarget3,
8365 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8366 3, 1, 4, 5,
8367 0,
8368 16,
8369 OPC_CheckTypeI64,
8370 OPC_MoveParent,
8371 OPC_CheckPredicate2,
8372 OPC_CheckPredicate1,
8373 OPC_CheckPatternPredicate3,
8374 OPC_CheckComplexPat2, /*#*/2,
8375 OPC_EmitMergeInputChains1_0,
8376 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8377 3, 1, 4, 3,
8378 16,
8379 OPC_CheckTypeI32,
8380 OPC_MoveParent,
8381 OPC_CheckPredicate2,
8382 OPC_CheckPredicate1,
8383 OPC_CheckPatternPredicate4,
8384 OPC_CheckComplexPat2, /*#*/2,
8385 OPC_EmitMergeInputChains1_0,
8386 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8387 3, 1, 4, 3,
8388 0,
8389 49, TARGET_VAL(ISD::OR),
8390 OPC_RecordChild0,
8391 OPC_RecordChild1,
8392 OPC_MoveChild1,
8393 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8394 OPC_CheckPredicate, 11,
8395 OPC_MoveParent,
8396 OPC_CheckPredicate, 10,
8397 OPC_SwitchType , 16, MVT::i64,
8398 OPC_MoveParent,
8399 OPC_CheckPredicate2,
8400 OPC_CheckPredicate1,
8401 OPC_CheckPatternPredicate3,
8402 OPC_CheckComplexPat0, /*#*/2,
8403 OPC_EmitMergeInputChains1_0,
8404 OPC_EmitConvertToTarget3,
8405 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8406 3, 1, 4, 5,
8407 16, MVT::i32,
8408 OPC_MoveParent,
8409 OPC_CheckPredicate2,
8410 OPC_CheckPredicate1,
8411 OPC_CheckPatternPredicate4,
8412 OPC_CheckComplexPat0, /*#*/2,
8413 OPC_EmitMergeInputChains1_0,
8414 OPC_EmitConvertToTarget3,
8415 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8416 3, 1, 4, 5,
8417 0,
8418 0,
8419 31,
8420 OPC_RecordChild2,
8421 OPC_CheckPredicate2,
8422 OPC_CheckPredicate1,
8423 OPC_Scope, 12,
8424 OPC_CheckPatternPredicate3,
8425 OPC_CheckComplexPat4, /*#*/2,
8426 OPC_EmitMergeInputChains1_0,
8427 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8428 3, 1, 3, 4,
8429 12,
8430 OPC_CheckPatternPredicate4,
8431 OPC_CheckComplexPat4, /*#*/2,
8432 OPC_EmitMergeInputChains1_0,
8433 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8434 3, 1, 3, 4,
8435 0,
8436 42,
8437 OPC_MoveChild2,
8438 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8439 OPC_RecordChild0,
8440 OPC_RecordChild1,
8441 OPC_SwitchType , 15, MVT::i64,
8442 OPC_MoveParent,
8443 OPC_CheckPredicate2,
8444 OPC_CheckPredicate1,
8445 OPC_CheckPatternPredicate3,
8446 OPC_CheckComplexPat2, /*#*/3,
8447 OPC_EmitMergeInputChains1_0,
8448 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8449 3, 1, 4, 2,
8450 15, MVT::i32,
8451 OPC_MoveParent,
8452 OPC_CheckPredicate2,
8453 OPC_CheckPredicate1,
8454 OPC_CheckPatternPredicate4,
8455 OPC_CheckComplexPat2, /*#*/3,
8456 OPC_EmitMergeInputChains1_0,
8457 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8458 3, 1, 4, 2,
8459 0,
8460 35,
8461 OPC_RecordChild2,
8462 OPC_CheckPredicate2,
8463 OPC_CheckPredicate1,
8464 OPC_Scope, 14,
8465 OPC_CheckPatternPredicate3,
8466 OPC_CheckComplexPat0, /*#*/2,
8467 OPC_EmitMergeInputChains1_0,
8468 OPC_EmitInteger64, 0,
8469 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8470 3, 1, 3, 4,
8471 14,
8472 OPC_CheckPatternPredicate4,
8473 OPC_CheckComplexPat0, /*#*/2,
8474 OPC_EmitMergeInputChains1_0,
8475 OPC_EmitInteger32, 0,
8476 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8477 3, 1, 3, 4,
8478 0,
8479 0,
8480 125|128,1,
8481 OPC_CheckChild1Type, MVT::v16i16,
8482 OPC_Scope, 107,
8483 OPC_MoveChild2,
8484 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8485 OPC_RecordChild0,
8486 OPC_RecordChild1,
8487 OPC_MoveChild1,
8488 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8489 OPC_CheckPredicate, 11,
8490 OPC_MoveParent,
8491 OPC_CheckPredicate, 10,
8492 OPC_SwitchType , 16, MVT::i64,
8493 OPC_MoveParent,
8494 OPC_CheckPredicate2,
8495 OPC_CheckPredicate1,
8496 OPC_CheckPatternPredicate3,
8497 OPC_CheckComplexPat0, /*#*/2,
8498 OPC_EmitMergeInputChains1_0,
8499 OPC_EmitConvertToTarget3,
8500 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8501 3, 1, 4, 5,
8502 16, MVT::i32,
8503 OPC_MoveParent,
8504 OPC_CheckPredicate2,
8505 OPC_CheckPredicate1,
8506 OPC_CheckPatternPredicate4,
8507 OPC_CheckComplexPat0, /*#*/2,
8508 OPC_EmitMergeInputChains1_0,
8509 OPC_EmitConvertToTarget3,
8510 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8511 3, 1, 4, 5,
8512 0,
8513 49, TARGET_VAL(ISD::OR),
8514 OPC_RecordChild0,
8515 OPC_RecordChild1,
8516 OPC_MoveChild1,
8517 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8518 OPC_CheckPredicate, 11,
8519 OPC_MoveParent,
8520 OPC_CheckPredicate, 10,
8521 OPC_SwitchType , 16, MVT::i64,
8522 OPC_MoveParent,
8523 OPC_CheckPredicate2,
8524 OPC_CheckPredicate1,
8525 OPC_CheckPatternPredicate3,
8526 OPC_CheckComplexPat0, /*#*/2,
8527 OPC_EmitMergeInputChains1_0,
8528 OPC_EmitConvertToTarget3,
8529 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8530 3, 1, 4, 5,
8531 16, MVT::i32,
8532 OPC_MoveParent,
8533 OPC_CheckPredicate2,
8534 OPC_CheckPredicate1,
8535 OPC_CheckPatternPredicate4,
8536 OPC_CheckComplexPat0, /*#*/2,
8537 OPC_EmitMergeInputChains1_0,
8538 OPC_EmitConvertToTarget3,
8539 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8540 3, 1, 4, 5,
8541 0,
8542 0,
8543 31,
8544 OPC_RecordChild2,
8545 OPC_CheckPredicate2,
8546 OPC_CheckPredicate1,
8547 OPC_Scope, 12,
8548 OPC_CheckPatternPredicate3,
8549 OPC_CheckComplexPat4, /*#*/2,
8550 OPC_EmitMergeInputChains1_0,
8551 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8552 3, 1, 3, 4,
8553 12,
8554 OPC_CheckPatternPredicate4,
8555 OPC_CheckComplexPat4, /*#*/2,
8556 OPC_EmitMergeInputChains1_0,
8557 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8558 3, 1, 3, 4,
8559 0,
8560 72,
8561 OPC_MoveChild2,
8562 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8563 OPC_RecordChild0,
8564 OPC_RecordChild1,
8565 OPC_SwitchType , 30, MVT::i64,
8566 OPC_MoveParent,
8567 OPC_CheckPredicate2,
8568 OPC_CheckPredicate1,
8569 OPC_CheckPatternPredicate3,
8570 OPC_Scope, 11,
8571 OPC_CheckComplexPat2, /*#*/2,
8572 OPC_EmitMergeInputChains1_0,
8573 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8574 3, 1, 4, 3,
8575 11,
8576 OPC_CheckComplexPat2, /*#*/3,
8577 OPC_EmitMergeInputChains1_0,
8578 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8579 3, 1, 4, 2,
8580 0,
8581 30, MVT::i32,
8582 OPC_MoveParent,
8583 OPC_CheckPredicate2,
8584 OPC_CheckPredicate1,
8585 OPC_CheckPatternPredicate4,
8586 OPC_Scope, 11,
8587 OPC_CheckComplexPat2, /*#*/2,
8588 OPC_EmitMergeInputChains1_0,
8589 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8590 3, 1, 4, 3,
8591 11,
8592 OPC_CheckComplexPat2, /*#*/3,
8593 OPC_EmitMergeInputChains1_0,
8594 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8595 3, 1, 4, 2,
8596 0,
8597 0,
8598 35,
8599 OPC_RecordChild2,
8600 OPC_CheckPredicate2,
8601 OPC_CheckPredicate1,
8602 OPC_Scope, 14,
8603 OPC_CheckPatternPredicate3,
8604 OPC_CheckComplexPat0, /*#*/2,
8605 OPC_EmitMergeInputChains1_0,
8606 OPC_EmitInteger64, 0,
8607 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8608 3, 1, 3, 4,
8609 14,
8610 OPC_CheckPatternPredicate4,
8611 OPC_CheckComplexPat0, /*#*/2,
8612 OPC_EmitMergeInputChains1_0,
8613 OPC_EmitInteger32, 0,
8614 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8615 3, 1, 3, 4,
8616 0,
8617 0,
8618 125|128,1,
8619 OPC_CheckChild1Type, MVT::v8i32,
8620 OPC_Scope, 107,
8621 OPC_MoveChild2,
8622 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8623 OPC_RecordChild0,
8624 OPC_RecordChild1,
8625 OPC_MoveChild1,
8626 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8627 OPC_CheckPredicate, 11,
8628 OPC_MoveParent,
8629 OPC_CheckPredicate, 10,
8630 OPC_SwitchType , 16, MVT::i64,
8631 OPC_MoveParent,
8632 OPC_CheckPredicate2,
8633 OPC_CheckPredicate1,
8634 OPC_CheckPatternPredicate3,
8635 OPC_CheckComplexPat0, /*#*/2,
8636 OPC_EmitMergeInputChains1_0,
8637 OPC_EmitConvertToTarget3,
8638 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8639 3, 1, 4, 5,
8640 16, MVT::i32,
8641 OPC_MoveParent,
8642 OPC_CheckPredicate2,
8643 OPC_CheckPredicate1,
8644 OPC_CheckPatternPredicate4,
8645 OPC_CheckComplexPat0, /*#*/2,
8646 OPC_EmitMergeInputChains1_0,
8647 OPC_EmitConvertToTarget3,
8648 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8649 3, 1, 4, 5,
8650 0,
8651 49, TARGET_VAL(ISD::OR),
8652 OPC_RecordChild0,
8653 OPC_RecordChild1,
8654 OPC_MoveChild1,
8655 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8656 OPC_CheckPredicate, 11,
8657 OPC_MoveParent,
8658 OPC_CheckPredicate, 10,
8659 OPC_SwitchType , 16, MVT::i64,
8660 OPC_MoveParent,
8661 OPC_CheckPredicate2,
8662 OPC_CheckPredicate1,
8663 OPC_CheckPatternPredicate3,
8664 OPC_CheckComplexPat0, /*#*/2,
8665 OPC_EmitMergeInputChains1_0,
8666 OPC_EmitConvertToTarget3,
8667 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8668 3, 1, 4, 5,
8669 16, MVT::i32,
8670 OPC_MoveParent,
8671 OPC_CheckPredicate2,
8672 OPC_CheckPredicate1,
8673 OPC_CheckPatternPredicate4,
8674 OPC_CheckComplexPat0, /*#*/2,
8675 OPC_EmitMergeInputChains1_0,
8676 OPC_EmitConvertToTarget3,
8677 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8678 3, 1, 4, 5,
8679 0,
8680 0,
8681 31,
8682 OPC_RecordChild2,
8683 OPC_CheckPredicate2,
8684 OPC_CheckPredicate1,
8685 OPC_Scope, 12,
8686 OPC_CheckPatternPredicate3,
8687 OPC_CheckComplexPat4, /*#*/2,
8688 OPC_EmitMergeInputChains1_0,
8689 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8690 3, 1, 3, 4,
8691 12,
8692 OPC_CheckPatternPredicate4,
8693 OPC_CheckComplexPat4, /*#*/2,
8694 OPC_EmitMergeInputChains1_0,
8695 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8696 3, 1, 3, 4,
8697 0,
8698 72,
8699 OPC_MoveChild2,
8700 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8701 OPC_RecordChild0,
8702 OPC_RecordChild1,
8703 OPC_SwitchType , 30, MVT::i64,
8704 OPC_MoveParent,
8705 OPC_CheckPredicate2,
8706 OPC_CheckPredicate1,
8707 OPC_CheckPatternPredicate3,
8708 OPC_Scope, 11,
8709 OPC_CheckComplexPat2, /*#*/2,
8710 OPC_EmitMergeInputChains1_0,
8711 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8712 3, 1, 4, 3,
8713 11,
8714 OPC_CheckComplexPat2, /*#*/3,
8715 OPC_EmitMergeInputChains1_0,
8716 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8717 3, 1, 4, 2,
8718 0,
8719 30, MVT::i32,
8720 OPC_MoveParent,
8721 OPC_CheckPredicate2,
8722 OPC_CheckPredicate1,
8723 OPC_CheckPatternPredicate4,
8724 OPC_Scope, 11,
8725 OPC_CheckComplexPat2, /*#*/2,
8726 OPC_EmitMergeInputChains1_0,
8727 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8728 3, 1, 4, 3,
8729 11,
8730 OPC_CheckComplexPat2, /*#*/3,
8731 OPC_EmitMergeInputChains1_0,
8732 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8733 3, 1, 4, 2,
8734 0,
8735 0,
8736 35,
8737 OPC_RecordChild2,
8738 OPC_CheckPredicate2,
8739 OPC_CheckPredicate1,
8740 OPC_Scope, 14,
8741 OPC_CheckPatternPredicate3,
8742 OPC_CheckComplexPat0, /*#*/2,
8743 OPC_EmitMergeInputChains1_0,
8744 OPC_EmitInteger64, 0,
8745 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8746 3, 1, 3, 4,
8747 14,
8748 OPC_CheckPatternPredicate4,
8749 OPC_CheckComplexPat0, /*#*/2,
8750 OPC_EmitMergeInputChains1_0,
8751 OPC_EmitInteger32, 0,
8752 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8753 3, 1, 3, 4,
8754 0,
8755 0,
8756 125|128,1,
8757 OPC_CheckChild1Type, MVT::v4i64,
8758 OPC_Scope, 107,
8759 OPC_MoveChild2,
8760 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8761 OPC_RecordChild0,
8762 OPC_RecordChild1,
8763 OPC_MoveChild1,
8764 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8765 OPC_CheckPredicate, 11,
8766 OPC_MoveParent,
8767 OPC_CheckPredicate, 10,
8768 OPC_SwitchType , 16, MVT::i64,
8769 OPC_MoveParent,
8770 OPC_CheckPredicate2,
8771 OPC_CheckPredicate1,
8772 OPC_CheckPatternPredicate3,
8773 OPC_CheckComplexPat0, /*#*/2,
8774 OPC_EmitMergeInputChains1_0,
8775 OPC_EmitConvertToTarget3,
8776 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8777 3, 1, 4, 5,
8778 16, MVT::i32,
8779 OPC_MoveParent,
8780 OPC_CheckPredicate2,
8781 OPC_CheckPredicate1,
8782 OPC_CheckPatternPredicate4,
8783 OPC_CheckComplexPat0, /*#*/2,
8784 OPC_EmitMergeInputChains1_0,
8785 OPC_EmitConvertToTarget3,
8786 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8787 3, 1, 4, 5,
8788 0,
8789 49, TARGET_VAL(ISD::OR),
8790 OPC_RecordChild0,
8791 OPC_RecordChild1,
8792 OPC_MoveChild1,
8793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8794 OPC_CheckPredicate, 11,
8795 OPC_MoveParent,
8796 OPC_CheckPredicate, 10,
8797 OPC_SwitchType , 16, MVT::i64,
8798 OPC_MoveParent,
8799 OPC_CheckPredicate2,
8800 OPC_CheckPredicate1,
8801 OPC_CheckPatternPredicate3,
8802 OPC_CheckComplexPat0, /*#*/2,
8803 OPC_EmitMergeInputChains1_0,
8804 OPC_EmitConvertToTarget3,
8805 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8806 3, 1, 4, 5,
8807 16, MVT::i32,
8808 OPC_MoveParent,
8809 OPC_CheckPredicate2,
8810 OPC_CheckPredicate1,
8811 OPC_CheckPatternPredicate4,
8812 OPC_CheckComplexPat0, /*#*/2,
8813 OPC_EmitMergeInputChains1_0,
8814 OPC_EmitConvertToTarget3,
8815 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8816 3, 1, 4, 5,
8817 0,
8818 0,
8819 31,
8820 OPC_RecordChild2,
8821 OPC_CheckPredicate2,
8822 OPC_CheckPredicate1,
8823 OPC_Scope, 12,
8824 OPC_CheckPatternPredicate3,
8825 OPC_CheckComplexPat4, /*#*/2,
8826 OPC_EmitMergeInputChains1_0,
8827 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8828 3, 1, 3, 4,
8829 12,
8830 OPC_CheckPatternPredicate4,
8831 OPC_CheckComplexPat4, /*#*/2,
8832 OPC_EmitMergeInputChains1_0,
8833 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8834 3, 1, 3, 4,
8835 0,
8836 72,
8837 OPC_MoveChild2,
8838 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8839 OPC_RecordChild0,
8840 OPC_RecordChild1,
8841 OPC_SwitchType , 30, MVT::i64,
8842 OPC_MoveParent,
8843 OPC_CheckPredicate2,
8844 OPC_CheckPredicate1,
8845 OPC_CheckPatternPredicate3,
8846 OPC_Scope, 11,
8847 OPC_CheckComplexPat2, /*#*/2,
8848 OPC_EmitMergeInputChains1_0,
8849 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8850 3, 1, 4, 3,
8851 11,
8852 OPC_CheckComplexPat2, /*#*/3,
8853 OPC_EmitMergeInputChains1_0,
8854 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8855 3, 1, 4, 2,
8856 0,
8857 30, MVT::i32,
8858 OPC_MoveParent,
8859 OPC_CheckPredicate2,
8860 OPC_CheckPredicate1,
8861 OPC_CheckPatternPredicate4,
8862 OPC_Scope, 11,
8863 OPC_CheckComplexPat2, /*#*/2,
8864 OPC_EmitMergeInputChains1_0,
8865 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8866 3, 1, 4, 3,
8867 11,
8868 OPC_CheckComplexPat2, /*#*/3,
8869 OPC_EmitMergeInputChains1_0,
8870 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8871 3, 1, 4, 2,
8872 0,
8873 0,
8874 35,
8875 OPC_RecordChild2,
8876 OPC_CheckPredicate2,
8877 OPC_CheckPredicate1,
8878 OPC_Scope, 14,
8879 OPC_CheckPatternPredicate3,
8880 OPC_CheckComplexPat0, /*#*/2,
8881 OPC_EmitMergeInputChains1_0,
8882 OPC_EmitInteger64, 0,
8883 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8884 3, 1, 3, 4,
8885 14,
8886 OPC_CheckPatternPredicate4,
8887 OPC_CheckComplexPat0, /*#*/2,
8888 OPC_EmitMergeInputChains1_0,
8889 OPC_EmitInteger32, 0,
8890 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8891 3, 1, 3, 4,
8892 0,
8893 0,
8894 125|128,1,
8895 OPC_CheckChild1Type, MVT::v8f32,
8896 OPC_Scope, 107,
8897 OPC_MoveChild2,
8898 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8899 OPC_RecordChild0,
8900 OPC_RecordChild1,
8901 OPC_MoveChild1,
8902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8903 OPC_CheckPredicate, 11,
8904 OPC_MoveParent,
8905 OPC_CheckPredicate, 10,
8906 OPC_SwitchType , 16, MVT::i64,
8907 OPC_MoveParent,
8908 OPC_CheckPredicate2,
8909 OPC_CheckPredicate1,
8910 OPC_CheckPatternPredicate3,
8911 OPC_CheckComplexPat0, /*#*/2,
8912 OPC_EmitMergeInputChains1_0,
8913 OPC_EmitConvertToTarget3,
8914 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8915 3, 1, 4, 5,
8916 16, MVT::i32,
8917 OPC_MoveParent,
8918 OPC_CheckPredicate2,
8919 OPC_CheckPredicate1,
8920 OPC_CheckPatternPredicate4,
8921 OPC_CheckComplexPat0, /*#*/2,
8922 OPC_EmitMergeInputChains1_0,
8923 OPC_EmitConvertToTarget3,
8924 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8925 3, 1, 4, 5,
8926 0,
8927 49, TARGET_VAL(ISD::OR),
8928 OPC_RecordChild0,
8929 OPC_RecordChild1,
8930 OPC_MoveChild1,
8931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8932 OPC_CheckPredicate, 11,
8933 OPC_MoveParent,
8934 OPC_CheckPredicate, 10,
8935 OPC_SwitchType , 16, MVT::i64,
8936 OPC_MoveParent,
8937 OPC_CheckPredicate2,
8938 OPC_CheckPredicate1,
8939 OPC_CheckPatternPredicate3,
8940 OPC_CheckComplexPat0, /*#*/2,
8941 OPC_EmitMergeInputChains1_0,
8942 OPC_EmitConvertToTarget3,
8943 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8944 3, 1, 4, 5,
8945 16, MVT::i32,
8946 OPC_MoveParent,
8947 OPC_CheckPredicate2,
8948 OPC_CheckPredicate1,
8949 OPC_CheckPatternPredicate4,
8950 OPC_CheckComplexPat0, /*#*/2,
8951 OPC_EmitMergeInputChains1_0,
8952 OPC_EmitConvertToTarget3,
8953 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8954 3, 1, 4, 5,
8955 0,
8956 0,
8957 31,
8958 OPC_RecordChild2,
8959 OPC_CheckPredicate2,
8960 OPC_CheckPredicate1,
8961 OPC_Scope, 12,
8962 OPC_CheckPatternPredicate3,
8963 OPC_CheckComplexPat4, /*#*/2,
8964 OPC_EmitMergeInputChains1_0,
8965 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8966 3, 1, 3, 4,
8967 12,
8968 OPC_CheckPatternPredicate4,
8969 OPC_CheckComplexPat4, /*#*/2,
8970 OPC_EmitMergeInputChains1_0,
8971 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8972 3, 1, 3, 4,
8973 0,
8974 72,
8975 OPC_MoveChild2,
8976 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8977 OPC_RecordChild0,
8978 OPC_RecordChild1,
8979 OPC_SwitchType , 30, MVT::i64,
8980 OPC_MoveParent,
8981 OPC_CheckPredicate2,
8982 OPC_CheckPredicate1,
8983 OPC_CheckPatternPredicate3,
8984 OPC_Scope, 11,
8985 OPC_CheckComplexPat2, /*#*/2,
8986 OPC_EmitMergeInputChains1_0,
8987 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8988 3, 1, 4, 3,
8989 11,
8990 OPC_CheckComplexPat2, /*#*/3,
8991 OPC_EmitMergeInputChains1_0,
8992 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8993 3, 1, 4, 2,
8994 0,
8995 30, MVT::i32,
8996 OPC_MoveParent,
8997 OPC_CheckPredicate2,
8998 OPC_CheckPredicate1,
8999 OPC_CheckPatternPredicate4,
9000 OPC_Scope, 11,
9001 OPC_CheckComplexPat2, /*#*/2,
9002 OPC_EmitMergeInputChains1_0,
9003 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9004 3, 1, 4, 3,
9005 11,
9006 OPC_CheckComplexPat2, /*#*/3,
9007 OPC_EmitMergeInputChains1_0,
9008 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9009 3, 1, 4, 2,
9010 0,
9011 0,
9012 35,
9013 OPC_RecordChild2,
9014 OPC_CheckPredicate2,
9015 OPC_CheckPredicate1,
9016 OPC_Scope, 14,
9017 OPC_CheckPatternPredicate3,
9018 OPC_CheckComplexPat0, /*#*/2,
9019 OPC_EmitMergeInputChains1_0,
9020 OPC_EmitInteger64, 0,
9021 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9022 3, 1, 3, 4,
9023 14,
9024 OPC_CheckPatternPredicate4,
9025 OPC_CheckComplexPat0, /*#*/2,
9026 OPC_EmitMergeInputChains1_0,
9027 OPC_EmitInteger32, 0,
9028 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9029 3, 1, 3, 4,
9030 0,
9031 0,
9032 125|128,1,
9033 OPC_CheckChild1Type, MVT::v4f64,
9034 OPC_Scope, 107,
9035 OPC_MoveChild2,
9036 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
9037 OPC_RecordChild0,
9038 OPC_RecordChild1,
9039 OPC_MoveChild1,
9040 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9041 OPC_CheckPredicate, 11,
9042 OPC_MoveParent,
9043 OPC_CheckPredicate, 10,
9044 OPC_SwitchType , 16, MVT::i64,
9045 OPC_MoveParent,
9046 OPC_CheckPredicate2,
9047 OPC_CheckPredicate1,
9048 OPC_CheckPatternPredicate3,
9049 OPC_CheckComplexPat0, /*#*/2,
9050 OPC_EmitMergeInputChains1_0,
9051 OPC_EmitConvertToTarget3,
9052 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9053 3, 1, 4, 5,
9054 16, MVT::i32,
9055 OPC_MoveParent,
9056 OPC_CheckPredicate2,
9057 OPC_CheckPredicate1,
9058 OPC_CheckPatternPredicate4,
9059 OPC_CheckComplexPat0, /*#*/2,
9060 OPC_EmitMergeInputChains1_0,
9061 OPC_EmitConvertToTarget3,
9062 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9063 3, 1, 4, 5,
9064 0,
9065 49, TARGET_VAL(ISD::OR),
9066 OPC_RecordChild0,
9067 OPC_RecordChild1,
9068 OPC_MoveChild1,
9069 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9070 OPC_CheckPredicate, 11,
9071 OPC_MoveParent,
9072 OPC_CheckPredicate, 10,
9073 OPC_SwitchType , 16, MVT::i64,
9074 OPC_MoveParent,
9075 OPC_CheckPredicate2,
9076 OPC_CheckPredicate1,
9077 OPC_CheckPatternPredicate3,
9078 OPC_CheckComplexPat0, /*#*/2,
9079 OPC_EmitMergeInputChains1_0,
9080 OPC_EmitConvertToTarget3,
9081 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9082 3, 1, 4, 5,
9083 16, MVT::i32,
9084 OPC_MoveParent,
9085 OPC_CheckPredicate2,
9086 OPC_CheckPredicate1,
9087 OPC_CheckPatternPredicate4,
9088 OPC_CheckComplexPat0, /*#*/2,
9089 OPC_EmitMergeInputChains1_0,
9090 OPC_EmitConvertToTarget3,
9091 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9092 3, 1, 4, 5,
9093 0,
9094 0,
9095 31,
9096 OPC_RecordChild2,
9097 OPC_CheckPredicate2,
9098 OPC_CheckPredicate1,
9099 OPC_Scope, 12,
9100 OPC_CheckPatternPredicate3,
9101 OPC_CheckComplexPat4, /*#*/2,
9102 OPC_EmitMergeInputChains1_0,
9103 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9104 3, 1, 3, 4,
9105 12,
9106 OPC_CheckPatternPredicate4,
9107 OPC_CheckComplexPat4, /*#*/2,
9108 OPC_EmitMergeInputChains1_0,
9109 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9110 3, 1, 3, 4,
9111 0,
9112 72,
9113 OPC_MoveChild2,
9114 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
9115 OPC_RecordChild0,
9116 OPC_RecordChild1,
9117 OPC_SwitchType , 30, MVT::i64,
9118 OPC_MoveParent,
9119 OPC_CheckPredicate2,
9120 OPC_CheckPredicate1,
9121 OPC_CheckPatternPredicate3,
9122 OPC_Scope, 11,
9123 OPC_CheckComplexPat2, /*#*/2,
9124 OPC_EmitMergeInputChains1_0,
9125 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9126 3, 1, 4, 3,
9127 11,
9128 OPC_CheckComplexPat2, /*#*/3,
9129 OPC_EmitMergeInputChains1_0,
9130 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9131 3, 1, 4, 2,
9132 0,
9133 30, MVT::i32,
9134 OPC_MoveParent,
9135 OPC_CheckPredicate2,
9136 OPC_CheckPredicate1,
9137 OPC_CheckPatternPredicate4,
9138 OPC_Scope, 11,
9139 OPC_CheckComplexPat2, /*#*/2,
9140 OPC_EmitMergeInputChains1_0,
9141 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9142 3, 1, 4, 3,
9143 11,
9144 OPC_CheckComplexPat2, /*#*/3,
9145 OPC_EmitMergeInputChains1_0,
9146 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9147 3, 1, 4, 2,
9148 0,
9149 0,
9150 35,
9151 OPC_RecordChild2,
9152 OPC_CheckPredicate2,
9153 OPC_CheckPredicate1,
9154 OPC_Scope, 14,
9155 OPC_CheckPatternPredicate3,
9156 OPC_CheckComplexPat0, /*#*/2,
9157 OPC_EmitMergeInputChains1_0,
9158 OPC_EmitInteger64, 0,
9159 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9160 3, 1, 3, 4,
9161 14,
9162 OPC_CheckPatternPredicate4,
9163 OPC_CheckComplexPat0, /*#*/2,
9164 OPC_EmitMergeInputChains1_0,
9165 OPC_EmitInteger32, 0,
9166 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9167 3, 1, 3, 4,
9168 0,
9169 0,
9170 0,
9171 106|128,4, TARGET_VAL(ISD::ATOMIC_LOAD),
9172 OPC_RecordMemRef,
9173 OPC_RecordNode,
9174 OPC_Scope, 65|128,2,
9175 OPC_MoveChild1,
9176 OPC_SwitchOpcode , 27|128,1, TARGET_VAL(ISD::ADD),
9177 OPC_RecordChild0,
9178 OPC_RecordChild1,
9179 OPC_MoveChild1,
9180 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9181 OPC_CheckPredicate, 11,
9182 OPC_MoveParent,
9183 OPC_CheckPredicate, 10,
9184 OPC_SwitchType , 67, MVT::i64,
9185 OPC_MoveParent,
9186 OPC_CheckTypeI64,
9187 OPC_Scope, 15,
9188 OPC_CheckPredicate, 13,
9189 OPC_CheckPatternPredicate7,
9190 OPC_CheckComplexPat0, /*#*/1,
9191 OPC_EmitMergeInputChains1_0,
9192 OPC_EmitConvertToTarget2,
9193 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9194 MVT::i64, 2, 3, 4,
9195 15,
9196 OPC_CheckPredicate, 14,
9197 OPC_CheckPatternPredicate7,
9198 OPC_CheckComplexPat0, /*#*/1,
9199 OPC_EmitMergeInputChains1_0,
9200 OPC_EmitConvertToTarget2,
9201 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9202 MVT::i64, 2, 3, 4,
9203 14,
9204 OPC_CheckPredicate5,
9205 OPC_CheckPatternPredicate7,
9206 OPC_CheckComplexPat0, /*#*/1,
9207 OPC_EmitMergeInputChains1_0,
9208 OPC_EmitConvertToTarget2,
9209 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9210 MVT::i64, 2, 3, 4,
9211 15,
9212 OPC_CheckPredicate, 15,
9213 OPC_CheckPatternPredicate6,
9214 OPC_CheckComplexPat0, /*#*/1,
9215 OPC_EmitMergeInputChains1_0,
9216 OPC_EmitConvertToTarget2,
9217 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9218 MVT::i64, 2, 3, 4,
9219 0,
9220 71, MVT::i32,
9221 OPC_MoveParent,
9222 OPC_CheckTypeI32,
9223 OPC_Scope, 16,
9224 OPC_CheckPredicate, 13,
9225 OPC_CheckPatternPredicate, 8,
9226 OPC_CheckComplexPat0, /*#*/1,
9227 OPC_EmitMergeInputChains1_0,
9228 OPC_EmitConvertToTarget2,
9229 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9230 MVT::i32, 2, 3, 4,
9231 16,
9232 OPC_CheckPredicate, 14,
9233 OPC_CheckPatternPredicate, 8,
9234 OPC_CheckComplexPat0, /*#*/1,
9235 OPC_EmitMergeInputChains1_0,
9236 OPC_EmitConvertToTarget2,
9237 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9238 MVT::i32, 2, 3, 4,
9239 15,
9240 OPC_CheckPredicate5,
9241 OPC_CheckPatternPredicate, 8,
9242 OPC_CheckComplexPat0, /*#*/1,
9243 OPC_EmitMergeInputChains1_0,
9244 OPC_EmitConvertToTarget2,
9245 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9246 MVT::i32, 2, 3, 4,
9247 16,
9248 OPC_CheckPredicate, 15,
9249 OPC_CheckPatternPredicate, 10,
9250 OPC_CheckComplexPat0, /*#*/1,
9251 OPC_EmitMergeInputChains1_0,
9252 OPC_EmitConvertToTarget2,
9253 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9254 MVT::i32, 2, 3, 4,
9255 0,
9256 0,
9257 27|128,1, TARGET_VAL(ISD::OR),
9258 OPC_RecordChild0,
9259 OPC_RecordChild1,
9260 OPC_MoveChild1,
9261 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9262 OPC_CheckPredicate, 11,
9263 OPC_MoveParent,
9264 OPC_CheckPredicate, 10,
9265 OPC_SwitchType , 67, MVT::i64,
9266 OPC_MoveParent,
9267 OPC_CheckTypeI64,
9268 OPC_Scope, 15,
9269 OPC_CheckPredicate, 13,
9270 OPC_CheckPatternPredicate7,
9271 OPC_CheckComplexPat0, /*#*/1,
9272 OPC_EmitMergeInputChains1_0,
9273 OPC_EmitConvertToTarget2,
9274 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9275 MVT::i64, 2, 3, 4,
9276 15,
9277 OPC_CheckPredicate, 14,
9278 OPC_CheckPatternPredicate7,
9279 OPC_CheckComplexPat0, /*#*/1,
9280 OPC_EmitMergeInputChains1_0,
9281 OPC_EmitConvertToTarget2,
9282 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9283 MVT::i64, 2, 3, 4,
9284 14,
9285 OPC_CheckPredicate5,
9286 OPC_CheckPatternPredicate7,
9287 OPC_CheckComplexPat0, /*#*/1,
9288 OPC_EmitMergeInputChains1_0,
9289 OPC_EmitConvertToTarget2,
9290 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9291 MVT::i64, 2, 3, 4,
9292 15,
9293 OPC_CheckPredicate, 15,
9294 OPC_CheckPatternPredicate6,
9295 OPC_CheckComplexPat0, /*#*/1,
9296 OPC_EmitMergeInputChains1_0,
9297 OPC_EmitConvertToTarget2,
9298 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9299 MVT::i64, 2, 3, 4,
9300 0,
9301 71, MVT::i32,
9302 OPC_MoveParent,
9303 OPC_CheckTypeI32,
9304 OPC_Scope, 16,
9305 OPC_CheckPredicate, 13,
9306 OPC_CheckPatternPredicate, 8,
9307 OPC_CheckComplexPat0, /*#*/1,
9308 OPC_EmitMergeInputChains1_0,
9309 OPC_EmitConvertToTarget2,
9310 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9311 MVT::i32, 2, 3, 4,
9312 16,
9313 OPC_CheckPredicate, 14,
9314 OPC_CheckPatternPredicate, 8,
9315 OPC_CheckComplexPat0, /*#*/1,
9316 OPC_EmitMergeInputChains1_0,
9317 OPC_EmitConvertToTarget2,
9318 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9319 MVT::i32, 2, 3, 4,
9320 15,
9321 OPC_CheckPredicate5,
9322 OPC_CheckPatternPredicate, 8,
9323 OPC_CheckComplexPat0, /*#*/1,
9324 OPC_EmitMergeInputChains1_0,
9325 OPC_EmitConvertToTarget2,
9326 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9327 MVT::i32, 2, 3, 4,
9328 16,
9329 OPC_CheckPredicate, 15,
9330 OPC_CheckPatternPredicate, 10,
9331 OPC_CheckComplexPat0, /*#*/1,
9332 OPC_EmitMergeInputChains1_0,
9333 OPC_EmitConvertToTarget2,
9334 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9335 MVT::i32, 2, 3, 4,
9336 0,
9337 0,
9338 0,
9339 33|128,2,
9340 OPC_RecordChild1,
9341 OPC_Scope, 33,
9342 OPC_CheckPredicate, 13,
9343 OPC_SwitchType , 12, MVT::i64,
9344 OPC_CheckPatternPredicate7,
9345 OPC_CheckComplexPat4, /*#*/1,
9346 OPC_EmitMergeInputChains1_0,
9347 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9348 MVT::i64, 2, 2, 3,
9349 13, MVT::i32,
9350 OPC_CheckPatternPredicate, 8,
9351 OPC_CheckComplexPat4, /*#*/1,
9352 OPC_EmitMergeInputChains1_0,
9353 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9354 MVT::i32, 2, 2, 3,
9355 0,
9356 33,
9357 OPC_CheckPredicate, 14,
9358 OPC_SwitchType , 12, MVT::i64,
9359 OPC_CheckPatternPredicate7,
9360 OPC_CheckComplexPat4, /*#*/1,
9361 OPC_EmitMergeInputChains1_0,
9362 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9363 MVT::i64, 2, 2, 3,
9364 13, MVT::i32,
9365 OPC_CheckPatternPredicate, 8,
9366 OPC_CheckComplexPat4, /*#*/1,
9367 OPC_EmitMergeInputChains1_0,
9368 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9369 MVT::i32, 2, 2, 3,
9370 0,
9371 32,
9372 OPC_CheckPredicate5,
9373 OPC_SwitchType , 12, MVT::i64,
9374 OPC_CheckPatternPredicate7,
9375 OPC_CheckComplexPat4, /*#*/1,
9376 OPC_EmitMergeInputChains1_0,
9377 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9378 MVT::i64, 2, 2, 3,
9379 13, MVT::i32,
9380 OPC_CheckPatternPredicate, 8,
9381 OPC_CheckComplexPat4, /*#*/1,
9382 OPC_EmitMergeInputChains1_0,
9383 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9384 MVT::i32, 2, 2, 3,
9385 0,
9386 33,
9387 OPC_CheckPredicate, 15,
9388 OPC_SwitchType , 12, MVT::i64,
9389 OPC_CheckPatternPredicate6,
9390 OPC_CheckComplexPat4, /*#*/1,
9391 OPC_EmitMergeInputChains1_0,
9392 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9393 MVT::i64, 2, 2, 3,
9394 13, MVT::i32,
9395 OPC_CheckPatternPredicate, 10,
9396 OPC_CheckComplexPat4, /*#*/1,
9397 OPC_EmitMergeInputChains1_0,
9398 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9399 MVT::i32, 2, 2, 3,
9400 0,
9401 37,
9402 OPC_CheckPredicate, 13,
9403 OPC_SwitchType , 14, MVT::i64,
9404 OPC_CheckPatternPredicate7,
9405 OPC_CheckComplexPat0, /*#*/1,
9406 OPC_EmitMergeInputChains1_0,
9407 OPC_EmitInteger64, 0,
9408 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9409 MVT::i64, 2, 2, 3,
9410 15, MVT::i32,
9411 OPC_CheckPatternPredicate, 8,
9412 OPC_CheckComplexPat0, /*#*/1,
9413 OPC_EmitMergeInputChains1_0,
9414 OPC_EmitInteger32, 0,
9415 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9416 MVT::i32, 2, 2, 3,
9417 0,
9418 37,
9419 OPC_CheckPredicate, 14,
9420 OPC_SwitchType , 14, MVT::i64,
9421 OPC_CheckPatternPredicate7,
9422 OPC_CheckComplexPat0, /*#*/1,
9423 OPC_EmitMergeInputChains1_0,
9424 OPC_EmitInteger64, 0,
9425 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9426 MVT::i64, 2, 2, 3,
9427 15, MVT::i32,
9428 OPC_CheckPatternPredicate, 8,
9429 OPC_CheckComplexPat0, /*#*/1,
9430 OPC_EmitMergeInputChains1_0,
9431 OPC_EmitInteger32, 0,
9432 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9433 MVT::i32, 2, 2, 3,
9434 0,
9435 36,
9436 OPC_CheckPredicate5,
9437 OPC_SwitchType , 14, MVT::i64,
9438 OPC_CheckPatternPredicate7,
9439 OPC_CheckComplexPat0, /*#*/1,
9440 OPC_EmitMergeInputChains1_0,
9441 OPC_EmitInteger64, 0,
9442 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9443 MVT::i64, 2, 2, 3,
9444 15, MVT::i32,
9445 OPC_CheckPatternPredicate, 8,
9446 OPC_CheckComplexPat0, /*#*/1,
9447 OPC_EmitMergeInputChains1_0,
9448 OPC_EmitInteger32, 0,
9449 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9450 MVT::i32, 2, 2, 3,
9451 0,
9452 37,
9453 OPC_CheckPredicate, 15,
9454 OPC_SwitchType , 14, MVT::i64,
9455 OPC_CheckPatternPredicate6,
9456 OPC_CheckComplexPat0, /*#*/1,
9457 OPC_EmitMergeInputChains1_0,
9458 OPC_EmitInteger64, 0,
9459 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9460 MVT::i64, 2, 2, 3,
9461 15, MVT::i32,
9462 OPC_CheckPatternPredicate, 10,
9463 OPC_CheckComplexPat0, /*#*/1,
9464 OPC_EmitMergeInputChains1_0,
9465 OPC_EmitInteger32, 0,
9466 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9467 MVT::i32, 2, 2, 3,
9468 0,
9469 0,
9470 0,
9471 11|128,5, TARGET_VAL(ISD::ATOMIC_STORE),
9472 OPC_RecordMemRef,
9473 OPC_RecordNode,
9474 OPC_RecordChild1,
9475 OPC_Scope, 94|128,2,
9476 OPC_CheckChild1TypeI64,
9477 OPC_Scope, 45|128,1,
9478 OPC_MoveChild2,
9479 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::ADD),
9480 OPC_RecordChild0,
9481 OPC_RecordChild1,
9482 OPC_MoveChild1,
9483 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9484 OPC_CheckPredicate, 11,
9485 OPC_MoveParent,
9486 OPC_CheckPredicate, 10,
9487 OPC_CheckTypeI64,
9488 OPC_MoveParent,
9489 OPC_Scope, 15,
9490 OPC_CheckPredicate, 13,
9491 OPC_CheckPatternPredicate7,
9492 OPC_CheckComplexPat0, /*#*/2,
9493 OPC_EmitMergeInputChains1_0,
9494 OPC_EmitConvertToTarget3,
9495 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9496 3, 1, 4, 5,
9497 15,
9498 OPC_CheckPredicate, 14,
9499 OPC_CheckPatternPredicate7,
9500 OPC_CheckComplexPat0, /*#*/2,
9501 OPC_EmitMergeInputChains1_0,
9502 OPC_EmitConvertToTarget3,
9503 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9504 3, 1, 4, 5,
9505 16,
9506 OPC_CheckPredicate5,
9507 OPC_CheckPredicate, 28,
9508 OPC_CheckPatternPredicate6,
9509 OPC_CheckComplexPat0, /*#*/2,
9510 OPC_EmitMergeInputChains1_0,
9511 OPC_EmitConvertToTarget3,
9512 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9513 3, 1, 4, 5,
9514 17,
9515 OPC_CheckPredicate, 15,
9516 OPC_CheckPredicate, 28,
9517 OPC_CheckPatternPredicate6,
9518 OPC_CheckComplexPat0, /*#*/2,
9519 OPC_EmitMergeInputChains1_0,
9520 OPC_EmitConvertToTarget3,
9521 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9522 3, 1, 4, 5,
9523 0,
9524 82, TARGET_VAL(ISD::OR),
9525 OPC_RecordChild0,
9526 OPC_RecordChild1,
9527 OPC_MoveChild1,
9528 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9529 OPC_CheckPredicate, 11,
9530 OPC_MoveParent,
9531 OPC_CheckPredicate, 10,
9532 OPC_CheckTypeI64,
9533 OPC_MoveParent,
9534 OPC_Scope, 15,
9535 OPC_CheckPredicate, 13,
9536 OPC_CheckPatternPredicate7,
9537 OPC_CheckComplexPat0, /*#*/2,
9538 OPC_EmitMergeInputChains1_0,
9539 OPC_EmitConvertToTarget3,
9540 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9541 3, 1, 4, 5,
9542 15,
9543 OPC_CheckPredicate, 14,
9544 OPC_CheckPatternPredicate7,
9545 OPC_CheckComplexPat0, /*#*/2,
9546 OPC_EmitMergeInputChains1_0,
9547 OPC_EmitConvertToTarget3,
9548 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9549 3, 1, 4, 5,
9550 16,
9551 OPC_CheckPredicate5,
9552 OPC_CheckPredicate, 28,
9553 OPC_CheckPatternPredicate6,
9554 OPC_CheckComplexPat0, /*#*/2,
9555 OPC_EmitMergeInputChains1_0,
9556 OPC_EmitConvertToTarget3,
9557 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9558 3, 1, 4, 5,
9559 17,
9560 OPC_CheckPredicate, 15,
9561 OPC_CheckPredicate, 28,
9562 OPC_CheckPatternPredicate6,
9563 OPC_CheckComplexPat0, /*#*/2,
9564 OPC_EmitMergeInputChains1_0,
9565 OPC_EmitConvertToTarget3,
9566 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9567 3, 1, 4, 5,
9568 0,
9569 0,
9570 42|128,1,
9571 OPC_RecordChild2,
9572 OPC_Scope, 14,
9573 OPC_CheckPredicate, 13,
9574 OPC_CheckPatternPredicate7,
9575 OPC_CheckComplexPat4, /*#*/2,
9576 OPC_EmitMergeInputChains1_0,
9577 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9578 3, 1, 3, 4,
9579 14,
9580 OPC_CheckPredicate, 14,
9581 OPC_CheckPatternPredicate7,
9582 OPC_CheckComplexPat4, /*#*/2,
9583 OPC_EmitMergeInputChains1_0,
9584 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9585 3, 1, 3, 4,
9586 15,
9587 OPC_CheckPredicate5,
9588 OPC_CheckPredicate, 28,
9589 OPC_CheckPatternPredicate6,
9590 OPC_CheckComplexPat4, /*#*/2,
9591 OPC_EmitMergeInputChains1_0,
9592 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9593 3, 1, 3, 4,
9594 16,
9595 OPC_CheckPredicate, 15,
9596 OPC_CheckPredicate, 28,
9597 OPC_CheckPatternPredicate6,
9598 OPC_CheckComplexPat4, /*#*/2,
9599 OPC_EmitMergeInputChains1_0,
9600 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9601 3, 1, 3, 4,
9602 16,
9603 OPC_CheckPredicate, 13,
9604 OPC_CheckPatternPredicate7,
9605 OPC_CheckComplexPat0, /*#*/2,
9606 OPC_EmitMergeInputChains1_0,
9607 OPC_EmitInteger64, 0,
9608 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9609 3, 1, 3, 4,
9610 16,
9611 OPC_CheckPredicate, 14,
9612 OPC_CheckPatternPredicate7,
9613 OPC_CheckComplexPat0, /*#*/2,
9614 OPC_EmitMergeInputChains1_0,
9615 OPC_EmitInteger64, 0,
9616 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9617 3, 1, 3, 4,
9618 17,
9619 OPC_CheckPredicate5,
9620 OPC_CheckPredicate, 28,
9621 OPC_CheckPatternPredicate6,
9622 OPC_CheckComplexPat0, /*#*/2,
9623 OPC_EmitMergeInputChains1_0,
9624 OPC_EmitInteger64, 0,
9625 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9626 3, 1, 3, 4,
9627 18,
9628 OPC_CheckPredicate, 15,
9629 OPC_CheckPredicate, 28,
9630 OPC_CheckPatternPredicate6,
9631 OPC_CheckComplexPat0, /*#*/2,
9632 OPC_EmitMergeInputChains1_0,
9633 OPC_EmitInteger64, 0,
9634 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9635 3, 1, 3, 4,
9636 32,
9637 OPC_CheckChild2TypeI64,
9638 OPC_Scope, 13,
9639 OPC_CheckPredicate5,
9640 OPC_CheckPredicate, 38,
9641 OPC_CheckPatternPredicate7,
9642 OPC_EmitMergeInputChains1_0,
9643 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
9644 MVT::i64, 2, 1, 2,
9645 14,
9646 OPC_CheckPredicate, 15,
9647 OPC_CheckPredicate, 38,
9648 OPC_CheckPatternPredicate6,
9649 OPC_EmitMergeInputChains1_0,
9650 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
9651 MVT::i64, 2, 1, 2,
9652 0,
9653 0,
9654 0,
9655 36|128,2,
9656 OPC_CheckChild1TypeI32,
9657 OPC_Scope, 15|128,1,
9658 OPC_MoveChild2,
9659 OPC_SwitchOpcode , 67, TARGET_VAL(ISD::ADD),
9660 OPC_RecordChild0,
9661 OPC_RecordChild1,
9662 OPC_MoveChild1,
9663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9664 OPC_CheckPredicate, 11,
9665 OPC_MoveParent,
9666 OPC_CheckPredicate, 10,
9667 OPC_CheckTypeI32,
9668 OPC_MoveParent,
9669 OPC_Scope, 16,
9670 OPC_CheckPredicate, 13,
9671 OPC_CheckPatternPredicate, 8,
9672 OPC_CheckComplexPat0, /*#*/2,
9673 OPC_EmitMergeInputChains1_0,
9674 OPC_EmitConvertToTarget3,
9675 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9676 3, 1, 4, 5,
9677 16,
9678 OPC_CheckPredicate, 14,
9679 OPC_CheckPatternPredicate, 8,
9680 OPC_CheckComplexPat0, /*#*/2,
9681 OPC_EmitMergeInputChains1_0,
9682 OPC_EmitConvertToTarget3,
9683 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9684 3, 1, 4, 5,
9685 17,
9686 OPC_CheckPredicate5,
9687 OPC_CheckPredicate, 28,
9688 OPC_CheckPatternPredicate, 9,
9689 OPC_CheckComplexPat0, /*#*/2,
9690 OPC_EmitMergeInputChains1_0,
9691 OPC_EmitConvertToTarget3,
9692 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9693 3, 1, 4, 5,
9694 0,
9695 67, TARGET_VAL(ISD::OR),
9696 OPC_RecordChild0,
9697 OPC_RecordChild1,
9698 OPC_MoveChild1,
9699 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9700 OPC_CheckPredicate, 11,
9701 OPC_MoveParent,
9702 OPC_CheckPredicate, 10,
9703 OPC_CheckTypeI32,
9704 OPC_MoveParent,
9705 OPC_Scope, 16,
9706 OPC_CheckPredicate, 13,
9707 OPC_CheckPatternPredicate, 8,
9708 OPC_CheckComplexPat0, /*#*/2,
9709 OPC_EmitMergeInputChains1_0,
9710 OPC_EmitConvertToTarget3,
9711 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9712 3, 1, 4, 5,
9713 16,
9714 OPC_CheckPredicate, 14,
9715 OPC_CheckPatternPredicate, 8,
9716 OPC_CheckComplexPat0, /*#*/2,
9717 OPC_EmitMergeInputChains1_0,
9718 OPC_EmitConvertToTarget3,
9719 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9720 3, 1, 4, 5,
9721 17,
9722 OPC_CheckPredicate5,
9723 OPC_CheckPredicate, 28,
9724 OPC_CheckPatternPredicate, 9,
9725 OPC_CheckComplexPat0, /*#*/2,
9726 OPC_EmitMergeInputChains1_0,
9727 OPC_EmitConvertToTarget3,
9728 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9729 3, 1, 4, 5,
9730 0,
9731 0,
9732 14|128,1,
9733 OPC_RecordChild2,
9734 OPC_Scope, 15,
9735 OPC_CheckPredicate, 13,
9736 OPC_CheckPatternPredicate, 8,
9737 OPC_CheckComplexPat4, /*#*/2,
9738 OPC_EmitMergeInputChains1_0,
9739 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9740 3, 1, 3, 4,
9741 15,
9742 OPC_CheckPredicate, 14,
9743 OPC_CheckPatternPredicate, 8,
9744 OPC_CheckComplexPat4, /*#*/2,
9745 OPC_EmitMergeInputChains1_0,
9746 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9747 3, 1, 3, 4,
9748 16,
9749 OPC_CheckPredicate5,
9750 OPC_CheckPredicate, 28,
9751 OPC_CheckPatternPredicate, 9,
9752 OPC_CheckComplexPat4, /*#*/2,
9753 OPC_EmitMergeInputChains1_0,
9754 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9755 3, 1, 3, 4,
9756 17,
9757 OPC_CheckPredicate, 13,
9758 OPC_CheckPatternPredicate, 8,
9759 OPC_CheckComplexPat0, /*#*/2,
9760 OPC_EmitMergeInputChains1_0,
9761 OPC_EmitInteger32, 0,
9762 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9763 3, 1, 3, 4,
9764 17,
9765 OPC_CheckPredicate, 14,
9766 OPC_CheckPatternPredicate, 8,
9767 OPC_CheckComplexPat0, /*#*/2,
9768 OPC_EmitMergeInputChains1_0,
9769 OPC_EmitInteger32, 0,
9770 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9771 3, 1, 3, 4,
9772 36,
9773 OPC_CheckPredicate5,
9774 OPC_Scope, 17,
9775 OPC_CheckPredicate, 28,
9776 OPC_CheckPatternPredicate, 9,
9777 OPC_CheckComplexPat0, /*#*/2,
9778 OPC_EmitMergeInputChains1_0,
9779 OPC_EmitInteger32, 0,
9780 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9781 3, 1, 3, 4,
9782 14,
9783 OPC_CheckChild2TypeI32,
9784 OPC_CheckPredicate, 38,
9785 OPC_CheckPatternPredicate, 8,
9786 OPC_EmitMergeInputChains1_0,
9787 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
9788 MVT::i32, 2, 1, 2,
9789 0,
9790 16,
9791 OPC_CheckChild2TypeI32,
9792 OPC_CheckPredicate, 15,
9793 OPC_CheckPredicate, 38,
9794 OPC_CheckPatternPredicate, 10,
9795 OPC_EmitMergeInputChains1_0,
9796 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
9797 MVT::i32, 2, 1, 2,
9798 0,
9799 0,
9800 0,
9801 43|128,9, TARGET_VAL(ISD::ADD),
9802 OPC_Scope, 119,
9803 OPC_RecordChild0,
9804 OPC_Scope, 39,
9805 OPC_RecordChild1,
9806 OPC_MoveChild1,
9807 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9808 OPC_CheckPredicate, 11,
9809 OPC_MoveParent,
9810 OPC_CheckPredicate, 10,
9811 OPC_SwitchType , 12, MVT::i32,
9812 OPC_CheckPatternPredicate, 9,
9813 OPC_CheckComplexPat0, /*#*/0,
9814 OPC_EmitConvertToTarget1,
9815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9816 MVT::i32, 2, 2, 3,
9817 11, MVT::i64,
9818 OPC_CheckPatternPredicate6,
9819 OPC_CheckComplexPat0, /*#*/0,
9820 OPC_EmitConvertToTarget1,
9821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9822 MVT::i64, 2, 2, 3,
9823 0,
9824 75,
9825 OPC_MoveChild1,
9826 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9827 OPC_RecordChild0,
9828 OPC_RecordChild1,
9829 OPC_MoveChild1,
9830 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9831 OPC_CheckPredicate, 36,
9832 OPC_SwitchType , 28, MVT::i64,
9833 OPC_MoveParent,
9834 OPC_MoveParent,
9835 OPC_CheckTypeI64,
9836 OPC_Scope, 11,
9837 OPC_CheckPatternPredicate, 15,
9838 OPC_EmitConvertToTarget2,
9839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9840 MVT::i64, 3, 1, 0, 3,
9841 10,
9842 OPC_CheckPatternPredicate6,
9843 OPC_EmitConvertToTarget2,
9844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9845 MVT::i64, 3, 1, 0, 3,
9846 0,
9847 29, MVT::i32,
9848 OPC_MoveParent,
9849 OPC_MoveParent,
9850 OPC_CheckTypeI32,
9851 OPC_Scope, 11,
9852 OPC_CheckPatternPredicate, 9,
9853 OPC_EmitConvertToTarget2,
9854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9855 MVT::i32, 3, 1, 0, 3,
9856 11,
9857 OPC_CheckPatternPredicate, 10,
9858 OPC_EmitConvertToTarget2,
9859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9860 MVT::i32, 3, 1, 0, 3,
9861 0,
9862 0,
9863 0,
9864 77,
9865 OPC_MoveChild0,
9866 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9867 OPC_RecordChild0,
9868 OPC_RecordChild1,
9869 OPC_MoveChild1,
9870 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9871 OPC_CheckPredicate, 36,
9872 OPC_SwitchType , 29, MVT::i64,
9873 OPC_MoveParent,
9874 OPC_MoveParent,
9875 OPC_RecordChild1,
9876 OPC_CheckTypeI64,
9877 OPC_Scope, 11,
9878 OPC_CheckPatternPredicate, 15,
9879 OPC_EmitConvertToTarget1,
9880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9881 MVT::i64, 3, 0, 2, 3,
9882 10,
9883 OPC_CheckPatternPredicate6,
9884 OPC_EmitConvertToTarget1,
9885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9886 MVT::i64, 3, 0, 2, 3,
9887 0,
9888 30, MVT::i32,
9889 OPC_MoveParent,
9890 OPC_MoveParent,
9891 OPC_RecordChild1,
9892 OPC_CheckTypeI32,
9893 OPC_Scope, 11,
9894 OPC_CheckPatternPredicate, 9,
9895 OPC_EmitConvertToTarget1,
9896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9897 MVT::i32, 3, 0, 2, 3,
9898 11,
9899 OPC_CheckPatternPredicate, 10,
9900 OPC_EmitConvertToTarget1,
9901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9902 MVT::i32, 3, 0, 2, 3,
9903 0,
9904 0,
9905 41|128,6,
9906 OPC_RecordChild0,
9907 OPC_Scope, 66|128,5,
9908 OPC_RecordChild1,
9909 OPC_Scope, 6|128,2,
9910 OPC_MoveChild1,
9911 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9912 OPC_Scope, 56,
9913 OPC_CheckPredicate, 11,
9914 OPC_MoveParent,
9915 OPC_SwitchType , 23, MVT::i64,
9916 OPC_Scope, 10,
9917 OPC_CheckPatternPredicate, 15,
9918 OPC_EmitConvertToTarget1,
9919 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9920 MVT::i64, 2, 0, 2,
9921 9,
9922 OPC_CheckPatternPredicate6,
9923 OPC_EmitConvertToTarget1,
9924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9925 MVT::i64, 2, 0, 2,
9926 0,
9927 24, MVT::i32,
9928 OPC_Scope, 10,
9929 OPC_CheckPatternPredicate, 9,
9930 OPC_EmitConvertToTarget1,
9931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9932 MVT::i32, 2, 0, 2,
9933 10,
9934 OPC_CheckPatternPredicate, 10,
9935 OPC_EmitConvertToTarget1,
9936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9937 MVT::i32, 2, 0, 2,
9938 0,
9939 0,
9940 32,
9941 OPC_CheckPredicate, 57,
9942 OPC_MoveParent,
9943 OPC_SwitchType , 11, MVT::i64,
9944 OPC_CheckPatternPredicate6,
9945 OPC_EmitNodeXForm, 6, 1,
9946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
9947 MVT::i64, 2, 0, 2,
9948 12, MVT::i32,
9949 OPC_CheckPatternPredicate, 10,
9950 OPC_EmitNodeXForm, 6, 1,
9951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
9952 MVT::i32, 2, 0, 2,
9953 0,
9954 52,
9955 OPC_CheckPredicate, 49,
9956 OPC_MoveParent,
9957 OPC_SwitchType , 21, MVT::i64,
9958 OPC_CheckPatternPredicate6,
9959 OPC_EmitNodeXForm, 2, 1,
9960 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
9961 MVT::i64, 2, 0, 2,
9962 OPC_EmitNodeXForm, 3, 1,
9963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9964 MVT::i64, 2, 3, 4,
9965 22, MVT::i32,
9966 OPC_CheckPatternPredicate, 10,
9967 OPC_EmitNodeXForm, 2, 1,
9968 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
9969 MVT::i32, 2, 0, 2,
9970 OPC_EmitNodeXForm, 3, 1,
9971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9972 MVT::i32, 2, 3, 4,
9973 0,
9974 112,
9975 OPC_CheckPredicate, 50,
9976 OPC_MoveParent,
9977 OPC_SwitchType , 51, MVT::i64,
9978 OPC_Scope, 24,
9979 OPC_CheckPatternPredicate, 15,
9980 OPC_EmitConvertToTarget1,
9981 OPC_EmitNodeXForm, 4, 2,
9982 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
9983 MVT::i64, 2, 0, 3,
9984 OPC_EmitConvertToTarget1,
9985 OPC_EmitNodeXForm, 5, 5,
9986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9987 MVT::i64, 2, 4, 6,
9988 23,
9989 OPC_CheckPatternPredicate6,
9990 OPC_EmitConvertToTarget1,
9991 OPC_EmitNodeXForm, 4, 2,
9992 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
9993 MVT::i64, 2, 0, 3,
9994 OPC_EmitConvertToTarget1,
9995 OPC_EmitNodeXForm, 5, 5,
9996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9997 MVT::i64, 2, 4, 6,
9998 0,
9999 52, MVT::i32,
10000 OPC_Scope, 24,
10001 OPC_CheckPatternPredicate, 9,
10002 OPC_EmitConvertToTarget1,
10003 OPC_EmitNodeXForm, 4, 2,
10004 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
10005 MVT::i32, 2, 0, 3,
10006 OPC_EmitConvertToTarget1,
10007 OPC_EmitNodeXForm, 5, 5,
10008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
10009 MVT::i32, 2, 4, 6,
10010 24,
10011 OPC_CheckPatternPredicate, 10,
10012 OPC_EmitConvertToTarget1,
10013 OPC_EmitNodeXForm, 4, 2,
10014 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
10015 MVT::i32, 2, 0, 3,
10016 OPC_EmitConvertToTarget1,
10017 OPC_EmitNodeXForm, 5, 5,
10018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
10019 MVT::i32, 2, 4, 6,
10020 0,
10021 0,
10022 0,
10023 22,
10024 OPC_CheckTypeI64,
10025 OPC_Scope, 9,
10026 OPC_CheckPatternPredicate, 15,
10027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
10028 MVT::i64, 2, 0, 1,
10029 8,
10030 OPC_CheckPatternPredicate6,
10031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
10032 MVT::i64, 2, 0, 1,
10033 0,
10034 23,
10035 OPC_CheckTypeI32,
10036 OPC_Scope, 9,
10037 OPC_CheckPatternPredicate, 9,
10038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
10039 MVT::i32, 2, 0, 1,
10040 9,
10041 OPC_CheckPatternPredicate, 10,
10042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
10043 MVT::i32, 2, 0, 1,
10044 0,
10045 48,
10046 OPC_CheckType, MVT::v16i8,
10047 OPC_Scope, 10,
10048 OPC_CheckPatternPredicate2,
10049 OPC_CheckComplexPat1, /*#*/1,
10050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10051 MVT::v16i8, 2, 0, 2,
10052 10,
10053 OPC_CheckPatternPredicate5,
10054 OPC_CheckComplexPat1, /*#*/1,
10055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10056 MVT::v16i8, 2, 0, 2,
10057 10,
10058 OPC_CheckPatternPredicate2,
10059 OPC_CheckComplexPat1, /*#*/0,
10060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10061 MVT::v16i8, 2, 1, 2,
10062 10,
10063 OPC_CheckPatternPredicate5,
10064 OPC_CheckComplexPat1, /*#*/0,
10065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10066 MVT::v16i8, 2, 1, 2,
10067 0,
10068 48,
10069 OPC_CheckType, MVT::v8i16,
10070 OPC_Scope, 10,
10071 OPC_CheckPatternPredicate2,
10072 OPC_CheckComplexPat1, /*#*/1,
10073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10074 MVT::v8i16, 2, 0, 2,
10075 10,
10076 OPC_CheckPatternPredicate5,
10077 OPC_CheckComplexPat1, /*#*/1,
10078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10079 MVT::v8i16, 2, 0, 2,
10080 10,
10081 OPC_CheckPatternPredicate2,
10082 OPC_CheckComplexPat1, /*#*/0,
10083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10084 MVT::v8i16, 2, 1, 2,
10085 10,
10086 OPC_CheckPatternPredicate5,
10087 OPC_CheckComplexPat1, /*#*/0,
10088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10089 MVT::v8i16, 2, 1, 2,
10090 0,
10091 48,
10092 OPC_CheckType, MVT::v4i32,
10093 OPC_Scope, 10,
10094 OPC_CheckPatternPredicate2,
10095 OPC_CheckComplexPat1, /*#*/1,
10096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10097 MVT::v4i32, 2, 0, 2,
10098 10,
10099 OPC_CheckPatternPredicate5,
10100 OPC_CheckComplexPat1, /*#*/1,
10101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10102 MVT::v4i32, 2, 0, 2,
10103 10,
10104 OPC_CheckPatternPredicate2,
10105 OPC_CheckComplexPat1, /*#*/0,
10106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10107 MVT::v4i32, 2, 1, 2,
10108 10,
10109 OPC_CheckPatternPredicate5,
10110 OPC_CheckComplexPat1, /*#*/0,
10111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10112 MVT::v4i32, 2, 1, 2,
10113 0,
10114 48,
10115 OPC_CheckType, MVT::v2i64,
10116 OPC_Scope, 10,
10117 OPC_CheckPatternPredicate2,
10118 OPC_CheckComplexPat1, /*#*/1,
10119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10120 MVT::v2i64, 2, 0, 2,
10121 10,
10122 OPC_CheckPatternPredicate5,
10123 OPC_CheckComplexPat1, /*#*/1,
10124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10125 MVT::v2i64, 2, 0, 2,
10126 10,
10127 OPC_CheckPatternPredicate2,
10128 OPC_CheckComplexPat1, /*#*/0,
10129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10130 MVT::v2i64, 2, 1, 2,
10131 10,
10132 OPC_CheckPatternPredicate5,
10133 OPC_CheckComplexPat1, /*#*/0,
10134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10135 MVT::v2i64, 2, 1, 2,
10136 0,
10137 48,
10138 OPC_CheckType, MVT::v32i8,
10139 OPC_Scope, 10,
10140 OPC_CheckPatternPredicate3,
10141 OPC_CheckComplexPat1, /*#*/1,
10142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10143 MVT::v32i8, 2, 0, 2,
10144 10,
10145 OPC_CheckPatternPredicate4,
10146 OPC_CheckComplexPat1, /*#*/1,
10147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10148 MVT::v32i8, 2, 0, 2,
10149 10,
10150 OPC_CheckPatternPredicate3,
10151 OPC_CheckComplexPat1, /*#*/0,
10152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10153 MVT::v32i8, 2, 1, 2,
10154 10,
10155 OPC_CheckPatternPredicate4,
10156 OPC_CheckComplexPat1, /*#*/0,
10157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10158 MVT::v32i8, 2, 1, 2,
10159 0,
10160 48,
10161 OPC_CheckType, MVT::v16i16,
10162 OPC_Scope, 10,
10163 OPC_CheckPatternPredicate3,
10164 OPC_CheckComplexPat1, /*#*/1,
10165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10166 MVT::v16i16, 2, 0, 2,
10167 10,
10168 OPC_CheckPatternPredicate4,
10169 OPC_CheckComplexPat1, /*#*/1,
10170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10171 MVT::v16i16, 2, 0, 2,
10172 10,
10173 OPC_CheckPatternPredicate3,
10174 OPC_CheckComplexPat1, /*#*/0,
10175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10176 MVT::v16i16, 2, 1, 2,
10177 10,
10178 OPC_CheckPatternPredicate4,
10179 OPC_CheckComplexPat1, /*#*/0,
10180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10181 MVT::v16i16, 2, 1, 2,
10182 0,
10183 48,
10184 OPC_CheckType, MVT::v8i32,
10185 OPC_Scope, 10,
10186 OPC_CheckPatternPredicate3,
10187 OPC_CheckComplexPat1, /*#*/1,
10188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10189 MVT::v8i32, 2, 0, 2,
10190 10,
10191 OPC_CheckPatternPredicate4,
10192 OPC_CheckComplexPat1, /*#*/1,
10193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10194 MVT::v8i32, 2, 0, 2,
10195 10,
10196 OPC_CheckPatternPredicate3,
10197 OPC_CheckComplexPat1, /*#*/0,
10198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10199 MVT::v8i32, 2, 1, 2,
10200 10,
10201 OPC_CheckPatternPredicate4,
10202 OPC_CheckComplexPat1, /*#*/0,
10203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10204 MVT::v8i32, 2, 1, 2,
10205 0,
10206 48,
10207 OPC_CheckType, MVT::v4i64,
10208 OPC_Scope, 10,
10209 OPC_CheckPatternPredicate3,
10210 OPC_CheckComplexPat1, /*#*/1,
10211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10212 MVT::v4i64, 2, 0, 2,
10213 10,
10214 OPC_CheckPatternPredicate4,
10215 OPC_CheckComplexPat1, /*#*/1,
10216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10217 MVT::v4i64, 2, 0, 2,
10218 10,
10219 OPC_CheckPatternPredicate3,
10220 OPC_CheckComplexPat1, /*#*/0,
10221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10222 MVT::v4i64, 2, 1, 2,
10223 10,
10224 OPC_CheckPatternPredicate4,
10225 OPC_CheckComplexPat1, /*#*/0,
10226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10227 MVT::v4i64, 2, 1, 2,
10228 0,
10229 0,
10230 97,
10231 OPC_MoveChild1,
10232 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10233 OPC_RecordChild0,
10234 OPC_RecordChild1,
10235 OPC_MoveParent,
10236 OPC_SwitchType , 9, MVT::v16i8,
10237 OPC_CheckPatternPredicate1,
10238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10239 MVT::v16i8, 3, 0, 1, 2,
10240 9, MVT::v8i16,
10241 OPC_CheckPatternPredicate1,
10242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10243 MVT::v8i16, 3, 0, 1, 2,
10244 9, MVT::v4i32,
10245 OPC_CheckPatternPredicate1,
10246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10247 MVT::v4i32, 3, 0, 1, 2,
10248 9, MVT::v2i64,
10249 OPC_CheckPatternPredicate1,
10250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10251 MVT::v2i64, 3, 0, 1, 2,
10252 9, MVT::v32i8,
10253 OPC_CheckPatternPredicate0,
10254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10255 MVT::v32i8, 3, 0, 1, 2,
10256 9, MVT::v16i16,
10257 OPC_CheckPatternPredicate0,
10258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10259 MVT::v16i16, 3, 0, 1, 2,
10260 9, MVT::v8i32,
10261 OPC_CheckPatternPredicate0,
10262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10263 MVT::v8i32, 3, 0, 1, 2,
10264 9, MVT::v4i64,
10265 OPC_CheckPatternPredicate0,
10266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10267 MVT::v4i64, 3, 0, 1, 2,
10268 0,
10269 0,
10270 98,
10271 OPC_MoveChild0,
10272 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10273 OPC_RecordChild0,
10274 OPC_RecordChild1,
10275 OPC_MoveParent,
10276 OPC_RecordChild1,
10277 OPC_SwitchType , 9, MVT::v16i8,
10278 OPC_CheckPatternPredicate1,
10279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10280 MVT::v16i8, 3, 2, 0, 1,
10281 9, MVT::v8i16,
10282 OPC_CheckPatternPredicate1,
10283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10284 MVT::v8i16, 3, 2, 0, 1,
10285 9, MVT::v4i32,
10286 OPC_CheckPatternPredicate1,
10287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10288 MVT::v4i32, 3, 2, 0, 1,
10289 9, MVT::v2i64,
10290 OPC_CheckPatternPredicate1,
10291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10292 MVT::v2i64, 3, 2, 0, 1,
10293 9, MVT::v32i8,
10294 OPC_CheckPatternPredicate0,
10295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10296 MVT::v32i8, 3, 2, 0, 1,
10297 9, MVT::v16i16,
10298 OPC_CheckPatternPredicate0,
10299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10300 MVT::v16i16, 3, 2, 0, 1,
10301 9, MVT::v8i32,
10302 OPC_CheckPatternPredicate0,
10303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10304 MVT::v8i32, 3, 2, 0, 1,
10305 9, MVT::v4i64,
10306 OPC_CheckPatternPredicate0,
10307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10308 MVT::v4i64, 3, 2, 0, 1,
10309 0,
10310 84,
10311 OPC_RecordChild0,
10312 OPC_RecordChild1,
10313 OPC_SwitchType , 8, MVT::v16i8,
10314 OPC_CheckPatternPredicate1,
10315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_B),
10316 MVT::v16i8, 2, 0, 1,
10317 8, MVT::v8i16,
10318 OPC_CheckPatternPredicate1,
10319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_H),
10320 MVT::v8i16, 2, 0, 1,
10321 8, MVT::v4i32,
10322 OPC_CheckPatternPredicate1,
10323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_W),
10324 MVT::v4i32, 2, 0, 1,
10325 8, MVT::v2i64,
10326 OPC_CheckPatternPredicate1,
10327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_D),
10328 MVT::v2i64, 2, 0, 1,
10329 8, MVT::v32i8,
10330 OPC_CheckPatternPredicate0,
10331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_B),
10332 MVT::v32i8, 2, 0, 1,
10333 8, MVT::v16i16,
10334 OPC_CheckPatternPredicate0,
10335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_H),
10336 MVT::v16i16, 2, 0, 1,
10337 8, MVT::v8i32,
10338 OPC_CheckPatternPredicate0,
10339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_W),
10340 MVT::v8i32, 2, 0, 1,
10341 8, MVT::v4i64,
10342 OPC_CheckPatternPredicate0,
10343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_D),
10344 MVT::v4i64, 2, 0, 1,
10345 0,
10346 0,
10347 111|128,5, TARGET_VAL(ISD::INTRINSIC_VOID),
10348 OPC_RecordNode,
10349 OPC_Scope, 25,
10350 OPC_CheckChild1Integer, 60|128,88,
10351 OPC_RecordChild2,
10352 OPC_MoveChild2,
10353 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10354 OPC_MoveParent,
10355 OPC_RecordChild3,
10356 OPC_RecordChild4,
10357 OPC_MoveChild4,
10358 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10359 OPC_MoveParent,
10360 OPC_CheckPatternPredicate7,
10361 OPC_EmitMergeInputChains1_0,
10362 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10363 3, 1, 2, 3,
10364 65,
10365 OPC_CheckChild1Integer, 38|128,111,
10366 OPC_RecordChild2,
10367 OPC_RecordChild3,
10368 OPC_Scope, 28,
10369 OPC_CheckChild3TypeI64,
10370 OPC_RecordChild4,
10371 OPC_MoveChild4,
10372 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10373 OPC_MoveSibling5,
10374 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10375 OPC_RecordNode,
10376 OPC_MoveParent,
10377 OPC_CheckPatternPredicate2,
10378 OPC_EmitMergeInputChains1_0,
10379 OPC_EmitNodeXForm, 7, 3,
10380 OPC_EmitNodeXForm, 7, 4,
10381 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
10382 4, 1, 2, 5, 6,
10383 28,
10384 OPC_CheckChild3TypeI32,
10385 OPC_RecordChild4,
10386 OPC_MoveChild4,
10387 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10388 OPC_MoveSibling5,
10389 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10390 OPC_RecordNode,
10391 OPC_MoveParent,
10392 OPC_CheckPatternPredicate5,
10393 OPC_EmitMergeInputChains1_0,
10394 OPC_EmitNodeXForm, 7, 3,
10395 OPC_EmitNodeXForm, 7, 4,
10396 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
10397 4, 1, 2, 5, 6,
10398 0,
10399 65,
10400 OPC_CheckChild1Integer, 42|128,111,
10401 OPC_RecordChild2,
10402 OPC_RecordChild3,
10403 OPC_Scope, 28,
10404 OPC_CheckChild3TypeI64,
10405 OPC_RecordChild4,
10406 OPC_MoveChild4,
10407 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10408 OPC_MoveSibling5,
10409 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10410 OPC_RecordNode,
10411 OPC_MoveParent,
10412 OPC_CheckPatternPredicate2,
10413 OPC_EmitMergeInputChains1_0,
10414 OPC_EmitNodeXForm, 7, 3,
10415 OPC_EmitNodeXForm, 7, 4,
10416 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
10417 4, 1, 2, 5, 6,
10418 28,
10419 OPC_CheckChild3TypeI32,
10420 OPC_RecordChild4,
10421 OPC_MoveChild4,
10422 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10423 OPC_MoveSibling5,
10424 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10425 OPC_RecordNode,
10426 OPC_MoveParent,
10427 OPC_CheckPatternPredicate5,
10428 OPC_EmitMergeInputChains1_0,
10429 OPC_EmitNodeXForm, 7, 3,
10430 OPC_EmitNodeXForm, 7, 4,
10431 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
10432 4, 1, 2, 5, 6,
10433 0,
10434 65,
10435 OPC_CheckChild1Integer, 44|128,111,
10436 OPC_RecordChild2,
10437 OPC_RecordChild3,
10438 OPC_Scope, 28,
10439 OPC_CheckChild3TypeI64,
10440 OPC_RecordChild4,
10441 OPC_MoveChild4,
10442 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10443 OPC_MoveSibling5,
10444 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10445 OPC_RecordNode,
10446 OPC_MoveParent,
10447 OPC_CheckPatternPredicate2,
10448 OPC_EmitMergeInputChains1_0,
10449 OPC_EmitNodeXForm, 7, 3,
10450 OPC_EmitNodeXForm, 7, 4,
10451 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
10452 4, 1, 2, 5, 6,
10453 28,
10454 OPC_CheckChild3TypeI32,
10455 OPC_RecordChild4,
10456 OPC_MoveChild4,
10457 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10458 OPC_MoveSibling5,
10459 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10460 OPC_RecordNode,
10461 OPC_MoveParent,
10462 OPC_CheckPatternPredicate5,
10463 OPC_EmitMergeInputChains1_0,
10464 OPC_EmitNodeXForm, 7, 3,
10465 OPC_EmitNodeXForm, 7, 4,
10466 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
10467 4, 1, 2, 5, 6,
10468 0,
10469 65,
10470 OPC_CheckChild1Integer, 40|128,111,
10471 OPC_RecordChild2,
10472 OPC_RecordChild3,
10473 OPC_Scope, 28,
10474 OPC_CheckChild3TypeI64,
10475 OPC_RecordChild4,
10476 OPC_MoveChild4,
10477 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10478 OPC_MoveSibling5,
10479 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10480 OPC_RecordNode,
10481 OPC_MoveParent,
10482 OPC_CheckPatternPredicate2,
10483 OPC_EmitMergeInputChains1_0,
10484 OPC_EmitNodeXForm, 7, 3,
10485 OPC_EmitNodeXForm, 7, 4,
10486 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
10487 4, 1, 2, 5, 6,
10488 28,
10489 OPC_CheckChild3TypeI32,
10490 OPC_RecordChild4,
10491 OPC_MoveChild4,
10492 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10493 OPC_MoveSibling5,
10494 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10495 OPC_RecordNode,
10496 OPC_MoveParent,
10497 OPC_CheckPatternPredicate5,
10498 OPC_EmitMergeInputChains1_0,
10499 OPC_EmitNodeXForm, 7, 3,
10500 OPC_EmitNodeXForm, 7, 4,
10501 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
10502 4, 1, 2, 5, 6,
10503 0,
10504 65,
10505 OPC_CheckChild1Integer, 2|128,100,
10506 OPC_RecordChild2,
10507 OPC_RecordChild3,
10508 OPC_Scope, 28,
10509 OPC_CheckChild3TypeI64,
10510 OPC_RecordChild4,
10511 OPC_MoveChild4,
10512 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10513 OPC_MoveSibling5,
10514 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10515 OPC_RecordNode,
10516 OPC_MoveParent,
10517 OPC_CheckPatternPredicate3,
10518 OPC_EmitMergeInputChains1_0,
10519 OPC_EmitNodeXForm, 7, 3,
10520 OPC_EmitNodeXForm, 7, 4,
10521 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
10522 4, 1, 2, 5, 6,
10523 28,
10524 OPC_CheckChild3TypeI32,
10525 OPC_RecordChild4,
10526 OPC_MoveChild4,
10527 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10528 OPC_MoveSibling5,
10529 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10530 OPC_RecordNode,
10531 OPC_MoveParent,
10532 OPC_CheckPatternPredicate4,
10533 OPC_EmitMergeInputChains1_0,
10534 OPC_EmitNodeXForm, 7, 3,
10535 OPC_EmitNodeXForm, 7, 4,
10536 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
10537 4, 1, 2, 5, 6,
10538 0,
10539 65,
10540 OPC_CheckChild1Integer, 6|128,100,
10541 OPC_RecordChild2,
10542 OPC_RecordChild3,
10543 OPC_Scope, 28,
10544 OPC_CheckChild3TypeI64,
10545 OPC_RecordChild4,
10546 OPC_MoveChild4,
10547 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10548 OPC_MoveSibling5,
10549 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10550 OPC_RecordNode,
10551 OPC_MoveParent,
10552 OPC_CheckPatternPredicate3,
10553 OPC_EmitMergeInputChains1_0,
10554 OPC_EmitNodeXForm, 7, 3,
10555 OPC_EmitNodeXForm, 7, 4,
10556 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
10557 4, 1, 2, 5, 6,
10558 28,
10559 OPC_CheckChild3TypeI32,
10560 OPC_RecordChild4,
10561 OPC_MoveChild4,
10562 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10563 OPC_MoveSibling5,
10564 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10565 OPC_RecordNode,
10566 OPC_MoveParent,
10567 OPC_CheckPatternPredicate4,
10568 OPC_EmitMergeInputChains1_0,
10569 OPC_EmitNodeXForm, 7, 3,
10570 OPC_EmitNodeXForm, 7, 4,
10571 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
10572 4, 1, 2, 5, 6,
10573 0,
10574 65,
10575 OPC_CheckChild1Integer, 8|128,100,
10576 OPC_RecordChild2,
10577 OPC_RecordChild3,
10578 OPC_Scope, 28,
10579 OPC_CheckChild3TypeI64,
10580 OPC_RecordChild4,
10581 OPC_MoveChild4,
10582 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10583 OPC_MoveSibling5,
10584 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10585 OPC_RecordNode,
10586 OPC_MoveParent,
10587 OPC_CheckPatternPredicate3,
10588 OPC_EmitMergeInputChains1_0,
10589 OPC_EmitNodeXForm, 7, 3,
10590 OPC_EmitNodeXForm, 7, 4,
10591 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
10592 4, 1, 2, 5, 6,
10593 28,
10594 OPC_CheckChild3TypeI32,
10595 OPC_RecordChild4,
10596 OPC_MoveChild4,
10597 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10598 OPC_MoveSibling5,
10599 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10600 OPC_RecordNode,
10601 OPC_MoveParent,
10602 OPC_CheckPatternPredicate4,
10603 OPC_EmitMergeInputChains1_0,
10604 OPC_EmitNodeXForm, 7, 3,
10605 OPC_EmitNodeXForm, 7, 4,
10606 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
10607 4, 1, 2, 5, 6,
10608 0,
10609 65,
10610 OPC_CheckChild1Integer, 4|128,100,
10611 OPC_RecordChild2,
10612 OPC_RecordChild3,
10613 OPC_Scope, 28,
10614 OPC_CheckChild3TypeI64,
10615 OPC_RecordChild4,
10616 OPC_MoveChild4,
10617 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10618 OPC_MoveSibling5,
10619 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10620 OPC_RecordNode,
10621 OPC_MoveParent,
10622 OPC_CheckPatternPredicate3,
10623 OPC_EmitMergeInputChains1_0,
10624 OPC_EmitNodeXForm, 7, 3,
10625 OPC_EmitNodeXForm, 7, 4,
10626 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
10627 4, 1, 2, 5, 6,
10628 28,
10629 OPC_CheckChild3TypeI32,
10630 OPC_RecordChild4,
10631 OPC_MoveChild4,
10632 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10633 OPC_MoveSibling5,
10634 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10635 OPC_RecordNode,
10636 OPC_MoveParent,
10637 OPC_CheckPatternPredicate4,
10638 OPC_EmitMergeInputChains1_0,
10639 OPC_EmitNodeXForm, 7, 3,
10640 OPC_EmitNodeXForm, 7, 4,
10641 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
10642 4, 1, 2, 5, 6,
10643 0,
10644 18,
10645 OPC_CheckChild1Integer, 68|128,100,
10646 OPC_RecordChild2,
10647 OPC_RecordChild3,
10648 OPC_MoveChild3,
10649 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10650 OPC_MoveParent,
10651 OPC_CheckPatternPredicate6,
10652 OPC_EmitMergeInputChains1_0,
10653 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::LDPTE),
10654 2, 1, 2,
10655 47,
10656 OPC_CheckChild1Integer, 36|128,111,
10657 OPC_RecordChild2,
10658 OPC_RecordChild3,
10659 OPC_Scope, 19,
10660 OPC_CheckChild3TypeI64,
10661 OPC_RecordChild4,
10662 OPC_MoveChild4,
10663 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10664 OPC_MoveParent,
10665 OPC_CheckPatternPredicate2,
10666 OPC_EmitMergeInputChains1_0,
10667 OPC_EmitNodeXForm, 7, 3,
10668 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
10669 3, 1, 2, 4,
10670 19,
10671 OPC_CheckChild3TypeI32,
10672 OPC_RecordChild4,
10673 OPC_MoveChild4,
10674 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10675 OPC_MoveParent,
10676 OPC_CheckPatternPredicate5,
10677 OPC_EmitMergeInputChains1_0,
10678 OPC_EmitNodeXForm, 7, 3,
10679 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
10680 3, 1, 2, 4,
10681 0,
10682 47,
10683 OPC_CheckChild1Integer, 0|128,100,
10684 OPC_RecordChild2,
10685 OPC_RecordChild3,
10686 OPC_Scope, 19,
10687 OPC_CheckChild3TypeI64,
10688 OPC_RecordChild4,
10689 OPC_MoveChild4,
10690 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10691 OPC_MoveParent,
10692 OPC_CheckPatternPredicate3,
10693 OPC_EmitMergeInputChains1_0,
10694 OPC_EmitNodeXForm, 7, 3,
10695 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
10696 3, 1, 2, 4,
10697 19,
10698 OPC_CheckChild3TypeI32,
10699 OPC_RecordChild4,
10700 OPC_MoveChild4,
10701 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10702 OPC_MoveParent,
10703 OPC_CheckPatternPredicate4,
10704 OPC_EmitMergeInputChains1_0,
10705 OPC_EmitNodeXForm, 7, 3,
10706 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
10707 3, 1, 2, 4,
10708 0,
10709 16,
10710 OPC_CheckChild1Integer, 62|128,88,
10711 OPC_RecordChild2,
10712 OPC_RecordChild3,
10713 OPC_RecordChild4,
10714 OPC_CheckPatternPredicate, 8,
10715 OPC_EmitMergeInputChains1_0,
10716 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10717 3, 1, 2, 3,
10718 13,
10719 OPC_CheckChild1Integer, 56|128,88,
10720 OPC_RecordChild2,
10721 OPC_RecordChild3,
10722 OPC_CheckPatternPredicate6,
10723 OPC_EmitMergeInputChains1_0,
10724 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTLE_D),
10725 2, 1, 2,
10726 13,
10727 OPC_CheckChild1Integer, 54|128,88,
10728 OPC_RecordChild2,
10729 OPC_RecordChild3,
10730 OPC_CheckPatternPredicate6,
10731 OPC_EmitMergeInputChains1_0,
10732 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTGT_D),
10733 2, 1, 2,
10734 16,
10735 OPC_CheckChild1Integer, 46|128,111,
10736 OPC_RecordChild2,
10737 OPC_RecordChild3,
10738 OPC_CheckChild3TypeI64,
10739 OPC_RecordChild4,
10740 OPC_CheckPatternPredicate2,
10741 OPC_EmitMergeInputChains1_0,
10742 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTX),
10743 3, 1, 2, 3,
10744 16,
10745 OPC_CheckChild1Integer, 10|128,100,
10746 OPC_RecordChild2,
10747 OPC_RecordChild3,
10748 OPC_CheckChild3TypeI64,
10749 OPC_RecordChild4,
10750 OPC_CheckPatternPredicate3,
10751 OPC_EmitMergeInputChains1_0,
10752 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTX),
10753 3, 1, 2, 3,
10754 0,
10755 17|128,23, TARGET_VAL(ISD::BRCOND),
10756 OPC_RecordNode,
10757 OPC_Scope, 103|128,22,
10758 OPC_MoveChild1,
10759 OPC_SwitchOpcode , 101|128,9, TARGET_VAL(ISD::XOR),
10760 OPC_MoveChild0,
10761 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
10762 OPC_RecordChild0,
10763 OPC_Scope, 109|128,4,
10764 OPC_CheckChild0Type, MVT::f32,
10765 OPC_RecordChild1,
10766 OPC_Scope, 55,
10767 OPC_CheckChild2CondCode, ISD::SETOEQ,
10768 OPC_MoveParent,
10769 OPC_CheckChild1Integer, 3,
10770 OPC_SwitchType , 22, MVT::i64,
10771 OPC_MoveSibling2,
10772 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10773 OPC_RecordNode,
10774 OPC_MoveParent,
10775 OPC_CheckPatternPredicate, 11,
10776 OPC_EmitMergeInputChains1_0,
10777 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
10778 MVT::i64, 2, 1, 2,
10779 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10780 2, 4, 3,
10781 22, MVT::i32,
10782 OPC_MoveSibling2,
10783 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10784 OPC_RecordNode,
10785 OPC_MoveParent,
10786 OPC_CheckPatternPredicate, 12,
10787 OPC_EmitMergeInputChains1_0,
10788 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
10789 MVT::i32, 2, 1, 2,
10790 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10791 2, 4, 3,
10792 0,
10793 55,
10794 OPC_CheckChild2CondCode, ISD::SETOLT,
10795 OPC_MoveParent,
10796 OPC_CheckChild1Integer, 3,
10797 OPC_SwitchType , 22, MVT::i64,
10798 OPC_MoveSibling2,
10799 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10800 OPC_RecordNode,
10801 OPC_MoveParent,
10802 OPC_CheckPatternPredicate, 11,
10803 OPC_EmitMergeInputChains1_0,
10804 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
10805 MVT::i64, 2, 1, 2,
10806 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10807 2, 4, 3,
10808 22, MVT::i32,
10809 OPC_MoveSibling2,
10810 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10811 OPC_RecordNode,
10812 OPC_MoveParent,
10813 OPC_CheckPatternPredicate, 12,
10814 OPC_EmitMergeInputChains1_0,
10815 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
10816 MVT::i32, 2, 1, 2,
10817 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10818 2, 4, 3,
10819 0,
10820 55,
10821 OPC_CheckChild2CondCode, ISD::SETOLE,
10822 OPC_MoveParent,
10823 OPC_CheckChild1Integer, 3,
10824 OPC_SwitchType , 22, MVT::i64,
10825 OPC_MoveSibling2,
10826 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10827 OPC_RecordNode,
10828 OPC_MoveParent,
10829 OPC_CheckPatternPredicate, 11,
10830 OPC_EmitMergeInputChains1_0,
10831 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
10832 MVT::i64, 2, 1, 2,
10833 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10834 2, 4, 3,
10835 22, MVT::i32,
10836 OPC_MoveSibling2,
10837 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10838 OPC_RecordNode,
10839 OPC_MoveParent,
10840 OPC_CheckPatternPredicate, 12,
10841 OPC_EmitMergeInputChains1_0,
10842 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
10843 MVT::i32, 2, 1, 2,
10844 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10845 2, 4, 3,
10846 0,
10847 55,
10848 OPC_CheckChild2CondCode, ISD::SETONE,
10849 OPC_MoveParent,
10850 OPC_CheckChild1Integer, 3,
10851 OPC_SwitchType , 22, MVT::i64,
10852 OPC_MoveSibling2,
10853 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10854 OPC_RecordNode,
10855 OPC_MoveParent,
10856 OPC_CheckPatternPredicate, 11,
10857 OPC_EmitMergeInputChains1_0,
10858 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
10859 MVT::i64, 2, 1, 2,
10860 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10861 2, 4, 3,
10862 22, MVT::i32,
10863 OPC_MoveSibling2,
10864 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10865 OPC_RecordNode,
10866 OPC_MoveParent,
10867 OPC_CheckPatternPredicate, 12,
10868 OPC_EmitMergeInputChains1_0,
10869 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
10870 MVT::i32, 2, 1, 2,
10871 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10872 2, 4, 3,
10873 0,
10874 55,
10875 OPC_CheckChild2CondCode, ISD::SETO,
10876 OPC_MoveParent,
10877 OPC_CheckChild1Integer, 3,
10878 OPC_SwitchType , 22, MVT::i64,
10879 OPC_MoveSibling2,
10880 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10881 OPC_RecordNode,
10882 OPC_MoveParent,
10883 OPC_CheckPatternPredicate, 11,
10884 OPC_EmitMergeInputChains1_0,
10885 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
10886 MVT::i64, 2, 1, 2,
10887 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10888 2, 4, 3,
10889 22, MVT::i32,
10890 OPC_MoveSibling2,
10891 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10892 OPC_RecordNode,
10893 OPC_MoveParent,
10894 OPC_CheckPatternPredicate, 12,
10895 OPC_EmitMergeInputChains1_0,
10896 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
10897 MVT::i32, 2, 1, 2,
10898 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10899 2, 4, 3,
10900 0,
10901 55,
10902 OPC_CheckChild2CondCode, ISD::SETUEQ,
10903 OPC_MoveParent,
10904 OPC_CheckChild1Integer, 3,
10905 OPC_SwitchType , 22, MVT::i64,
10906 OPC_MoveSibling2,
10907 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10908 OPC_RecordNode,
10909 OPC_MoveParent,
10910 OPC_CheckPatternPredicate, 11,
10911 OPC_EmitMergeInputChains1_0,
10912 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
10913 MVT::i64, 2, 1, 2,
10914 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10915 2, 4, 3,
10916 22, MVT::i32,
10917 OPC_MoveSibling2,
10918 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10919 OPC_RecordNode,
10920 OPC_MoveParent,
10921 OPC_CheckPatternPredicate, 12,
10922 OPC_EmitMergeInputChains1_0,
10923 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
10924 MVT::i32, 2, 1, 2,
10925 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10926 2, 4, 3,
10927 0,
10928 55,
10929 OPC_CheckChild2CondCode, ISD::SETULT,
10930 OPC_MoveParent,
10931 OPC_CheckChild1Integer, 3,
10932 OPC_SwitchType , 22, MVT::i64,
10933 OPC_MoveSibling2,
10934 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10935 OPC_RecordNode,
10936 OPC_MoveParent,
10937 OPC_CheckPatternPredicate, 11,
10938 OPC_EmitMergeInputChains1_0,
10939 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
10940 MVT::i64, 2, 1, 2,
10941 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10942 2, 4, 3,
10943 22, MVT::i32,
10944 OPC_MoveSibling2,
10945 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10946 OPC_RecordNode,
10947 OPC_MoveParent,
10948 OPC_CheckPatternPredicate, 12,
10949 OPC_EmitMergeInputChains1_0,
10950 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
10951 MVT::i32, 2, 1, 2,
10952 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10953 2, 4, 3,
10954 0,
10955 55,
10956 OPC_CheckChild2CondCode, ISD::SETULE,
10957 OPC_MoveParent,
10958 OPC_CheckChild1Integer, 3,
10959 OPC_SwitchType , 22, MVT::i64,
10960 OPC_MoveSibling2,
10961 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10962 OPC_RecordNode,
10963 OPC_MoveParent,
10964 OPC_CheckPatternPredicate, 11,
10965 OPC_EmitMergeInputChains1_0,
10966 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
10967 MVT::i64, 2, 1, 2,
10968 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10969 2, 4, 3,
10970 22, MVT::i32,
10971 OPC_MoveSibling2,
10972 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10973 OPC_RecordNode,
10974 OPC_MoveParent,
10975 OPC_CheckPatternPredicate, 12,
10976 OPC_EmitMergeInputChains1_0,
10977 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
10978 MVT::i32, 2, 1, 2,
10979 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10980 2, 4, 3,
10981 0,
10982 55,
10983 OPC_CheckChild2CondCode, ISD::SETUNE,
10984 OPC_MoveParent,
10985 OPC_CheckChild1Integer, 3,
10986 OPC_SwitchType , 22, MVT::i64,
10987 OPC_MoveSibling2,
10988 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10989 OPC_RecordNode,
10990 OPC_MoveParent,
10991 OPC_CheckPatternPredicate, 11,
10992 OPC_EmitMergeInputChains1_0,
10993 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
10994 MVT::i64, 2, 1, 2,
10995 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10996 2, 4, 3,
10997 22, MVT::i32,
10998 OPC_MoveSibling2,
10999 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11000 OPC_RecordNode,
11001 OPC_MoveParent,
11002 OPC_CheckPatternPredicate, 12,
11003 OPC_EmitMergeInputChains1_0,
11004 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11005 MVT::i32, 2, 1, 2,
11006 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11007 2, 4, 3,
11008 0,
11009 55,
11010 OPC_CheckChild2CondCode, ISD::SETUO,
11011 OPC_MoveParent,
11012 OPC_CheckChild1Integer, 3,
11013 OPC_SwitchType , 22, MVT::i64,
11014 OPC_MoveSibling2,
11015 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11016 OPC_RecordNode,
11017 OPC_MoveParent,
11018 OPC_CheckPatternPredicate, 11,
11019 OPC_EmitMergeInputChains1_0,
11020 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11021 MVT::i64, 2, 1, 2,
11022 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11023 2, 4, 3,
11024 22, MVT::i32,
11025 OPC_MoveSibling2,
11026 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11027 OPC_RecordNode,
11028 OPC_MoveParent,
11029 OPC_CheckPatternPredicate, 12,
11030 OPC_EmitMergeInputChains1_0,
11031 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11032 MVT::i32, 2, 1, 2,
11033 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11034 2, 4, 3,
11035 0,
11036 55,
11037 OPC_CheckChild2CondCode, ISD::SETLT,
11038 OPC_MoveParent,
11039 OPC_CheckChild1Integer, 3,
11040 OPC_SwitchType , 22, MVT::i64,
11041 OPC_MoveSibling2,
11042 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11043 OPC_RecordNode,
11044 OPC_MoveParent,
11045 OPC_CheckPatternPredicate, 11,
11046 OPC_EmitMergeInputChains1_0,
11047 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11048 MVT::i64, 2, 1, 2,
11049 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11050 2, 4, 3,
11051 22, MVT::i32,
11052 OPC_MoveSibling2,
11053 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11054 OPC_RecordNode,
11055 OPC_MoveParent,
11056 OPC_CheckPatternPredicate, 12,
11057 OPC_EmitMergeInputChains1_0,
11058 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11059 MVT::i32, 2, 1, 2,
11060 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11061 2, 4, 3,
11062 0,
11063 0,
11064 109|128,4,
11065 OPC_CheckChild0Type, MVT::f64,
11066 OPC_RecordChild1,
11067 OPC_Scope, 55,
11068 OPC_CheckChild2CondCode, ISD::SETOEQ,
11069 OPC_MoveParent,
11070 OPC_CheckChild1Integer, 3,
11071 OPC_SwitchType , 22, MVT::i64,
11072 OPC_MoveSibling2,
11073 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11074 OPC_RecordNode,
11075 OPC_MoveParent,
11076 OPC_CheckPatternPredicate, 13,
11077 OPC_EmitMergeInputChains1_0,
11078 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11079 MVT::i64, 2, 1, 2,
11080 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11081 2, 4, 3,
11082 22, MVT::i32,
11083 OPC_MoveSibling2,
11084 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11085 OPC_RecordNode,
11086 OPC_MoveParent,
11087 OPC_CheckPatternPredicate, 14,
11088 OPC_EmitMergeInputChains1_0,
11089 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11090 MVT::i32, 2, 1, 2,
11091 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11092 2, 4, 3,
11093 0,
11094 55,
11095 OPC_CheckChild2CondCode, ISD::SETOLT,
11096 OPC_MoveParent,
11097 OPC_CheckChild1Integer, 3,
11098 OPC_SwitchType , 22, MVT::i64,
11099 OPC_MoveSibling2,
11100 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11101 OPC_RecordNode,
11102 OPC_MoveParent,
11103 OPC_CheckPatternPredicate, 13,
11104 OPC_EmitMergeInputChains1_0,
11105 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11106 MVT::i64, 2, 1, 2,
11107 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11108 2, 4, 3,
11109 22, MVT::i32,
11110 OPC_MoveSibling2,
11111 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11112 OPC_RecordNode,
11113 OPC_MoveParent,
11114 OPC_CheckPatternPredicate, 14,
11115 OPC_EmitMergeInputChains1_0,
11116 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11117 MVT::i32, 2, 1, 2,
11118 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11119 2, 4, 3,
11120 0,
11121 55,
11122 OPC_CheckChild2CondCode, ISD::SETOLE,
11123 OPC_MoveParent,
11124 OPC_CheckChild1Integer, 3,
11125 OPC_SwitchType , 22, MVT::i64,
11126 OPC_MoveSibling2,
11127 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11128 OPC_RecordNode,
11129 OPC_MoveParent,
11130 OPC_CheckPatternPredicate, 13,
11131 OPC_EmitMergeInputChains1_0,
11132 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11133 MVT::i64, 2, 1, 2,
11134 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11135 2, 4, 3,
11136 22, MVT::i32,
11137 OPC_MoveSibling2,
11138 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11139 OPC_RecordNode,
11140 OPC_MoveParent,
11141 OPC_CheckPatternPredicate, 14,
11142 OPC_EmitMergeInputChains1_0,
11143 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11144 MVT::i32, 2, 1, 2,
11145 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11146 2, 4, 3,
11147 0,
11148 55,
11149 OPC_CheckChild2CondCode, ISD::SETONE,
11150 OPC_MoveParent,
11151 OPC_CheckChild1Integer, 3,
11152 OPC_SwitchType , 22, MVT::i64,
11153 OPC_MoveSibling2,
11154 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11155 OPC_RecordNode,
11156 OPC_MoveParent,
11157 OPC_CheckPatternPredicate, 13,
11158 OPC_EmitMergeInputChains1_0,
11159 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
11160 MVT::i64, 2, 1, 2,
11161 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11162 2, 4, 3,
11163 22, MVT::i32,
11164 OPC_MoveSibling2,
11165 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11166 OPC_RecordNode,
11167 OPC_MoveParent,
11168 OPC_CheckPatternPredicate, 14,
11169 OPC_EmitMergeInputChains1_0,
11170 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
11171 MVT::i32, 2, 1, 2,
11172 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11173 2, 4, 3,
11174 0,
11175 55,
11176 OPC_CheckChild2CondCode, ISD::SETO,
11177 OPC_MoveParent,
11178 OPC_CheckChild1Integer, 3,
11179 OPC_SwitchType , 22, MVT::i64,
11180 OPC_MoveSibling2,
11181 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11182 OPC_RecordNode,
11183 OPC_MoveParent,
11184 OPC_CheckPatternPredicate, 13,
11185 OPC_EmitMergeInputChains1_0,
11186 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
11187 MVT::i64, 2, 1, 2,
11188 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11189 2, 4, 3,
11190 22, MVT::i32,
11191 OPC_MoveSibling2,
11192 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11193 OPC_RecordNode,
11194 OPC_MoveParent,
11195 OPC_CheckPatternPredicate, 14,
11196 OPC_EmitMergeInputChains1_0,
11197 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
11198 MVT::i32, 2, 1, 2,
11199 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11200 2, 4, 3,
11201 0,
11202 55,
11203 OPC_CheckChild2CondCode, ISD::SETUEQ,
11204 OPC_MoveParent,
11205 OPC_CheckChild1Integer, 3,
11206 OPC_SwitchType , 22, MVT::i64,
11207 OPC_MoveSibling2,
11208 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11209 OPC_RecordNode,
11210 OPC_MoveParent,
11211 OPC_CheckPatternPredicate, 13,
11212 OPC_EmitMergeInputChains1_0,
11213 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
11214 MVT::i64, 2, 1, 2,
11215 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11216 2, 4, 3,
11217 22, MVT::i32,
11218 OPC_MoveSibling2,
11219 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11220 OPC_RecordNode,
11221 OPC_MoveParent,
11222 OPC_CheckPatternPredicate, 14,
11223 OPC_EmitMergeInputChains1_0,
11224 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
11225 MVT::i32, 2, 1, 2,
11226 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11227 2, 4, 3,
11228 0,
11229 55,
11230 OPC_CheckChild2CondCode, ISD::SETULT,
11231 OPC_MoveParent,
11232 OPC_CheckChild1Integer, 3,
11233 OPC_SwitchType , 22, MVT::i64,
11234 OPC_MoveSibling2,
11235 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11236 OPC_RecordNode,
11237 OPC_MoveParent,
11238 OPC_CheckPatternPredicate, 13,
11239 OPC_EmitMergeInputChains1_0,
11240 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
11241 MVT::i64, 2, 1, 2,
11242 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11243 2, 4, 3,
11244 22, MVT::i32,
11245 OPC_MoveSibling2,
11246 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11247 OPC_RecordNode,
11248 OPC_MoveParent,
11249 OPC_CheckPatternPredicate, 14,
11250 OPC_EmitMergeInputChains1_0,
11251 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
11252 MVT::i32, 2, 1, 2,
11253 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11254 2, 4, 3,
11255 0,
11256 55,
11257 OPC_CheckChild2CondCode, ISD::SETULE,
11258 OPC_MoveParent,
11259 OPC_CheckChild1Integer, 3,
11260 OPC_SwitchType , 22, MVT::i64,
11261 OPC_MoveSibling2,
11262 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11263 OPC_RecordNode,
11264 OPC_MoveParent,
11265 OPC_CheckPatternPredicate, 13,
11266 OPC_EmitMergeInputChains1_0,
11267 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
11268 MVT::i64, 2, 1, 2,
11269 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11270 2, 4, 3,
11271 22, MVT::i32,
11272 OPC_MoveSibling2,
11273 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11274 OPC_RecordNode,
11275 OPC_MoveParent,
11276 OPC_CheckPatternPredicate, 14,
11277 OPC_EmitMergeInputChains1_0,
11278 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
11279 MVT::i32, 2, 1, 2,
11280 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11281 2, 4, 3,
11282 0,
11283 55,
11284 OPC_CheckChild2CondCode, ISD::SETUNE,
11285 OPC_MoveParent,
11286 OPC_CheckChild1Integer, 3,
11287 OPC_SwitchType , 22, MVT::i64,
11288 OPC_MoveSibling2,
11289 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11290 OPC_RecordNode,
11291 OPC_MoveParent,
11292 OPC_CheckPatternPredicate, 13,
11293 OPC_EmitMergeInputChains1_0,
11294 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
11295 MVT::i64, 2, 1, 2,
11296 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11297 2, 4, 3,
11298 22, MVT::i32,
11299 OPC_MoveSibling2,
11300 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11301 OPC_RecordNode,
11302 OPC_MoveParent,
11303 OPC_CheckPatternPredicate, 14,
11304 OPC_EmitMergeInputChains1_0,
11305 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
11306 MVT::i32, 2, 1, 2,
11307 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11308 2, 4, 3,
11309 0,
11310 55,
11311 OPC_CheckChild2CondCode, ISD::SETUO,
11312 OPC_MoveParent,
11313 OPC_CheckChild1Integer, 3,
11314 OPC_SwitchType , 22, MVT::i64,
11315 OPC_MoveSibling2,
11316 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11317 OPC_RecordNode,
11318 OPC_MoveParent,
11319 OPC_CheckPatternPredicate, 13,
11320 OPC_EmitMergeInputChains1_0,
11321 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
11322 MVT::i64, 2, 1, 2,
11323 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11324 2, 4, 3,
11325 22, MVT::i32,
11326 OPC_MoveSibling2,
11327 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11328 OPC_RecordNode,
11329 OPC_MoveParent,
11330 OPC_CheckPatternPredicate, 14,
11331 OPC_EmitMergeInputChains1_0,
11332 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
11333 MVT::i32, 2, 1, 2,
11334 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11335 2, 4, 3,
11336 0,
11337 55,
11338 OPC_CheckChild2CondCode, ISD::SETLT,
11339 OPC_MoveParent,
11340 OPC_CheckChild1Integer, 3,
11341 OPC_SwitchType , 22, MVT::i64,
11342 OPC_MoveSibling2,
11343 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11344 OPC_RecordNode,
11345 OPC_MoveParent,
11346 OPC_CheckPatternPredicate, 13,
11347 OPC_EmitMergeInputChains1_0,
11348 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11349 MVT::i64, 2, 1, 2,
11350 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11351 2, 4, 3,
11352 22, MVT::i32,
11353 OPC_MoveSibling2,
11354 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11355 OPC_RecordNode,
11356 OPC_MoveParent,
11357 OPC_CheckPatternPredicate, 14,
11358 OPC_EmitMergeInputChains1_0,
11359 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11360 MVT::i32, 2, 1, 2,
11361 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11362 2, 4, 3,
11363 0,
11364 0,
11365 0,
11366 119|128,12, TARGET_VAL(ISD::SETCC),
11367 OPC_RecordChild0,
11368 OPC_Scope, 100|128,1,
11369 OPC_CheckChild0TypeI64,
11370 OPC_CheckTypeI64,
11371 OPC_Scope, 38,
11372 OPC_CheckChild1Integer, 0,
11373 OPC_Scope, 16,
11374 OPC_CheckChild2CondCode, ISD::SETEQ,
11375 OPC_MoveSibling2,
11376 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11377 OPC_RecordNode,
11378 OPC_MoveParent,
11379 OPC_CheckPatternPredicate7,
11380 OPC_EmitMergeInputChains1_0,
11381 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
11382 2, 1, 2,
11383 16,
11384 OPC_CheckChild2CondCode, ISD::SETNE,
11385 OPC_MoveSibling2,
11386 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11387 OPC_RecordNode,
11388 OPC_MoveParent,
11389 OPC_CheckPatternPredicate7,
11390 OPC_EmitMergeInputChains1_0,
11391 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
11392 2, 1, 2,
11393 0,
11394 55|128,1,
11395 OPC_RecordChild1,
11396 OPC_Scope, 17,
11397 OPC_CheckChild2CondCode, ISD::SETEQ,
11398 OPC_MoveSibling2,
11399 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11400 OPC_RecordNode,
11401 OPC_MoveParent,
11402 OPC_CheckPatternPredicate7,
11403 OPC_EmitMergeInputChains1_0,
11404 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
11405 3, 1, 2, 3,
11406 17,
11407 OPC_CheckChild2CondCode, ISD::SETNE,
11408 OPC_MoveSibling2,
11409 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11410 OPC_RecordNode,
11411 OPC_MoveParent,
11412 OPC_CheckPatternPredicate7,
11413 OPC_EmitMergeInputChains1_0,
11414 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
11415 3, 1, 2, 3,
11416 17,
11417 OPC_CheckChild2CondCode, ISD::SETLT,
11418 OPC_MoveSibling2,
11419 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11420 OPC_RecordNode,
11421 OPC_MoveParent,
11422 OPC_CheckPatternPredicate7,
11423 OPC_EmitMergeInputChains1_0,
11424 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11425 3, 1, 2, 3,
11426 17,
11427 OPC_CheckChild2CondCode, ISD::SETGE,
11428 OPC_MoveSibling2,
11429 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11430 OPC_RecordNode,
11431 OPC_MoveParent,
11432 OPC_CheckPatternPredicate7,
11433 OPC_EmitMergeInputChains1_0,
11434 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11435 3, 1, 2, 3,
11436 17,
11437 OPC_CheckChild2CondCode, ISD::SETULT,
11438 OPC_MoveSibling2,
11439 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11440 OPC_RecordNode,
11441 OPC_MoveParent,
11442 OPC_CheckPatternPredicate7,
11443 OPC_EmitMergeInputChains1_0,
11444 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11445 3, 1, 2, 3,
11446 17,
11447 OPC_CheckChild2CondCode, ISD::SETUGE,
11448 OPC_MoveSibling2,
11449 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11450 OPC_RecordNode,
11451 OPC_MoveParent,
11452 OPC_CheckPatternPredicate7,
11453 OPC_EmitMergeInputChains1_0,
11454 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11455 3, 1, 2, 3,
11456 17,
11457 OPC_CheckChild2CondCode, ISD::SETGT,
11458 OPC_MoveSibling2,
11459 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11460 OPC_RecordNode,
11461 OPC_MoveParent,
11462 OPC_CheckPatternPredicate7,
11463 OPC_EmitMergeInputChains1_0,
11464 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11465 3, 2, 1, 3,
11466 17,
11467 OPC_CheckChild2CondCode, ISD::SETLE,
11468 OPC_MoveSibling2,
11469 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11470 OPC_RecordNode,
11471 OPC_MoveParent,
11472 OPC_CheckPatternPredicate7,
11473 OPC_EmitMergeInputChains1_0,
11474 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11475 3, 2, 1, 3,
11476 17,
11477 OPC_CheckChild2CondCode, ISD::SETUGT,
11478 OPC_MoveSibling2,
11479 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11480 OPC_RecordNode,
11481 OPC_MoveParent,
11482 OPC_CheckPatternPredicate7,
11483 OPC_EmitMergeInputChains1_0,
11484 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11485 3, 2, 1, 3,
11486 17,
11487 OPC_CheckChild2CondCode, ISD::SETULE,
11488 OPC_MoveSibling2,
11489 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11490 OPC_RecordNode,
11491 OPC_MoveParent,
11492 OPC_CheckPatternPredicate7,
11493 OPC_EmitMergeInputChains1_0,
11494 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11495 3, 2, 1, 3,
11496 0,
11497 0,
11498 112|128,1,
11499 OPC_CheckChild0TypeI32,
11500 OPC_CheckTypeI32,
11501 OPC_Scope, 40,
11502 OPC_CheckChild1Integer, 0,
11503 OPC_Scope, 17,
11504 OPC_CheckChild2CondCode, ISD::SETEQ,
11505 OPC_MoveSibling2,
11506 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11507 OPC_RecordNode,
11508 OPC_MoveParent,
11509 OPC_CheckPatternPredicate, 8,
11510 OPC_EmitMergeInputChains1_0,
11511 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
11512 2, 1, 2,
11513 17,
11514 OPC_CheckChild2CondCode, ISD::SETNE,
11515 OPC_MoveSibling2,
11516 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11517 OPC_RecordNode,
11518 OPC_MoveParent,
11519 OPC_CheckPatternPredicate, 8,
11520 OPC_EmitMergeInputChains1_0,
11521 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
11522 2, 1, 2,
11523 0,
11524 65|128,1,
11525 OPC_RecordChild1,
11526 OPC_Scope, 18,
11527 OPC_CheckChild2CondCode, ISD::SETEQ,
11528 OPC_MoveSibling2,
11529 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11530 OPC_RecordNode,
11531 OPC_MoveParent,
11532 OPC_CheckPatternPredicate, 8,
11533 OPC_EmitMergeInputChains1_0,
11534 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
11535 3, 1, 2, 3,
11536 18,
11537 OPC_CheckChild2CondCode, ISD::SETNE,
11538 OPC_MoveSibling2,
11539 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11540 OPC_RecordNode,
11541 OPC_MoveParent,
11542 OPC_CheckPatternPredicate, 8,
11543 OPC_EmitMergeInputChains1_0,
11544 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
11545 3, 1, 2, 3,
11546 18,
11547 OPC_CheckChild2CondCode, ISD::SETLT,
11548 OPC_MoveSibling2,
11549 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11550 OPC_RecordNode,
11551 OPC_MoveParent,
11552 OPC_CheckPatternPredicate, 8,
11553 OPC_EmitMergeInputChains1_0,
11554 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11555 3, 1, 2, 3,
11556 18,
11557 OPC_CheckChild2CondCode, ISD::SETGE,
11558 OPC_MoveSibling2,
11559 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11560 OPC_RecordNode,
11561 OPC_MoveParent,
11562 OPC_CheckPatternPredicate, 8,
11563 OPC_EmitMergeInputChains1_0,
11564 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11565 3, 1, 2, 3,
11566 18,
11567 OPC_CheckChild2CondCode, ISD::SETULT,
11568 OPC_MoveSibling2,
11569 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11570 OPC_RecordNode,
11571 OPC_MoveParent,
11572 OPC_CheckPatternPredicate, 8,
11573 OPC_EmitMergeInputChains1_0,
11574 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11575 3, 1, 2, 3,
11576 18,
11577 OPC_CheckChild2CondCode, ISD::SETUGE,
11578 OPC_MoveSibling2,
11579 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11580 OPC_RecordNode,
11581 OPC_MoveParent,
11582 OPC_CheckPatternPredicate, 8,
11583 OPC_EmitMergeInputChains1_0,
11584 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11585 3, 1, 2, 3,
11586 18,
11587 OPC_CheckChild2CondCode, ISD::SETGT,
11588 OPC_MoveSibling2,
11589 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11590 OPC_RecordNode,
11591 OPC_MoveParent,
11592 OPC_CheckPatternPredicate, 8,
11593 OPC_EmitMergeInputChains1_0,
11594 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11595 3, 2, 1, 3,
11596 18,
11597 OPC_CheckChild2CondCode, ISD::SETLE,
11598 OPC_MoveSibling2,
11599 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11600 OPC_RecordNode,
11601 OPC_MoveParent,
11602 OPC_CheckPatternPredicate, 8,
11603 OPC_EmitMergeInputChains1_0,
11604 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11605 3, 2, 1, 3,
11606 18,
11607 OPC_CheckChild2CondCode, ISD::SETUGT,
11608 OPC_MoveSibling2,
11609 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11610 OPC_RecordNode,
11611 OPC_MoveParent,
11612 OPC_CheckPatternPredicate, 8,
11613 OPC_EmitMergeInputChains1_0,
11614 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11615 3, 2, 1, 3,
11616 18,
11617 OPC_CheckChild2CondCode, ISD::SETULE,
11618 OPC_MoveSibling2,
11619 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11620 OPC_RecordNode,
11621 OPC_MoveParent,
11622 OPC_CheckPatternPredicate, 8,
11623 OPC_EmitMergeInputChains1_0,
11624 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11625 3, 2, 1, 3,
11626 0,
11627 0,
11628 76|128,4,
11629 OPC_CheckChild0Type, MVT::f32,
11630 OPC_RecordChild1,
11631 OPC_Scope, 52,
11632 OPC_CheckChild2CondCode, ISD::SETOEQ,
11633 OPC_SwitchType , 22, MVT::i64,
11634 OPC_MoveSibling2,
11635 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11636 OPC_RecordNode,
11637 OPC_MoveParent,
11638 OPC_CheckPatternPredicate, 11,
11639 OPC_EmitMergeInputChains1_0,
11640 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
11641 MVT::i64, 2, 1, 2,
11642 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11643 2, 4, 3,
11644 22, MVT::i32,
11645 OPC_MoveSibling2,
11646 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11647 OPC_RecordNode,
11648 OPC_MoveParent,
11649 OPC_CheckPatternPredicate, 12,
11650 OPC_EmitMergeInputChains1_0,
11651 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
11652 MVT::i32, 2, 1, 2,
11653 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11654 2, 4, 3,
11655 0,
11656 52,
11657 OPC_CheckChild2CondCode, ISD::SETOLT,
11658 OPC_SwitchType , 22, MVT::i64,
11659 OPC_MoveSibling2,
11660 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11661 OPC_RecordNode,
11662 OPC_MoveParent,
11663 OPC_CheckPatternPredicate, 11,
11664 OPC_EmitMergeInputChains1_0,
11665 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11666 MVT::i64, 2, 1, 2,
11667 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11668 2, 4, 3,
11669 22, MVT::i32,
11670 OPC_MoveSibling2,
11671 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11672 OPC_RecordNode,
11673 OPC_MoveParent,
11674 OPC_CheckPatternPredicate, 12,
11675 OPC_EmitMergeInputChains1_0,
11676 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11677 MVT::i32, 2, 1, 2,
11678 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11679 2, 4, 3,
11680 0,
11681 52,
11682 OPC_CheckChild2CondCode, ISD::SETOLE,
11683 OPC_SwitchType , 22, MVT::i64,
11684 OPC_MoveSibling2,
11685 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11686 OPC_RecordNode,
11687 OPC_MoveParent,
11688 OPC_CheckPatternPredicate, 11,
11689 OPC_EmitMergeInputChains1_0,
11690 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
11691 MVT::i64, 2, 1, 2,
11692 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11693 2, 4, 3,
11694 22, MVT::i32,
11695 OPC_MoveSibling2,
11696 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11697 OPC_RecordNode,
11698 OPC_MoveParent,
11699 OPC_CheckPatternPredicate, 12,
11700 OPC_EmitMergeInputChains1_0,
11701 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
11702 MVT::i32, 2, 1, 2,
11703 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11704 2, 4, 3,
11705 0,
11706 52,
11707 OPC_CheckChild2CondCode, ISD::SETONE,
11708 OPC_SwitchType , 22, MVT::i64,
11709 OPC_MoveSibling2,
11710 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11711 OPC_RecordNode,
11712 OPC_MoveParent,
11713 OPC_CheckPatternPredicate, 11,
11714 OPC_EmitMergeInputChains1_0,
11715 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
11716 MVT::i64, 2, 1, 2,
11717 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11718 2, 4, 3,
11719 22, MVT::i32,
11720 OPC_MoveSibling2,
11721 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11722 OPC_RecordNode,
11723 OPC_MoveParent,
11724 OPC_CheckPatternPredicate, 12,
11725 OPC_EmitMergeInputChains1_0,
11726 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
11727 MVT::i32, 2, 1, 2,
11728 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11729 2, 4, 3,
11730 0,
11731 52,
11732 OPC_CheckChild2CondCode, ISD::SETO,
11733 OPC_SwitchType , 22, MVT::i64,
11734 OPC_MoveSibling2,
11735 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11736 OPC_RecordNode,
11737 OPC_MoveParent,
11738 OPC_CheckPatternPredicate, 11,
11739 OPC_EmitMergeInputChains1_0,
11740 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
11741 MVT::i64, 2, 1, 2,
11742 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11743 2, 4, 3,
11744 22, MVT::i32,
11745 OPC_MoveSibling2,
11746 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11747 OPC_RecordNode,
11748 OPC_MoveParent,
11749 OPC_CheckPatternPredicate, 12,
11750 OPC_EmitMergeInputChains1_0,
11751 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
11752 MVT::i32, 2, 1, 2,
11753 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11754 2, 4, 3,
11755 0,
11756 52,
11757 OPC_CheckChild2CondCode, ISD::SETUEQ,
11758 OPC_SwitchType , 22, MVT::i64,
11759 OPC_MoveSibling2,
11760 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11761 OPC_RecordNode,
11762 OPC_MoveParent,
11763 OPC_CheckPatternPredicate, 11,
11764 OPC_EmitMergeInputChains1_0,
11765 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
11766 MVT::i64, 2, 1, 2,
11767 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11768 2, 4, 3,
11769 22, MVT::i32,
11770 OPC_MoveSibling2,
11771 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11772 OPC_RecordNode,
11773 OPC_MoveParent,
11774 OPC_CheckPatternPredicate, 12,
11775 OPC_EmitMergeInputChains1_0,
11776 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
11777 MVT::i32, 2, 1, 2,
11778 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11779 2, 4, 3,
11780 0,
11781 52,
11782 OPC_CheckChild2CondCode, ISD::SETULT,
11783 OPC_SwitchType , 22, MVT::i64,
11784 OPC_MoveSibling2,
11785 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11786 OPC_RecordNode,
11787 OPC_MoveParent,
11788 OPC_CheckPatternPredicate, 11,
11789 OPC_EmitMergeInputChains1_0,
11790 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
11791 MVT::i64, 2, 1, 2,
11792 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11793 2, 4, 3,
11794 22, MVT::i32,
11795 OPC_MoveSibling2,
11796 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11797 OPC_RecordNode,
11798 OPC_MoveParent,
11799 OPC_CheckPatternPredicate, 12,
11800 OPC_EmitMergeInputChains1_0,
11801 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
11802 MVT::i32, 2, 1, 2,
11803 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11804 2, 4, 3,
11805 0,
11806 52,
11807 OPC_CheckChild2CondCode, ISD::SETULE,
11808 OPC_SwitchType , 22, MVT::i64,
11809 OPC_MoveSibling2,
11810 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11811 OPC_RecordNode,
11812 OPC_MoveParent,
11813 OPC_CheckPatternPredicate, 11,
11814 OPC_EmitMergeInputChains1_0,
11815 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
11816 MVT::i64, 2, 1, 2,
11817 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11818 2, 4, 3,
11819 22, MVT::i32,
11820 OPC_MoveSibling2,
11821 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11822 OPC_RecordNode,
11823 OPC_MoveParent,
11824 OPC_CheckPatternPredicate, 12,
11825 OPC_EmitMergeInputChains1_0,
11826 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
11827 MVT::i32, 2, 1, 2,
11828 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11829 2, 4, 3,
11830 0,
11831 52,
11832 OPC_CheckChild2CondCode, ISD::SETUNE,
11833 OPC_SwitchType , 22, MVT::i64,
11834 OPC_MoveSibling2,
11835 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11836 OPC_RecordNode,
11837 OPC_MoveParent,
11838 OPC_CheckPatternPredicate, 11,
11839 OPC_EmitMergeInputChains1_0,
11840 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11841 MVT::i64, 2, 1, 2,
11842 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11843 2, 4, 3,
11844 22, MVT::i32,
11845 OPC_MoveSibling2,
11846 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11847 OPC_RecordNode,
11848 OPC_MoveParent,
11849 OPC_CheckPatternPredicate, 12,
11850 OPC_EmitMergeInputChains1_0,
11851 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11852 MVT::i32, 2, 1, 2,
11853 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11854 2, 4, 3,
11855 0,
11856 52,
11857 OPC_CheckChild2CondCode, ISD::SETUO,
11858 OPC_SwitchType , 22, MVT::i64,
11859 OPC_MoveSibling2,
11860 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11861 OPC_RecordNode,
11862 OPC_MoveParent,
11863 OPC_CheckPatternPredicate, 11,
11864 OPC_EmitMergeInputChains1_0,
11865 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11866 MVT::i64, 2, 1, 2,
11867 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11868 2, 4, 3,
11869 22, MVT::i32,
11870 OPC_MoveSibling2,
11871 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11872 OPC_RecordNode,
11873 OPC_MoveParent,
11874 OPC_CheckPatternPredicate, 12,
11875 OPC_EmitMergeInputChains1_0,
11876 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11877 MVT::i32, 2, 1, 2,
11878 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11879 2, 4, 3,
11880 0,
11881 52,
11882 OPC_CheckChild2CondCode, ISD::SETLT,
11883 OPC_SwitchType , 22, MVT::i64,
11884 OPC_MoveSibling2,
11885 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11886 OPC_RecordNode,
11887 OPC_MoveParent,
11888 OPC_CheckPatternPredicate, 11,
11889 OPC_EmitMergeInputChains1_0,
11890 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11891 MVT::i64, 2, 1, 2,
11892 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11893 2, 4, 3,
11894 22, MVT::i32,
11895 OPC_MoveSibling2,
11896 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11897 OPC_RecordNode,
11898 OPC_MoveParent,
11899 OPC_CheckPatternPredicate, 12,
11900 OPC_EmitMergeInputChains1_0,
11901 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11902 MVT::i32, 2, 1, 2,
11903 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11904 2, 4, 3,
11905 0,
11906 0,
11907 76|128,4,
11908 OPC_CheckChild0Type, MVT::f64,
11909 OPC_RecordChild1,
11910 OPC_Scope, 52,
11911 OPC_CheckChild2CondCode, ISD::SETOEQ,
11912 OPC_SwitchType , 22, MVT::i64,
11913 OPC_MoveSibling2,
11914 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11915 OPC_RecordNode,
11916 OPC_MoveParent,
11917 OPC_CheckPatternPredicate, 13,
11918 OPC_EmitMergeInputChains1_0,
11919 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11920 MVT::i64, 2, 1, 2,
11921 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11922 2, 4, 3,
11923 22, MVT::i32,
11924 OPC_MoveSibling2,
11925 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11926 OPC_RecordNode,
11927 OPC_MoveParent,
11928 OPC_CheckPatternPredicate, 14,
11929 OPC_EmitMergeInputChains1_0,
11930 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11931 MVT::i32, 2, 1, 2,
11932 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11933 2, 4, 3,
11934 0,
11935 52,
11936 OPC_CheckChild2CondCode, ISD::SETOLT,
11937 OPC_SwitchType , 22, MVT::i64,
11938 OPC_MoveSibling2,
11939 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11940 OPC_RecordNode,
11941 OPC_MoveParent,
11942 OPC_CheckPatternPredicate, 13,
11943 OPC_EmitMergeInputChains1_0,
11944 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11945 MVT::i64, 2, 1, 2,
11946 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11947 2, 4, 3,
11948 22, MVT::i32,
11949 OPC_MoveSibling2,
11950 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11951 OPC_RecordNode,
11952 OPC_MoveParent,
11953 OPC_CheckPatternPredicate, 14,
11954 OPC_EmitMergeInputChains1_0,
11955 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11956 MVT::i32, 2, 1, 2,
11957 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11958 2, 4, 3,
11959 0,
11960 52,
11961 OPC_CheckChild2CondCode, ISD::SETOLE,
11962 OPC_SwitchType , 22, MVT::i64,
11963 OPC_MoveSibling2,
11964 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11965 OPC_RecordNode,
11966 OPC_MoveParent,
11967 OPC_CheckPatternPredicate, 13,
11968 OPC_EmitMergeInputChains1_0,
11969 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11970 MVT::i64, 2, 1, 2,
11971 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11972 2, 4, 3,
11973 22, MVT::i32,
11974 OPC_MoveSibling2,
11975 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11976 OPC_RecordNode,
11977 OPC_MoveParent,
11978 OPC_CheckPatternPredicate, 14,
11979 OPC_EmitMergeInputChains1_0,
11980 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11981 MVT::i32, 2, 1, 2,
11982 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11983 2, 4, 3,
11984 0,
11985 52,
11986 OPC_CheckChild2CondCode, ISD::SETONE,
11987 OPC_SwitchType , 22, MVT::i64,
11988 OPC_MoveSibling2,
11989 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11990 OPC_RecordNode,
11991 OPC_MoveParent,
11992 OPC_CheckPatternPredicate, 13,
11993 OPC_EmitMergeInputChains1_0,
11994 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
11995 MVT::i64, 2, 1, 2,
11996 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11997 2, 4, 3,
11998 22, MVT::i32,
11999 OPC_MoveSibling2,
12000 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12001 OPC_RecordNode,
12002 OPC_MoveParent,
12003 OPC_CheckPatternPredicate, 14,
12004 OPC_EmitMergeInputChains1_0,
12005 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
12006 MVT::i32, 2, 1, 2,
12007 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12008 2, 4, 3,
12009 0,
12010 52,
12011 OPC_CheckChild2CondCode, ISD::SETO,
12012 OPC_SwitchType , 22, MVT::i64,
12013 OPC_MoveSibling2,
12014 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12015 OPC_RecordNode,
12016 OPC_MoveParent,
12017 OPC_CheckPatternPredicate, 13,
12018 OPC_EmitMergeInputChains1_0,
12019 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
12020 MVT::i64, 2, 1, 2,
12021 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12022 2, 4, 3,
12023 22, MVT::i32,
12024 OPC_MoveSibling2,
12025 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12026 OPC_RecordNode,
12027 OPC_MoveParent,
12028 OPC_CheckPatternPredicate, 14,
12029 OPC_EmitMergeInputChains1_0,
12030 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
12031 MVT::i32, 2, 1, 2,
12032 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12033 2, 4, 3,
12034 0,
12035 52,
12036 OPC_CheckChild2CondCode, ISD::SETUEQ,
12037 OPC_SwitchType , 22, MVT::i64,
12038 OPC_MoveSibling2,
12039 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12040 OPC_RecordNode,
12041 OPC_MoveParent,
12042 OPC_CheckPatternPredicate, 13,
12043 OPC_EmitMergeInputChains1_0,
12044 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
12045 MVT::i64, 2, 1, 2,
12046 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12047 2, 4, 3,
12048 22, MVT::i32,
12049 OPC_MoveSibling2,
12050 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12051 OPC_RecordNode,
12052 OPC_MoveParent,
12053 OPC_CheckPatternPredicate, 14,
12054 OPC_EmitMergeInputChains1_0,
12055 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
12056 MVT::i32, 2, 1, 2,
12057 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12058 2, 4, 3,
12059 0,
12060 52,
12061 OPC_CheckChild2CondCode, ISD::SETULT,
12062 OPC_SwitchType , 22, MVT::i64,
12063 OPC_MoveSibling2,
12064 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12065 OPC_RecordNode,
12066 OPC_MoveParent,
12067 OPC_CheckPatternPredicate, 13,
12068 OPC_EmitMergeInputChains1_0,
12069 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
12070 MVT::i64, 2, 1, 2,
12071 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12072 2, 4, 3,
12073 22, MVT::i32,
12074 OPC_MoveSibling2,
12075 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12076 OPC_RecordNode,
12077 OPC_MoveParent,
12078 OPC_CheckPatternPredicate, 14,
12079 OPC_EmitMergeInputChains1_0,
12080 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
12081 MVT::i32, 2, 1, 2,
12082 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12083 2, 4, 3,
12084 0,
12085 52,
12086 OPC_CheckChild2CondCode, ISD::SETULE,
12087 OPC_SwitchType , 22, MVT::i64,
12088 OPC_MoveSibling2,
12089 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12090 OPC_RecordNode,
12091 OPC_MoveParent,
12092 OPC_CheckPatternPredicate, 13,
12093 OPC_EmitMergeInputChains1_0,
12094 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
12095 MVT::i64, 2, 1, 2,
12096 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12097 2, 4, 3,
12098 22, MVT::i32,
12099 OPC_MoveSibling2,
12100 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12101 OPC_RecordNode,
12102 OPC_MoveParent,
12103 OPC_CheckPatternPredicate, 14,
12104 OPC_EmitMergeInputChains1_0,
12105 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
12106 MVT::i32, 2, 1, 2,
12107 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12108 2, 4, 3,
12109 0,
12110 52,
12111 OPC_CheckChild2CondCode, ISD::SETUNE,
12112 OPC_SwitchType , 22, MVT::i64,
12113 OPC_MoveSibling2,
12114 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12115 OPC_RecordNode,
12116 OPC_MoveParent,
12117 OPC_CheckPatternPredicate, 13,
12118 OPC_EmitMergeInputChains1_0,
12119 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
12120 MVT::i64, 2, 1, 2,
12121 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12122 2, 4, 3,
12123 22, MVT::i32,
12124 OPC_MoveSibling2,
12125 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12126 OPC_RecordNode,
12127 OPC_MoveParent,
12128 OPC_CheckPatternPredicate, 14,
12129 OPC_EmitMergeInputChains1_0,
12130 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
12131 MVT::i32, 2, 1, 2,
12132 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12133 2, 4, 3,
12134 0,
12135 52,
12136 OPC_CheckChild2CondCode, ISD::SETUO,
12137 OPC_SwitchType , 22, MVT::i64,
12138 OPC_MoveSibling2,
12139 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12140 OPC_RecordNode,
12141 OPC_MoveParent,
12142 OPC_CheckPatternPredicate, 13,
12143 OPC_EmitMergeInputChains1_0,
12144 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
12145 MVT::i64, 2, 1, 2,
12146 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12147 2, 4, 3,
12148 22, MVT::i32,
12149 OPC_MoveSibling2,
12150 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12151 OPC_RecordNode,
12152 OPC_MoveParent,
12153 OPC_CheckPatternPredicate, 14,
12154 OPC_EmitMergeInputChains1_0,
12155 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
12156 MVT::i32, 2, 1, 2,
12157 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12158 2, 4, 3,
12159 0,
12160 52,
12161 OPC_CheckChild2CondCode, ISD::SETLT,
12162 OPC_SwitchType , 22, MVT::i64,
12163 OPC_MoveSibling2,
12164 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12165 OPC_RecordNode,
12166 OPC_MoveParent,
12167 OPC_CheckPatternPredicate, 13,
12168 OPC_EmitMergeInputChains1_0,
12169 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
12170 MVT::i64, 2, 1, 2,
12171 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12172 2, 4, 3,
12173 22, MVT::i32,
12174 OPC_MoveSibling2,
12175 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12176 OPC_RecordNode,
12177 OPC_MoveParent,
12178 OPC_CheckPatternPredicate, 14,
12179 OPC_EmitMergeInputChains1_0,
12180 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
12181 MVT::i32, 2, 1, 2,
12182 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12183 2, 4, 3,
12184 0,
12185 0,
12186 0,
12187 0,
12188 36,
12189 OPC_RecordChild1,
12190 OPC_Scope, 15,
12191 OPC_CheckChild1TypeI64,
12192 OPC_RecordChild2,
12193 OPC_MoveChild2,
12194 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12195 OPC_MoveParent,
12196 OPC_CheckPatternPredicate7,
12197 OPC_EmitMergeInputChains1_0,
12198 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
12199 2, 1, 2,
12200 16,
12201 OPC_CheckChild1TypeI32,
12202 OPC_RecordChild2,
12203 OPC_MoveChild2,
12204 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12205 OPC_MoveParent,
12206 OPC_CheckPatternPredicate, 8,
12207 OPC_EmitMergeInputChains1_0,
12208 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
12209 2, 1, 2,
12210 0,
12211 0,
12212 124|128,30, TARGET_VAL(ISD::XOR),
12213 OPC_Scope, 32,
12214 OPC_MoveChild0,
12215 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
12216 OPC_RecordChild0,
12217 OPC_RecordChild1,
12218 OPC_MoveParent,
12219 OPC_CheckChild1Integer, 3,
12220 OPC_SwitchType , 8, MVT::i64,
12221 OPC_CheckPatternPredicate7,
12222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12223 MVT::i64, 2, 0, 1,
12224 9, MVT::i32,
12225 OPC_CheckPatternPredicate, 8,
12226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12227 MVT::i32, 2, 0, 1,
12228 0,
12229 60|128,1,
12230 OPC_RecordChild0,
12231 OPC_Scope, 29,
12232 OPC_CheckChild1Integer, 3,
12233 OPC_SwitchType , 10, MVT::i64,
12234 OPC_CheckPatternPredicate7,
12235 OPC_EmitRegisterI64, LoongArch::R0,
12236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12237 MVT::i64, 2, 0, 1,
12238 11, MVT::i32,
12239 OPC_CheckPatternPredicate, 8,
12240 OPC_EmitRegisterI32, LoongArch::R0,
12241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12242 MVT::i32, 2, 0, 1,
12243 0,
12244 57,
12245 OPC_RecordChild1,
12246 OPC_Scope, 32,
12247 OPC_MoveChild1,
12248 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12249 OPC_CheckPredicate, 40,
12250 OPC_MoveParent,
12251 OPC_SwitchType , 9, MVT::i64,
12252 OPC_CheckPatternPredicate7,
12253 OPC_EmitConvertToTarget1,
12254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
12255 MVT::i64, 2, 0, 2,
12256 10, MVT::i32,
12257 OPC_CheckPatternPredicate, 8,
12258 OPC_EmitConvertToTarget1,
12259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
12260 MVT::i32, 2, 0, 2,
12261 0,
12262 9,
12263 OPC_CheckTypeI64,
12264 OPC_CheckPatternPredicate7,
12265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
12266 MVT::i64, 2, 0, 1,
12267 10,
12268 OPC_CheckTypeI32,
12269 OPC_CheckPatternPredicate, 8,
12270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
12271 MVT::i32, 2, 0, 1,
12272 0,
12273 96,
12274 OPC_MoveChild1,
12275 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12276 OPC_MoveChild0,
12277 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12278 OPC_MoveChild0,
12279 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12280 OPC_CheckType, MVT::v4i32,
12281 OPC_MoveParent,
12282 OPC_CheckPredicate0,
12283 OPC_MoveSibling1,
12284 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12285 OPC_Scope, 44,
12286 OPC_RecordChild0,
12287 OPC_MoveChild1,
12288 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12289 OPC_MoveChild0,
12290 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12291 OPC_CheckType, MVT::v4i32,
12292 OPC_MoveParent,
12293 OPC_CheckPredicate3,
12294 OPC_MoveParent,
12295 OPC_SwitchType , 12, MVT::v2i64,
12296 OPC_MoveParent,
12297 OPC_MoveParent,
12298 OPC_CheckType, MVT::v2i64,
12299 OPC_CheckPatternPredicate1,
12300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12301 MVT::v2i64, 2, 0, 1,
12302 12, MVT::v4i64,
12303 OPC_MoveParent,
12304 OPC_MoveParent,
12305 OPC_CheckType, MVT::v4i64,
12306 OPC_CheckPatternPredicate0,
12307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12308 MVT::v4i64, 2, 0, 1,
12309 0,
12310 28,
12311 OPC_MoveChild0,
12312 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12313 OPC_MoveChild0,
12314 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12315 OPC_CheckType, MVT::v4i32,
12316 OPC_MoveParent,
12317 OPC_CheckPredicate3,
12318 OPC_MoveParent,
12319 OPC_RecordChild1,
12320 OPC_CheckType, MVT::v2i64,
12321 OPC_MoveParent,
12322 OPC_MoveParent,
12323 OPC_CheckType, MVT::v2i64,
12324 OPC_CheckPatternPredicate1,
12325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12326 MVT::v2i64, 2, 0, 1,
12327 0,
12328 0,
12329 82,
12330 OPC_MoveChild0,
12331 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12332 OPC_MoveChild0,
12333 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12334 OPC_MoveChild0,
12335 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12336 OPC_CheckType, MVT::v4i32,
12337 OPC_MoveParent,
12338 OPC_CheckPredicate0,
12339 OPC_MoveSibling1,
12340 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12341 OPC_Scope, 29,
12342 OPC_RecordChild0,
12343 OPC_MoveChild1,
12344 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12345 OPC_MoveChild0,
12346 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12347 OPC_CheckType, MVT::v4i32,
12348 OPC_MoveParent,
12349 OPC_CheckPredicate3,
12350 OPC_MoveParent,
12351 OPC_CheckType, MVT::v2i64,
12352 OPC_MoveParent,
12353 OPC_MoveParent,
12354 OPC_RecordChild1,
12355 OPC_CheckType, MVT::v2i64,
12356 OPC_CheckPatternPredicate1,
12357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12358 MVT::v2i64, 2, 1, 0,
12359 29,
12360 OPC_MoveChild0,
12361 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12362 OPC_MoveChild0,
12363 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12364 OPC_CheckType, MVT::v4i32,
12365 OPC_MoveParent,
12366 OPC_CheckPredicate3,
12367 OPC_MoveParent,
12368 OPC_RecordChild1,
12369 OPC_CheckType, MVT::v2i64,
12370 OPC_MoveParent,
12371 OPC_MoveParent,
12372 OPC_RecordChild1,
12373 OPC_CheckType, MVT::v2i64,
12374 OPC_CheckPatternPredicate1,
12375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12376 MVT::v2i64, 2, 1, 0,
12377 0,
12378 49,
12379 OPC_RecordChild0,
12380 OPC_MoveChild1,
12381 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12382 OPC_MoveChild0,
12383 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12384 OPC_MoveChild0,
12385 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12386 OPC_CheckType, MVT::v4i32,
12387 OPC_MoveParent,
12388 OPC_CheckPredicate0,
12389 OPC_MoveSibling1,
12390 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12391 OPC_MoveChild0,
12392 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12393 OPC_MoveChild0,
12394 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12395 OPC_CheckType, MVT::v4i32,
12396 OPC_MoveParent,
12397 OPC_CheckPredicate3,
12398 OPC_MoveParent,
12399 OPC_RecordChild1,
12400 OPC_CheckType, MVT::v4i64,
12401 OPC_MoveParent,
12402 OPC_MoveParent,
12403 OPC_CheckType, MVT::v4i64,
12404 OPC_CheckPatternPredicate0,
12405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12406 MVT::v4i64, 2, 0, 1,
12407 82,
12408 OPC_MoveChild0,
12409 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12410 OPC_MoveChild0,
12411 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12412 OPC_MoveChild0,
12413 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12414 OPC_CheckType, MVT::v4i32,
12415 OPC_MoveParent,
12416 OPC_CheckPredicate0,
12417 OPC_MoveSibling1,
12418 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12419 OPC_Scope, 29,
12420 OPC_RecordChild0,
12421 OPC_MoveChild1,
12422 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12423 OPC_MoveChild0,
12424 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12425 OPC_CheckType, MVT::v4i32,
12426 OPC_MoveParent,
12427 OPC_CheckPredicate3,
12428 OPC_MoveParent,
12429 OPC_CheckType, MVT::v4i64,
12430 OPC_MoveParent,
12431 OPC_MoveParent,
12432 OPC_RecordChild1,
12433 OPC_CheckType, MVT::v4i64,
12434 OPC_CheckPatternPredicate0,
12435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12436 MVT::v4i64, 2, 1, 0,
12437 29,
12438 OPC_MoveChild0,
12439 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12440 OPC_MoveChild0,
12441 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12442 OPC_CheckType, MVT::v4i32,
12443 OPC_MoveParent,
12444 OPC_CheckPredicate3,
12445 OPC_MoveParent,
12446 OPC_RecordChild1,
12447 OPC_CheckType, MVT::v4i64,
12448 OPC_MoveParent,
12449 OPC_MoveParent,
12450 OPC_RecordChild1,
12451 OPC_CheckType, MVT::v4i64,
12452 OPC_CheckPatternPredicate0,
12453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12454 MVT::v4i64, 2, 1, 0,
12455 0,
12456 103|128,1,
12457 OPC_RecordChild0,
12458 OPC_MoveChild1,
12459 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12460 OPC_MoveChild0,
12461 OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::BITCAST),
12462 OPC_MoveChild0,
12463 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12464 OPC_CheckType, MVT::v4i32,
12465 OPC_MoveParent,
12466 OPC_CheckPredicate0,
12467 OPC_MoveSibling1,
12468 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12469 OPC_Scope, 1|128,1,
12470 OPC_RecordChild0,
12471 OPC_MoveChild1,
12472 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12473 OPC_Scope, 16,
12474 OPC_CheckPredicate7,
12475 OPC_MoveParent,
12476 OPC_CheckType, MVT::v16i8,
12477 OPC_MoveParent,
12478 OPC_MoveParent,
12479 OPC_CheckType, MVT::v16i8,
12480 OPC_CheckPatternPredicate1,
12481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12482 MVT::v16i8, 2, 0, 1,
12483 17,
12484 OPC_CheckPredicate, 8,
12485 OPC_MoveParent,
12486 OPC_CheckType, MVT::v8i16,
12487 OPC_MoveParent,
12488 OPC_MoveParent,
12489 OPC_CheckType, MVT::v8i16,
12490 OPC_CheckPatternPredicate1,
12491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12492 MVT::v8i16, 2, 0, 1,
12493 16,
12494 OPC_CheckPredicate3,
12495 OPC_MoveParent,
12496 OPC_CheckType, MVT::v2i64,
12497 OPC_MoveParent,
12498 OPC_MoveParent,
12499 OPC_CheckType, MVT::v2i64,
12500 OPC_CheckPatternPredicate1,
12501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12502 MVT::v2i64, 2, 0, 1,
12503 16,
12504 OPC_CheckPredicate7,
12505 OPC_MoveParent,
12506 OPC_CheckType, MVT::v32i8,
12507 OPC_MoveParent,
12508 OPC_MoveParent,
12509 OPC_CheckType, MVT::v32i8,
12510 OPC_CheckPatternPredicate0,
12511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12512 MVT::v32i8, 2, 0, 1,
12513 17,
12514 OPC_CheckPredicate, 8,
12515 OPC_MoveParent,
12516 OPC_CheckType, MVT::v16i16,
12517 OPC_MoveParent,
12518 OPC_MoveParent,
12519 OPC_CheckType, MVT::v16i16,
12520 OPC_CheckPatternPredicate0,
12521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12522 MVT::v16i16, 2, 0, 1,
12523 17,
12524 OPC_CheckPredicate, 9,
12525 OPC_MoveParent,
12526 OPC_CheckType, MVT::v8i32,
12527 OPC_MoveParent,
12528 OPC_MoveParent,
12529 OPC_CheckType, MVT::v8i32,
12530 OPC_CheckPatternPredicate0,
12531 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12532 MVT::v8i32, 2, 0, 1,
12533 16,
12534 OPC_CheckPredicate3,
12535 OPC_MoveParent,
12536 OPC_CheckType, MVT::v4i64,
12537 OPC_MoveParent,
12538 OPC_MoveParent,
12539 OPC_CheckType, MVT::v4i64,
12540 OPC_CheckPatternPredicate0,
12541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12542 MVT::v4i64, 2, 0, 1,
12543 0,
12544 21,
12545 OPC_MoveChild0,
12546 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12547 OPC_CheckPredicate7,
12548 OPC_MoveParent,
12549 OPC_RecordChild1,
12550 OPC_CheckType, MVT::v16i8,
12551 OPC_MoveParent,
12552 OPC_MoveParent,
12553 OPC_CheckType, MVT::v16i8,
12554 OPC_CheckPatternPredicate1,
12555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12556 MVT::v16i8, 2, 0, 1,
12557 0,
12558 49, TARGET_VAL(ISD::BUILD_VECTOR),
12559 OPC_CheckPredicate0,
12560 OPC_MoveSibling1,
12561 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12562 OPC_RecordChild0,
12563 OPC_MoveChild1,
12564 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12565 OPC_MoveChild0,
12566 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12567 OPC_CheckType, MVT::v4i32,
12568 OPC_MoveParent,
12569 OPC_CheckPredicate3,
12570 OPC_MoveParent,
12571 OPC_SwitchType , 12, MVT::v2i64,
12572 OPC_MoveParent,
12573 OPC_MoveParent,
12574 OPC_CheckType, MVT::v2i64,
12575 OPC_CheckPatternPredicate1,
12576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12577 MVT::v2i64, 2, 0, 1,
12578 12, MVT::v4i64,
12579 OPC_MoveParent,
12580 OPC_MoveParent,
12581 OPC_CheckType, MVT::v4i64,
12582 OPC_CheckPatternPredicate0,
12583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12584 MVT::v4i64, 2, 0, 1,
12585 0,
12586 0,
12587 68,
12588 OPC_MoveChild0,
12589 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12590 OPC_MoveChild0,
12591 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12592 OPC_MoveChild0,
12593 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12594 OPC_CheckType, MVT::v4i32,
12595 OPC_MoveParent,
12596 OPC_CheckPredicate0,
12597 OPC_MoveSibling1,
12598 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12599 OPC_Scope, 22,
12600 OPC_RecordChild0,
12601 OPC_MoveChild1,
12602 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12603 OPC_CheckPredicate7,
12604 OPC_MoveParent,
12605 OPC_CheckType, MVT::v16i8,
12606 OPC_MoveParent,
12607 OPC_MoveParent,
12608 OPC_RecordChild1,
12609 OPC_CheckType, MVT::v16i8,
12610 OPC_CheckPatternPredicate1,
12611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12612 MVT::v16i8, 2, 1, 0,
12613 22,
12614 OPC_MoveChild0,
12615 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12616 OPC_CheckPredicate7,
12617 OPC_MoveParent,
12618 OPC_RecordChild1,
12619 OPC_CheckType, MVT::v16i8,
12620 OPC_MoveParent,
12621 OPC_MoveParent,
12622 OPC_RecordChild1,
12623 OPC_CheckType, MVT::v16i8,
12624 OPC_CheckPatternPredicate1,
12625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12626 MVT::v16i8, 2, 1, 0,
12627 0,
12628 43,
12629 OPC_RecordChild0,
12630 OPC_MoveChild1,
12631 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12632 OPC_MoveChild0,
12633 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12634 OPC_MoveChild0,
12635 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12636 OPC_CheckType, MVT::v4i32,
12637 OPC_MoveParent,
12638 OPC_CheckPredicate0,
12639 OPC_MoveSibling1,
12640 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12641 OPC_MoveChild0,
12642 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12643 OPC_CheckPredicate, 8,
12644 OPC_MoveParent,
12645 OPC_RecordChild1,
12646 OPC_CheckType, MVT::v8i16,
12647 OPC_MoveParent,
12648 OPC_MoveParent,
12649 OPC_CheckType, MVT::v8i16,
12650 OPC_CheckPatternPredicate1,
12651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12652 MVT::v8i16, 2, 0, 1,
12653 70,
12654 OPC_MoveChild0,
12655 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12656 OPC_MoveChild0,
12657 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12658 OPC_MoveChild0,
12659 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12660 OPC_CheckType, MVT::v4i32,
12661 OPC_MoveParent,
12662 OPC_CheckPredicate0,
12663 OPC_MoveSibling1,
12664 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12665 OPC_Scope, 23,
12666 OPC_RecordChild0,
12667 OPC_MoveChild1,
12668 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12669 OPC_CheckPredicate, 8,
12670 OPC_MoveParent,
12671 OPC_CheckType, MVT::v8i16,
12672 OPC_MoveParent,
12673 OPC_MoveParent,
12674 OPC_RecordChild1,
12675 OPC_CheckType, MVT::v8i16,
12676 OPC_CheckPatternPredicate1,
12677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12678 MVT::v8i16, 2, 1, 0,
12679 23,
12680 OPC_MoveChild0,
12681 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12682 OPC_CheckPredicate, 8,
12683 OPC_MoveParent,
12684 OPC_RecordChild1,
12685 OPC_CheckType, MVT::v8i16,
12686 OPC_MoveParent,
12687 OPC_MoveParent,
12688 OPC_RecordChild1,
12689 OPC_CheckType, MVT::v8i16,
12690 OPC_CheckPatternPredicate1,
12691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12692 MVT::v8i16, 2, 1, 0,
12693 0,
12694 42,
12695 OPC_RecordChild0,
12696 OPC_MoveChild1,
12697 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12698 OPC_MoveChild0,
12699 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12700 OPC_CheckPredicate0,
12701 OPC_MoveSibling1,
12702 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12703 OPC_MoveChild0,
12704 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12705 OPC_MoveChild0,
12706 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12707 OPC_CheckType, MVT::v4i32,
12708 OPC_MoveParent,
12709 OPC_CheckPredicate3,
12710 OPC_MoveParent,
12711 OPC_RecordChild1,
12712 OPC_CheckType, MVT::v2i64,
12713 OPC_MoveParent,
12714 OPC_MoveParent,
12715 OPC_CheckType, MVT::v2i64,
12716 OPC_CheckPatternPredicate1,
12717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12718 MVT::v2i64, 2, 0, 1,
12719 75,
12720 OPC_MoveChild0,
12721 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12722 OPC_MoveChild0,
12723 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12724 OPC_CheckPredicate0,
12725 OPC_MoveSibling1,
12726 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12727 OPC_Scope, 29,
12728 OPC_RecordChild0,
12729 OPC_MoveChild1,
12730 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12731 OPC_MoveChild0,
12732 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12733 OPC_CheckType, MVT::v4i32,
12734 OPC_MoveParent,
12735 OPC_CheckPredicate3,
12736 OPC_MoveParent,
12737 OPC_CheckType, MVT::v2i64,
12738 OPC_MoveParent,
12739 OPC_MoveParent,
12740 OPC_RecordChild1,
12741 OPC_CheckType, MVT::v2i64,
12742 OPC_CheckPatternPredicate1,
12743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12744 MVT::v2i64, 2, 1, 0,
12745 29,
12746 OPC_MoveChild0,
12747 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12748 OPC_MoveChild0,
12749 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12750 OPC_CheckType, MVT::v4i32,
12751 OPC_MoveParent,
12752 OPC_CheckPredicate3,
12753 OPC_MoveParent,
12754 OPC_RecordChild1,
12755 OPC_CheckType, MVT::v2i64,
12756 OPC_MoveParent,
12757 OPC_MoveParent,
12758 OPC_RecordChild1,
12759 OPC_CheckType, MVT::v2i64,
12760 OPC_CheckPatternPredicate1,
12761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12762 MVT::v2i64, 2, 1, 0,
12763 0,
12764 42,
12765 OPC_RecordChild0,
12766 OPC_MoveChild1,
12767 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12768 OPC_MoveChild0,
12769 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12770 OPC_MoveChild0,
12771 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12772 OPC_CheckType, MVT::v4i32,
12773 OPC_MoveParent,
12774 OPC_CheckPredicate0,
12775 OPC_MoveSibling1,
12776 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12777 OPC_MoveChild0,
12778 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12779 OPC_CheckPredicate3,
12780 OPC_MoveParent,
12781 OPC_RecordChild1,
12782 OPC_CheckType, MVT::v2i64,
12783 OPC_MoveParent,
12784 OPC_MoveParent,
12785 OPC_CheckType, MVT::v2i64,
12786 OPC_CheckPatternPredicate1,
12787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12788 MVT::v2i64, 2, 0, 1,
12789 68,
12790 OPC_MoveChild0,
12791 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12792 OPC_MoveChild0,
12793 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12794 OPC_MoveChild0,
12795 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12796 OPC_CheckType, MVT::v4i32,
12797 OPC_MoveParent,
12798 OPC_CheckPredicate0,
12799 OPC_MoveSibling1,
12800 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12801 OPC_Scope, 22,
12802 OPC_RecordChild0,
12803 OPC_MoveChild1,
12804 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12805 OPC_CheckPredicate3,
12806 OPC_MoveParent,
12807 OPC_CheckType, MVT::v2i64,
12808 OPC_MoveParent,
12809 OPC_MoveParent,
12810 OPC_RecordChild1,
12811 OPC_CheckType, MVT::v2i64,
12812 OPC_CheckPatternPredicate1,
12813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12814 MVT::v2i64, 2, 1, 0,
12815 22,
12816 OPC_MoveChild0,
12817 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12818 OPC_CheckPredicate3,
12819 OPC_MoveParent,
12820 OPC_RecordChild1,
12821 OPC_CheckType, MVT::v2i64,
12822 OPC_MoveParent,
12823 OPC_MoveParent,
12824 OPC_RecordChild1,
12825 OPC_CheckType, MVT::v2i64,
12826 OPC_CheckPatternPredicate1,
12827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12828 MVT::v2i64, 2, 1, 0,
12829 0,
12830 42,
12831 OPC_RecordChild0,
12832 OPC_MoveChild1,
12833 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12834 OPC_MoveChild0,
12835 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12836 OPC_MoveChild0,
12837 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12838 OPC_CheckType, MVT::v4i32,
12839 OPC_MoveParent,
12840 OPC_CheckPredicate0,
12841 OPC_MoveSibling1,
12842 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12843 OPC_MoveChild0,
12844 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12845 OPC_CheckPredicate7,
12846 OPC_MoveParent,
12847 OPC_RecordChild1,
12848 OPC_CheckType, MVT::v32i8,
12849 OPC_MoveParent,
12850 OPC_MoveParent,
12851 OPC_CheckType, MVT::v32i8,
12852 OPC_CheckPatternPredicate0,
12853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12854 MVT::v32i8, 2, 0, 1,
12855 68,
12856 OPC_MoveChild0,
12857 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12858 OPC_MoveChild0,
12859 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12860 OPC_MoveChild0,
12861 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12862 OPC_CheckType, MVT::v4i32,
12863 OPC_MoveParent,
12864 OPC_CheckPredicate0,
12865 OPC_MoveSibling1,
12866 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12867 OPC_Scope, 22,
12868 OPC_RecordChild0,
12869 OPC_MoveChild1,
12870 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12871 OPC_CheckPredicate7,
12872 OPC_MoveParent,
12873 OPC_CheckType, MVT::v32i8,
12874 OPC_MoveParent,
12875 OPC_MoveParent,
12876 OPC_RecordChild1,
12877 OPC_CheckType, MVT::v32i8,
12878 OPC_CheckPatternPredicate0,
12879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12880 MVT::v32i8, 2, 1, 0,
12881 22,
12882 OPC_MoveChild0,
12883 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12884 OPC_CheckPredicate7,
12885 OPC_MoveParent,
12886 OPC_RecordChild1,
12887 OPC_CheckType, MVT::v32i8,
12888 OPC_MoveParent,
12889 OPC_MoveParent,
12890 OPC_RecordChild1,
12891 OPC_CheckType, MVT::v32i8,
12892 OPC_CheckPatternPredicate0,
12893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12894 MVT::v32i8, 2, 1, 0,
12895 0,
12896 43,
12897 OPC_RecordChild0,
12898 OPC_MoveChild1,
12899 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12900 OPC_MoveChild0,
12901 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12902 OPC_MoveChild0,
12903 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12904 OPC_CheckType, MVT::v4i32,
12905 OPC_MoveParent,
12906 OPC_CheckPredicate0,
12907 OPC_MoveSibling1,
12908 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12909 OPC_MoveChild0,
12910 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12911 OPC_CheckPredicate, 8,
12912 OPC_MoveParent,
12913 OPC_RecordChild1,
12914 OPC_CheckType, MVT::v16i16,
12915 OPC_MoveParent,
12916 OPC_MoveParent,
12917 OPC_CheckType, MVT::v16i16,
12918 OPC_CheckPatternPredicate0,
12919 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12920 MVT::v16i16, 2, 0, 1,
12921 70,
12922 OPC_MoveChild0,
12923 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12924 OPC_MoveChild0,
12925 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12926 OPC_MoveChild0,
12927 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12928 OPC_CheckType, MVT::v4i32,
12929 OPC_MoveParent,
12930 OPC_CheckPredicate0,
12931 OPC_MoveSibling1,
12932 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12933 OPC_Scope, 23,
12934 OPC_RecordChild0,
12935 OPC_MoveChild1,
12936 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12937 OPC_CheckPredicate, 8,
12938 OPC_MoveParent,
12939 OPC_CheckType, MVT::v16i16,
12940 OPC_MoveParent,
12941 OPC_MoveParent,
12942 OPC_RecordChild1,
12943 OPC_CheckType, MVT::v16i16,
12944 OPC_CheckPatternPredicate0,
12945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12946 MVT::v16i16, 2, 1, 0,
12947 23,
12948 OPC_MoveChild0,
12949 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12950 OPC_CheckPredicate, 8,
12951 OPC_MoveParent,
12952 OPC_RecordChild1,
12953 OPC_CheckType, MVT::v16i16,
12954 OPC_MoveParent,
12955 OPC_MoveParent,
12956 OPC_RecordChild1,
12957 OPC_CheckType, MVT::v16i16,
12958 OPC_CheckPatternPredicate0,
12959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12960 MVT::v16i16, 2, 1, 0,
12961 0,
12962 43,
12963 OPC_RecordChild0,
12964 OPC_MoveChild1,
12965 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12966 OPC_MoveChild0,
12967 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12968 OPC_MoveChild0,
12969 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12970 OPC_CheckType, MVT::v4i32,
12971 OPC_MoveParent,
12972 OPC_CheckPredicate0,
12973 OPC_MoveSibling1,
12974 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12975 OPC_MoveChild0,
12976 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12977 OPC_CheckPredicate, 9,
12978 OPC_MoveParent,
12979 OPC_RecordChild1,
12980 OPC_CheckType, MVT::v8i32,
12981 OPC_MoveParent,
12982 OPC_MoveParent,
12983 OPC_CheckType, MVT::v8i32,
12984 OPC_CheckPatternPredicate0,
12985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12986 MVT::v8i32, 2, 0, 1,
12987 70,
12988 OPC_MoveChild0,
12989 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12990 OPC_MoveChild0,
12991 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12992 OPC_MoveChild0,
12993 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12994 OPC_CheckType, MVT::v4i32,
12995 OPC_MoveParent,
12996 OPC_CheckPredicate0,
12997 OPC_MoveSibling1,
12998 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12999 OPC_Scope, 23,
13000 OPC_RecordChild0,
13001 OPC_MoveChild1,
13002 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13003 OPC_CheckPredicate, 9,
13004 OPC_MoveParent,
13005 OPC_CheckType, MVT::v8i32,
13006 OPC_MoveParent,
13007 OPC_MoveParent,
13008 OPC_RecordChild1,
13009 OPC_CheckType, MVT::v8i32,
13010 OPC_CheckPatternPredicate0,
13011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13012 MVT::v8i32, 2, 1, 0,
13013 23,
13014 OPC_MoveChild0,
13015 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13016 OPC_CheckPredicate, 9,
13017 OPC_MoveParent,
13018 OPC_RecordChild1,
13019 OPC_CheckType, MVT::v8i32,
13020 OPC_MoveParent,
13021 OPC_MoveParent,
13022 OPC_RecordChild1,
13023 OPC_CheckType, MVT::v8i32,
13024 OPC_CheckPatternPredicate0,
13025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13026 MVT::v8i32, 2, 1, 0,
13027 0,
13028 42,
13029 OPC_RecordChild0,
13030 OPC_MoveChild1,
13031 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13032 OPC_MoveChild0,
13033 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13034 OPC_CheckPredicate0,
13035 OPC_MoveSibling1,
13036 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13037 OPC_MoveChild0,
13038 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13039 OPC_MoveChild0,
13040 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13041 OPC_CheckType, MVT::v4i32,
13042 OPC_MoveParent,
13043 OPC_CheckPredicate3,
13044 OPC_MoveParent,
13045 OPC_RecordChild1,
13046 OPC_CheckType, MVT::v4i64,
13047 OPC_MoveParent,
13048 OPC_MoveParent,
13049 OPC_CheckType, MVT::v4i64,
13050 OPC_CheckPatternPredicate0,
13051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13052 MVT::v4i64, 2, 0, 1,
13053 75,
13054 OPC_MoveChild0,
13055 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13056 OPC_MoveChild0,
13057 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13058 OPC_CheckPredicate0,
13059 OPC_MoveSibling1,
13060 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13061 OPC_Scope, 29,
13062 OPC_RecordChild0,
13063 OPC_MoveChild1,
13064 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13065 OPC_MoveChild0,
13066 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13067 OPC_CheckType, MVT::v4i32,
13068 OPC_MoveParent,
13069 OPC_CheckPredicate3,
13070 OPC_MoveParent,
13071 OPC_CheckType, MVT::v4i64,
13072 OPC_MoveParent,
13073 OPC_MoveParent,
13074 OPC_RecordChild1,
13075 OPC_CheckType, MVT::v4i64,
13076 OPC_CheckPatternPredicate0,
13077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13078 MVT::v4i64, 2, 1, 0,
13079 29,
13080 OPC_MoveChild0,
13081 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13082 OPC_MoveChild0,
13083 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13084 OPC_CheckType, MVT::v4i32,
13085 OPC_MoveParent,
13086 OPC_CheckPredicate3,
13087 OPC_MoveParent,
13088 OPC_RecordChild1,
13089 OPC_CheckType, MVT::v4i64,
13090 OPC_MoveParent,
13091 OPC_MoveParent,
13092 OPC_RecordChild1,
13093 OPC_CheckType, MVT::v4i64,
13094 OPC_CheckPatternPredicate0,
13095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13096 MVT::v4i64, 2, 1, 0,
13097 0,
13098 42,
13099 OPC_RecordChild0,
13100 OPC_MoveChild1,
13101 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13102 OPC_MoveChild0,
13103 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13104 OPC_MoveChild0,
13105 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13106 OPC_CheckType, MVT::v4i32,
13107 OPC_MoveParent,
13108 OPC_CheckPredicate0,
13109 OPC_MoveSibling1,
13110 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13111 OPC_MoveChild0,
13112 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13113 OPC_CheckPredicate3,
13114 OPC_MoveParent,
13115 OPC_RecordChild1,
13116 OPC_CheckType, MVT::v4i64,
13117 OPC_MoveParent,
13118 OPC_MoveParent,
13119 OPC_CheckType, MVT::v4i64,
13120 OPC_CheckPatternPredicate0,
13121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13122 MVT::v4i64, 2, 0, 1,
13123 68,
13124 OPC_MoveChild0,
13125 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13126 OPC_MoveChild0,
13127 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13128 OPC_MoveChild0,
13129 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13130 OPC_CheckType, MVT::v4i32,
13131 OPC_MoveParent,
13132 OPC_CheckPredicate0,
13133 OPC_MoveSibling1,
13134 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13135 OPC_Scope, 22,
13136 OPC_RecordChild0,
13137 OPC_MoveChild1,
13138 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13139 OPC_CheckPredicate3,
13140 OPC_MoveParent,
13141 OPC_CheckType, MVT::v4i64,
13142 OPC_MoveParent,
13143 OPC_MoveParent,
13144 OPC_RecordChild1,
13145 OPC_CheckType, MVT::v4i64,
13146 OPC_CheckPatternPredicate0,
13147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13148 MVT::v4i64, 2, 1, 0,
13149 22,
13150 OPC_MoveChild0,
13151 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13152 OPC_CheckPredicate3,
13153 OPC_MoveParent,
13154 OPC_RecordChild1,
13155 OPC_CheckType, MVT::v4i64,
13156 OPC_MoveParent,
13157 OPC_MoveParent,
13158 OPC_RecordChild1,
13159 OPC_CheckType, MVT::v4i64,
13160 OPC_CheckPatternPredicate0,
13161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13162 MVT::v4i64, 2, 1, 0,
13163 0,
13164 59|128,1,
13165 OPC_RecordChild0,
13166 OPC_MoveChild1,
13167 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13168 OPC_MoveChild0,
13169 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13170 OPC_CheckPredicate0,
13171 OPC_MoveSibling1,
13172 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13173 OPC_Scope, 19|128,1,
13174 OPC_RecordChild0,
13175 OPC_MoveChild1,
13176 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13177 OPC_Scope, 16,
13178 OPC_CheckPredicate7,
13179 OPC_MoveParent,
13180 OPC_CheckType, MVT::v16i8,
13181 OPC_MoveParent,
13182 OPC_MoveParent,
13183 OPC_CheckType, MVT::v16i8,
13184 OPC_CheckPatternPredicate1,
13185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13186 MVT::v16i8, 2, 0, 1,
13187 17,
13188 OPC_CheckPredicate, 8,
13189 OPC_MoveParent,
13190 OPC_CheckType, MVT::v8i16,
13191 OPC_MoveParent,
13192 OPC_MoveParent,
13193 OPC_CheckType, MVT::v8i16,
13194 OPC_CheckPatternPredicate1,
13195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13196 MVT::v8i16, 2, 0, 1,
13197 17,
13198 OPC_CheckPredicate, 9,
13199 OPC_MoveParent,
13200 OPC_CheckType, MVT::v4i32,
13201 OPC_MoveParent,
13202 OPC_MoveParent,
13203 OPC_CheckType, MVT::v4i32,
13204 OPC_CheckPatternPredicate1,
13205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13206 MVT::v4i32, 2, 0, 1,
13207 16,
13208 OPC_CheckPredicate3,
13209 OPC_MoveParent,
13210 OPC_CheckType, MVT::v2i64,
13211 OPC_MoveParent,
13212 OPC_MoveParent,
13213 OPC_CheckType, MVT::v2i64,
13214 OPC_CheckPatternPredicate1,
13215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13216 MVT::v2i64, 2, 0, 1,
13217 16,
13218 OPC_CheckPredicate7,
13219 OPC_MoveParent,
13220 OPC_CheckType, MVT::v32i8,
13221 OPC_MoveParent,
13222 OPC_MoveParent,
13223 OPC_CheckType, MVT::v32i8,
13224 OPC_CheckPatternPredicate0,
13225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13226 MVT::v32i8, 2, 0, 1,
13227 17,
13228 OPC_CheckPredicate, 8,
13229 OPC_MoveParent,
13230 OPC_CheckType, MVT::v16i16,
13231 OPC_MoveParent,
13232 OPC_MoveParent,
13233 OPC_CheckType, MVT::v16i16,
13234 OPC_CheckPatternPredicate0,
13235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13236 MVT::v16i16, 2, 0, 1,
13237 17,
13238 OPC_CheckPredicate, 9,
13239 OPC_MoveParent,
13240 OPC_CheckType, MVT::v8i32,
13241 OPC_MoveParent,
13242 OPC_MoveParent,
13243 OPC_CheckType, MVT::v8i32,
13244 OPC_CheckPatternPredicate0,
13245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13246 MVT::v8i32, 2, 0, 1,
13247 16,
13248 OPC_CheckPredicate3,
13249 OPC_MoveParent,
13250 OPC_CheckType, MVT::v4i64,
13251 OPC_MoveParent,
13252 OPC_MoveParent,
13253 OPC_CheckType, MVT::v4i64,
13254 OPC_CheckPatternPredicate0,
13255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13256 MVT::v4i64, 2, 0, 1,
13257 0,
13258 21,
13259 OPC_MoveChild0,
13260 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13261 OPC_CheckPredicate7,
13262 OPC_MoveParent,
13263 OPC_RecordChild1,
13264 OPC_CheckType, MVT::v16i8,
13265 OPC_MoveParent,
13266 OPC_MoveParent,
13267 OPC_CheckType, MVT::v16i8,
13268 OPC_CheckPatternPredicate1,
13269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13270 MVT::v16i8, 2, 0, 1,
13271 0,
13272 61,
13273 OPC_MoveChild0,
13274 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13275 OPC_MoveChild0,
13276 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13277 OPC_CheckPredicate0,
13278 OPC_MoveSibling1,
13279 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13280 OPC_Scope, 22,
13281 OPC_RecordChild0,
13282 OPC_MoveChild1,
13283 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13284 OPC_CheckPredicate7,
13285 OPC_MoveParent,
13286 OPC_CheckType, MVT::v16i8,
13287 OPC_MoveParent,
13288 OPC_MoveParent,
13289 OPC_RecordChild1,
13290 OPC_CheckType, MVT::v16i8,
13291 OPC_CheckPatternPredicate1,
13292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13293 MVT::v16i8, 2, 1, 0,
13294 22,
13295 OPC_MoveChild0,
13296 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13297 OPC_CheckPredicate7,
13298 OPC_MoveParent,
13299 OPC_RecordChild1,
13300 OPC_CheckType, MVT::v16i8,
13301 OPC_MoveParent,
13302 OPC_MoveParent,
13303 OPC_RecordChild1,
13304 OPC_CheckType, MVT::v16i8,
13305 OPC_CheckPatternPredicate1,
13306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13307 MVT::v16i8, 2, 1, 0,
13308 0,
13309 36,
13310 OPC_RecordChild0,
13311 OPC_MoveChild1,
13312 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13313 OPC_MoveChild0,
13314 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13315 OPC_CheckPredicate0,
13316 OPC_MoveSibling1,
13317 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13318 OPC_MoveChild0,
13319 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13320 OPC_CheckPredicate, 8,
13321 OPC_MoveParent,
13322 OPC_RecordChild1,
13323 OPC_CheckType, MVT::v8i16,
13324 OPC_MoveParent,
13325 OPC_MoveParent,
13326 OPC_CheckType, MVT::v8i16,
13327 OPC_CheckPatternPredicate1,
13328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13329 MVT::v8i16, 2, 0, 1,
13330 63,
13331 OPC_MoveChild0,
13332 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13333 OPC_MoveChild0,
13334 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13335 OPC_CheckPredicate0,
13336 OPC_MoveSibling1,
13337 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13338 OPC_Scope, 23,
13339 OPC_RecordChild0,
13340 OPC_MoveChild1,
13341 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13342 OPC_CheckPredicate, 8,
13343 OPC_MoveParent,
13344 OPC_CheckType, MVT::v8i16,
13345 OPC_MoveParent,
13346 OPC_MoveParent,
13347 OPC_RecordChild1,
13348 OPC_CheckType, MVT::v8i16,
13349 OPC_CheckPatternPredicate1,
13350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13351 MVT::v8i16, 2, 1, 0,
13352 23,
13353 OPC_MoveChild0,
13354 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13355 OPC_CheckPredicate, 8,
13356 OPC_MoveParent,
13357 OPC_RecordChild1,
13358 OPC_CheckType, MVT::v8i16,
13359 OPC_MoveParent,
13360 OPC_MoveParent,
13361 OPC_RecordChild1,
13362 OPC_CheckType, MVT::v8i16,
13363 OPC_CheckPatternPredicate1,
13364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13365 MVT::v8i16, 2, 1, 0,
13366 0,
13367 36,
13368 OPC_RecordChild0,
13369 OPC_MoveChild1,
13370 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13371 OPC_MoveChild0,
13372 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13373 OPC_CheckPredicate0,
13374 OPC_MoveSibling1,
13375 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13376 OPC_MoveChild0,
13377 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13378 OPC_CheckPredicate, 9,
13379 OPC_MoveParent,
13380 OPC_RecordChild1,
13381 OPC_CheckType, MVT::v4i32,
13382 OPC_MoveParent,
13383 OPC_MoveParent,
13384 OPC_CheckType, MVT::v4i32,
13385 OPC_CheckPatternPredicate1,
13386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13387 MVT::v4i32, 2, 0, 1,
13388 63,
13389 OPC_MoveChild0,
13390 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13391 OPC_MoveChild0,
13392 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13393 OPC_CheckPredicate0,
13394 OPC_MoveSibling1,
13395 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13396 OPC_Scope, 23,
13397 OPC_RecordChild0,
13398 OPC_MoveChild1,
13399 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13400 OPC_CheckPredicate, 9,
13401 OPC_MoveParent,
13402 OPC_CheckType, MVT::v4i32,
13403 OPC_MoveParent,
13404 OPC_MoveParent,
13405 OPC_RecordChild1,
13406 OPC_CheckType, MVT::v4i32,
13407 OPC_CheckPatternPredicate1,
13408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13409 MVT::v4i32, 2, 1, 0,
13410 23,
13411 OPC_MoveChild0,
13412 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13413 OPC_CheckPredicate, 9,
13414 OPC_MoveParent,
13415 OPC_RecordChild1,
13416 OPC_CheckType, MVT::v4i32,
13417 OPC_MoveParent,
13418 OPC_MoveParent,
13419 OPC_RecordChild1,
13420 OPC_CheckType, MVT::v4i32,
13421 OPC_CheckPatternPredicate1,
13422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13423 MVT::v4i32, 2, 1, 0,
13424 0,
13425 35,
13426 OPC_RecordChild0,
13427 OPC_MoveChild1,
13428 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13429 OPC_MoveChild0,
13430 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13431 OPC_CheckPredicate0,
13432 OPC_MoveSibling1,
13433 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13434 OPC_MoveChild0,
13435 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13436 OPC_CheckPredicate3,
13437 OPC_MoveParent,
13438 OPC_RecordChild1,
13439 OPC_CheckType, MVT::v2i64,
13440 OPC_MoveParent,
13441 OPC_MoveParent,
13442 OPC_CheckType, MVT::v2i64,
13443 OPC_CheckPatternPredicate1,
13444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13445 MVT::v2i64, 2, 0, 1,
13446 61,
13447 OPC_MoveChild0,
13448 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13449 OPC_MoveChild0,
13450 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13451 OPC_CheckPredicate0,
13452 OPC_MoveSibling1,
13453 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13454 OPC_Scope, 22,
13455 OPC_RecordChild0,
13456 OPC_MoveChild1,
13457 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13458 OPC_CheckPredicate3,
13459 OPC_MoveParent,
13460 OPC_CheckType, MVT::v2i64,
13461 OPC_MoveParent,
13462 OPC_MoveParent,
13463 OPC_RecordChild1,
13464 OPC_CheckType, MVT::v2i64,
13465 OPC_CheckPatternPredicate1,
13466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13467 MVT::v2i64, 2, 1, 0,
13468 22,
13469 OPC_MoveChild0,
13470 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13471 OPC_CheckPredicate3,
13472 OPC_MoveParent,
13473 OPC_RecordChild1,
13474 OPC_CheckType, MVT::v2i64,
13475 OPC_MoveParent,
13476 OPC_MoveParent,
13477 OPC_RecordChild1,
13478 OPC_CheckType, MVT::v2i64,
13479 OPC_CheckPatternPredicate1,
13480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13481 MVT::v2i64, 2, 1, 0,
13482 0,
13483 35,
13484 OPC_RecordChild0,
13485 OPC_MoveChild1,
13486 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13487 OPC_MoveChild0,
13488 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13489 OPC_CheckPredicate0,
13490 OPC_MoveSibling1,
13491 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13492 OPC_MoveChild0,
13493 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13494 OPC_CheckPredicate7,
13495 OPC_MoveParent,
13496 OPC_RecordChild1,
13497 OPC_CheckType, MVT::v32i8,
13498 OPC_MoveParent,
13499 OPC_MoveParent,
13500 OPC_CheckType, MVT::v32i8,
13501 OPC_CheckPatternPredicate0,
13502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13503 MVT::v32i8, 2, 0, 1,
13504 61,
13505 OPC_MoveChild0,
13506 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13507 OPC_MoveChild0,
13508 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13509 OPC_CheckPredicate0,
13510 OPC_MoveSibling1,
13511 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13512 OPC_Scope, 22,
13513 OPC_RecordChild0,
13514 OPC_MoveChild1,
13515 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13516 OPC_CheckPredicate7,
13517 OPC_MoveParent,
13518 OPC_CheckType, MVT::v32i8,
13519 OPC_MoveParent,
13520 OPC_MoveParent,
13521 OPC_RecordChild1,
13522 OPC_CheckType, MVT::v32i8,
13523 OPC_CheckPatternPredicate0,
13524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13525 MVT::v32i8, 2, 1, 0,
13526 22,
13527 OPC_MoveChild0,
13528 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13529 OPC_CheckPredicate7,
13530 OPC_MoveParent,
13531 OPC_RecordChild1,
13532 OPC_CheckType, MVT::v32i8,
13533 OPC_MoveParent,
13534 OPC_MoveParent,
13535 OPC_RecordChild1,
13536 OPC_CheckType, MVT::v32i8,
13537 OPC_CheckPatternPredicate0,
13538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13539 MVT::v32i8, 2, 1, 0,
13540 0,
13541 36,
13542 OPC_RecordChild0,
13543 OPC_MoveChild1,
13544 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13545 OPC_MoveChild0,
13546 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13547 OPC_CheckPredicate0,
13548 OPC_MoveSibling1,
13549 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13550 OPC_MoveChild0,
13551 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13552 OPC_CheckPredicate, 8,
13553 OPC_MoveParent,
13554 OPC_RecordChild1,
13555 OPC_CheckType, MVT::v16i16,
13556 OPC_MoveParent,
13557 OPC_MoveParent,
13558 OPC_CheckType, MVT::v16i16,
13559 OPC_CheckPatternPredicate0,
13560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13561 MVT::v16i16, 2, 0, 1,
13562 63,
13563 OPC_MoveChild0,
13564 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13565 OPC_MoveChild0,
13566 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13567 OPC_CheckPredicate0,
13568 OPC_MoveSibling1,
13569 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13570 OPC_Scope, 23,
13571 OPC_RecordChild0,
13572 OPC_MoveChild1,
13573 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13574 OPC_CheckPredicate, 8,
13575 OPC_MoveParent,
13576 OPC_CheckType, MVT::v16i16,
13577 OPC_MoveParent,
13578 OPC_MoveParent,
13579 OPC_RecordChild1,
13580 OPC_CheckType, MVT::v16i16,
13581 OPC_CheckPatternPredicate0,
13582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13583 MVT::v16i16, 2, 1, 0,
13584 23,
13585 OPC_MoveChild0,
13586 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13587 OPC_CheckPredicate, 8,
13588 OPC_MoveParent,
13589 OPC_RecordChild1,
13590 OPC_CheckType, MVT::v16i16,
13591 OPC_MoveParent,
13592 OPC_MoveParent,
13593 OPC_RecordChild1,
13594 OPC_CheckType, MVT::v16i16,
13595 OPC_CheckPatternPredicate0,
13596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13597 MVT::v16i16, 2, 1, 0,
13598 0,
13599 36,
13600 OPC_RecordChild0,
13601 OPC_MoveChild1,
13602 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13603 OPC_MoveChild0,
13604 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13605 OPC_CheckPredicate0,
13606 OPC_MoveSibling1,
13607 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13608 OPC_MoveChild0,
13609 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13610 OPC_CheckPredicate, 9,
13611 OPC_MoveParent,
13612 OPC_RecordChild1,
13613 OPC_CheckType, MVT::v8i32,
13614 OPC_MoveParent,
13615 OPC_MoveParent,
13616 OPC_CheckType, MVT::v8i32,
13617 OPC_CheckPatternPredicate0,
13618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13619 MVT::v8i32, 2, 0, 1,
13620 63,
13621 OPC_MoveChild0,
13622 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13623 OPC_MoveChild0,
13624 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13625 OPC_CheckPredicate0,
13626 OPC_MoveSibling1,
13627 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13628 OPC_Scope, 23,
13629 OPC_RecordChild0,
13630 OPC_MoveChild1,
13631 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13632 OPC_CheckPredicate, 9,
13633 OPC_MoveParent,
13634 OPC_CheckType, MVT::v8i32,
13635 OPC_MoveParent,
13636 OPC_MoveParent,
13637 OPC_RecordChild1,
13638 OPC_CheckType, MVT::v8i32,
13639 OPC_CheckPatternPredicate0,
13640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13641 MVT::v8i32, 2, 1, 0,
13642 23,
13643 OPC_MoveChild0,
13644 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13645 OPC_CheckPredicate, 9,
13646 OPC_MoveParent,
13647 OPC_RecordChild1,
13648 OPC_CheckType, MVT::v8i32,
13649 OPC_MoveParent,
13650 OPC_MoveParent,
13651 OPC_RecordChild1,
13652 OPC_CheckType, MVT::v8i32,
13653 OPC_CheckPatternPredicate0,
13654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13655 MVT::v8i32, 2, 1, 0,
13656 0,
13657 35,
13658 OPC_RecordChild0,
13659 OPC_MoveChild1,
13660 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13661 OPC_MoveChild0,
13662 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13663 OPC_CheckPredicate0,
13664 OPC_MoveSibling1,
13665 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13666 OPC_MoveChild0,
13667 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13668 OPC_CheckPredicate3,
13669 OPC_MoveParent,
13670 OPC_RecordChild1,
13671 OPC_CheckType, MVT::v4i64,
13672 OPC_MoveParent,
13673 OPC_MoveParent,
13674 OPC_CheckType, MVT::v4i64,
13675 OPC_CheckPatternPredicate0,
13676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13677 MVT::v4i64, 2, 0, 1,
13678 61,
13679 OPC_MoveChild0,
13680 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13681 OPC_MoveChild0,
13682 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13683 OPC_CheckPredicate0,
13684 OPC_MoveSibling1,
13685 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13686 OPC_Scope, 22,
13687 OPC_RecordChild0,
13688 OPC_MoveChild1,
13689 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13690 OPC_CheckPredicate3,
13691 OPC_MoveParent,
13692 OPC_CheckType, MVT::v4i64,
13693 OPC_MoveParent,
13694 OPC_MoveParent,
13695 OPC_RecordChild1,
13696 OPC_CheckType, MVT::v4i64,
13697 OPC_CheckPatternPredicate0,
13698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13699 MVT::v4i64, 2, 1, 0,
13700 22,
13701 OPC_MoveChild0,
13702 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13703 OPC_CheckPredicate3,
13704 OPC_MoveParent,
13705 OPC_RecordChild1,
13706 OPC_CheckType, MVT::v4i64,
13707 OPC_MoveParent,
13708 OPC_MoveParent,
13709 OPC_RecordChild1,
13710 OPC_CheckType, MVT::v4i64,
13711 OPC_CheckPatternPredicate0,
13712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13713 MVT::v4i64, 2, 1, 0,
13714 0,
13715 61,
13716 OPC_RecordChild0,
13717 OPC_MoveChild1,
13718 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13719 OPC_MoveChild0,
13720 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13721 OPC_MoveSibling1,
13722 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13723 OPC_Scope, 22,
13724 OPC_RecordChild0,
13725 OPC_MoveChild1,
13726 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13727 OPC_CheckPredicate, 9,
13728 OPC_MoveParent,
13729 OPC_CheckType, MVT::v4i32,
13730 OPC_MoveParent,
13731 OPC_MoveParent,
13732 OPC_CheckType, MVT::v4i32,
13733 OPC_CheckPatternPredicate1,
13734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13735 MVT::v4i32, 2, 0, 1,
13736 22,
13737 OPC_MoveChild0,
13738 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13739 OPC_CheckPredicate, 9,
13740 OPC_MoveParent,
13741 OPC_RecordChild1,
13742 OPC_CheckType, MVT::v4i32,
13743 OPC_MoveParent,
13744 OPC_MoveParent,
13745 OPC_CheckType, MVT::v4i32,
13746 OPC_CheckPatternPredicate1,
13747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13748 MVT::v4i32, 2, 0, 1,
13749 0,
13750 62,
13751 OPC_MoveChild0,
13752 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13753 OPC_MoveChild0,
13754 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13755 OPC_MoveSibling1,
13756 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13757 OPC_Scope, 23,
13758 OPC_RecordChild0,
13759 OPC_MoveChild1,
13760 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13761 OPC_CheckPredicate, 9,
13762 OPC_MoveParent,
13763 OPC_CheckType, MVT::v4i32,
13764 OPC_MoveParent,
13765 OPC_MoveParent,
13766 OPC_RecordChild1,
13767 OPC_CheckType, MVT::v4i32,
13768 OPC_CheckPatternPredicate1,
13769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13770 MVT::v4i32, 2, 1, 0,
13771 23,
13772 OPC_MoveChild0,
13773 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13774 OPC_CheckPredicate, 9,
13775 OPC_MoveParent,
13776 OPC_RecordChild1,
13777 OPC_CheckType, MVT::v4i32,
13778 OPC_MoveParent,
13779 OPC_MoveParent,
13780 OPC_RecordChild1,
13781 OPC_CheckType, MVT::v4i32,
13782 OPC_CheckPatternPredicate1,
13783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13784 MVT::v4i32, 2, 1, 0,
13785 0,
13786 119,
13787 OPC_RecordChild0,
13788 OPC_MoveChild1,
13789 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13790 OPC_MoveChild0,
13791 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13792 OPC_MoveChild0,
13793 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13794 OPC_CheckType, MVT::v4i32,
13795 OPC_MoveParent,
13796 OPC_CheckPredicate0,
13797 OPC_MoveParent,
13798 OPC_RecordChild1,
13799 OPC_Scope, 13,
13800 OPC_CheckChild1Type, MVT::v16i8,
13801 OPC_MoveParent,
13802 OPC_CheckType, MVT::v16i8,
13803 OPC_CheckPatternPredicate1,
13804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13805 MVT::v16i8, 2, 0, 1,
13806 13,
13807 OPC_CheckChild1Type, MVT::v8i16,
13808 OPC_MoveParent,
13809 OPC_CheckType, MVT::v8i16,
13810 OPC_CheckPatternPredicate1,
13811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13812 MVT::v8i16, 2, 0, 1,
13813 13,
13814 OPC_CheckChild1Type, MVT::v2i64,
13815 OPC_MoveParent,
13816 OPC_CheckType, MVT::v2i64,
13817 OPC_CheckPatternPredicate1,
13818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13819 MVT::v2i64, 2, 0, 1,
13820 13,
13821 OPC_CheckChild1Type, MVT::v32i8,
13822 OPC_MoveParent,
13823 OPC_CheckType, MVT::v32i8,
13824 OPC_CheckPatternPredicate0,
13825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13826 MVT::v32i8, 2, 0, 1,
13827 13,
13828 OPC_CheckChild1Type, MVT::v16i16,
13829 OPC_MoveParent,
13830 OPC_CheckType, MVT::v16i16,
13831 OPC_CheckPatternPredicate0,
13832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13833 MVT::v16i16, 2, 0, 1,
13834 13,
13835 OPC_CheckChild1Type, MVT::v8i32,
13836 OPC_MoveParent,
13837 OPC_CheckType, MVT::v8i32,
13838 OPC_CheckPatternPredicate0,
13839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13840 MVT::v8i32, 2, 0, 1,
13841 13,
13842 OPC_CheckChild1Type, MVT::v4i64,
13843 OPC_MoveParent,
13844 OPC_CheckType, MVT::v4i64,
13845 OPC_CheckPatternPredicate0,
13846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13847 MVT::v4i64, 2, 0, 1,
13848 0,
13849 49|128,1,
13850 OPC_MoveChild0,
13851 OPC_SwitchOpcode , 121, TARGET_VAL(ISD::SHL),
13852 OPC_MoveChild0,
13853 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13854 OPC_MoveChild0,
13855 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13856 OPC_CheckType, MVT::v4i32,
13857 OPC_MoveParent,
13858 OPC_CheckPredicate0,
13859 OPC_MoveParent,
13860 OPC_RecordChild1,
13861 OPC_Scope, 14,
13862 OPC_CheckChild1Type, MVT::v16i8,
13863 OPC_MoveParent,
13864 OPC_RecordChild1,
13865 OPC_CheckType, MVT::v16i8,
13866 OPC_CheckPatternPredicate1,
13867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13868 MVT::v16i8, 2, 1, 0,
13869 14,
13870 OPC_CheckChild1Type, MVT::v8i16,
13871 OPC_MoveParent,
13872 OPC_RecordChild1,
13873 OPC_CheckType, MVT::v8i16,
13874 OPC_CheckPatternPredicate1,
13875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13876 MVT::v8i16, 2, 1, 0,
13877 14,
13878 OPC_CheckChild1Type, MVT::v2i64,
13879 OPC_MoveParent,
13880 OPC_RecordChild1,
13881 OPC_CheckType, MVT::v2i64,
13882 OPC_CheckPatternPredicate1,
13883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13884 MVT::v2i64, 2, 1, 0,
13885 14,
13886 OPC_CheckChild1Type, MVT::v32i8,
13887 OPC_MoveParent,
13888 OPC_RecordChild1,
13889 OPC_CheckType, MVT::v32i8,
13890 OPC_CheckPatternPredicate0,
13891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13892 MVT::v32i8, 2, 1, 0,
13893 14,
13894 OPC_CheckChild1Type, MVT::v16i16,
13895 OPC_MoveParent,
13896 OPC_RecordChild1,
13897 OPC_CheckType, MVT::v16i16,
13898 OPC_CheckPatternPredicate0,
13899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13900 MVT::v16i16, 2, 1, 0,
13901 14,
13902 OPC_CheckChild1Type, MVT::v8i32,
13903 OPC_MoveParent,
13904 OPC_RecordChild1,
13905 OPC_CheckType, MVT::v8i32,
13906 OPC_CheckPatternPredicate0,
13907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13908 MVT::v8i32, 2, 1, 0,
13909 14,
13910 OPC_CheckChild1Type, MVT::v4i64,
13911 OPC_MoveParent,
13912 OPC_RecordChild1,
13913 OPC_CheckType, MVT::v4i64,
13914 OPC_CheckPatternPredicate0,
13915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13916 MVT::v4i64, 2, 1, 0,
13917 0,
13918 47, TARGET_VAL(ISD::OR),
13919 OPC_RecordChild0,
13920 OPC_RecordChild1,
13921 OPC_MoveSibling1,
13922 OPC_CheckImmAllOnesV,
13923 OPC_MoveParent,
13924 OPC_SwitchType , 8, MVT::v16i8,
13925 OPC_CheckPatternPredicate1,
13926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13927 MVT::v16i8, 2, 0, 1,
13928 8, MVT::v8i16,
13929 OPC_CheckPatternPredicate1,
13930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13931 MVT::v8i16, 2, 0, 1,
13932 8, MVT::v4i32,
13933 OPC_CheckPatternPredicate1,
13934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13935 MVT::v4i32, 2, 0, 1,
13936 8, MVT::v2i64,
13937 OPC_CheckPatternPredicate1,
13938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13939 MVT::v2i64, 2, 0, 1,
13940 0,
13941 0,
13942 70,
13943 OPC_RecordChild0,
13944 OPC_MoveChild1,
13945 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13946 OPC_MoveChild0,
13947 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13948 OPC_CheckPredicate0,
13949 OPC_MoveParent,
13950 OPC_RecordChild1,
13951 OPC_Scope, 13,
13952 OPC_CheckChild1Type, MVT::v16i8,
13953 OPC_MoveParent,
13954 OPC_CheckType, MVT::v16i8,
13955 OPC_CheckPatternPredicate1,
13956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13957 MVT::v16i8, 2, 0, 1,
13958 13,
13959 OPC_CheckChild1Type, MVT::v8i16,
13960 OPC_MoveParent,
13961 OPC_CheckType, MVT::v8i16,
13962 OPC_CheckPatternPredicate1,
13963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13964 MVT::v8i16, 2, 0, 1,
13965 13,
13966 OPC_CheckChild1Type, MVT::v4i32,
13967 OPC_MoveParent,
13968 OPC_CheckType, MVT::v4i32,
13969 OPC_CheckPatternPredicate1,
13970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13971 MVT::v4i32, 2, 0, 1,
13972 13,
13973 OPC_CheckChild1Type, MVT::v2i64,
13974 OPC_MoveParent,
13975 OPC_CheckType, MVT::v2i64,
13976 OPC_CheckPatternPredicate1,
13977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13978 MVT::v2i64, 2, 0, 1,
13979 0,
13980 51,
13981 OPC_MoveChild0,
13982 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
13983 OPC_RecordChild0,
13984 OPC_RecordChild1,
13985 OPC_MoveSibling1,
13986 OPC_CheckImmAllOnesV,
13987 OPC_MoveParent,
13988 OPC_SwitchType , 8, MVT::v32i8,
13989 OPC_CheckPatternPredicate0,
13990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
13991 MVT::v32i8, 2, 0, 1,
13992 8, MVT::v16i16,
13993 OPC_CheckPatternPredicate0,
13994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
13995 MVT::v16i16, 2, 0, 1,
13996 8, MVT::v8i32,
13997 OPC_CheckPatternPredicate0,
13998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
13999 MVT::v8i32, 2, 0, 1,
14000 8, MVT::v4i64,
14001 OPC_CheckPatternPredicate0,
14002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14003 MVT::v4i64, 2, 0, 1,
14004 0,
14005 70,
14006 OPC_RecordChild0,
14007 OPC_MoveChild1,
14008 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14009 OPC_MoveChild0,
14010 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14011 OPC_CheckPredicate0,
14012 OPC_MoveParent,
14013 OPC_RecordChild1,
14014 OPC_Scope, 13,
14015 OPC_CheckChild1Type, MVT::v32i8,
14016 OPC_MoveParent,
14017 OPC_CheckType, MVT::v32i8,
14018 OPC_CheckPatternPredicate0,
14019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
14020 MVT::v32i8, 2, 0, 1,
14021 13,
14022 OPC_CheckChild1Type, MVT::v16i16,
14023 OPC_MoveParent,
14024 OPC_CheckType, MVT::v16i16,
14025 OPC_CheckPatternPredicate0,
14026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
14027 MVT::v16i16, 2, 0, 1,
14028 13,
14029 OPC_CheckChild1Type, MVT::v8i32,
14030 OPC_MoveParent,
14031 OPC_CheckType, MVT::v8i32,
14032 OPC_CheckPatternPredicate0,
14033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
14034 MVT::v8i32, 2, 0, 1,
14035 13,
14036 OPC_CheckChild1Type, MVT::v4i64,
14037 OPC_MoveParent,
14038 OPC_CheckType, MVT::v4i64,
14039 OPC_CheckPatternPredicate0,
14040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
14041 MVT::v4i64, 2, 0, 1,
14042 0,
14043 5|128,1,
14044 OPC_MoveChild0,
14045 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14046 OPC_MoveChild0,
14047 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14048 OPC_CheckPredicate0,
14049 OPC_MoveParent,
14050 OPC_RecordChild1,
14051 OPC_Scope, 14,
14052 OPC_CheckChild1Type, MVT::v16i8,
14053 OPC_MoveParent,
14054 OPC_RecordChild1,
14055 OPC_CheckType, MVT::v16i8,
14056 OPC_CheckPatternPredicate1,
14057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
14058 MVT::v16i8, 2, 1, 0,
14059 14,
14060 OPC_CheckChild1Type, MVT::v8i16,
14061 OPC_MoveParent,
14062 OPC_RecordChild1,
14063 OPC_CheckType, MVT::v8i16,
14064 OPC_CheckPatternPredicate1,
14065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
14066 MVT::v8i16, 2, 1, 0,
14067 14,
14068 OPC_CheckChild1Type, MVT::v4i32,
14069 OPC_MoveParent,
14070 OPC_RecordChild1,
14071 OPC_CheckType, MVT::v4i32,
14072 OPC_CheckPatternPredicate1,
14073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14074 MVT::v4i32, 2, 1, 0,
14075 14,
14076 OPC_CheckChild1Type, MVT::v2i64,
14077 OPC_MoveParent,
14078 OPC_RecordChild1,
14079 OPC_CheckType, MVT::v2i64,
14080 OPC_CheckPatternPredicate1,
14081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
14082 MVT::v2i64, 2, 1, 0,
14083 14,
14084 OPC_CheckChild1Type, MVT::v32i8,
14085 OPC_MoveParent,
14086 OPC_RecordChild1,
14087 OPC_CheckType, MVT::v32i8,
14088 OPC_CheckPatternPredicate0,
14089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
14090 MVT::v32i8, 2, 1, 0,
14091 14,
14092 OPC_CheckChild1Type, MVT::v16i16,
14093 OPC_MoveParent,
14094 OPC_RecordChild1,
14095 OPC_CheckType, MVT::v16i16,
14096 OPC_CheckPatternPredicate0,
14097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
14098 MVT::v16i16, 2, 1, 0,
14099 14,
14100 OPC_CheckChild1Type, MVT::v8i32,
14101 OPC_MoveParent,
14102 OPC_RecordChild1,
14103 OPC_CheckType, MVT::v8i32,
14104 OPC_CheckPatternPredicate0,
14105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
14106 MVT::v8i32, 2, 1, 0,
14107 14,
14108 OPC_CheckChild1Type, MVT::v4i64,
14109 OPC_MoveParent,
14110 OPC_RecordChild1,
14111 OPC_CheckType, MVT::v4i64,
14112 OPC_CheckPatternPredicate0,
14113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
14114 MVT::v4i64, 2, 1, 0,
14115 0,
14116 24,
14117 OPC_RecordChild0,
14118 OPC_MoveChild1,
14119 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14120 OPC_MoveChild0,
14121 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14122 OPC_MoveParent,
14123 OPC_RecordChild1,
14124 OPC_CheckChild1Type, MVT::v4i32,
14125 OPC_MoveParent,
14126 OPC_CheckType, MVT::v4i32,
14127 OPC_CheckPatternPredicate1,
14128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14129 MVT::v4i32, 2, 0, 1,
14130 24,
14131 OPC_MoveChild0,
14132 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14133 OPC_MoveChild0,
14134 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14135 OPC_MoveParent,
14136 OPC_RecordChild1,
14137 OPC_CheckChild1Type, MVT::v4i32,
14138 OPC_MoveParent,
14139 OPC_RecordChild1,
14140 OPC_CheckType, MVT::v4i32,
14141 OPC_CheckPatternPredicate1,
14142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14143 MVT::v4i32, 2, 1, 0,
14144 36|128,4,
14145 OPC_RecordChild0,
14146 OPC_RecordChild1,
14147 OPC_SwitchType , 99, MVT::v16i8,
14148 OPC_Scope, 10,
14149 OPC_CheckPatternPredicate2,
14150 OPC_CheckComplexPat5, /*#*/1,
14151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14152 MVT::v16i8, 2, 0, 2,
14153 10,
14154 OPC_CheckPatternPredicate5,
14155 OPC_CheckComplexPat5, /*#*/1,
14156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14157 MVT::v16i8, 2, 0, 2,
14158 10,
14159 OPC_CheckPatternPredicate2,
14160 OPC_CheckComplexPat5, /*#*/0,
14161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14162 MVT::v16i8, 2, 1, 2,
14163 10,
14164 OPC_CheckPatternPredicate5,
14165 OPC_CheckComplexPat5, /*#*/0,
14166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14167 MVT::v16i8, 2, 1, 2,
14168 10,
14169 OPC_CheckPatternPredicate2,
14170 OPC_CheckComplexPat7, /*#*/1,
14171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14172 MVT::v16i8, 2, 0, 2,
14173 10,
14174 OPC_CheckPatternPredicate5,
14175 OPC_CheckComplexPat7, /*#*/1,
14176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14177 MVT::v16i8, 2, 0, 2,
14178 10,
14179 OPC_CheckPatternPredicate2,
14180 OPC_CheckComplexPat7, /*#*/0,
14181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14182 MVT::v16i8, 2, 1, 2,
14183 10,
14184 OPC_CheckPatternPredicate5,
14185 OPC_CheckComplexPat7, /*#*/0,
14186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14187 MVT::v16i8, 2, 1, 2,
14188 8,
14189 OPC_CheckPatternPredicate1,
14190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14191 MVT::v16i8, 2, 0, 1,
14192 0,
14193 55, MVT::v8i16,
14194 OPC_Scope, 10,
14195 OPC_CheckPatternPredicate2,
14196 OPC_CheckComplexPat5, /*#*/1,
14197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14198 MVT::v8i16, 2, 0, 2,
14199 10,
14200 OPC_CheckPatternPredicate5,
14201 OPC_CheckComplexPat5, /*#*/1,
14202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14203 MVT::v8i16, 2, 0, 2,
14204 10,
14205 OPC_CheckPatternPredicate2,
14206 OPC_CheckComplexPat5, /*#*/0,
14207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14208 MVT::v8i16, 2, 1, 2,
14209 10,
14210 OPC_CheckPatternPredicate5,
14211 OPC_CheckComplexPat5, /*#*/0,
14212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14213 MVT::v8i16, 2, 1, 2,
14214 8,
14215 OPC_CheckPatternPredicate1,
14216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14217 MVT::v8i16, 2, 0, 1,
14218 0,
14219 55, MVT::v4i32,
14220 OPC_Scope, 10,
14221 OPC_CheckPatternPredicate2,
14222 OPC_CheckComplexPat5, /*#*/1,
14223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14224 MVT::v4i32, 2, 0, 2,
14225 10,
14226 OPC_CheckPatternPredicate5,
14227 OPC_CheckComplexPat5, /*#*/1,
14228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14229 MVT::v4i32, 2, 0, 2,
14230 10,
14231 OPC_CheckPatternPredicate2,
14232 OPC_CheckComplexPat5, /*#*/0,
14233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14234 MVT::v4i32, 2, 1, 2,
14235 10,
14236 OPC_CheckPatternPredicate5,
14237 OPC_CheckComplexPat5, /*#*/0,
14238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14239 MVT::v4i32, 2, 1, 2,
14240 8,
14241 OPC_CheckPatternPredicate1,
14242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14243 MVT::v4i32, 2, 0, 1,
14244 0,
14245 55, MVT::v2i64,
14246 OPC_Scope, 10,
14247 OPC_CheckPatternPredicate2,
14248 OPC_CheckComplexPat5, /*#*/1,
14249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14250 MVT::v2i64, 2, 0, 2,
14251 10,
14252 OPC_CheckPatternPredicate5,
14253 OPC_CheckComplexPat5, /*#*/1,
14254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14255 MVT::v2i64, 2, 0, 2,
14256 10,
14257 OPC_CheckPatternPredicate2,
14258 OPC_CheckComplexPat5, /*#*/0,
14259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14260 MVT::v2i64, 2, 1, 2,
14261 10,
14262 OPC_CheckPatternPredicate5,
14263 OPC_CheckComplexPat5, /*#*/0,
14264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14265 MVT::v2i64, 2, 1, 2,
14266 8,
14267 OPC_CheckPatternPredicate1,
14268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14269 MVT::v2i64, 2, 0, 1,
14270 0,
14271 99, MVT::v32i8,
14272 OPC_Scope, 10,
14273 OPC_CheckPatternPredicate3,
14274 OPC_CheckComplexPat5, /*#*/1,
14275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14276 MVT::v32i8, 2, 0, 2,
14277 10,
14278 OPC_CheckPatternPredicate4,
14279 OPC_CheckComplexPat5, /*#*/1,
14280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14281 MVT::v32i8, 2, 0, 2,
14282 10,
14283 OPC_CheckPatternPredicate3,
14284 OPC_CheckComplexPat5, /*#*/0,
14285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14286 MVT::v32i8, 2, 1, 2,
14287 10,
14288 OPC_CheckPatternPredicate4,
14289 OPC_CheckComplexPat5, /*#*/0,
14290 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14291 MVT::v32i8, 2, 1, 2,
14292 10,
14293 OPC_CheckPatternPredicate3,
14294 OPC_CheckComplexPat7, /*#*/1,
14295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14296 MVT::v32i8, 2, 0, 2,
14297 10,
14298 OPC_CheckPatternPredicate4,
14299 OPC_CheckComplexPat7, /*#*/1,
14300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14301 MVT::v32i8, 2, 0, 2,
14302 10,
14303 OPC_CheckPatternPredicate3,
14304 OPC_CheckComplexPat7, /*#*/0,
14305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14306 MVT::v32i8, 2, 1, 2,
14307 10,
14308 OPC_CheckPatternPredicate4,
14309 OPC_CheckComplexPat7, /*#*/0,
14310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14311 MVT::v32i8, 2, 1, 2,
14312 8,
14313 OPC_CheckPatternPredicate0,
14314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14315 MVT::v32i8, 2, 0, 1,
14316 0,
14317 55, MVT::v16i16,
14318 OPC_Scope, 10,
14319 OPC_CheckPatternPredicate3,
14320 OPC_CheckComplexPat5, /*#*/1,
14321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14322 MVT::v16i16, 2, 0, 2,
14323 10,
14324 OPC_CheckPatternPredicate4,
14325 OPC_CheckComplexPat5, /*#*/1,
14326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14327 MVT::v16i16, 2, 0, 2,
14328 10,
14329 OPC_CheckPatternPredicate3,
14330 OPC_CheckComplexPat5, /*#*/0,
14331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14332 MVT::v16i16, 2, 1, 2,
14333 10,
14334 OPC_CheckPatternPredicate4,
14335 OPC_CheckComplexPat5, /*#*/0,
14336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14337 MVT::v16i16, 2, 1, 2,
14338 8,
14339 OPC_CheckPatternPredicate0,
14340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14341 MVT::v16i16, 2, 0, 1,
14342 0,
14343 55, MVT::v8i32,
14344 OPC_Scope, 10,
14345 OPC_CheckPatternPredicate3,
14346 OPC_CheckComplexPat5, /*#*/1,
14347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14348 MVT::v8i32, 2, 0, 2,
14349 10,
14350 OPC_CheckPatternPredicate4,
14351 OPC_CheckComplexPat5, /*#*/1,
14352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14353 MVT::v8i32, 2, 0, 2,
14354 10,
14355 OPC_CheckPatternPredicate3,
14356 OPC_CheckComplexPat5, /*#*/0,
14357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14358 MVT::v8i32, 2, 1, 2,
14359 10,
14360 OPC_CheckPatternPredicate4,
14361 OPC_CheckComplexPat5, /*#*/0,
14362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14363 MVT::v8i32, 2, 1, 2,
14364 8,
14365 OPC_CheckPatternPredicate0,
14366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14367 MVT::v8i32, 2, 0, 1,
14368 0,
14369 55, MVT::v4i64,
14370 OPC_Scope, 10,
14371 OPC_CheckPatternPredicate3,
14372 OPC_CheckComplexPat5, /*#*/1,
14373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14374 MVT::v4i64, 2, 0, 2,
14375 10,
14376 OPC_CheckPatternPredicate4,
14377 OPC_CheckComplexPat5, /*#*/1,
14378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14379 MVT::v4i64, 2, 0, 2,
14380 10,
14381 OPC_CheckPatternPredicate3,
14382 OPC_CheckComplexPat5, /*#*/0,
14383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14384 MVT::v4i64, 2, 1, 2,
14385 10,
14386 OPC_CheckPatternPredicate4,
14387 OPC_CheckComplexPat5, /*#*/0,
14388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14389 MVT::v4i64, 2, 1, 2,
14390 8,
14391 OPC_CheckPatternPredicate0,
14392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14393 MVT::v4i64, 2, 0, 1,
14394 0,
14395 0,
14396 0,
14397 124|128,34, TARGET_VAL(ISD::AND),
14398 OPC_Scope, 32,
14399 OPC_RecordChild0,
14400 OPC_MoveChild1,
14401 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14402 OPC_RecordChild0,
14403 OPC_CheckChild1Integer, 3,
14404 OPC_MoveParent,
14405 OPC_SwitchType , 8, MVT::i64,
14406 OPC_CheckPatternPredicate7,
14407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14408 MVT::i64, 2, 0, 1,
14409 9, MVT::i32,
14410 OPC_CheckPatternPredicate, 8,
14411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14412 MVT::i32, 2, 0, 1,
14413 0,
14414 32,
14415 OPC_MoveChild0,
14416 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14417 OPC_RecordChild0,
14418 OPC_CheckChild1Integer, 3,
14419 OPC_MoveParent,
14420 OPC_RecordChild1,
14421 OPC_SwitchType , 8, MVT::i64,
14422 OPC_CheckPatternPredicate7,
14423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14424 MVT::i64, 2, 1, 0,
14425 9, MVT::i32,
14426 OPC_CheckPatternPredicate, 8,
14427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14428 MVT::i32, 2, 1, 0,
14429 0,
14430 21|128,2,
14431 OPC_RecordChild0,
14432 OPC_Scope, 34|128,1,
14433 OPC_RecordChild1,
14434 OPC_Scope, 8|128,1,
14435 OPC_MoveChild1,
14436 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14437 OPC_Scope, 28,
14438 OPC_CheckPredicate, 40,
14439 OPC_MoveParent,
14440 OPC_SwitchType , 9, MVT::i64,
14441 OPC_CheckPatternPredicate7,
14442 OPC_EmitConvertToTarget1,
14443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
14444 MVT::i64, 2, 0, 2,
14445 10, MVT::i32,
14446 OPC_CheckPatternPredicate, 8,
14447 OPC_EmitConvertToTarget1,
14448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
14449 MVT::i32, 2, 0, 2,
14450 0,
14451 100,
14452 OPC_CheckPredicate, 58,
14453 OPC_MoveParent,
14454 OPC_SwitchType , 45, MVT::i64,
14455 OPC_Scope, 21,
14456 OPC_CheckPatternPredicate, 15,
14457 OPC_EmitRegisterI64, LoongArch::R0,
14458 OPC_EmitConvertToTarget1,
14459 OPC_EmitNodeXForm, 8, 3,
14460 OPC_EmitConvertToTarget1,
14461 OPC_EmitNodeXForm, 9, 5,
14462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
14463 MVT::i64, 4, 0, 2, 4, 6,
14464 20,
14465 OPC_CheckPatternPredicate6,
14466 OPC_EmitRegisterI64, LoongArch::R0,
14467 OPC_EmitConvertToTarget1,
14468 OPC_EmitNodeXForm, 8, 3,
14469 OPC_EmitConvertToTarget1,
14470 OPC_EmitNodeXForm, 9, 5,
14471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
14472 MVT::i64, 4, 0, 2, 4, 6,
14473 0,
14474 46, MVT::i32,
14475 OPC_Scope, 21,
14476 OPC_CheckPatternPredicate, 9,
14477 OPC_EmitRegisterI32, LoongArch::R0,
14478 OPC_EmitConvertToTarget1,
14479 OPC_EmitNodeXForm, 8, 3,
14480 OPC_EmitConvertToTarget1,
14481 OPC_EmitNodeXForm, 9, 5,
14482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
14483 MVT::i32, 4, 0, 2, 4, 6,
14484 21,
14485 OPC_CheckPatternPredicate, 10,
14486 OPC_EmitRegisterI32, LoongArch::R0,
14487 OPC_EmitConvertToTarget1,
14488 OPC_EmitNodeXForm, 8, 3,
14489 OPC_EmitConvertToTarget1,
14490 OPC_EmitNodeXForm, 9, 5,
14491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
14492 MVT::i32, 4, 0, 2, 4, 6,
14493 0,
14494 0,
14495 0,
14496 9,
14497 OPC_CheckTypeI64,
14498 OPC_CheckPatternPredicate7,
14499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
14500 MVT::i64, 2, 0, 1,
14501 10,
14502 OPC_CheckTypeI32,
14503 OPC_CheckPatternPredicate, 8,
14504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
14505 MVT::i32, 2, 0, 1,
14506 0,
14507 109,
14508 OPC_MoveChild1,
14509 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14510 OPC_MoveChild0,
14511 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14512 OPC_MoveChild0,
14513 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14514 OPC_MoveChild0,
14515 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14516 OPC_CheckType, MVT::v4i32,
14517 OPC_MoveParent,
14518 OPC_CheckPredicate0,
14519 OPC_MoveSibling1,
14520 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14521 OPC_Scope, 50,
14522 OPC_RecordChild0,
14523 OPC_MoveChild1,
14524 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14525 OPC_MoveChild0,
14526 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14527 OPC_CheckType, MVT::v4i32,
14528 OPC_MoveParent,
14529 OPC_CheckPredicate3,
14530 OPC_MoveParent,
14531 OPC_SwitchType , 15, MVT::v2i64,
14532 OPC_MoveParent,
14533 OPC_MoveSibling1,
14534 OPC_CheckImmAllOnesV,
14535 OPC_MoveParent,
14536 OPC_MoveParent,
14537 OPC_CheckType, MVT::v2i64,
14538 OPC_CheckPatternPredicate1,
14539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14540 MVT::v2i64, 2, 0, 1,
14541 15, MVT::v4i64,
14542 OPC_MoveParent,
14543 OPC_MoveSibling1,
14544 OPC_CheckImmAllOnesV,
14545 OPC_MoveParent,
14546 OPC_MoveParent,
14547 OPC_CheckType, MVT::v4i64,
14548 OPC_CheckPatternPredicate0,
14549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14550 MVT::v4i64, 2, 0, 1,
14551 0,
14552 31,
14553 OPC_MoveChild0,
14554 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14555 OPC_MoveChild0,
14556 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14557 OPC_CheckType, MVT::v4i32,
14558 OPC_MoveParent,
14559 OPC_CheckPredicate3,
14560 OPC_MoveParent,
14561 OPC_RecordChild1,
14562 OPC_CheckType, MVT::v2i64,
14563 OPC_MoveParent,
14564 OPC_MoveSibling1,
14565 OPC_CheckImmAllOnesV,
14566 OPC_MoveParent,
14567 OPC_MoveParent,
14568 OPC_CheckType, MVT::v2i64,
14569 OPC_CheckPatternPredicate1,
14570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14571 MVT::v2i64, 2, 0, 1,
14572 0,
14573 0,
14574 92,
14575 OPC_MoveChild0,
14576 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14577 OPC_MoveChild0,
14578 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14579 OPC_MoveChild0,
14580 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14581 OPC_MoveChild0,
14582 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14583 OPC_CheckType, MVT::v4i32,
14584 OPC_MoveParent,
14585 OPC_CheckPredicate0,
14586 OPC_MoveSibling1,
14587 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14588 OPC_Scope, 32,
14589 OPC_RecordChild0,
14590 OPC_MoveChild1,
14591 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14592 OPC_MoveChild0,
14593 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14594 OPC_CheckType, MVT::v4i32,
14595 OPC_MoveParent,
14596 OPC_CheckPredicate3,
14597 OPC_MoveParent,
14598 OPC_CheckType, MVT::v2i64,
14599 OPC_MoveParent,
14600 OPC_MoveSibling1,
14601 OPC_CheckImmAllOnesV,
14602 OPC_MoveParent,
14603 OPC_MoveParent,
14604 OPC_RecordChild1,
14605 OPC_CheckType, MVT::v2i64,
14606 OPC_CheckPatternPredicate1,
14607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14608 MVT::v2i64, 2, 1, 0,
14609 32,
14610 OPC_MoveChild0,
14611 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14612 OPC_MoveChild0,
14613 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14614 OPC_CheckType, MVT::v4i32,
14615 OPC_MoveParent,
14616 OPC_CheckPredicate3,
14617 OPC_MoveParent,
14618 OPC_RecordChild1,
14619 OPC_CheckType, MVT::v2i64,
14620 OPC_MoveParent,
14621 OPC_MoveSibling1,
14622 OPC_CheckImmAllOnesV,
14623 OPC_MoveParent,
14624 OPC_MoveParent,
14625 OPC_RecordChild1,
14626 OPC_CheckType, MVT::v2i64,
14627 OPC_CheckPatternPredicate1,
14628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14629 MVT::v2i64, 2, 1, 0,
14630 0,
14631 56,
14632 OPC_RecordChild0,
14633 OPC_MoveChild1,
14634 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14635 OPC_MoveChild0,
14636 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14637 OPC_MoveChild0,
14638 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14639 OPC_MoveChild0,
14640 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14641 OPC_CheckType, MVT::v4i32,
14642 OPC_MoveParent,
14643 OPC_CheckPredicate0,
14644 OPC_MoveSibling1,
14645 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14646 OPC_MoveChild0,
14647 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14648 OPC_MoveChild0,
14649 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14650 OPC_CheckType, MVT::v4i32,
14651 OPC_MoveParent,
14652 OPC_CheckPredicate3,
14653 OPC_MoveParent,
14654 OPC_RecordChild1,
14655 OPC_CheckType, MVT::v4i64,
14656 OPC_MoveParent,
14657 OPC_MoveSibling1,
14658 OPC_CheckImmAllOnesV,
14659 OPC_MoveParent,
14660 OPC_MoveParent,
14661 OPC_CheckType, MVT::v4i64,
14662 OPC_CheckPatternPredicate0,
14663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14664 MVT::v4i64, 2, 0, 1,
14665 92,
14666 OPC_MoveChild0,
14667 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14668 OPC_MoveChild0,
14669 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14670 OPC_MoveChild0,
14671 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14672 OPC_MoveChild0,
14673 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14674 OPC_CheckType, MVT::v4i32,
14675 OPC_MoveParent,
14676 OPC_CheckPredicate0,
14677 OPC_MoveSibling1,
14678 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14679 OPC_Scope, 32,
14680 OPC_RecordChild0,
14681 OPC_MoveChild1,
14682 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14683 OPC_MoveChild0,
14684 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14685 OPC_CheckType, MVT::v4i32,
14686 OPC_MoveParent,
14687 OPC_CheckPredicate3,
14688 OPC_MoveParent,
14689 OPC_CheckType, MVT::v4i64,
14690 OPC_MoveParent,
14691 OPC_MoveSibling1,
14692 OPC_CheckImmAllOnesV,
14693 OPC_MoveParent,
14694 OPC_MoveParent,
14695 OPC_RecordChild1,
14696 OPC_CheckType, MVT::v4i64,
14697 OPC_CheckPatternPredicate0,
14698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14699 MVT::v4i64, 2, 1, 0,
14700 32,
14701 OPC_MoveChild0,
14702 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14703 OPC_MoveChild0,
14704 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14705 OPC_CheckType, MVT::v4i32,
14706 OPC_MoveParent,
14707 OPC_CheckPredicate3,
14708 OPC_MoveParent,
14709 OPC_RecordChild1,
14710 OPC_CheckType, MVT::v4i64,
14711 OPC_MoveParent,
14712 OPC_MoveSibling1,
14713 OPC_CheckImmAllOnesV,
14714 OPC_MoveParent,
14715 OPC_MoveParent,
14716 OPC_RecordChild1,
14717 OPC_CheckType, MVT::v4i64,
14718 OPC_CheckPatternPredicate0,
14719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14720 MVT::v4i64, 2, 1, 0,
14721 0,
14722 9|128,2,
14723 OPC_RecordChild0,
14724 OPC_MoveChild1,
14725 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14726 OPC_MoveChild0,
14727 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14728 OPC_MoveChild0,
14729 OPC_SwitchOpcode , 63|128,1, TARGET_VAL(ISD::BITCAST),
14730 OPC_MoveChild0,
14731 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14732 OPC_CheckType, MVT::v4i32,
14733 OPC_MoveParent,
14734 OPC_CheckPredicate0,
14735 OPC_MoveSibling1,
14736 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14737 OPC_Scope, 22|128,1,
14738 OPC_RecordChild0,
14739 OPC_MoveChild1,
14740 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14741 OPC_Scope, 19,
14742 OPC_CheckPredicate7,
14743 OPC_MoveParent,
14744 OPC_CheckType, MVT::v16i8,
14745 OPC_MoveParent,
14746 OPC_MoveSibling1,
14747 OPC_CheckImmAllOnesV,
14748 OPC_MoveParent,
14749 OPC_MoveParent,
14750 OPC_CheckType, MVT::v16i8,
14751 OPC_CheckPatternPredicate1,
14752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14753 MVT::v16i8, 2, 0, 1,
14754 20,
14755 OPC_CheckPredicate, 8,
14756 OPC_MoveParent,
14757 OPC_CheckType, MVT::v8i16,
14758 OPC_MoveParent,
14759 OPC_MoveSibling1,
14760 OPC_CheckImmAllOnesV,
14761 OPC_MoveParent,
14762 OPC_MoveParent,
14763 OPC_CheckType, MVT::v8i16,
14764 OPC_CheckPatternPredicate1,
14765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
14766 MVT::v8i16, 2, 0, 1,
14767 19,
14768 OPC_CheckPredicate3,
14769 OPC_MoveParent,
14770 OPC_CheckType, MVT::v2i64,
14771 OPC_MoveParent,
14772 OPC_MoveSibling1,
14773 OPC_CheckImmAllOnesV,
14774 OPC_MoveParent,
14775 OPC_MoveParent,
14776 OPC_CheckType, MVT::v2i64,
14777 OPC_CheckPatternPredicate1,
14778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14779 MVT::v2i64, 2, 0, 1,
14780 19,
14781 OPC_CheckPredicate7,
14782 OPC_MoveParent,
14783 OPC_CheckType, MVT::v32i8,
14784 OPC_MoveParent,
14785 OPC_MoveSibling1,
14786 OPC_CheckImmAllOnesV,
14787 OPC_MoveParent,
14788 OPC_MoveParent,
14789 OPC_CheckType, MVT::v32i8,
14790 OPC_CheckPatternPredicate0,
14791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
14792 MVT::v32i8, 2, 0, 1,
14793 20,
14794 OPC_CheckPredicate, 8,
14795 OPC_MoveParent,
14796 OPC_CheckType, MVT::v16i16,
14797 OPC_MoveParent,
14798 OPC_MoveSibling1,
14799 OPC_CheckImmAllOnesV,
14800 OPC_MoveParent,
14801 OPC_MoveParent,
14802 OPC_CheckType, MVT::v16i16,
14803 OPC_CheckPatternPredicate0,
14804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
14805 MVT::v16i16, 2, 0, 1,
14806 20,
14807 OPC_CheckPredicate, 9,
14808 OPC_MoveParent,
14809 OPC_CheckType, MVT::v8i32,
14810 OPC_MoveParent,
14811 OPC_MoveSibling1,
14812 OPC_CheckImmAllOnesV,
14813 OPC_MoveParent,
14814 OPC_MoveParent,
14815 OPC_CheckType, MVT::v8i32,
14816 OPC_CheckPatternPredicate0,
14817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
14818 MVT::v8i32, 2, 0, 1,
14819 19,
14820 OPC_CheckPredicate3,
14821 OPC_MoveParent,
14822 OPC_CheckType, MVT::v4i64,
14823 OPC_MoveParent,
14824 OPC_MoveSibling1,
14825 OPC_CheckImmAllOnesV,
14826 OPC_MoveParent,
14827 OPC_MoveParent,
14828 OPC_CheckType, MVT::v4i64,
14829 OPC_CheckPatternPredicate0,
14830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14831 MVT::v4i64, 2, 0, 1,
14832 0,
14833 24,
14834 OPC_MoveChild0,
14835 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14836 OPC_CheckPredicate7,
14837 OPC_MoveParent,
14838 OPC_RecordChild1,
14839 OPC_CheckType, MVT::v16i8,
14840 OPC_MoveParent,
14841 OPC_MoveSibling1,
14842 OPC_CheckImmAllOnesV,
14843 OPC_MoveParent,
14844 OPC_MoveParent,
14845 OPC_CheckType, MVT::v16i8,
14846 OPC_CheckPatternPredicate1,
14847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14848 MVT::v16i8, 2, 0, 1,
14849 0,
14850 55, TARGET_VAL(ISD::BUILD_VECTOR),
14851 OPC_CheckPredicate0,
14852 OPC_MoveSibling1,
14853 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14854 OPC_RecordChild0,
14855 OPC_MoveChild1,
14856 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14857 OPC_MoveChild0,
14858 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14859 OPC_CheckType, MVT::v4i32,
14860 OPC_MoveParent,
14861 OPC_CheckPredicate3,
14862 OPC_MoveParent,
14863 OPC_SwitchType , 15, MVT::v2i64,
14864 OPC_MoveParent,
14865 OPC_MoveSibling1,
14866 OPC_CheckImmAllOnesV,
14867 OPC_MoveParent,
14868 OPC_MoveParent,
14869 OPC_CheckType, MVT::v2i64,
14870 OPC_CheckPatternPredicate1,
14871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14872 MVT::v2i64, 2, 0, 1,
14873 15, MVT::v4i64,
14874 OPC_MoveParent,
14875 OPC_MoveSibling1,
14876 OPC_CheckImmAllOnesV,
14877 OPC_MoveParent,
14878 OPC_MoveParent,
14879 OPC_CheckType, MVT::v4i64,
14880 OPC_CheckPatternPredicate0,
14881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14882 MVT::v4i64, 2, 0, 1,
14883 0,
14884 0,
14885 78,
14886 OPC_MoveChild0,
14887 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14888 OPC_MoveChild0,
14889 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14890 OPC_MoveChild0,
14891 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14892 OPC_MoveChild0,
14893 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14894 OPC_CheckType, MVT::v4i32,
14895 OPC_MoveParent,
14896 OPC_CheckPredicate0,
14897 OPC_MoveSibling1,
14898 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14899 OPC_Scope, 25,
14900 OPC_RecordChild0,
14901 OPC_MoveChild1,
14902 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14903 OPC_CheckPredicate7,
14904 OPC_MoveParent,
14905 OPC_CheckType, MVT::v16i8,
14906 OPC_MoveParent,
14907 OPC_MoveSibling1,
14908 OPC_CheckImmAllOnesV,
14909 OPC_MoveParent,
14910 OPC_MoveParent,
14911 OPC_RecordChild1,
14912 OPC_CheckType, MVT::v16i8,
14913 OPC_CheckPatternPredicate1,
14914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14915 MVT::v16i8, 2, 1, 0,
14916 25,
14917 OPC_MoveChild0,
14918 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14919 OPC_CheckPredicate7,
14920 OPC_MoveParent,
14921 OPC_RecordChild1,
14922 OPC_CheckType, MVT::v16i8,
14923 OPC_MoveParent,
14924 OPC_MoveSibling1,
14925 OPC_CheckImmAllOnesV,
14926 OPC_MoveParent,
14927 OPC_MoveParent,
14928 OPC_RecordChild1,
14929 OPC_CheckType, MVT::v16i8,
14930 OPC_CheckPatternPredicate1,
14931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14932 MVT::v16i8, 2, 1, 0,
14933 0,
14934 50,
14935 OPC_RecordChild0,
14936 OPC_MoveChild1,
14937 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14938 OPC_MoveChild0,
14939 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14940 OPC_MoveChild0,
14941 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14942 OPC_MoveChild0,
14943 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14944 OPC_CheckType, MVT::v4i32,
14945 OPC_MoveParent,
14946 OPC_CheckPredicate0,
14947 OPC_MoveSibling1,
14948 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14949 OPC_MoveChild0,
14950 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14951 OPC_CheckPredicate, 8,
14952 OPC_MoveParent,
14953 OPC_RecordChild1,
14954 OPC_CheckType, MVT::v8i16,
14955 OPC_MoveParent,
14956 OPC_MoveSibling1,
14957 OPC_CheckImmAllOnesV,
14958 OPC_MoveParent,
14959 OPC_MoveParent,
14960 OPC_CheckType, MVT::v8i16,
14961 OPC_CheckPatternPredicate1,
14962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
14963 MVT::v8i16, 2, 0, 1,
14964 80,
14965 OPC_MoveChild0,
14966 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14967 OPC_MoveChild0,
14968 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14969 OPC_MoveChild0,
14970 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14971 OPC_MoveChild0,
14972 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14973 OPC_CheckType, MVT::v4i32,
14974 OPC_MoveParent,
14975 OPC_CheckPredicate0,
14976 OPC_MoveSibling1,
14977 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14978 OPC_Scope, 26,
14979 OPC_RecordChild0,
14980 OPC_MoveChild1,
14981 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14982 OPC_CheckPredicate, 8,
14983 OPC_MoveParent,
14984 OPC_CheckType, MVT::v8i16,
14985 OPC_MoveParent,
14986 OPC_MoveSibling1,
14987 OPC_CheckImmAllOnesV,
14988 OPC_MoveParent,
14989 OPC_MoveParent,
14990 OPC_RecordChild1,
14991 OPC_CheckType, MVT::v8i16,
14992 OPC_CheckPatternPredicate1,
14993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
14994 MVT::v8i16, 2, 1, 0,
14995 26,
14996 OPC_MoveChild0,
14997 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14998 OPC_CheckPredicate, 8,
14999 OPC_MoveParent,
15000 OPC_RecordChild1,
15001 OPC_CheckType, MVT::v8i16,
15002 OPC_MoveParent,
15003 OPC_MoveSibling1,
15004 OPC_CheckImmAllOnesV,
15005 OPC_MoveParent,
15006 OPC_MoveParent,
15007 OPC_RecordChild1,
15008 OPC_CheckType, MVT::v8i16,
15009 OPC_CheckPatternPredicate1,
15010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15011 MVT::v8i16, 2, 1, 0,
15012 0,
15013 49,
15014 OPC_RecordChild0,
15015 OPC_MoveChild1,
15016 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15017 OPC_MoveChild0,
15018 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15019 OPC_MoveChild0,
15020 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15021 OPC_CheckPredicate0,
15022 OPC_MoveSibling1,
15023 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15024 OPC_MoveChild0,
15025 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15026 OPC_MoveChild0,
15027 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15028 OPC_CheckType, MVT::v4i32,
15029 OPC_MoveParent,
15030 OPC_CheckPredicate3,
15031 OPC_MoveParent,
15032 OPC_RecordChild1,
15033 OPC_CheckType, MVT::v2i64,
15034 OPC_MoveParent,
15035 OPC_MoveSibling1,
15036 OPC_CheckImmAllOnesV,
15037 OPC_MoveParent,
15038 OPC_MoveParent,
15039 OPC_CheckType, MVT::v2i64,
15040 OPC_CheckPatternPredicate1,
15041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15042 MVT::v2i64, 2, 0, 1,
15043 85,
15044 OPC_MoveChild0,
15045 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15046 OPC_MoveChild0,
15047 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15048 OPC_MoveChild0,
15049 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15050 OPC_CheckPredicate0,
15051 OPC_MoveSibling1,
15052 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15053 OPC_Scope, 32,
15054 OPC_RecordChild0,
15055 OPC_MoveChild1,
15056 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15057 OPC_MoveChild0,
15058 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15059 OPC_CheckType, MVT::v4i32,
15060 OPC_MoveParent,
15061 OPC_CheckPredicate3,
15062 OPC_MoveParent,
15063 OPC_CheckType, MVT::v2i64,
15064 OPC_MoveParent,
15065 OPC_MoveSibling1,
15066 OPC_CheckImmAllOnesV,
15067 OPC_MoveParent,
15068 OPC_MoveParent,
15069 OPC_RecordChild1,
15070 OPC_CheckType, MVT::v2i64,
15071 OPC_CheckPatternPredicate1,
15072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15073 MVT::v2i64, 2, 1, 0,
15074 32,
15075 OPC_MoveChild0,
15076 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15077 OPC_MoveChild0,
15078 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15079 OPC_CheckType, MVT::v4i32,
15080 OPC_MoveParent,
15081 OPC_CheckPredicate3,
15082 OPC_MoveParent,
15083 OPC_RecordChild1,
15084 OPC_CheckType, MVT::v2i64,
15085 OPC_MoveParent,
15086 OPC_MoveSibling1,
15087 OPC_CheckImmAllOnesV,
15088 OPC_MoveParent,
15089 OPC_MoveParent,
15090 OPC_RecordChild1,
15091 OPC_CheckType, MVT::v2i64,
15092 OPC_CheckPatternPredicate1,
15093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15094 MVT::v2i64, 2, 1, 0,
15095 0,
15096 49,
15097 OPC_RecordChild0,
15098 OPC_MoveChild1,
15099 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15100 OPC_MoveChild0,
15101 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15102 OPC_MoveChild0,
15103 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15104 OPC_MoveChild0,
15105 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15106 OPC_CheckType, MVT::v4i32,
15107 OPC_MoveParent,
15108 OPC_CheckPredicate0,
15109 OPC_MoveSibling1,
15110 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15111 OPC_MoveChild0,
15112 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15113 OPC_CheckPredicate3,
15114 OPC_MoveParent,
15115 OPC_RecordChild1,
15116 OPC_CheckType, MVT::v2i64,
15117 OPC_MoveParent,
15118 OPC_MoveSibling1,
15119 OPC_CheckImmAllOnesV,
15120 OPC_MoveParent,
15121 OPC_MoveParent,
15122 OPC_CheckType, MVT::v2i64,
15123 OPC_CheckPatternPredicate1,
15124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15125 MVT::v2i64, 2, 0, 1,
15126 78,
15127 OPC_MoveChild0,
15128 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15129 OPC_MoveChild0,
15130 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15131 OPC_MoveChild0,
15132 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15133 OPC_MoveChild0,
15134 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15135 OPC_CheckType, MVT::v4i32,
15136 OPC_MoveParent,
15137 OPC_CheckPredicate0,
15138 OPC_MoveSibling1,
15139 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15140 OPC_Scope, 25,
15141 OPC_RecordChild0,
15142 OPC_MoveChild1,
15143 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15144 OPC_CheckPredicate3,
15145 OPC_MoveParent,
15146 OPC_CheckType, MVT::v2i64,
15147 OPC_MoveParent,
15148 OPC_MoveSibling1,
15149 OPC_CheckImmAllOnesV,
15150 OPC_MoveParent,
15151 OPC_MoveParent,
15152 OPC_RecordChild1,
15153 OPC_CheckType, MVT::v2i64,
15154 OPC_CheckPatternPredicate1,
15155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15156 MVT::v2i64, 2, 1, 0,
15157 25,
15158 OPC_MoveChild0,
15159 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15160 OPC_CheckPredicate3,
15161 OPC_MoveParent,
15162 OPC_RecordChild1,
15163 OPC_CheckType, MVT::v2i64,
15164 OPC_MoveParent,
15165 OPC_MoveSibling1,
15166 OPC_CheckImmAllOnesV,
15167 OPC_MoveParent,
15168 OPC_MoveParent,
15169 OPC_RecordChild1,
15170 OPC_CheckType, MVT::v2i64,
15171 OPC_CheckPatternPredicate1,
15172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15173 MVT::v2i64, 2, 1, 0,
15174 0,
15175 49,
15176 OPC_RecordChild0,
15177 OPC_MoveChild1,
15178 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15179 OPC_MoveChild0,
15180 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15181 OPC_MoveChild0,
15182 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15183 OPC_MoveChild0,
15184 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15185 OPC_CheckType, MVT::v4i32,
15186 OPC_MoveParent,
15187 OPC_CheckPredicate0,
15188 OPC_MoveSibling1,
15189 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15190 OPC_MoveChild0,
15191 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15192 OPC_CheckPredicate7,
15193 OPC_MoveParent,
15194 OPC_RecordChild1,
15195 OPC_CheckType, MVT::v32i8,
15196 OPC_MoveParent,
15197 OPC_MoveSibling1,
15198 OPC_CheckImmAllOnesV,
15199 OPC_MoveParent,
15200 OPC_MoveParent,
15201 OPC_CheckType, MVT::v32i8,
15202 OPC_CheckPatternPredicate0,
15203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15204 MVT::v32i8, 2, 0, 1,
15205 78,
15206 OPC_MoveChild0,
15207 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15208 OPC_MoveChild0,
15209 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15210 OPC_MoveChild0,
15211 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15212 OPC_MoveChild0,
15213 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15214 OPC_CheckType, MVT::v4i32,
15215 OPC_MoveParent,
15216 OPC_CheckPredicate0,
15217 OPC_MoveSibling1,
15218 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15219 OPC_Scope, 25,
15220 OPC_RecordChild0,
15221 OPC_MoveChild1,
15222 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15223 OPC_CheckPredicate7,
15224 OPC_MoveParent,
15225 OPC_CheckType, MVT::v32i8,
15226 OPC_MoveParent,
15227 OPC_MoveSibling1,
15228 OPC_CheckImmAllOnesV,
15229 OPC_MoveParent,
15230 OPC_MoveParent,
15231 OPC_RecordChild1,
15232 OPC_CheckType, MVT::v32i8,
15233 OPC_CheckPatternPredicate0,
15234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15235 MVT::v32i8, 2, 1, 0,
15236 25,
15237 OPC_MoveChild0,
15238 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15239 OPC_CheckPredicate7,
15240 OPC_MoveParent,
15241 OPC_RecordChild1,
15242 OPC_CheckType, MVT::v32i8,
15243 OPC_MoveParent,
15244 OPC_MoveSibling1,
15245 OPC_CheckImmAllOnesV,
15246 OPC_MoveParent,
15247 OPC_MoveParent,
15248 OPC_RecordChild1,
15249 OPC_CheckType, MVT::v32i8,
15250 OPC_CheckPatternPredicate0,
15251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15252 MVT::v32i8, 2, 1, 0,
15253 0,
15254 50,
15255 OPC_RecordChild0,
15256 OPC_MoveChild1,
15257 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15258 OPC_MoveChild0,
15259 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15260 OPC_MoveChild0,
15261 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15262 OPC_MoveChild0,
15263 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15264 OPC_CheckType, MVT::v4i32,
15265 OPC_MoveParent,
15266 OPC_CheckPredicate0,
15267 OPC_MoveSibling1,
15268 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15269 OPC_MoveChild0,
15270 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15271 OPC_CheckPredicate, 8,
15272 OPC_MoveParent,
15273 OPC_RecordChild1,
15274 OPC_CheckType, MVT::v16i16,
15275 OPC_MoveParent,
15276 OPC_MoveSibling1,
15277 OPC_CheckImmAllOnesV,
15278 OPC_MoveParent,
15279 OPC_MoveParent,
15280 OPC_CheckType, MVT::v16i16,
15281 OPC_CheckPatternPredicate0,
15282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15283 MVT::v16i16, 2, 0, 1,
15284 80,
15285 OPC_MoveChild0,
15286 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15287 OPC_MoveChild0,
15288 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15289 OPC_MoveChild0,
15290 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15291 OPC_MoveChild0,
15292 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15293 OPC_CheckType, MVT::v4i32,
15294 OPC_MoveParent,
15295 OPC_CheckPredicate0,
15296 OPC_MoveSibling1,
15297 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15298 OPC_Scope, 26,
15299 OPC_RecordChild0,
15300 OPC_MoveChild1,
15301 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15302 OPC_CheckPredicate, 8,
15303 OPC_MoveParent,
15304 OPC_CheckType, MVT::v16i16,
15305 OPC_MoveParent,
15306 OPC_MoveSibling1,
15307 OPC_CheckImmAllOnesV,
15308 OPC_MoveParent,
15309 OPC_MoveParent,
15310 OPC_RecordChild1,
15311 OPC_CheckType, MVT::v16i16,
15312 OPC_CheckPatternPredicate0,
15313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15314 MVT::v16i16, 2, 1, 0,
15315 26,
15316 OPC_MoveChild0,
15317 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15318 OPC_CheckPredicate, 8,
15319 OPC_MoveParent,
15320 OPC_RecordChild1,
15321 OPC_CheckType, MVT::v16i16,
15322 OPC_MoveParent,
15323 OPC_MoveSibling1,
15324 OPC_CheckImmAllOnesV,
15325 OPC_MoveParent,
15326 OPC_MoveParent,
15327 OPC_RecordChild1,
15328 OPC_CheckType, MVT::v16i16,
15329 OPC_CheckPatternPredicate0,
15330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15331 MVT::v16i16, 2, 1, 0,
15332 0,
15333 50,
15334 OPC_RecordChild0,
15335 OPC_MoveChild1,
15336 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15337 OPC_MoveChild0,
15338 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15339 OPC_MoveChild0,
15340 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15341 OPC_MoveChild0,
15342 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15343 OPC_CheckType, MVT::v4i32,
15344 OPC_MoveParent,
15345 OPC_CheckPredicate0,
15346 OPC_MoveSibling1,
15347 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15348 OPC_MoveChild0,
15349 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15350 OPC_CheckPredicate, 9,
15351 OPC_MoveParent,
15352 OPC_RecordChild1,
15353 OPC_CheckType, MVT::v8i32,
15354 OPC_MoveParent,
15355 OPC_MoveSibling1,
15356 OPC_CheckImmAllOnesV,
15357 OPC_MoveParent,
15358 OPC_MoveParent,
15359 OPC_CheckType, MVT::v8i32,
15360 OPC_CheckPatternPredicate0,
15361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15362 MVT::v8i32, 2, 0, 1,
15363 80,
15364 OPC_MoveChild0,
15365 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15366 OPC_MoveChild0,
15367 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15368 OPC_MoveChild0,
15369 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15370 OPC_MoveChild0,
15371 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15372 OPC_CheckType, MVT::v4i32,
15373 OPC_MoveParent,
15374 OPC_CheckPredicate0,
15375 OPC_MoveSibling1,
15376 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15377 OPC_Scope, 26,
15378 OPC_RecordChild0,
15379 OPC_MoveChild1,
15380 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15381 OPC_CheckPredicate, 9,
15382 OPC_MoveParent,
15383 OPC_CheckType, MVT::v8i32,
15384 OPC_MoveParent,
15385 OPC_MoveSibling1,
15386 OPC_CheckImmAllOnesV,
15387 OPC_MoveParent,
15388 OPC_MoveParent,
15389 OPC_RecordChild1,
15390 OPC_CheckType, MVT::v8i32,
15391 OPC_CheckPatternPredicate0,
15392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15393 MVT::v8i32, 2, 1, 0,
15394 26,
15395 OPC_MoveChild0,
15396 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15397 OPC_CheckPredicate, 9,
15398 OPC_MoveParent,
15399 OPC_RecordChild1,
15400 OPC_CheckType, MVT::v8i32,
15401 OPC_MoveParent,
15402 OPC_MoveSibling1,
15403 OPC_CheckImmAllOnesV,
15404 OPC_MoveParent,
15405 OPC_MoveParent,
15406 OPC_RecordChild1,
15407 OPC_CheckType, MVT::v8i32,
15408 OPC_CheckPatternPredicate0,
15409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15410 MVT::v8i32, 2, 1, 0,
15411 0,
15412 49,
15413 OPC_RecordChild0,
15414 OPC_MoveChild1,
15415 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15416 OPC_MoveChild0,
15417 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15418 OPC_MoveChild0,
15419 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15420 OPC_CheckPredicate0,
15421 OPC_MoveSibling1,
15422 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15423 OPC_MoveChild0,
15424 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15425 OPC_MoveChild0,
15426 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15427 OPC_CheckType, MVT::v4i32,
15428 OPC_MoveParent,
15429 OPC_CheckPredicate3,
15430 OPC_MoveParent,
15431 OPC_RecordChild1,
15432 OPC_CheckType, MVT::v4i64,
15433 OPC_MoveParent,
15434 OPC_MoveSibling1,
15435 OPC_CheckImmAllOnesV,
15436 OPC_MoveParent,
15437 OPC_MoveParent,
15438 OPC_CheckType, MVT::v4i64,
15439 OPC_CheckPatternPredicate0,
15440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15441 MVT::v4i64, 2, 0, 1,
15442 85,
15443 OPC_MoveChild0,
15444 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15445 OPC_MoveChild0,
15446 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15447 OPC_MoveChild0,
15448 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15449 OPC_CheckPredicate0,
15450 OPC_MoveSibling1,
15451 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15452 OPC_Scope, 32,
15453 OPC_RecordChild0,
15454 OPC_MoveChild1,
15455 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15456 OPC_MoveChild0,
15457 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15458 OPC_CheckType, MVT::v4i32,
15459 OPC_MoveParent,
15460 OPC_CheckPredicate3,
15461 OPC_MoveParent,
15462 OPC_CheckType, MVT::v4i64,
15463 OPC_MoveParent,
15464 OPC_MoveSibling1,
15465 OPC_CheckImmAllOnesV,
15466 OPC_MoveParent,
15467 OPC_MoveParent,
15468 OPC_RecordChild1,
15469 OPC_CheckType, MVT::v4i64,
15470 OPC_CheckPatternPredicate0,
15471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15472 MVT::v4i64, 2, 1, 0,
15473 32,
15474 OPC_MoveChild0,
15475 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15476 OPC_MoveChild0,
15477 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15478 OPC_CheckType, MVT::v4i32,
15479 OPC_MoveParent,
15480 OPC_CheckPredicate3,
15481 OPC_MoveParent,
15482 OPC_RecordChild1,
15483 OPC_CheckType, MVT::v4i64,
15484 OPC_MoveParent,
15485 OPC_MoveSibling1,
15486 OPC_CheckImmAllOnesV,
15487 OPC_MoveParent,
15488 OPC_MoveParent,
15489 OPC_RecordChild1,
15490 OPC_CheckType, MVT::v4i64,
15491 OPC_CheckPatternPredicate0,
15492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15493 MVT::v4i64, 2, 1, 0,
15494 0,
15495 49,
15496 OPC_RecordChild0,
15497 OPC_MoveChild1,
15498 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15499 OPC_MoveChild0,
15500 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15501 OPC_MoveChild0,
15502 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15503 OPC_MoveChild0,
15504 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15505 OPC_CheckType, MVT::v4i32,
15506 OPC_MoveParent,
15507 OPC_CheckPredicate0,
15508 OPC_MoveSibling1,
15509 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15510 OPC_MoveChild0,
15511 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15512 OPC_CheckPredicate3,
15513 OPC_MoveParent,
15514 OPC_RecordChild1,
15515 OPC_CheckType, MVT::v4i64,
15516 OPC_MoveParent,
15517 OPC_MoveSibling1,
15518 OPC_CheckImmAllOnesV,
15519 OPC_MoveParent,
15520 OPC_MoveParent,
15521 OPC_CheckType, MVT::v4i64,
15522 OPC_CheckPatternPredicate0,
15523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15524 MVT::v4i64, 2, 0, 1,
15525 78,
15526 OPC_MoveChild0,
15527 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15528 OPC_MoveChild0,
15529 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15530 OPC_MoveChild0,
15531 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15532 OPC_MoveChild0,
15533 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15534 OPC_CheckType, MVT::v4i32,
15535 OPC_MoveParent,
15536 OPC_CheckPredicate0,
15537 OPC_MoveSibling1,
15538 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15539 OPC_Scope, 25,
15540 OPC_RecordChild0,
15541 OPC_MoveChild1,
15542 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15543 OPC_CheckPredicate3,
15544 OPC_MoveParent,
15545 OPC_CheckType, MVT::v4i64,
15546 OPC_MoveParent,
15547 OPC_MoveSibling1,
15548 OPC_CheckImmAllOnesV,
15549 OPC_MoveParent,
15550 OPC_MoveParent,
15551 OPC_RecordChild1,
15552 OPC_CheckType, MVT::v4i64,
15553 OPC_CheckPatternPredicate0,
15554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15555 MVT::v4i64, 2, 1, 0,
15556 25,
15557 OPC_MoveChild0,
15558 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15559 OPC_CheckPredicate3,
15560 OPC_MoveParent,
15561 OPC_RecordChild1,
15562 OPC_CheckType, MVT::v4i64,
15563 OPC_MoveParent,
15564 OPC_MoveSibling1,
15565 OPC_CheckImmAllOnesV,
15566 OPC_MoveParent,
15567 OPC_MoveParent,
15568 OPC_RecordChild1,
15569 OPC_CheckType, MVT::v4i64,
15570 OPC_CheckPatternPredicate0,
15571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15572 MVT::v4i64, 2, 1, 0,
15573 0,
15574 90|128,1,
15575 OPC_RecordChild0,
15576 OPC_MoveChild1,
15577 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15578 OPC_MoveChild0,
15579 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15580 OPC_MoveChild0,
15581 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15582 OPC_CheckPredicate0,
15583 OPC_MoveSibling1,
15584 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15585 OPC_Scope, 43|128,1,
15586 OPC_RecordChild0,
15587 OPC_MoveChild1,
15588 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15589 OPC_Scope, 19,
15590 OPC_CheckPredicate7,
15591 OPC_MoveParent,
15592 OPC_CheckType, MVT::v16i8,
15593 OPC_MoveParent,
15594 OPC_MoveSibling1,
15595 OPC_CheckImmAllOnesV,
15596 OPC_MoveParent,
15597 OPC_MoveParent,
15598 OPC_CheckType, MVT::v16i8,
15599 OPC_CheckPatternPredicate1,
15600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15601 MVT::v16i8, 2, 0, 1,
15602 20,
15603 OPC_CheckPredicate, 8,
15604 OPC_MoveParent,
15605 OPC_CheckType, MVT::v8i16,
15606 OPC_MoveParent,
15607 OPC_MoveSibling1,
15608 OPC_CheckImmAllOnesV,
15609 OPC_MoveParent,
15610 OPC_MoveParent,
15611 OPC_CheckType, MVT::v8i16,
15612 OPC_CheckPatternPredicate1,
15613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15614 MVT::v8i16, 2, 0, 1,
15615 20,
15616 OPC_CheckPredicate, 9,
15617 OPC_MoveParent,
15618 OPC_CheckType, MVT::v4i32,
15619 OPC_MoveParent,
15620 OPC_MoveSibling1,
15621 OPC_CheckImmAllOnesV,
15622 OPC_MoveParent,
15623 OPC_MoveParent,
15624 OPC_CheckType, MVT::v4i32,
15625 OPC_CheckPatternPredicate1,
15626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15627 MVT::v4i32, 2, 0, 1,
15628 19,
15629 OPC_CheckPredicate3,
15630 OPC_MoveParent,
15631 OPC_CheckType, MVT::v2i64,
15632 OPC_MoveParent,
15633 OPC_MoveSibling1,
15634 OPC_CheckImmAllOnesV,
15635 OPC_MoveParent,
15636 OPC_MoveParent,
15637 OPC_CheckType, MVT::v2i64,
15638 OPC_CheckPatternPredicate1,
15639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15640 MVT::v2i64, 2, 0, 1,
15641 19,
15642 OPC_CheckPredicate7,
15643 OPC_MoveParent,
15644 OPC_CheckType, MVT::v32i8,
15645 OPC_MoveParent,
15646 OPC_MoveSibling1,
15647 OPC_CheckImmAllOnesV,
15648 OPC_MoveParent,
15649 OPC_MoveParent,
15650 OPC_CheckType, MVT::v32i8,
15651 OPC_CheckPatternPredicate0,
15652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15653 MVT::v32i8, 2, 0, 1,
15654 20,
15655 OPC_CheckPredicate, 8,
15656 OPC_MoveParent,
15657 OPC_CheckType, MVT::v16i16,
15658 OPC_MoveParent,
15659 OPC_MoveSibling1,
15660 OPC_CheckImmAllOnesV,
15661 OPC_MoveParent,
15662 OPC_MoveParent,
15663 OPC_CheckType, MVT::v16i16,
15664 OPC_CheckPatternPredicate0,
15665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15666 MVT::v16i16, 2, 0, 1,
15667 20,
15668 OPC_CheckPredicate, 9,
15669 OPC_MoveParent,
15670 OPC_CheckType, MVT::v8i32,
15671 OPC_MoveParent,
15672 OPC_MoveSibling1,
15673 OPC_CheckImmAllOnesV,
15674 OPC_MoveParent,
15675 OPC_MoveParent,
15676 OPC_CheckType, MVT::v8i32,
15677 OPC_CheckPatternPredicate0,
15678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15679 MVT::v8i32, 2, 0, 1,
15680 19,
15681 OPC_CheckPredicate3,
15682 OPC_MoveParent,
15683 OPC_CheckType, MVT::v4i64,
15684 OPC_MoveParent,
15685 OPC_MoveSibling1,
15686 OPC_CheckImmAllOnesV,
15687 OPC_MoveParent,
15688 OPC_MoveParent,
15689 OPC_CheckType, MVT::v4i64,
15690 OPC_CheckPatternPredicate0,
15691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15692 MVT::v4i64, 2, 0, 1,
15693 0,
15694 24,
15695 OPC_MoveChild0,
15696 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15697 OPC_CheckPredicate7,
15698 OPC_MoveParent,
15699 OPC_RecordChild1,
15700 OPC_CheckType, MVT::v16i8,
15701 OPC_MoveParent,
15702 OPC_MoveSibling1,
15703 OPC_CheckImmAllOnesV,
15704 OPC_MoveParent,
15705 OPC_MoveParent,
15706 OPC_CheckType, MVT::v16i8,
15707 OPC_CheckPatternPredicate1,
15708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15709 MVT::v16i8, 2, 0, 1,
15710 0,
15711 71,
15712 OPC_MoveChild0,
15713 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15714 OPC_MoveChild0,
15715 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15716 OPC_MoveChild0,
15717 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15718 OPC_CheckPredicate0,
15719 OPC_MoveSibling1,
15720 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15721 OPC_Scope, 25,
15722 OPC_RecordChild0,
15723 OPC_MoveChild1,
15724 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15725 OPC_CheckPredicate7,
15726 OPC_MoveParent,
15727 OPC_CheckType, MVT::v16i8,
15728 OPC_MoveParent,
15729 OPC_MoveSibling1,
15730 OPC_CheckImmAllOnesV,
15731 OPC_MoveParent,
15732 OPC_MoveParent,
15733 OPC_RecordChild1,
15734 OPC_CheckType, MVT::v16i8,
15735 OPC_CheckPatternPredicate1,
15736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15737 MVT::v16i8, 2, 1, 0,
15738 25,
15739 OPC_MoveChild0,
15740 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15741 OPC_CheckPredicate7,
15742 OPC_MoveParent,
15743 OPC_RecordChild1,
15744 OPC_CheckType, MVT::v16i8,
15745 OPC_MoveParent,
15746 OPC_MoveSibling1,
15747 OPC_CheckImmAllOnesV,
15748 OPC_MoveParent,
15749 OPC_MoveParent,
15750 OPC_RecordChild1,
15751 OPC_CheckType, MVT::v16i8,
15752 OPC_CheckPatternPredicate1,
15753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15754 MVT::v16i8, 2, 1, 0,
15755 0,
15756 43,
15757 OPC_RecordChild0,
15758 OPC_MoveChild1,
15759 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15760 OPC_MoveChild0,
15761 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15762 OPC_MoveChild0,
15763 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15764 OPC_CheckPredicate0,
15765 OPC_MoveSibling1,
15766 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15767 OPC_MoveChild0,
15768 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15769 OPC_CheckPredicate, 8,
15770 OPC_MoveParent,
15771 OPC_RecordChild1,
15772 OPC_CheckType, MVT::v8i16,
15773 OPC_MoveParent,
15774 OPC_MoveSibling1,
15775 OPC_CheckImmAllOnesV,
15776 OPC_MoveParent,
15777 OPC_MoveParent,
15778 OPC_CheckType, MVT::v8i16,
15779 OPC_CheckPatternPredicate1,
15780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15781 MVT::v8i16, 2, 0, 1,
15782 73,
15783 OPC_MoveChild0,
15784 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15785 OPC_MoveChild0,
15786 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15787 OPC_MoveChild0,
15788 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15789 OPC_CheckPredicate0,
15790 OPC_MoveSibling1,
15791 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15792 OPC_Scope, 26,
15793 OPC_RecordChild0,
15794 OPC_MoveChild1,
15795 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15796 OPC_CheckPredicate, 8,
15797 OPC_MoveParent,
15798 OPC_CheckType, MVT::v8i16,
15799 OPC_MoveParent,
15800 OPC_MoveSibling1,
15801 OPC_CheckImmAllOnesV,
15802 OPC_MoveParent,
15803 OPC_MoveParent,
15804 OPC_RecordChild1,
15805 OPC_CheckType, MVT::v8i16,
15806 OPC_CheckPatternPredicate1,
15807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15808 MVT::v8i16, 2, 1, 0,
15809 26,
15810 OPC_MoveChild0,
15811 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15812 OPC_CheckPredicate, 8,
15813 OPC_MoveParent,
15814 OPC_RecordChild1,
15815 OPC_CheckType, MVT::v8i16,
15816 OPC_MoveParent,
15817 OPC_MoveSibling1,
15818 OPC_CheckImmAllOnesV,
15819 OPC_MoveParent,
15820 OPC_MoveParent,
15821 OPC_RecordChild1,
15822 OPC_CheckType, MVT::v8i16,
15823 OPC_CheckPatternPredicate1,
15824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15825 MVT::v8i16, 2, 1, 0,
15826 0,
15827 43,
15828 OPC_RecordChild0,
15829 OPC_MoveChild1,
15830 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15831 OPC_MoveChild0,
15832 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15833 OPC_MoveChild0,
15834 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15835 OPC_CheckPredicate0,
15836 OPC_MoveSibling1,
15837 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15838 OPC_MoveChild0,
15839 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15840 OPC_CheckPredicate, 9,
15841 OPC_MoveParent,
15842 OPC_RecordChild1,
15843 OPC_CheckType, MVT::v4i32,
15844 OPC_MoveParent,
15845 OPC_MoveSibling1,
15846 OPC_CheckImmAllOnesV,
15847 OPC_MoveParent,
15848 OPC_MoveParent,
15849 OPC_CheckType, MVT::v4i32,
15850 OPC_CheckPatternPredicate1,
15851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15852 MVT::v4i32, 2, 0, 1,
15853 73,
15854 OPC_MoveChild0,
15855 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15856 OPC_MoveChild0,
15857 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15858 OPC_MoveChild0,
15859 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15860 OPC_CheckPredicate0,
15861 OPC_MoveSibling1,
15862 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15863 OPC_Scope, 26,
15864 OPC_RecordChild0,
15865 OPC_MoveChild1,
15866 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15867 OPC_CheckPredicate, 9,
15868 OPC_MoveParent,
15869 OPC_CheckType, MVT::v4i32,
15870 OPC_MoveParent,
15871 OPC_MoveSibling1,
15872 OPC_CheckImmAllOnesV,
15873 OPC_MoveParent,
15874 OPC_MoveParent,
15875 OPC_RecordChild1,
15876 OPC_CheckType, MVT::v4i32,
15877 OPC_CheckPatternPredicate1,
15878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15879 MVT::v4i32, 2, 1, 0,
15880 26,
15881 OPC_MoveChild0,
15882 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15883 OPC_CheckPredicate, 9,
15884 OPC_MoveParent,
15885 OPC_RecordChild1,
15886 OPC_CheckType, MVT::v4i32,
15887 OPC_MoveParent,
15888 OPC_MoveSibling1,
15889 OPC_CheckImmAllOnesV,
15890 OPC_MoveParent,
15891 OPC_MoveParent,
15892 OPC_RecordChild1,
15893 OPC_CheckType, MVT::v4i32,
15894 OPC_CheckPatternPredicate1,
15895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15896 MVT::v4i32, 2, 1, 0,
15897 0,
15898 42,
15899 OPC_RecordChild0,
15900 OPC_MoveChild1,
15901 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15902 OPC_MoveChild0,
15903 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15904 OPC_MoveChild0,
15905 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15906 OPC_CheckPredicate0,
15907 OPC_MoveSibling1,
15908 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15909 OPC_MoveChild0,
15910 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15911 OPC_CheckPredicate3,
15912 OPC_MoveParent,
15913 OPC_RecordChild1,
15914 OPC_CheckType, MVT::v2i64,
15915 OPC_MoveParent,
15916 OPC_MoveSibling1,
15917 OPC_CheckImmAllOnesV,
15918 OPC_MoveParent,
15919 OPC_MoveParent,
15920 OPC_CheckType, MVT::v2i64,
15921 OPC_CheckPatternPredicate1,
15922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15923 MVT::v2i64, 2, 0, 1,
15924 71,
15925 OPC_MoveChild0,
15926 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15927 OPC_MoveChild0,
15928 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15929 OPC_MoveChild0,
15930 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15931 OPC_CheckPredicate0,
15932 OPC_MoveSibling1,
15933 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15934 OPC_Scope, 25,
15935 OPC_RecordChild0,
15936 OPC_MoveChild1,
15937 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15938 OPC_CheckPredicate3,
15939 OPC_MoveParent,
15940 OPC_CheckType, MVT::v2i64,
15941 OPC_MoveParent,
15942 OPC_MoveSibling1,
15943 OPC_CheckImmAllOnesV,
15944 OPC_MoveParent,
15945 OPC_MoveParent,
15946 OPC_RecordChild1,
15947 OPC_CheckType, MVT::v2i64,
15948 OPC_CheckPatternPredicate1,
15949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15950 MVT::v2i64, 2, 1, 0,
15951 25,
15952 OPC_MoveChild0,
15953 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15954 OPC_CheckPredicate3,
15955 OPC_MoveParent,
15956 OPC_RecordChild1,
15957 OPC_CheckType, MVT::v2i64,
15958 OPC_MoveParent,
15959 OPC_MoveSibling1,
15960 OPC_CheckImmAllOnesV,
15961 OPC_MoveParent,
15962 OPC_MoveParent,
15963 OPC_RecordChild1,
15964 OPC_CheckType, MVT::v2i64,
15965 OPC_CheckPatternPredicate1,
15966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15967 MVT::v2i64, 2, 1, 0,
15968 0,
15969 42,
15970 OPC_RecordChild0,
15971 OPC_MoveChild1,
15972 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15973 OPC_MoveChild0,
15974 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15975 OPC_MoveChild0,
15976 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15977 OPC_CheckPredicate0,
15978 OPC_MoveSibling1,
15979 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15980 OPC_MoveChild0,
15981 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15982 OPC_CheckPredicate7,
15983 OPC_MoveParent,
15984 OPC_RecordChild1,
15985 OPC_CheckType, MVT::v32i8,
15986 OPC_MoveParent,
15987 OPC_MoveSibling1,
15988 OPC_CheckImmAllOnesV,
15989 OPC_MoveParent,
15990 OPC_MoveParent,
15991 OPC_CheckType, MVT::v32i8,
15992 OPC_CheckPatternPredicate0,
15993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15994 MVT::v32i8, 2, 0, 1,
15995 71,
15996 OPC_MoveChild0,
15997 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15998 OPC_MoveChild0,
15999 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16000 OPC_MoveChild0,
16001 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16002 OPC_CheckPredicate0,
16003 OPC_MoveSibling1,
16004 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16005 OPC_Scope, 25,
16006 OPC_RecordChild0,
16007 OPC_MoveChild1,
16008 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16009 OPC_CheckPredicate7,
16010 OPC_MoveParent,
16011 OPC_CheckType, MVT::v32i8,
16012 OPC_MoveParent,
16013 OPC_MoveSibling1,
16014 OPC_CheckImmAllOnesV,
16015 OPC_MoveParent,
16016 OPC_MoveParent,
16017 OPC_RecordChild1,
16018 OPC_CheckType, MVT::v32i8,
16019 OPC_CheckPatternPredicate0,
16020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16021 MVT::v32i8, 2, 1, 0,
16022 25,
16023 OPC_MoveChild0,
16024 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16025 OPC_CheckPredicate7,
16026 OPC_MoveParent,
16027 OPC_RecordChild1,
16028 OPC_CheckType, MVT::v32i8,
16029 OPC_MoveParent,
16030 OPC_MoveSibling1,
16031 OPC_CheckImmAllOnesV,
16032 OPC_MoveParent,
16033 OPC_MoveParent,
16034 OPC_RecordChild1,
16035 OPC_CheckType, MVT::v32i8,
16036 OPC_CheckPatternPredicate0,
16037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16038 MVT::v32i8, 2, 1, 0,
16039 0,
16040 43,
16041 OPC_RecordChild0,
16042 OPC_MoveChild1,
16043 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16044 OPC_MoveChild0,
16045 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16046 OPC_MoveChild0,
16047 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16048 OPC_CheckPredicate0,
16049 OPC_MoveSibling1,
16050 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16051 OPC_MoveChild0,
16052 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16053 OPC_CheckPredicate, 8,
16054 OPC_MoveParent,
16055 OPC_RecordChild1,
16056 OPC_CheckType, MVT::v16i16,
16057 OPC_MoveParent,
16058 OPC_MoveSibling1,
16059 OPC_CheckImmAllOnesV,
16060 OPC_MoveParent,
16061 OPC_MoveParent,
16062 OPC_CheckType, MVT::v16i16,
16063 OPC_CheckPatternPredicate0,
16064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16065 MVT::v16i16, 2, 0, 1,
16066 73,
16067 OPC_MoveChild0,
16068 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16069 OPC_MoveChild0,
16070 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16071 OPC_MoveChild0,
16072 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16073 OPC_CheckPredicate0,
16074 OPC_MoveSibling1,
16075 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16076 OPC_Scope, 26,
16077 OPC_RecordChild0,
16078 OPC_MoveChild1,
16079 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16080 OPC_CheckPredicate, 8,
16081 OPC_MoveParent,
16082 OPC_CheckType, MVT::v16i16,
16083 OPC_MoveParent,
16084 OPC_MoveSibling1,
16085 OPC_CheckImmAllOnesV,
16086 OPC_MoveParent,
16087 OPC_MoveParent,
16088 OPC_RecordChild1,
16089 OPC_CheckType, MVT::v16i16,
16090 OPC_CheckPatternPredicate0,
16091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16092 MVT::v16i16, 2, 1, 0,
16093 26,
16094 OPC_MoveChild0,
16095 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16096 OPC_CheckPredicate, 8,
16097 OPC_MoveParent,
16098 OPC_RecordChild1,
16099 OPC_CheckType, MVT::v16i16,
16100 OPC_MoveParent,
16101 OPC_MoveSibling1,
16102 OPC_CheckImmAllOnesV,
16103 OPC_MoveParent,
16104 OPC_MoveParent,
16105 OPC_RecordChild1,
16106 OPC_CheckType, MVT::v16i16,
16107 OPC_CheckPatternPredicate0,
16108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16109 MVT::v16i16, 2, 1, 0,
16110 0,
16111 43,
16112 OPC_RecordChild0,
16113 OPC_MoveChild1,
16114 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16115 OPC_MoveChild0,
16116 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16117 OPC_MoveChild0,
16118 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16119 OPC_CheckPredicate0,
16120 OPC_MoveSibling1,
16121 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16122 OPC_MoveChild0,
16123 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16124 OPC_CheckPredicate, 9,
16125 OPC_MoveParent,
16126 OPC_RecordChild1,
16127 OPC_CheckType, MVT::v8i32,
16128 OPC_MoveParent,
16129 OPC_MoveSibling1,
16130 OPC_CheckImmAllOnesV,
16131 OPC_MoveParent,
16132 OPC_MoveParent,
16133 OPC_CheckType, MVT::v8i32,
16134 OPC_CheckPatternPredicate0,
16135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16136 MVT::v8i32, 2, 0, 1,
16137 73,
16138 OPC_MoveChild0,
16139 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16140 OPC_MoveChild0,
16141 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16142 OPC_MoveChild0,
16143 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16144 OPC_CheckPredicate0,
16145 OPC_MoveSibling1,
16146 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16147 OPC_Scope, 26,
16148 OPC_RecordChild0,
16149 OPC_MoveChild1,
16150 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16151 OPC_CheckPredicate, 9,
16152 OPC_MoveParent,
16153 OPC_CheckType, MVT::v8i32,
16154 OPC_MoveParent,
16155 OPC_MoveSibling1,
16156 OPC_CheckImmAllOnesV,
16157 OPC_MoveParent,
16158 OPC_MoveParent,
16159 OPC_RecordChild1,
16160 OPC_CheckType, MVT::v8i32,
16161 OPC_CheckPatternPredicate0,
16162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16163 MVT::v8i32, 2, 1, 0,
16164 26,
16165 OPC_MoveChild0,
16166 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16167 OPC_CheckPredicate, 9,
16168 OPC_MoveParent,
16169 OPC_RecordChild1,
16170 OPC_CheckType, MVT::v8i32,
16171 OPC_MoveParent,
16172 OPC_MoveSibling1,
16173 OPC_CheckImmAllOnesV,
16174 OPC_MoveParent,
16175 OPC_MoveParent,
16176 OPC_RecordChild1,
16177 OPC_CheckType, MVT::v8i32,
16178 OPC_CheckPatternPredicate0,
16179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16180 MVT::v8i32, 2, 1, 0,
16181 0,
16182 42,
16183 OPC_RecordChild0,
16184 OPC_MoveChild1,
16185 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16186 OPC_MoveChild0,
16187 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16188 OPC_MoveChild0,
16189 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16190 OPC_CheckPredicate0,
16191 OPC_MoveSibling1,
16192 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16193 OPC_MoveChild0,
16194 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16195 OPC_CheckPredicate3,
16196 OPC_MoveParent,
16197 OPC_RecordChild1,
16198 OPC_CheckType, MVT::v4i64,
16199 OPC_MoveParent,
16200 OPC_MoveSibling1,
16201 OPC_CheckImmAllOnesV,
16202 OPC_MoveParent,
16203 OPC_MoveParent,
16204 OPC_CheckType, MVT::v4i64,
16205 OPC_CheckPatternPredicate0,
16206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16207 MVT::v4i64, 2, 0, 1,
16208 71,
16209 OPC_MoveChild0,
16210 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16211 OPC_MoveChild0,
16212 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16213 OPC_MoveChild0,
16214 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16215 OPC_CheckPredicate0,
16216 OPC_MoveSibling1,
16217 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16218 OPC_Scope, 25,
16219 OPC_RecordChild0,
16220 OPC_MoveChild1,
16221 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16222 OPC_CheckPredicate3,
16223 OPC_MoveParent,
16224 OPC_CheckType, MVT::v4i64,
16225 OPC_MoveParent,
16226 OPC_MoveSibling1,
16227 OPC_CheckImmAllOnesV,
16228 OPC_MoveParent,
16229 OPC_MoveParent,
16230 OPC_RecordChild1,
16231 OPC_CheckType, MVT::v4i64,
16232 OPC_CheckPatternPredicate0,
16233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16234 MVT::v4i64, 2, 1, 0,
16235 25,
16236 OPC_MoveChild0,
16237 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16238 OPC_CheckPredicate3,
16239 OPC_MoveParent,
16240 OPC_RecordChild1,
16241 OPC_CheckType, MVT::v4i64,
16242 OPC_MoveParent,
16243 OPC_MoveSibling1,
16244 OPC_CheckImmAllOnesV,
16245 OPC_MoveParent,
16246 OPC_MoveParent,
16247 OPC_RecordChild1,
16248 OPC_CheckType, MVT::v4i64,
16249 OPC_CheckPatternPredicate0,
16250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16251 MVT::v4i64, 2, 1, 0,
16252 0,
16253 71,
16254 OPC_RecordChild0,
16255 OPC_MoveChild1,
16256 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16257 OPC_MoveChild0,
16258 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16259 OPC_MoveChild0,
16260 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16261 OPC_MoveSibling1,
16262 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16263 OPC_Scope, 25,
16264 OPC_RecordChild0,
16265 OPC_MoveChild1,
16266 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16267 OPC_CheckPredicate, 9,
16268 OPC_MoveParent,
16269 OPC_CheckType, MVT::v4i32,
16270 OPC_MoveParent,
16271 OPC_MoveSibling1,
16272 OPC_CheckImmAllOnesV,
16273 OPC_MoveParent,
16274 OPC_MoveParent,
16275 OPC_CheckType, MVT::v4i32,
16276 OPC_CheckPatternPredicate1,
16277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16278 MVT::v4i32, 2, 0, 1,
16279 25,
16280 OPC_MoveChild0,
16281 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16282 OPC_CheckPredicate, 9,
16283 OPC_MoveParent,
16284 OPC_RecordChild1,
16285 OPC_CheckType, MVT::v4i32,
16286 OPC_MoveParent,
16287 OPC_MoveSibling1,
16288 OPC_CheckImmAllOnesV,
16289 OPC_MoveParent,
16290 OPC_MoveParent,
16291 OPC_CheckType, MVT::v4i32,
16292 OPC_CheckPatternPredicate1,
16293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16294 MVT::v4i32, 2, 0, 1,
16295 0,
16296 72,
16297 OPC_MoveChild0,
16298 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16299 OPC_MoveChild0,
16300 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16301 OPC_MoveChild0,
16302 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16303 OPC_MoveSibling1,
16304 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16305 OPC_Scope, 26,
16306 OPC_RecordChild0,
16307 OPC_MoveChild1,
16308 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16309 OPC_CheckPredicate, 9,
16310 OPC_MoveParent,
16311 OPC_CheckType, MVT::v4i32,
16312 OPC_MoveParent,
16313 OPC_MoveSibling1,
16314 OPC_CheckImmAllOnesV,
16315 OPC_MoveParent,
16316 OPC_MoveParent,
16317 OPC_RecordChild1,
16318 OPC_CheckType, MVT::v4i32,
16319 OPC_CheckPatternPredicate1,
16320 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16321 MVT::v4i32, 2, 1, 0,
16322 26,
16323 OPC_MoveChild0,
16324 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16325 OPC_CheckPredicate, 9,
16326 OPC_MoveParent,
16327 OPC_RecordChild1,
16328 OPC_CheckType, MVT::v4i32,
16329 OPC_MoveParent,
16330 OPC_MoveSibling1,
16331 OPC_CheckImmAllOnesV,
16332 OPC_MoveParent,
16333 OPC_MoveParent,
16334 OPC_RecordChild1,
16335 OPC_CheckType, MVT::v4i32,
16336 OPC_CheckPatternPredicate1,
16337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16338 MVT::v4i32, 2, 1, 0,
16339 0,
16340 16|128,1,
16341 OPC_RecordChild0,
16342 OPC_MoveChild1,
16343 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16344 OPC_MoveChild0,
16345 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16346 OPC_MoveChild0,
16347 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16348 OPC_MoveChild0,
16349 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16350 OPC_CheckType, MVT::v4i32,
16351 OPC_MoveParent,
16352 OPC_CheckPredicate0,
16353 OPC_MoveParent,
16354 OPC_RecordChild1,
16355 OPC_Scope, 16,
16356 OPC_CheckChild1Type, MVT::v16i8,
16357 OPC_MoveSibling1,
16358 OPC_CheckImmAllOnesV,
16359 OPC_MoveParent,
16360 OPC_MoveParent,
16361 OPC_CheckType, MVT::v16i8,
16362 OPC_CheckPatternPredicate1,
16363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16364 MVT::v16i8, 2, 0, 1,
16365 16,
16366 OPC_CheckChild1Type, MVT::v8i16,
16367 OPC_MoveSibling1,
16368 OPC_CheckImmAllOnesV,
16369 OPC_MoveParent,
16370 OPC_MoveParent,
16371 OPC_CheckType, MVT::v8i16,
16372 OPC_CheckPatternPredicate1,
16373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16374 MVT::v8i16, 2, 0, 1,
16375 16,
16376 OPC_CheckChild1Type, MVT::v2i64,
16377 OPC_MoveSibling1,
16378 OPC_CheckImmAllOnesV,
16379 OPC_MoveParent,
16380 OPC_MoveParent,
16381 OPC_CheckType, MVT::v2i64,
16382 OPC_CheckPatternPredicate1,
16383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16384 MVT::v2i64, 2, 0, 1,
16385 16,
16386 OPC_CheckChild1Type, MVT::v32i8,
16387 OPC_MoveSibling1,
16388 OPC_CheckImmAllOnesV,
16389 OPC_MoveParent,
16390 OPC_MoveParent,
16391 OPC_CheckType, MVT::v32i8,
16392 OPC_CheckPatternPredicate0,
16393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16394 MVT::v32i8, 2, 0, 1,
16395 16,
16396 OPC_CheckChild1Type, MVT::v16i16,
16397 OPC_MoveSibling1,
16398 OPC_CheckImmAllOnesV,
16399 OPC_MoveParent,
16400 OPC_MoveParent,
16401 OPC_CheckType, MVT::v16i16,
16402 OPC_CheckPatternPredicate0,
16403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16404 MVT::v16i16, 2, 0, 1,
16405 16,
16406 OPC_CheckChild1Type, MVT::v8i32,
16407 OPC_MoveSibling1,
16408 OPC_CheckImmAllOnesV,
16409 OPC_MoveParent,
16410 OPC_MoveParent,
16411 OPC_CheckType, MVT::v8i32,
16412 OPC_CheckPatternPredicate0,
16413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16414 MVT::v8i32, 2, 0, 1,
16415 16,
16416 OPC_CheckChild1Type, MVT::v4i64,
16417 OPC_MoveSibling1,
16418 OPC_CheckImmAllOnesV,
16419 OPC_MoveParent,
16420 OPC_MoveParent,
16421 OPC_CheckType, MVT::v4i64,
16422 OPC_CheckPatternPredicate0,
16423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16424 MVT::v4i64, 2, 0, 1,
16425 0,
16426 22|128,1,
16427 OPC_MoveChild0,
16428 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16429 OPC_MoveChild0,
16430 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16431 OPC_MoveChild0,
16432 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16433 OPC_MoveChild0,
16434 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16435 OPC_CheckType, MVT::v4i32,
16436 OPC_MoveParent,
16437 OPC_CheckPredicate0,
16438 OPC_MoveParent,
16439 OPC_RecordChild1,
16440 OPC_Scope, 17,
16441 OPC_CheckChild1Type, MVT::v16i8,
16442 OPC_MoveSibling1,
16443 OPC_CheckImmAllOnesV,
16444 OPC_MoveParent,
16445 OPC_MoveParent,
16446 OPC_RecordChild1,
16447 OPC_CheckType, MVT::v16i8,
16448 OPC_CheckPatternPredicate1,
16449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16450 MVT::v16i8, 2, 1, 0,
16451 17,
16452 OPC_CheckChild1Type, MVT::v8i16,
16453 OPC_MoveSibling1,
16454 OPC_CheckImmAllOnesV,
16455 OPC_MoveParent,
16456 OPC_MoveParent,
16457 OPC_RecordChild1,
16458 OPC_CheckType, MVT::v8i16,
16459 OPC_CheckPatternPredicate1,
16460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16461 MVT::v8i16, 2, 1, 0,
16462 17,
16463 OPC_CheckChild1Type, MVT::v2i64,
16464 OPC_MoveSibling1,
16465 OPC_CheckImmAllOnesV,
16466 OPC_MoveParent,
16467 OPC_MoveParent,
16468 OPC_RecordChild1,
16469 OPC_CheckType, MVT::v2i64,
16470 OPC_CheckPatternPredicate1,
16471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16472 MVT::v2i64, 2, 1, 0,
16473 17,
16474 OPC_CheckChild1Type, MVT::v32i8,
16475 OPC_MoveSibling1,
16476 OPC_CheckImmAllOnesV,
16477 OPC_MoveParent,
16478 OPC_MoveParent,
16479 OPC_RecordChild1,
16480 OPC_CheckType, MVT::v32i8,
16481 OPC_CheckPatternPredicate0,
16482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16483 MVT::v32i8, 2, 1, 0,
16484 17,
16485 OPC_CheckChild1Type, MVT::v16i16,
16486 OPC_MoveSibling1,
16487 OPC_CheckImmAllOnesV,
16488 OPC_MoveParent,
16489 OPC_MoveParent,
16490 OPC_RecordChild1,
16491 OPC_CheckType, MVT::v16i16,
16492 OPC_CheckPatternPredicate0,
16493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16494 MVT::v16i16, 2, 1, 0,
16495 17,
16496 OPC_CheckChild1Type, MVT::v8i32,
16497 OPC_MoveSibling1,
16498 OPC_CheckImmAllOnesV,
16499 OPC_MoveParent,
16500 OPC_MoveParent,
16501 OPC_RecordChild1,
16502 OPC_CheckType, MVT::v8i32,
16503 OPC_CheckPatternPredicate0,
16504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16505 MVT::v8i32, 2, 1, 0,
16506 17,
16507 OPC_CheckChild1Type, MVT::v4i64,
16508 OPC_MoveSibling1,
16509 OPC_CheckImmAllOnesV,
16510 OPC_MoveParent,
16511 OPC_MoveParent,
16512 OPC_RecordChild1,
16513 OPC_CheckType, MVT::v4i64,
16514 OPC_CheckPatternPredicate0,
16515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16516 MVT::v4i64, 2, 1, 0,
16517 0,
16518 26|128,1,
16519 OPC_RecordChild0,
16520 OPC_MoveChild1,
16521 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16522 OPC_MoveChild0,
16523 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16524 OPC_MoveChild0,
16525 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16526 OPC_CheckPredicate0,
16527 OPC_MoveParent,
16528 OPC_RecordChild1,
16529 OPC_Scope, 16,
16530 OPC_CheckChild1Type, MVT::v16i8,
16531 OPC_MoveSibling1,
16532 OPC_CheckImmAllOnesV,
16533 OPC_MoveParent,
16534 OPC_MoveParent,
16535 OPC_CheckType, MVT::v16i8,
16536 OPC_CheckPatternPredicate1,
16537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16538 MVT::v16i8, 2, 0, 1,
16539 16,
16540 OPC_CheckChild1Type, MVT::v8i16,
16541 OPC_MoveSibling1,
16542 OPC_CheckImmAllOnesV,
16543 OPC_MoveParent,
16544 OPC_MoveParent,
16545 OPC_CheckType, MVT::v8i16,
16546 OPC_CheckPatternPredicate1,
16547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16548 MVT::v8i16, 2, 0, 1,
16549 16,
16550 OPC_CheckChild1Type, MVT::v4i32,
16551 OPC_MoveSibling1,
16552 OPC_CheckImmAllOnesV,
16553 OPC_MoveParent,
16554 OPC_MoveParent,
16555 OPC_CheckType, MVT::v4i32,
16556 OPC_CheckPatternPredicate1,
16557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16558 MVT::v4i32, 2, 0, 1,
16559 16,
16560 OPC_CheckChild1Type, MVT::v2i64,
16561 OPC_MoveSibling1,
16562 OPC_CheckImmAllOnesV,
16563 OPC_MoveParent,
16564 OPC_MoveParent,
16565 OPC_CheckType, MVT::v2i64,
16566 OPC_CheckPatternPredicate1,
16567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16568 MVT::v2i64, 2, 0, 1,
16569 16,
16570 OPC_CheckChild1Type, MVT::v32i8,
16571 OPC_MoveSibling1,
16572 OPC_CheckImmAllOnesV,
16573 OPC_MoveParent,
16574 OPC_MoveParent,
16575 OPC_CheckType, MVT::v32i8,
16576 OPC_CheckPatternPredicate0,
16577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16578 MVT::v32i8, 2, 0, 1,
16579 16,
16580 OPC_CheckChild1Type, MVT::v16i16,
16581 OPC_MoveSibling1,
16582 OPC_CheckImmAllOnesV,
16583 OPC_MoveParent,
16584 OPC_MoveParent,
16585 OPC_CheckType, MVT::v16i16,
16586 OPC_CheckPatternPredicate0,
16587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16588 MVT::v16i16, 2, 0, 1,
16589 16,
16590 OPC_CheckChild1Type, MVT::v8i32,
16591 OPC_MoveSibling1,
16592 OPC_CheckImmAllOnesV,
16593 OPC_MoveParent,
16594 OPC_MoveParent,
16595 OPC_CheckType, MVT::v8i32,
16596 OPC_CheckPatternPredicate0,
16597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16598 MVT::v8i32, 2, 0, 1,
16599 16,
16600 OPC_CheckChild1Type, MVT::v4i64,
16601 OPC_MoveSibling1,
16602 OPC_CheckImmAllOnesV,
16603 OPC_MoveParent,
16604 OPC_MoveParent,
16605 OPC_CheckType, MVT::v4i64,
16606 OPC_CheckPatternPredicate0,
16607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16608 MVT::v4i64, 2, 0, 1,
16609 0,
16610 33|128,1,
16611 OPC_MoveChild0,
16612 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16613 OPC_MoveChild0,
16614 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16615 OPC_MoveChild0,
16616 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16617 OPC_CheckPredicate0,
16618 OPC_MoveParent,
16619 OPC_RecordChild1,
16620 OPC_Scope, 17,
16621 OPC_CheckChild1Type, MVT::v16i8,
16622 OPC_MoveSibling1,
16623 OPC_CheckImmAllOnesV,
16624 OPC_MoveParent,
16625 OPC_MoveParent,
16626 OPC_RecordChild1,
16627 OPC_CheckType, MVT::v16i8,
16628 OPC_CheckPatternPredicate1,
16629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16630 MVT::v16i8, 2, 1, 0,
16631 17,
16632 OPC_CheckChild1Type, MVT::v8i16,
16633 OPC_MoveSibling1,
16634 OPC_CheckImmAllOnesV,
16635 OPC_MoveParent,
16636 OPC_MoveParent,
16637 OPC_RecordChild1,
16638 OPC_CheckType, MVT::v8i16,
16639 OPC_CheckPatternPredicate1,
16640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16641 MVT::v8i16, 2, 1, 0,
16642 17,
16643 OPC_CheckChild1Type, MVT::v4i32,
16644 OPC_MoveSibling1,
16645 OPC_CheckImmAllOnesV,
16646 OPC_MoveParent,
16647 OPC_MoveParent,
16648 OPC_RecordChild1,
16649 OPC_CheckType, MVT::v4i32,
16650 OPC_CheckPatternPredicate1,
16651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16652 MVT::v4i32, 2, 1, 0,
16653 17,
16654 OPC_CheckChild1Type, MVT::v2i64,
16655 OPC_MoveSibling1,
16656 OPC_CheckImmAllOnesV,
16657 OPC_MoveParent,
16658 OPC_MoveParent,
16659 OPC_RecordChild1,
16660 OPC_CheckType, MVT::v2i64,
16661 OPC_CheckPatternPredicate1,
16662 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16663 MVT::v2i64, 2, 1, 0,
16664 17,
16665 OPC_CheckChild1Type, MVT::v32i8,
16666 OPC_MoveSibling1,
16667 OPC_CheckImmAllOnesV,
16668 OPC_MoveParent,
16669 OPC_MoveParent,
16670 OPC_RecordChild1,
16671 OPC_CheckType, MVT::v32i8,
16672 OPC_CheckPatternPredicate0,
16673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16674 MVT::v32i8, 2, 1, 0,
16675 17,
16676 OPC_CheckChild1Type, MVT::v16i16,
16677 OPC_MoveSibling1,
16678 OPC_CheckImmAllOnesV,
16679 OPC_MoveParent,
16680 OPC_MoveParent,
16681 OPC_RecordChild1,
16682 OPC_CheckType, MVT::v16i16,
16683 OPC_CheckPatternPredicate0,
16684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16685 MVT::v16i16, 2, 1, 0,
16686 17,
16687 OPC_CheckChild1Type, MVT::v8i32,
16688 OPC_MoveSibling1,
16689 OPC_CheckImmAllOnesV,
16690 OPC_MoveParent,
16691 OPC_MoveParent,
16692 OPC_RecordChild1,
16693 OPC_CheckType, MVT::v8i32,
16694 OPC_CheckPatternPredicate0,
16695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16696 MVT::v8i32, 2, 1, 0,
16697 17,
16698 OPC_CheckChild1Type, MVT::v4i64,
16699 OPC_MoveSibling1,
16700 OPC_CheckImmAllOnesV,
16701 OPC_MoveParent,
16702 OPC_MoveParent,
16703 OPC_RecordChild1,
16704 OPC_CheckType, MVT::v4i64,
16705 OPC_CheckPatternPredicate0,
16706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16707 MVT::v4i64, 2, 1, 0,
16708 0,
16709 31,
16710 OPC_RecordChild0,
16711 OPC_MoveChild1,
16712 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16713 OPC_MoveChild0,
16714 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16715 OPC_MoveChild0,
16716 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16717 OPC_MoveParent,
16718 OPC_RecordChild1,
16719 OPC_CheckChild1Type, MVT::v4i32,
16720 OPC_MoveSibling1,
16721 OPC_CheckImmAllOnesV,
16722 OPC_MoveParent,
16723 OPC_MoveParent,
16724 OPC_CheckType, MVT::v4i32,
16725 OPC_CheckPatternPredicate1,
16726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16727 MVT::v4i32, 2, 0, 1,
16728 31,
16729 OPC_MoveChild0,
16730 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16731 OPC_MoveChild0,
16732 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16733 OPC_MoveChild0,
16734 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16735 OPC_MoveParent,
16736 OPC_RecordChild1,
16737 OPC_CheckChild1Type, MVT::v4i32,
16738 OPC_MoveSibling1,
16739 OPC_CheckImmAllOnesV,
16740 OPC_MoveParent,
16741 OPC_MoveParent,
16742 OPC_RecordChild1,
16743 OPC_CheckType, MVT::v4i32,
16744 OPC_CheckPatternPredicate1,
16745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16746 MVT::v4i32, 2, 1, 0,
16747 36|128,4,
16748 OPC_RecordChild0,
16749 OPC_RecordChild1,
16750 OPC_SwitchType , 99, MVT::v16i8,
16751 OPC_Scope, 10,
16752 OPC_CheckPatternPredicate2,
16753 OPC_CheckComplexPat6, /*#*/1,
16754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16755 MVT::v16i8, 2, 0, 2,
16756 10,
16757 OPC_CheckPatternPredicate5,
16758 OPC_CheckComplexPat6, /*#*/1,
16759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16760 MVT::v16i8, 2, 0, 2,
16761 10,
16762 OPC_CheckPatternPredicate2,
16763 OPC_CheckComplexPat6, /*#*/0,
16764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16765 MVT::v16i8, 2, 1, 2,
16766 10,
16767 OPC_CheckPatternPredicate5,
16768 OPC_CheckComplexPat6, /*#*/0,
16769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16770 MVT::v16i8, 2, 1, 2,
16771 10,
16772 OPC_CheckPatternPredicate2,
16773 OPC_CheckComplexPat7, /*#*/1,
16774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16775 MVT::v16i8, 2, 0, 2,
16776 10,
16777 OPC_CheckPatternPredicate5,
16778 OPC_CheckComplexPat7, /*#*/1,
16779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16780 MVT::v16i8, 2, 0, 2,
16781 10,
16782 OPC_CheckPatternPredicate2,
16783 OPC_CheckComplexPat7, /*#*/0,
16784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16785 MVT::v16i8, 2, 1, 2,
16786 10,
16787 OPC_CheckPatternPredicate5,
16788 OPC_CheckComplexPat7, /*#*/0,
16789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16790 MVT::v16i8, 2, 1, 2,
16791 8,
16792 OPC_CheckPatternPredicate1,
16793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16794 MVT::v16i8, 2, 0, 1,
16795 0,
16796 55, MVT::v8i16,
16797 OPC_Scope, 10,
16798 OPC_CheckPatternPredicate2,
16799 OPC_CheckComplexPat6, /*#*/1,
16800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16801 MVT::v8i16, 2, 0, 2,
16802 10,
16803 OPC_CheckPatternPredicate5,
16804 OPC_CheckComplexPat6, /*#*/1,
16805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16806 MVT::v8i16, 2, 0, 2,
16807 10,
16808 OPC_CheckPatternPredicate2,
16809 OPC_CheckComplexPat6, /*#*/0,
16810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16811 MVT::v8i16, 2, 1, 2,
16812 10,
16813 OPC_CheckPatternPredicate5,
16814 OPC_CheckComplexPat6, /*#*/0,
16815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16816 MVT::v8i16, 2, 1, 2,
16817 8,
16818 OPC_CheckPatternPredicate1,
16819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16820 MVT::v8i16, 2, 0, 1,
16821 0,
16822 55, MVT::v4i32,
16823 OPC_Scope, 10,
16824 OPC_CheckPatternPredicate2,
16825 OPC_CheckComplexPat6, /*#*/1,
16826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16827 MVT::v4i32, 2, 0, 2,
16828 10,
16829 OPC_CheckPatternPredicate5,
16830 OPC_CheckComplexPat6, /*#*/1,
16831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16832 MVT::v4i32, 2, 0, 2,
16833 10,
16834 OPC_CheckPatternPredicate2,
16835 OPC_CheckComplexPat6, /*#*/0,
16836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16837 MVT::v4i32, 2, 1, 2,
16838 10,
16839 OPC_CheckPatternPredicate5,
16840 OPC_CheckComplexPat6, /*#*/0,
16841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16842 MVT::v4i32, 2, 1, 2,
16843 8,
16844 OPC_CheckPatternPredicate1,
16845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16846 MVT::v4i32, 2, 0, 1,
16847 0,
16848 55, MVT::v2i64,
16849 OPC_Scope, 10,
16850 OPC_CheckPatternPredicate2,
16851 OPC_CheckComplexPat6, /*#*/1,
16852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16853 MVT::v2i64, 2, 0, 2,
16854 10,
16855 OPC_CheckPatternPredicate5,
16856 OPC_CheckComplexPat6, /*#*/1,
16857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16858 MVT::v2i64, 2, 0, 2,
16859 10,
16860 OPC_CheckPatternPredicate2,
16861 OPC_CheckComplexPat6, /*#*/0,
16862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16863 MVT::v2i64, 2, 1, 2,
16864 10,
16865 OPC_CheckPatternPredicate5,
16866 OPC_CheckComplexPat6, /*#*/0,
16867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16868 MVT::v2i64, 2, 1, 2,
16869 8,
16870 OPC_CheckPatternPredicate1,
16871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16872 MVT::v2i64, 2, 0, 1,
16873 0,
16874 99, MVT::v32i8,
16875 OPC_Scope, 10,
16876 OPC_CheckPatternPredicate3,
16877 OPC_CheckComplexPat6, /*#*/1,
16878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16879 MVT::v32i8, 2, 0, 2,
16880 10,
16881 OPC_CheckPatternPredicate4,
16882 OPC_CheckComplexPat6, /*#*/1,
16883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16884 MVT::v32i8, 2, 0, 2,
16885 10,
16886 OPC_CheckPatternPredicate3,
16887 OPC_CheckComplexPat6, /*#*/0,
16888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16889 MVT::v32i8, 2, 1, 2,
16890 10,
16891 OPC_CheckPatternPredicate4,
16892 OPC_CheckComplexPat6, /*#*/0,
16893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16894 MVT::v32i8, 2, 1, 2,
16895 10,
16896 OPC_CheckPatternPredicate3,
16897 OPC_CheckComplexPat7, /*#*/1,
16898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16899 MVT::v32i8, 2, 0, 2,
16900 10,
16901 OPC_CheckPatternPredicate4,
16902 OPC_CheckComplexPat7, /*#*/1,
16903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16904 MVT::v32i8, 2, 0, 2,
16905 10,
16906 OPC_CheckPatternPredicate3,
16907 OPC_CheckComplexPat7, /*#*/0,
16908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16909 MVT::v32i8, 2, 1, 2,
16910 10,
16911 OPC_CheckPatternPredicate4,
16912 OPC_CheckComplexPat7, /*#*/0,
16913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16914 MVT::v32i8, 2, 1, 2,
16915 8,
16916 OPC_CheckPatternPredicate0,
16917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16918 MVT::v32i8, 2, 0, 1,
16919 0,
16920 55, MVT::v16i16,
16921 OPC_Scope, 10,
16922 OPC_CheckPatternPredicate3,
16923 OPC_CheckComplexPat6, /*#*/1,
16924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16925 MVT::v16i16, 2, 0, 2,
16926 10,
16927 OPC_CheckPatternPredicate4,
16928 OPC_CheckComplexPat6, /*#*/1,
16929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16930 MVT::v16i16, 2, 0, 2,
16931 10,
16932 OPC_CheckPatternPredicate3,
16933 OPC_CheckComplexPat6, /*#*/0,
16934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16935 MVT::v16i16, 2, 1, 2,
16936 10,
16937 OPC_CheckPatternPredicate4,
16938 OPC_CheckComplexPat6, /*#*/0,
16939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16940 MVT::v16i16, 2, 1, 2,
16941 8,
16942 OPC_CheckPatternPredicate0,
16943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16944 MVT::v16i16, 2, 0, 1,
16945 0,
16946 55, MVT::v8i32,
16947 OPC_Scope, 10,
16948 OPC_CheckPatternPredicate3,
16949 OPC_CheckComplexPat6, /*#*/1,
16950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16951 MVT::v8i32, 2, 0, 2,
16952 10,
16953 OPC_CheckPatternPredicate4,
16954 OPC_CheckComplexPat6, /*#*/1,
16955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16956 MVT::v8i32, 2, 0, 2,
16957 10,
16958 OPC_CheckPatternPredicate3,
16959 OPC_CheckComplexPat6, /*#*/0,
16960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16961 MVT::v8i32, 2, 1, 2,
16962 10,
16963 OPC_CheckPatternPredicate4,
16964 OPC_CheckComplexPat6, /*#*/0,
16965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16966 MVT::v8i32, 2, 1, 2,
16967 8,
16968 OPC_CheckPatternPredicate0,
16969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16970 MVT::v8i32, 2, 0, 1,
16971 0,
16972 55, MVT::v4i64,
16973 OPC_Scope, 10,
16974 OPC_CheckPatternPredicate3,
16975 OPC_CheckComplexPat6, /*#*/1,
16976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
16977 MVT::v4i64, 2, 0, 2,
16978 10,
16979 OPC_CheckPatternPredicate4,
16980 OPC_CheckComplexPat6, /*#*/1,
16981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
16982 MVT::v4i64, 2, 0, 2,
16983 10,
16984 OPC_CheckPatternPredicate3,
16985 OPC_CheckComplexPat6, /*#*/0,
16986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
16987 MVT::v4i64, 2, 1, 2,
16988 10,
16989 OPC_CheckPatternPredicate4,
16990 OPC_CheckComplexPat6, /*#*/0,
16991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
16992 MVT::v4i64, 2, 1, 2,
16993 8,
16994 OPC_CheckPatternPredicate0,
16995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16996 MVT::v4i64, 2, 0, 1,
16997 0,
16998 0,
16999 0,
17000 69|128,1, TARGET_VAL(ISD::CTLZ),
17001 OPC_Scope, 56,
17002 OPC_MoveChild0,
17003 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17004 OPC_RecordChild0,
17005 OPC_CheckChild1Integer, 3,
17006 OPC_SwitchType , 21, MVT::i64,
17007 OPC_MoveParent,
17008 OPC_CheckTypeI64,
17009 OPC_Scope, 7,
17010 OPC_CheckPatternPredicate6,
17011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
17012 MVT::i64, 1, 0,
17013 8,
17014 OPC_CheckPatternPredicate, 15,
17015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17016 MVT::i64, 1, 0,
17017 0,
17018 22, MVT::i32,
17019 OPC_MoveParent,
17020 OPC_CheckTypeI32,
17021 OPC_Scope, 8,
17022 OPC_CheckPatternPredicate, 10,
17023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
17024 MVT::i32, 1, 0,
17025 8,
17026 OPC_CheckPatternPredicate, 9,
17027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17028 MVT::i32, 1, 0,
17029 0,
17030 0,
17031 8|128,1,
17032 OPC_RecordChild0,
17033 OPC_SwitchType , 20, MVT::i64,
17034 OPC_CheckChild0TypeI64,
17035 OPC_Scope, 7,
17036 OPC_CheckPatternPredicate6,
17037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
17038 MVT::i64, 1, 0,
17039 8,
17040 OPC_CheckPatternPredicate, 15,
17041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17042 MVT::i64, 1, 0,
17043 0,
17044 21, MVT::i32,
17045 OPC_CheckChild0TypeI32,
17046 OPC_Scope, 8,
17047 OPC_CheckPatternPredicate, 10,
17048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
17049 MVT::i32, 1, 0,
17050 8,
17051 OPC_CheckPatternPredicate, 9,
17052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17053 MVT::i32, 1, 0,
17054 0,
17055 9, MVT::v16i8,
17056 OPC_CheckChild0Type, MVT::v16i8,
17057 OPC_CheckPatternPredicate1,
17058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_B),
17059 MVT::v16i8, 1, 0,
17060 9, MVT::v8i16,
17061 OPC_CheckChild0Type, MVT::v8i16,
17062 OPC_CheckPatternPredicate1,
17063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_H),
17064 MVT::v8i16, 1, 0,
17065 9, MVT::v4i32,
17066 OPC_CheckChild0Type, MVT::v4i32,
17067 OPC_CheckPatternPredicate1,
17068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_W),
17069 MVT::v4i32, 1, 0,
17070 9, MVT::v2i64,
17071 OPC_CheckChild0Type, MVT::v2i64,
17072 OPC_CheckPatternPredicate1,
17073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_D),
17074 MVT::v2i64, 1, 0,
17075 9, MVT::v32i8,
17076 OPC_CheckChild0Type, MVT::v32i8,
17077 OPC_CheckPatternPredicate0,
17078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_B),
17079 MVT::v32i8, 1, 0,
17080 9, MVT::v16i16,
17081 OPC_CheckChild0Type, MVT::v16i16,
17082 OPC_CheckPatternPredicate0,
17083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_H),
17084 MVT::v16i16, 1, 0,
17085 9, MVT::v8i32,
17086 OPC_CheckChild0Type, MVT::v8i32,
17087 OPC_CheckPatternPredicate0,
17088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_W),
17089 MVT::v8i32, 1, 0,
17090 9, MVT::v4i64,
17091 OPC_CheckChild0Type, MVT::v4i64,
17092 OPC_CheckPatternPredicate0,
17093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_D),
17094 MVT::v4i64, 1, 0,
17095 0,
17096 0,
17097 108, TARGET_VAL(ISD::CTTZ),
17098 OPC_Scope, 56,
17099 OPC_MoveChild0,
17100 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17101 OPC_RecordChild0,
17102 OPC_CheckChild1Integer, 3,
17103 OPC_SwitchType , 21, MVT::i64,
17104 OPC_MoveParent,
17105 OPC_CheckTypeI64,
17106 OPC_Scope, 7,
17107 OPC_CheckPatternPredicate6,
17108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
17109 MVT::i64, 1, 0,
17110 8,
17111 OPC_CheckPatternPredicate, 15,
17112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17113 MVT::i64, 1, 0,
17114 0,
17115 22, MVT::i32,
17116 OPC_MoveParent,
17117 OPC_CheckTypeI32,
17118 OPC_Scope, 8,
17119 OPC_CheckPatternPredicate, 10,
17120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
17121 MVT::i32, 1, 0,
17122 8,
17123 OPC_CheckPatternPredicate, 9,
17124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17125 MVT::i32, 1, 0,
17126 0,
17127 0,
17128 48,
17129 OPC_RecordChild0,
17130 OPC_SwitchType , 20, MVT::i64,
17131 OPC_CheckChild0TypeI64,
17132 OPC_Scope, 7,
17133 OPC_CheckPatternPredicate6,
17134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
17135 MVT::i64, 1, 0,
17136 8,
17137 OPC_CheckPatternPredicate, 15,
17138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17139 MVT::i64, 1, 0,
17140 0,
17141 21, MVT::i32,
17142 OPC_CheckChild0TypeI32,
17143 OPC_Scope, 8,
17144 OPC_CheckPatternPredicate, 10,
17145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
17146 MVT::i32, 1, 0,
17147 8,
17148 OPC_CheckPatternPredicate, 9,
17149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17150 MVT::i32, 1, 0,
17151 0,
17152 0,
17153 0,
17154 60, TARGET_VAL(LoongArchISD::CLZ_W),
17155 OPC_Scope, 32,
17156 OPC_MoveChild0,
17157 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17158 OPC_RecordChild0,
17159 OPC_CheckChild1Integer, 3,
17160 OPC_SwitchType , 9, MVT::i64,
17161 OPC_MoveParent,
17162 OPC_CheckTypeI64,
17163 OPC_CheckPatternPredicate6,
17164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17165 MVT::i64, 1, 0,
17166 10, MVT::i32,
17167 OPC_MoveParent,
17168 OPC_CheckTypeI32,
17169 OPC_CheckPatternPredicate, 10,
17170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17171 MVT::i32, 1, 0,
17172 0,
17173 24,
17174 OPC_RecordChild0,
17175 OPC_SwitchType , 8, MVT::i64,
17176 OPC_CheckChild0TypeI64,
17177 OPC_CheckPatternPredicate6,
17178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17179 MVT::i64, 1, 0,
17180 9, MVT::i32,
17181 OPC_CheckChild0TypeI32,
17182 OPC_CheckPatternPredicate, 10,
17183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17184 MVT::i32, 1, 0,
17185 0,
17186 0,
17187 60, TARGET_VAL(LoongArchISD::CTZ_W),
17188 OPC_Scope, 32,
17189 OPC_MoveChild0,
17190 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17191 OPC_RecordChild0,
17192 OPC_CheckChild1Integer, 3,
17193 OPC_SwitchType , 9, MVT::i64,
17194 OPC_MoveParent,
17195 OPC_CheckTypeI64,
17196 OPC_CheckPatternPredicate6,
17197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17198 MVT::i64, 1, 0,
17199 10, MVT::i32,
17200 OPC_MoveParent,
17201 OPC_CheckTypeI32,
17202 OPC_CheckPatternPredicate, 10,
17203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17204 MVT::i32, 1, 0,
17205 0,
17206 24,
17207 OPC_RecordChild0,
17208 OPC_SwitchType , 8, MVT::i64,
17209 OPC_CheckChild0TypeI64,
17210 OPC_CheckPatternPredicate6,
17211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17212 MVT::i64, 1, 0,
17213 9, MVT::i32,
17214 OPC_CheckChild0TypeI32,
17215 OPC_CheckPatternPredicate, 10,
17216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17217 MVT::i32, 1, 0,
17218 0,
17219 0,
17220 114, TARGET_VAL(LoongArchISD::BSTRINS),
17221 OPC_RecordChild0,
17222 OPC_RecordChild1,
17223 OPC_RecordChild2,
17224 OPC_MoveChild2,
17225 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17226 OPC_Scope, 52,
17227 OPC_CheckPredicate, 26,
17228 OPC_SwitchType , 22, MVT::i64,
17229 OPC_MoveSibling3,
17230 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17231 OPC_RecordNode,
17232 OPC_CheckPredicate, 26,
17233 OPC_MoveParent,
17234 OPC_CheckTypeI64,
17235 OPC_CheckPatternPredicate, 15,
17236 OPC_EmitConvertToTarget2,
17237 OPC_EmitConvertToTarget3,
17238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
17239 MVT::i64, 4, 0, 1, 4, 5,
17240 22, MVT::i32,
17241 OPC_MoveSibling3,
17242 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17243 OPC_RecordNode,
17244 OPC_CheckPredicate, 26,
17245 OPC_MoveParent,
17246 OPC_CheckTypeI32,
17247 OPC_CheckPatternPredicate, 9,
17248 OPC_EmitConvertToTarget2,
17249 OPC_EmitConvertToTarget3,
17250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
17251 MVT::i32, 4, 0, 1, 4, 5,
17252 0,
17253 51,
17254 OPC_CheckPredicate, 29,
17255 OPC_SwitchType , 21, MVT::i64,
17256 OPC_MoveSibling3,
17257 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17258 OPC_RecordNode,
17259 OPC_CheckPredicate, 29,
17260 OPC_MoveParent,
17261 OPC_CheckTypeI64,
17262 OPC_CheckPatternPredicate6,
17263 OPC_EmitConvertToTarget2,
17264 OPC_EmitConvertToTarget3,
17265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
17266 MVT::i64, 4, 0, 1, 4, 5,
17267 22, MVT::i32,
17268 OPC_MoveSibling3,
17269 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17270 OPC_RecordNode,
17271 OPC_CheckPredicate, 29,
17272 OPC_MoveParent,
17273 OPC_CheckTypeI32,
17274 OPC_CheckPatternPredicate, 10,
17275 OPC_EmitConvertToTarget2,
17276 OPC_EmitConvertToTarget3,
17277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
17278 MVT::i32, 4, 0, 1, 4, 5,
17279 0,
17280 0,
17281 127, TARGET_VAL(ISD::ATOMIC_FENCE),
17282 OPC_RecordNode,
17283 OPC_Scope, 30,
17284 OPC_CheckChild1Integer, 8,
17285 OPC_MoveChild2,
17286 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17287 OPC_MoveParent,
17288 OPC_Scope, 9,
17289 OPC_CheckPatternPredicate7,
17290 OPC_EmitMergeInputChains1_0,
17291 OPC_EmitInteger64, 40,
17292 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17293 1, 1,
17294 10,
17295 OPC_CheckPatternPredicate, 8,
17296 OPC_EmitMergeInputChains1_0,
17297 OPC_EmitInteger32, 40,
17298 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17299 1, 1,
17300 0,
17301 30,
17302 OPC_CheckChild1Integer, 10,
17303 OPC_MoveChild2,
17304 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17305 OPC_MoveParent,
17306 OPC_Scope, 9,
17307 OPC_CheckPatternPredicate7,
17308 OPC_EmitMergeInputChains1_0,
17309 OPC_EmitInteger64, 36,
17310 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17311 1, 1,
17312 10,
17313 OPC_CheckPatternPredicate, 8,
17314 OPC_EmitMergeInputChains1_0,
17315 OPC_EmitInteger32, 36,
17316 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17317 1, 1,
17318 0,
17319 30,
17320 OPC_CheckChild1Integer, 12,
17321 OPC_MoveChild2,
17322 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17323 OPC_MoveParent,
17324 OPC_Scope, 9,
17325 OPC_CheckPatternPredicate7,
17326 OPC_EmitMergeInputChains1_0,
17327 OPC_EmitInteger64, 32,
17328 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17329 1, 1,
17330 10,
17331 OPC_CheckPatternPredicate, 8,
17332 OPC_EmitMergeInputChains1_0,
17333 OPC_EmitInteger32, 32,
17334 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17335 1, 1,
17336 0,
17337 30,
17338 OPC_CheckChild1Integer, 14,
17339 OPC_MoveChild2,
17340 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17341 OPC_MoveParent,
17342 OPC_Scope, 9,
17343 OPC_CheckPatternPredicate7,
17344 OPC_EmitMergeInputChains1_0,
17345 OPC_EmitInteger64, 32,
17346 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17347 1, 1,
17348 10,
17349 OPC_CheckPatternPredicate, 8,
17350 OPC_EmitMergeInputChains1_0,
17351 OPC_EmitInteger32, 32,
17352 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17353 1, 1,
17354 0,
17355 0,
17356 117|128,6, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
17357 OPC_RecordNode,
17358 OPC_Scope, 25,
17359 OPC_CheckChild1Integer, 0|128,112,
17360 OPC_RecordChild2,
17361 OPC_CheckChild2TypeI64,
17362 OPC_RecordChild3,
17363 OPC_RecordChild4,
17364 OPC_RecordChild5,
17365 OPC_MoveChild5,
17366 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17367 OPC_MoveParent,
17368 OPC_CheckPatternPredicate6,
17369 OPC_EmitMergeInputChains1_0,
17370 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32),
17371 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17372 25,
17373 OPC_CheckChild1Integer, 104|128,111,
17374 OPC_RecordChild2,
17375 OPC_CheckChild2TypeI64,
17376 OPC_RecordChild3,
17377 OPC_RecordChild4,
17378 OPC_RecordChild5,
17379 OPC_MoveChild5,
17380 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17381 OPC_MoveParent,
17382 OPC_CheckPatternPredicate6,
17383 OPC_EmitMergeInputChains1_0,
17384 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32),
17385 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17386 25,
17387 OPC_CheckChild1Integer, 116|128,111,
17388 OPC_RecordChild2,
17389 OPC_CheckChild2TypeI64,
17390 OPC_RecordChild3,
17391 OPC_RecordChild4,
17392 OPC_RecordChild5,
17393 OPC_MoveChild5,
17394 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17395 OPC_MoveParent,
17396 OPC_CheckPatternPredicate6,
17397 OPC_EmitMergeInputChains1_0,
17398 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32),
17399 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17400 25,
17401 OPC_CheckChild1Integer, 112|128,111,
17402 OPC_RecordChild2,
17403 OPC_CheckChild2TypeI64,
17404 OPC_RecordChild3,
17405 OPC_RecordChild4,
17406 OPC_RecordChild5,
17407 OPC_MoveChild5,
17408 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17409 OPC_MoveParent,
17410 OPC_CheckPatternPredicate6,
17411 OPC_EmitMergeInputChains1_0,
17412 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
17413 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17414 28,
17415 OPC_CheckChild1Integer, 120|128,111,
17416 OPC_RecordChild2,
17417 OPC_CheckChild2TypeI64,
17418 OPC_RecordChild3,
17419 OPC_RecordChild4,
17420 OPC_RecordChild5,
17421 OPC_MoveChild5,
17422 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17423 OPC_MoveParent,
17424 OPC_CheckPatternPredicate6,
17425 OPC_EmitMergeInputChains1_0,
17426 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
17427 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17428 28,
17429 OPC_CheckChild1Integer, 124|128,111,
17430 OPC_RecordChild2,
17431 OPC_CheckChild2TypeI64,
17432 OPC_RecordChild3,
17433 OPC_RecordChild4,
17434 OPC_RecordChild5,
17435 OPC_MoveChild5,
17436 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17437 OPC_MoveParent,
17438 OPC_CheckPatternPredicate6,
17439 OPC_EmitMergeInputChains1_0,
17440 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
17441 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17442 27,
17443 OPC_CheckChild1Integer, 2|128,112,
17444 OPC_RecordChild2,
17445 OPC_CheckChild2TypeI64,
17446 OPC_RecordChild3,
17447 OPC_RecordChild4,
17448 OPC_RecordChild5,
17449 OPC_RecordChild6,
17450 OPC_MoveChild6,
17451 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17452 OPC_MoveParent,
17453 OPC_CheckPatternPredicate6,
17454 OPC_EmitMergeInputChains1_0,
17455 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32),
17456 MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
17457 30,
17458 OPC_CheckChild1Integer, 106|128,111,
17459 OPC_RecordChild2,
17460 OPC_CheckChild2TypeI64,
17461 OPC_RecordChild3,
17462 OPC_RecordChild4,
17463 OPC_RecordChild5,
17464 OPC_RecordChild6,
17465 OPC_MoveChild6,
17466 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17467 OPC_MoveParent,
17468 OPC_CheckPatternPredicate6,
17469 OPC_EmitMergeInputChains1_0,
17470 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
17471 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
17472 30,
17473 OPC_CheckChild1Integer, 108|128,111,
17474 OPC_RecordChild2,
17475 OPC_CheckChild2TypeI64,
17476 OPC_RecordChild3,
17477 OPC_RecordChild4,
17478 OPC_RecordChild5,
17479 OPC_RecordChild6,
17480 OPC_MoveChild6,
17481 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17482 OPC_MoveParent,
17483 OPC_CheckPatternPredicate6,
17484 OPC_EmitMergeInputChains1_0,
17485 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
17486 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
17487 26,
17488 OPC_CheckChild1Integer, 126|128,111,
17489 OPC_RecordChild2,
17490 OPC_CheckChild2TypeI32,
17491 OPC_RecordChild3,
17492 OPC_RecordChild4,
17493 OPC_RecordChild5,
17494 OPC_MoveChild5,
17495 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17496 OPC_MoveParent,
17497 OPC_CheckPatternPredicate, 9,
17498 OPC_EmitMergeInputChains1_0,
17499 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32),
17500 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17501 26,
17502 OPC_CheckChild1Integer, 102|128,111,
17503 OPC_RecordChild2,
17504 OPC_CheckChild2TypeI32,
17505 OPC_RecordChild3,
17506 OPC_RecordChild4,
17507 OPC_RecordChild5,
17508 OPC_MoveChild5,
17509 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17510 OPC_MoveParent,
17511 OPC_CheckPatternPredicate, 9,
17512 OPC_EmitMergeInputChains1_0,
17513 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32),
17514 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17515 26,
17516 OPC_CheckChild1Integer, 114|128,111,
17517 OPC_RecordChild2,
17518 OPC_CheckChild2TypeI32,
17519 OPC_RecordChild3,
17520 OPC_RecordChild4,
17521 OPC_RecordChild5,
17522 OPC_MoveChild5,
17523 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17524 OPC_MoveParent,
17525 OPC_CheckPatternPredicate, 9,
17526 OPC_EmitMergeInputChains1_0,
17527 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32),
17528 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17529 26,
17530 OPC_CheckChild1Integer, 110|128,111,
17531 OPC_RecordChild2,
17532 OPC_CheckChild2TypeI32,
17533 OPC_RecordChild3,
17534 OPC_RecordChild4,
17535 OPC_RecordChild5,
17536 OPC_MoveChild5,
17537 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17538 OPC_MoveParent,
17539 OPC_CheckPatternPredicate, 9,
17540 OPC_EmitMergeInputChains1_0,
17541 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
17542 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17543 19,
17544 OPC_CheckChild1Integer, 66|128,100,
17545 OPC_RecordChild2,
17546 OPC_RecordChild3,
17547 OPC_MoveChild3,
17548 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17549 OPC_MoveParent,
17550 OPC_CheckPatternPredicate6,
17551 OPC_EmitMergeInputChains1_0,
17552 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::LDDIR),
17553 MVT::i64, 2, 1, 2,
17554 46,
17555 OPC_CheckChild1Integer, 26|128,105,
17556 OPC_RecordChild2,
17557 OPC_Scope, 19,
17558 OPC_CheckChild2TypeI64,
17559 OPC_RecordChild3,
17560 OPC_MoveChild3,
17561 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17562 OPC_MoveParent,
17563 OPC_CheckPatternPredicate2,
17564 OPC_EmitMergeInputChains1_0,
17565 OPC_EmitNodeXForm, 7, 2,
17566 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
17567 MVT::v16i8, 2, 1, 3,
17568 19,
17569 OPC_CheckChild2TypeI32,
17570 OPC_RecordChild3,
17571 OPC_MoveChild3,
17572 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17573 OPC_MoveParent,
17574 OPC_CheckPatternPredicate5,
17575 OPC_EmitMergeInputChains1_0,
17576 OPC_EmitNodeXForm, 7, 2,
17577 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
17578 MVT::v16i8, 2, 1, 3,
17579 0,
17580 46,
17581 OPC_CheckChild1Integer, 30|128,105,
17582 OPC_RecordChild2,
17583 OPC_Scope, 19,
17584 OPC_CheckChild2TypeI64,
17585 OPC_RecordChild3,
17586 OPC_MoveChild3,
17587 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17588 OPC_MoveParent,
17589 OPC_CheckPatternPredicate2,
17590 OPC_EmitMergeInputChains1_0,
17591 OPC_EmitNodeXForm, 7, 2,
17592 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
17593 MVT::v16i8, 2, 1, 3,
17594 19,
17595 OPC_CheckChild2TypeI32,
17596 OPC_RecordChild3,
17597 OPC_MoveChild3,
17598 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17599 OPC_MoveParent,
17600 OPC_CheckPatternPredicate5,
17601 OPC_EmitMergeInputChains1_0,
17602 OPC_EmitNodeXForm, 7, 2,
17603 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
17604 MVT::v16i8, 2, 1, 3,
17605 0,
17606 46,
17607 OPC_CheckChild1Integer, 34|128,105,
17608 OPC_RecordChild2,
17609 OPC_Scope, 19,
17610 OPC_CheckChild2TypeI64,
17611 OPC_RecordChild3,
17612 OPC_MoveChild3,
17613 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17614 OPC_MoveParent,
17615 OPC_CheckPatternPredicate2,
17616 OPC_EmitMergeInputChains1_0,
17617 OPC_EmitNodeXForm, 7, 2,
17618 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
17619 MVT::v8i16, 2, 1, 3,
17620 19,
17621 OPC_CheckChild2TypeI32,
17622 OPC_RecordChild3,
17623 OPC_MoveChild3,
17624 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17625 OPC_MoveParent,
17626 OPC_CheckPatternPredicate5,
17627 OPC_EmitMergeInputChains1_0,
17628 OPC_EmitNodeXForm, 7, 2,
17629 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
17630 MVT::v8i16, 2, 1, 3,
17631 0,
17632 46,
17633 OPC_CheckChild1Integer, 36|128,105,
17634 OPC_RecordChild2,
17635 OPC_Scope, 19,
17636 OPC_CheckChild2TypeI64,
17637 OPC_RecordChild3,
17638 OPC_MoveChild3,
17639 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17640 OPC_MoveParent,
17641 OPC_CheckPatternPredicate2,
17642 OPC_EmitMergeInputChains1_0,
17643 OPC_EmitNodeXForm, 7, 2,
17644 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
17645 MVT::v4i32, 2, 1, 3,
17646 19,
17647 OPC_CheckChild2TypeI32,
17648 OPC_RecordChild3,
17649 OPC_MoveChild3,
17650 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17651 OPC_MoveParent,
17652 OPC_CheckPatternPredicate5,
17653 OPC_EmitMergeInputChains1_0,
17654 OPC_EmitNodeXForm, 7, 2,
17655 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
17656 MVT::v4i32, 2, 1, 3,
17657 0,
17658 46,
17659 OPC_CheckChild1Integer, 32|128,105,
17660 OPC_RecordChild2,
17661 OPC_Scope, 19,
17662 OPC_CheckChild2TypeI64,
17663 OPC_RecordChild3,
17664 OPC_MoveChild3,
17665 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17666 OPC_MoveParent,
17667 OPC_CheckPatternPredicate2,
17668 OPC_EmitMergeInputChains1_0,
17669 OPC_EmitNodeXForm, 7, 2,
17670 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
17671 MVT::v2i64, 2, 1, 3,
17672 19,
17673 OPC_CheckChild2TypeI32,
17674 OPC_RecordChild3,
17675 OPC_MoveChild3,
17676 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17677 OPC_MoveParent,
17678 OPC_CheckPatternPredicate5,
17679 OPC_EmitMergeInputChains1_0,
17680 OPC_EmitNodeXForm, 7, 2,
17681 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
17682 MVT::v2i64, 2, 1, 3,
17683 0,
17684 46,
17685 OPC_CheckChild1Integer, 102|128,93,
17686 OPC_RecordChild2,
17687 OPC_Scope, 19,
17688 OPC_CheckChild2TypeI64,
17689 OPC_RecordChild3,
17690 OPC_MoveChild3,
17691 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17692 OPC_MoveParent,
17693 OPC_CheckPatternPredicate3,
17694 OPC_EmitMergeInputChains1_0,
17695 OPC_EmitNodeXForm, 7, 2,
17696 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
17697 MVT::v32i8, 2, 1, 3,
17698 19,
17699 OPC_CheckChild2TypeI32,
17700 OPC_RecordChild3,
17701 OPC_MoveChild3,
17702 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17703 OPC_MoveParent,
17704 OPC_CheckPatternPredicate4,
17705 OPC_EmitMergeInputChains1_0,
17706 OPC_EmitNodeXForm, 7, 2,
17707 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
17708 MVT::v32i8, 2, 1, 3,
17709 0,
17710 46,
17711 OPC_CheckChild1Integer, 106|128,93,
17712 OPC_RecordChild2,
17713 OPC_Scope, 19,
17714 OPC_CheckChild2TypeI64,
17715 OPC_RecordChild3,
17716 OPC_MoveChild3,
17717 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17718 OPC_MoveParent,
17719 OPC_CheckPatternPredicate3,
17720 OPC_EmitMergeInputChains1_0,
17721 OPC_EmitNodeXForm, 7, 2,
17722 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
17723 MVT::v32i8, 2, 1, 3,
17724 19,
17725 OPC_CheckChild2TypeI32,
17726 OPC_RecordChild3,
17727 OPC_MoveChild3,
17728 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17729 OPC_MoveParent,
17730 OPC_CheckPatternPredicate4,
17731 OPC_EmitMergeInputChains1_0,
17732 OPC_EmitNodeXForm, 7, 2,
17733 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
17734 MVT::v32i8, 2, 1, 3,
17735 0,
17736 46,
17737 OPC_CheckChild1Integer, 110|128,93,
17738 OPC_RecordChild2,
17739 OPC_Scope, 19,
17740 OPC_CheckChild2TypeI64,
17741 OPC_RecordChild3,
17742 OPC_MoveChild3,
17743 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17744 OPC_MoveParent,
17745 OPC_CheckPatternPredicate3,
17746 OPC_EmitMergeInputChains1_0,
17747 OPC_EmitNodeXForm, 7, 2,
17748 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
17749 MVT::v16i16, 2, 1, 3,
17750 19,
17751 OPC_CheckChild2TypeI32,
17752 OPC_RecordChild3,
17753 OPC_MoveChild3,
17754 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17755 OPC_MoveParent,
17756 OPC_CheckPatternPredicate4,
17757 OPC_EmitMergeInputChains1_0,
17758 OPC_EmitNodeXForm, 7, 2,
17759 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
17760 MVT::v16i16, 2, 1, 3,
17761 0,
17762 46,
17763 OPC_CheckChild1Integer, 112|128,93,
17764 OPC_RecordChild2,
17765 OPC_Scope, 19,
17766 OPC_CheckChild2TypeI64,
17767 OPC_RecordChild3,
17768 OPC_MoveChild3,
17769 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17770 OPC_MoveParent,
17771 OPC_CheckPatternPredicate3,
17772 OPC_EmitMergeInputChains1_0,
17773 OPC_EmitNodeXForm, 7, 2,
17774 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
17775 MVT::v8i32, 2, 1, 3,
17776 19,
17777 OPC_CheckChild2TypeI32,
17778 OPC_RecordChild3,
17779 OPC_MoveChild3,
17780 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17781 OPC_MoveParent,
17782 OPC_CheckPatternPredicate4,
17783 OPC_EmitMergeInputChains1_0,
17784 OPC_EmitNodeXForm, 7, 2,
17785 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
17786 MVT::v8i32, 2, 1, 3,
17787 0,
17788 46,
17789 OPC_CheckChild1Integer, 108|128,93,
17790 OPC_RecordChild2,
17791 OPC_Scope, 19,
17792 OPC_CheckChild2TypeI64,
17793 OPC_RecordChild3,
17794 OPC_MoveChild3,
17795 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17796 OPC_MoveParent,
17797 OPC_CheckPatternPredicate3,
17798 OPC_EmitMergeInputChains1_0,
17799 OPC_EmitNodeXForm, 7, 2,
17800 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
17801 MVT::v4i64, 2, 1, 3,
17802 19,
17803 OPC_CheckChild2TypeI32,
17804 OPC_RecordChild3,
17805 OPC_MoveChild3,
17806 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17807 OPC_MoveParent,
17808 OPC_CheckPatternPredicate4,
17809 OPC_EmitMergeInputChains1_0,
17810 OPC_EmitNodeXForm, 7, 2,
17811 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
17812 MVT::v4i64, 2, 1, 3,
17813 0,
17814 15,
17815 OPC_CheckChild1Integer, 38|128,105,
17816 OPC_RecordChild2,
17817 OPC_CheckChild2TypeI64,
17818 OPC_RecordChild3,
17819 OPC_CheckPatternPredicate2,
17820 OPC_EmitMergeInputChains1_0,
17821 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDX),
17822 MVT::v16i8, 2, 1, 2,
17823 15,
17824 OPC_CheckChild1Integer, 114|128,93,
17825 OPC_RecordChild2,
17826 OPC_CheckChild2TypeI64,
17827 OPC_RecordChild3,
17828 OPC_CheckPatternPredicate3,
17829 OPC_EmitMergeInputChains1_0,
17830 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDX),
17831 MVT::v32i8, 2, 1, 2,
17832 0,
17833 85|128,35|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
17834 OPC_Scope, 21,
17835 OPC_CheckChild0Integer, 76|128,107,
17836 OPC_RecordChild1,
17837 OPC_RecordChild2,
17838 OPC_MoveChild2,
17839 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17840 OPC_MoveParent,
17841 OPC_CheckPatternPredicate2,
17842 OPC_EmitNodeXForm, 7, 1,
17843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
17844 MVT::i64, 2, 0, 2,
17845 21,
17846 OPC_CheckChild0Integer, 78|128,107,
17847 OPC_RecordChild1,
17848 OPC_RecordChild2,
17849 OPC_MoveChild2,
17850 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17851 OPC_MoveParent,
17852 OPC_CheckPatternPredicate2,
17853 OPC_EmitNodeXForm, 7, 1,
17854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_DU),
17855 MVT::i64, 2, 0, 2,
17856 21,
17857 OPC_CheckChild0Integer, 34|128,96,
17858 OPC_RecordChild1,
17859 OPC_RecordChild2,
17860 OPC_MoveChild2,
17861 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17862 OPC_MoveParent,
17863 OPC_CheckPatternPredicate3,
17864 OPC_EmitNodeXForm, 7, 1,
17865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
17866 MVT::i64, 2, 0, 2,
17867 21,
17868 OPC_CheckChild0Integer, 36|128,96,
17869 OPC_RecordChild1,
17870 OPC_RecordChild2,
17871 OPC_MoveChild2,
17872 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17873 OPC_MoveParent,
17874 OPC_CheckPatternPredicate3,
17875 OPC_EmitNodeXForm, 7, 1,
17876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_DU),
17877 MVT::i64, 2, 0, 2,
17878 12,
17879 OPC_CheckChild0Integer, 98|128,88,
17880 OPC_RecordChild1,
17881 OPC_CheckPatternPredicate, 18,
17882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
17883 MVT::f32, 1, 0,
17884 12,
17885 OPC_CheckChild0Integer, 102|128,88,
17886 OPC_RecordChild1,
17887 OPC_CheckPatternPredicate, 18,
17888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
17889 MVT::f32, 1, 0,
17890 12,
17891 OPC_CheckChild0Integer, 96|128,88,
17892 OPC_RecordChild1,
17893 OPC_CheckPatternPredicate, 18,
17894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
17895 MVT::f64, 1, 0,
17896 12,
17897 OPC_CheckChild0Integer, 100|128,88,
17898 OPC_RecordChild1,
17899 OPC_CheckPatternPredicate, 18,
17900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
17901 MVT::f64, 1, 0,
17902 33,
17903 OPC_CheckChild0Integer, 28|128,105,
17904 OPC_RecordChild1,
17905 OPC_MoveChild1,
17906 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17907 OPC_MoveParent,
17908 OPC_Scope, 10,
17909 OPC_CheckPatternPredicate2,
17910 OPC_EmitNodeXForm, 7, 0,
17911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
17912 MVT::v2i64, 1, 1,
17913 10,
17914 OPC_CheckPatternPredicate5,
17915 OPC_EmitNodeXForm, 7, 0,
17916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
17917 MVT::v2i64, 1, 1,
17918 0,
17919 33,
17920 OPC_CheckChild0Integer, 96|128,107,
17921 OPC_RecordChild1,
17922 OPC_MoveChild1,
17923 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17924 OPC_MoveParent,
17925 OPC_Scope, 10,
17926 OPC_CheckPatternPredicate2,
17927 OPC_EmitNodeXForm, 7, 0,
17928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
17929 MVT::v16i8, 1, 1,
17930 10,
17931 OPC_CheckPatternPredicate5,
17932 OPC_EmitNodeXForm, 7, 0,
17933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
17934 MVT::v16i8, 1, 1,
17935 0,
17936 33,
17937 OPC_CheckChild0Integer, 100|128,107,
17938 OPC_RecordChild1,
17939 OPC_MoveChild1,
17940 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17941 OPC_MoveParent,
17942 OPC_Scope, 10,
17943 OPC_CheckPatternPredicate2,
17944 OPC_EmitNodeXForm, 7, 0,
17945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
17946 MVT::v8i16, 1, 1,
17947 10,
17948 OPC_CheckPatternPredicate5,
17949 OPC_EmitNodeXForm, 7, 0,
17950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
17951 MVT::v8i16, 1, 1,
17952 0,
17953 33,
17954 OPC_CheckChild0Integer, 102|128,107,
17955 OPC_RecordChild1,
17956 OPC_MoveChild1,
17957 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17958 OPC_MoveParent,
17959 OPC_Scope, 10,
17960 OPC_CheckPatternPredicate2,
17961 OPC_EmitNodeXForm, 7, 0,
17962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
17963 MVT::v4i32, 1, 1,
17964 10,
17965 OPC_CheckPatternPredicate5,
17966 OPC_EmitNodeXForm, 7, 0,
17967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
17968 MVT::v4i32, 1, 1,
17969 0,
17970 33,
17971 OPC_CheckChild0Integer, 98|128,107,
17972 OPC_RecordChild1,
17973 OPC_MoveChild1,
17974 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17975 OPC_MoveParent,
17976 OPC_Scope, 10,
17977 OPC_CheckPatternPredicate2,
17978 OPC_EmitNodeXForm, 7, 0,
17979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
17980 MVT::v2i64, 1, 1,
17981 10,
17982 OPC_CheckPatternPredicate5,
17983 OPC_EmitNodeXForm, 7, 0,
17984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
17985 MVT::v2i64, 1, 1,
17986 0,
17987 36,
17988 OPC_CheckChild0Integer, 24|128,108,
17989 OPC_RecordChild1,
17990 OPC_RecordChild2,
17991 OPC_MoveChild2,
17992 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17993 OPC_MoveParent,
17994 OPC_Scope, 11,
17995 OPC_CheckPatternPredicate2,
17996 OPC_EmitNodeXForm, 7, 1,
17997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
17998 MVT::v16i8, 2, 0, 2,
17999 11,
18000 OPC_CheckPatternPredicate5,
18001 OPC_EmitNodeXForm, 7, 1,
18002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
18003 MVT::v16i8, 2, 0, 2,
18004 0,
18005 36,
18006 OPC_CheckChild0Integer, 26|128,108,
18007 OPC_RecordChild1,
18008 OPC_RecordChild2,
18009 OPC_MoveChild2,
18010 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18011 OPC_MoveParent,
18012 OPC_Scope, 11,
18013 OPC_CheckPatternPredicate2,
18014 OPC_EmitNodeXForm, 7, 1,
18015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
18016 MVT::v16i8, 2, 0, 2,
18017 11,
18018 OPC_CheckPatternPredicate5,
18019 OPC_EmitNodeXForm, 7, 1,
18020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
18021 MVT::v16i8, 2, 0, 2,
18022 0,
18023 36,
18024 OPC_CheckChild0Integer, 22|128,107,
18025 OPC_RecordChild1,
18026 OPC_RecordChild2,
18027 OPC_MoveChild2,
18028 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18029 OPC_MoveParent,
18030 OPC_Scope, 11,
18031 OPC_CheckPatternPredicate2,
18032 OPC_EmitNodeXForm, 7, 1,
18033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
18034 MVT::v16i8, 2, 0, 2,
18035 11,
18036 OPC_CheckPatternPredicate5,
18037 OPC_EmitNodeXForm, 7, 1,
18038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
18039 MVT::v16i8, 2, 0, 2,
18040 0,
18041 36,
18042 OPC_CheckChild0Integer, 0|128,108,
18043 OPC_RecordChild1,
18044 OPC_RecordChild2,
18045 OPC_MoveChild2,
18046 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18047 OPC_MoveParent,
18048 OPC_Scope, 11,
18049 OPC_CheckPatternPredicate2,
18050 OPC_EmitNodeXForm, 7, 1,
18051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
18052 MVT::v16i8, 2, 0, 2,
18053 11,
18054 OPC_CheckPatternPredicate5,
18055 OPC_EmitNodeXForm, 7, 1,
18056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
18057 MVT::v16i8, 2, 0, 2,
18058 0,
18059 36,
18060 OPC_CheckChild0Integer, 4|128,109,
18061 OPC_RecordChild1,
18062 OPC_RecordChild2,
18063 OPC_MoveChild2,
18064 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18065 OPC_MoveParent,
18066 OPC_Scope, 11,
18067 OPC_CheckPatternPredicate2,
18068 OPC_EmitNodeXForm, 7, 1,
18069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
18070 MVT::v8i16, 2, 0, 2,
18071 11,
18072 OPC_CheckPatternPredicate5,
18073 OPC_EmitNodeXForm, 7, 1,
18074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
18075 MVT::v8i16, 2, 0, 2,
18076 0,
18077 36,
18078 OPC_CheckChild0Integer, 6|128,109,
18079 OPC_RecordChild1,
18080 OPC_RecordChild2,
18081 OPC_MoveChild2,
18082 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18083 OPC_MoveParent,
18084 OPC_Scope, 11,
18085 OPC_CheckPatternPredicate2,
18086 OPC_EmitNodeXForm, 7, 1,
18087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
18088 MVT::v8i16, 2, 0, 2,
18089 11,
18090 OPC_CheckPatternPredicate5,
18091 OPC_EmitNodeXForm, 7, 1,
18092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
18093 MVT::v8i16, 2, 0, 2,
18094 0,
18095 36,
18096 OPC_CheckChild0Integer, 14|128,110,
18097 OPC_RecordChild1,
18098 OPC_RecordChild2,
18099 OPC_MoveChild2,
18100 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18101 OPC_MoveParent,
18102 OPC_Scope, 11,
18103 OPC_CheckPatternPredicate2,
18104 OPC_EmitNodeXForm, 7, 1,
18105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
18106 MVT::v16i8, 2, 0, 2,
18107 11,
18108 OPC_CheckPatternPredicate5,
18109 OPC_EmitNodeXForm, 7, 1,
18110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
18111 MVT::v16i8, 2, 0, 2,
18112 0,
18113 36,
18114 OPC_CheckChild0Integer, 82|128,109,
18115 OPC_RecordChild1,
18116 OPC_RecordChild2,
18117 OPC_MoveChild2,
18118 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18119 OPC_MoveParent,
18120 OPC_Scope, 11,
18121 OPC_CheckPatternPredicate2,
18122 OPC_EmitNodeXForm, 7, 1,
18123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
18124 MVT::v16i8, 2, 0, 2,
18125 11,
18126 OPC_CheckPatternPredicate5,
18127 OPC_EmitNodeXForm, 7, 1,
18128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
18129 MVT::v16i8, 2, 0, 2,
18130 0,
18131 36,
18132 OPC_CheckChild0Integer, 48|128,108,
18133 OPC_RecordChild1,
18134 OPC_RecordChild2,
18135 OPC_MoveChild2,
18136 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18137 OPC_MoveParent,
18138 OPC_Scope, 11,
18139 OPC_CheckPatternPredicate2,
18140 OPC_EmitNodeXForm, 7, 1,
18141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
18142 MVT::v16i8, 2, 0, 2,
18143 11,
18144 OPC_CheckPatternPredicate5,
18145 OPC_EmitNodeXForm, 7, 1,
18146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
18147 MVT::v16i8, 2, 0, 2,
18148 0,
18149 36,
18150 OPC_CheckChild0Integer, 96|128,108,
18151 OPC_RecordChild1,
18152 OPC_RecordChild2,
18153 OPC_MoveChild2,
18154 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18155 OPC_MoveParent,
18156 OPC_Scope, 11,
18157 OPC_CheckPatternPredicate2,
18158 OPC_EmitNodeXForm, 7, 1,
18159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
18160 MVT::v16i8, 2, 0, 2,
18161 11,
18162 OPC_CheckPatternPredicate5,
18163 OPC_EmitNodeXForm, 7, 1,
18164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
18165 MVT::v16i8, 2, 0, 2,
18166 0,
18167 36,
18168 OPC_CheckChild0Integer, 98|128,108,
18169 OPC_RecordChild1,
18170 OPC_RecordChild2,
18171 OPC_MoveChild2,
18172 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18173 OPC_MoveParent,
18174 OPC_Scope, 11,
18175 OPC_CheckPatternPredicate2,
18176 OPC_EmitNodeXForm, 7, 1,
18177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
18178 MVT::v16i8, 2, 0, 2,
18179 11,
18180 OPC_CheckPatternPredicate5,
18181 OPC_EmitNodeXForm, 7, 1,
18182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
18183 MVT::v16i8, 2, 0, 2,
18184 0,
18185 36,
18186 OPC_CheckChild0Integer, 28|128,109,
18187 OPC_RecordChild1,
18188 OPC_RecordChild2,
18189 OPC_MoveChild2,
18190 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18191 OPC_MoveParent,
18192 OPC_Scope, 11,
18193 OPC_CheckPatternPredicate2,
18194 OPC_EmitNodeXForm, 7, 1,
18195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
18196 MVT::v16i8, 2, 0, 2,
18197 11,
18198 OPC_CheckPatternPredicate5,
18199 OPC_EmitNodeXForm, 7, 1,
18200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
18201 MVT::v16i8, 2, 0, 2,
18202 0,
18203 36,
18204 OPC_CheckChild0Integer, 30|128,109,
18205 OPC_RecordChild1,
18206 OPC_RecordChild2,
18207 OPC_MoveChild2,
18208 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18209 OPC_MoveParent,
18210 OPC_Scope, 11,
18211 OPC_CheckPatternPredicate2,
18212 OPC_EmitNodeXForm, 7, 1,
18213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
18214 MVT::v16i8, 2, 0, 2,
18215 11,
18216 OPC_CheckPatternPredicate5,
18217 OPC_EmitNodeXForm, 7, 1,
18218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
18219 MVT::v16i8, 2, 0, 2,
18220 0,
18221 36,
18222 OPC_CheckChild0Integer, 112|128,107,
18223 OPC_RecordChild1,
18224 OPC_RecordChild2,
18225 OPC_MoveChild2,
18226 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18227 OPC_MoveParent,
18228 OPC_Scope, 11,
18229 OPC_CheckPatternPredicate2,
18230 OPC_EmitNodeXForm, 7, 1,
18231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
18232 MVT::v16i8, 2, 0, 2,
18233 11,
18234 OPC_CheckPatternPredicate5,
18235 OPC_EmitNodeXForm, 7, 1,
18236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
18237 MVT::v16i8, 2, 0, 2,
18238 0,
18239 36,
18240 OPC_CheckChild0Integer, 14|128,102,
18241 OPC_RecordChild1,
18242 OPC_RecordChild2,
18243 OPC_MoveChild2,
18244 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18245 OPC_MoveParent,
18246 OPC_Scope, 11,
18247 OPC_CheckPatternPredicate2,
18248 OPC_EmitNodeXForm, 7, 1,
18249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
18250 MVT::v16i8, 2, 0, 2,
18251 11,
18252 OPC_CheckPatternPredicate5,
18253 OPC_EmitNodeXForm, 7, 1,
18254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
18255 MVT::v16i8, 2, 0, 2,
18256 0,
18257 36,
18258 OPC_CheckChild0Integer, 16|128,102,
18259 OPC_RecordChild1,
18260 OPC_RecordChild2,
18261 OPC_MoveChild2,
18262 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18263 OPC_MoveParent,
18264 OPC_Scope, 11,
18265 OPC_CheckPatternPredicate2,
18266 OPC_EmitNodeXForm, 7, 1,
18267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
18268 MVT::v16i8, 2, 0, 2,
18269 11,
18270 OPC_CheckPatternPredicate5,
18271 OPC_EmitNodeXForm, 7, 1,
18272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
18273 MVT::v16i8, 2, 0, 2,
18274 0,
18275 36,
18276 OPC_CheckChild0Integer, 64|128,108,
18277 OPC_RecordChild1,
18278 OPC_RecordChild2,
18279 OPC_MoveChild2,
18280 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18281 OPC_MoveParent,
18282 OPC_Scope, 11,
18283 OPC_CheckPatternPredicate2,
18284 OPC_EmitNodeXForm, 7, 1,
18285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
18286 MVT::v16i8, 2, 0, 2,
18287 11,
18288 OPC_CheckPatternPredicate5,
18289 OPC_EmitNodeXForm, 7, 1,
18290 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
18291 MVT::v16i8, 2, 0, 2,
18292 0,
18293 36,
18294 OPC_CheckChild0Integer, 32|128,108,
18295 OPC_RecordChild1,
18296 OPC_RecordChild2,
18297 OPC_MoveChild2,
18298 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18299 OPC_MoveParent,
18300 OPC_Scope, 11,
18301 OPC_CheckPatternPredicate2,
18302 OPC_EmitNodeXForm, 7, 1,
18303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
18304 MVT::v8i16, 2, 0, 2,
18305 11,
18306 OPC_CheckPatternPredicate5,
18307 OPC_EmitNodeXForm, 7, 1,
18308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
18309 MVT::v8i16, 2, 0, 2,
18310 0,
18311 36,
18312 OPC_CheckChild0Integer, 34|128,108,
18313 OPC_RecordChild1,
18314 OPC_RecordChild2,
18315 OPC_MoveChild2,
18316 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18317 OPC_MoveParent,
18318 OPC_Scope, 11,
18319 OPC_CheckPatternPredicate2,
18320 OPC_EmitNodeXForm, 7, 1,
18321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
18322 MVT::v8i16, 2, 0, 2,
18323 11,
18324 OPC_CheckPatternPredicate5,
18325 OPC_EmitNodeXForm, 7, 1,
18326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
18327 MVT::v8i16, 2, 0, 2,
18328 0,
18329 36,
18330 OPC_CheckChild0Integer, 4|128,108,
18331 OPC_RecordChild1,
18332 OPC_RecordChild2,
18333 OPC_MoveChild2,
18334 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18335 OPC_MoveParent,
18336 OPC_Scope, 11,
18337 OPC_CheckPatternPredicate2,
18338 OPC_EmitNodeXForm, 7, 1,
18339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
18340 MVT::v8i16, 2, 0, 2,
18341 11,
18342 OPC_CheckPatternPredicate5,
18343 OPC_EmitNodeXForm, 7, 1,
18344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
18345 MVT::v8i16, 2, 0, 2,
18346 0,
18347 36,
18348 OPC_CheckChild0Integer, 8|128,109,
18349 OPC_RecordChild1,
18350 OPC_RecordChild2,
18351 OPC_MoveChild2,
18352 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18353 OPC_MoveParent,
18354 OPC_Scope, 11,
18355 OPC_CheckPatternPredicate2,
18356 OPC_EmitNodeXForm, 7, 1,
18357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
18358 MVT::v4i32, 2, 0, 2,
18359 11,
18360 OPC_CheckPatternPredicate5,
18361 OPC_EmitNodeXForm, 7, 1,
18362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
18363 MVT::v4i32, 2, 0, 2,
18364 0,
18365 36,
18366 OPC_CheckChild0Integer, 10|128,109,
18367 OPC_RecordChild1,
18368 OPC_RecordChild2,
18369 OPC_MoveChild2,
18370 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18371 OPC_MoveParent,
18372 OPC_Scope, 11,
18373 OPC_CheckPatternPredicate2,
18374 OPC_EmitNodeXForm, 7, 1,
18375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
18376 MVT::v4i32, 2, 0, 2,
18377 11,
18378 OPC_CheckPatternPredicate5,
18379 OPC_EmitNodeXForm, 7, 1,
18380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
18381 MVT::v4i32, 2, 0, 2,
18382 0,
18383 36,
18384 OPC_CheckChild0Integer, 18|128,110,
18385 OPC_RecordChild1,
18386 OPC_RecordChild2,
18387 OPC_MoveChild2,
18388 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18389 OPC_MoveParent,
18390 OPC_Scope, 11,
18391 OPC_CheckPatternPredicate2,
18392 OPC_EmitNodeXForm, 7, 1,
18393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
18394 MVT::v8i16, 2, 0, 2,
18395 11,
18396 OPC_CheckPatternPredicate5,
18397 OPC_EmitNodeXForm, 7, 1,
18398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
18399 MVT::v8i16, 2, 0, 2,
18400 0,
18401 36,
18402 OPC_CheckChild0Integer, 86|128,109,
18403 OPC_RecordChild1,
18404 OPC_RecordChild2,
18405 OPC_MoveChild2,
18406 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18407 OPC_MoveParent,
18408 OPC_Scope, 11,
18409 OPC_CheckPatternPredicate2,
18410 OPC_EmitNodeXForm, 7, 1,
18411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
18412 MVT::v8i16, 2, 0, 2,
18413 11,
18414 OPC_CheckPatternPredicate5,
18415 OPC_EmitNodeXForm, 7, 1,
18416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
18417 MVT::v8i16, 2, 0, 2,
18418 0,
18419 36,
18420 OPC_CheckChild0Integer, 52|128,108,
18421 OPC_RecordChild1,
18422 OPC_RecordChild2,
18423 OPC_MoveChild2,
18424 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18425 OPC_MoveParent,
18426 OPC_Scope, 11,
18427 OPC_CheckPatternPredicate2,
18428 OPC_EmitNodeXForm, 7, 1,
18429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
18430 MVT::v8i16, 2, 0, 2,
18431 11,
18432 OPC_CheckPatternPredicate5,
18433 OPC_EmitNodeXForm, 7, 1,
18434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
18435 MVT::v8i16, 2, 0, 2,
18436 0,
18437 36,
18438 OPC_CheckChild0Integer, 104|128,108,
18439 OPC_RecordChild1,
18440 OPC_RecordChild2,
18441 OPC_MoveChild2,
18442 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18443 OPC_MoveParent,
18444 OPC_Scope, 11,
18445 OPC_CheckPatternPredicate2,
18446 OPC_EmitNodeXForm, 7, 1,
18447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
18448 MVT::v8i16, 2, 0, 2,
18449 11,
18450 OPC_CheckPatternPredicate5,
18451 OPC_EmitNodeXForm, 7, 1,
18452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
18453 MVT::v8i16, 2, 0, 2,
18454 0,
18455 36,
18456 OPC_CheckChild0Integer, 106|128,108,
18457 OPC_RecordChild1,
18458 OPC_RecordChild2,
18459 OPC_MoveChild2,
18460 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18461 OPC_MoveParent,
18462 OPC_Scope, 11,
18463 OPC_CheckPatternPredicate2,
18464 OPC_EmitNodeXForm, 7, 1,
18465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
18466 MVT::v8i16, 2, 0, 2,
18467 11,
18468 OPC_CheckPatternPredicate5,
18469 OPC_EmitNodeXForm, 7, 1,
18470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
18471 MVT::v8i16, 2, 0, 2,
18472 0,
18473 36,
18474 OPC_CheckChild0Integer, 36|128,109,
18475 OPC_RecordChild1,
18476 OPC_RecordChild2,
18477 OPC_MoveChild2,
18478 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18479 OPC_MoveParent,
18480 OPC_Scope, 11,
18481 OPC_CheckPatternPredicate2,
18482 OPC_EmitNodeXForm, 7, 1,
18483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
18484 MVT::v8i16, 2, 0, 2,
18485 11,
18486 OPC_CheckPatternPredicate5,
18487 OPC_EmitNodeXForm, 7, 1,
18488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
18489 MVT::v8i16, 2, 0, 2,
18490 0,
18491 36,
18492 OPC_CheckChild0Integer, 38|128,109,
18493 OPC_RecordChild1,
18494 OPC_RecordChild2,
18495 OPC_MoveChild2,
18496 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18497 OPC_MoveParent,
18498 OPC_Scope, 11,
18499 OPC_CheckPatternPredicate2,
18500 OPC_EmitNodeXForm, 7, 1,
18501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
18502 MVT::v8i16, 2, 0, 2,
18503 11,
18504 OPC_CheckPatternPredicate5,
18505 OPC_EmitNodeXForm, 7, 1,
18506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
18507 MVT::v8i16, 2, 0, 2,
18508 0,
18509 36,
18510 OPC_CheckChild0Integer, 116|128,107,
18511 OPC_RecordChild1,
18512 OPC_RecordChild2,
18513 OPC_MoveChild2,
18514 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18515 OPC_MoveParent,
18516 OPC_Scope, 11,
18517 OPC_CheckPatternPredicate2,
18518 OPC_EmitNodeXForm, 7, 1,
18519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
18520 MVT::v8i16, 2, 0, 2,
18521 11,
18522 OPC_CheckPatternPredicate5,
18523 OPC_EmitNodeXForm, 7, 1,
18524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
18525 MVT::v8i16, 2, 0, 2,
18526 0,
18527 36,
18528 OPC_CheckChild0Integer, 68|128,108,
18529 OPC_RecordChild1,
18530 OPC_RecordChild2,
18531 OPC_MoveChild2,
18532 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18533 OPC_MoveParent,
18534 OPC_Scope, 11,
18535 OPC_CheckPatternPredicate2,
18536 OPC_EmitNodeXForm, 7, 1,
18537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
18538 MVT::v8i16, 2, 0, 2,
18539 11,
18540 OPC_CheckPatternPredicate5,
18541 OPC_EmitNodeXForm, 7, 1,
18542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
18543 MVT::v8i16, 2, 0, 2,
18544 0,
18545 36,
18546 OPC_CheckChild0Integer, 36|128,108,
18547 OPC_RecordChild1,
18548 OPC_RecordChild2,
18549 OPC_MoveChild2,
18550 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18551 OPC_MoveParent,
18552 OPC_Scope, 11,
18553 OPC_CheckPatternPredicate2,
18554 OPC_EmitNodeXForm, 7, 1,
18555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
18556 MVT::v4i32, 2, 0, 2,
18557 11,
18558 OPC_CheckPatternPredicate5,
18559 OPC_EmitNodeXForm, 7, 1,
18560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
18561 MVT::v4i32, 2, 0, 2,
18562 0,
18563 36,
18564 OPC_CheckChild0Integer, 38|128,108,
18565 OPC_RecordChild1,
18566 OPC_RecordChild2,
18567 OPC_MoveChild2,
18568 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18569 OPC_MoveParent,
18570 OPC_Scope, 11,
18571 OPC_CheckPatternPredicate2,
18572 OPC_EmitNodeXForm, 7, 1,
18573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
18574 MVT::v4i32, 2, 0, 2,
18575 11,
18576 OPC_CheckPatternPredicate5,
18577 OPC_EmitNodeXForm, 7, 1,
18578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
18579 MVT::v4i32, 2, 0, 2,
18580 0,
18581 36,
18582 OPC_CheckChild0Integer, 6|128,108,
18583 OPC_RecordChild1,
18584 OPC_RecordChild2,
18585 OPC_MoveChild2,
18586 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18587 OPC_MoveParent,
18588 OPC_Scope, 11,
18589 OPC_CheckPatternPredicate2,
18590 OPC_EmitNodeXForm, 7, 1,
18591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
18592 MVT::v4i32, 2, 0, 2,
18593 11,
18594 OPC_CheckPatternPredicate5,
18595 OPC_EmitNodeXForm, 7, 1,
18596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
18597 MVT::v4i32, 2, 0, 2,
18598 0,
18599 36,
18600 OPC_CheckChild0Integer, 0|128,109,
18601 OPC_RecordChild1,
18602 OPC_RecordChild2,
18603 OPC_MoveChild2,
18604 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18605 OPC_MoveParent,
18606 OPC_Scope, 11,
18607 OPC_CheckPatternPredicate2,
18608 OPC_EmitNodeXForm, 7, 1,
18609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
18610 MVT::v2i64, 2, 0, 2,
18611 11,
18612 OPC_CheckPatternPredicate5,
18613 OPC_EmitNodeXForm, 7, 1,
18614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
18615 MVT::v2i64, 2, 0, 2,
18616 0,
18617 36,
18618 OPC_CheckChild0Integer, 2|128,109,
18619 OPC_RecordChild1,
18620 OPC_RecordChild2,
18621 OPC_MoveChild2,
18622 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18623 OPC_MoveParent,
18624 OPC_Scope, 11,
18625 OPC_CheckPatternPredicate2,
18626 OPC_EmitNodeXForm, 7, 1,
18627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
18628 MVT::v2i64, 2, 0, 2,
18629 11,
18630 OPC_CheckPatternPredicate5,
18631 OPC_EmitNodeXForm, 7, 1,
18632 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
18633 MVT::v2i64, 2, 0, 2,
18634 0,
18635 36,
18636 OPC_CheckChild0Integer, 20|128,110,
18637 OPC_RecordChild1,
18638 OPC_RecordChild2,
18639 OPC_MoveChild2,
18640 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18641 OPC_MoveParent,
18642 OPC_Scope, 11,
18643 OPC_CheckPatternPredicate2,
18644 OPC_EmitNodeXForm, 7, 1,
18645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
18646 MVT::v4i32, 2, 0, 2,
18647 11,
18648 OPC_CheckPatternPredicate5,
18649 OPC_EmitNodeXForm, 7, 1,
18650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
18651 MVT::v4i32, 2, 0, 2,
18652 0,
18653 36,
18654 OPC_CheckChild0Integer, 88|128,109,
18655 OPC_RecordChild1,
18656 OPC_RecordChild2,
18657 OPC_MoveChild2,
18658 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18659 OPC_MoveParent,
18660 OPC_Scope, 11,
18661 OPC_CheckPatternPredicate2,
18662 OPC_EmitNodeXForm, 7, 1,
18663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
18664 MVT::v4i32, 2, 0, 2,
18665 11,
18666 OPC_CheckPatternPredicate5,
18667 OPC_EmitNodeXForm, 7, 1,
18668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
18669 MVT::v4i32, 2, 0, 2,
18670 0,
18671 36,
18672 OPC_CheckChild0Integer, 54|128,108,
18673 OPC_RecordChild1,
18674 OPC_RecordChild2,
18675 OPC_MoveChild2,
18676 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18677 OPC_MoveParent,
18678 OPC_Scope, 11,
18679 OPC_CheckPatternPredicate2,
18680 OPC_EmitNodeXForm, 7, 1,
18681 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
18682 MVT::v4i32, 2, 0, 2,
18683 11,
18684 OPC_CheckPatternPredicate5,
18685 OPC_EmitNodeXForm, 7, 1,
18686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
18687 MVT::v4i32, 2, 0, 2,
18688 0,
18689 36,
18690 OPC_CheckChild0Integer, 108|128,108,
18691 OPC_RecordChild1,
18692 OPC_RecordChild2,
18693 OPC_MoveChild2,
18694 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18695 OPC_MoveParent,
18696 OPC_Scope, 11,
18697 OPC_CheckPatternPredicate2,
18698 OPC_EmitNodeXForm, 7, 1,
18699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
18700 MVT::v4i32, 2, 0, 2,
18701 11,
18702 OPC_CheckPatternPredicate5,
18703 OPC_EmitNodeXForm, 7, 1,
18704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
18705 MVT::v4i32, 2, 0, 2,
18706 0,
18707 36,
18708 OPC_CheckChild0Integer, 110|128,108,
18709 OPC_RecordChild1,
18710 OPC_RecordChild2,
18711 OPC_MoveChild2,
18712 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18713 OPC_MoveParent,
18714 OPC_Scope, 11,
18715 OPC_CheckPatternPredicate2,
18716 OPC_EmitNodeXForm, 7, 1,
18717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
18718 MVT::v4i32, 2, 0, 2,
18719 11,
18720 OPC_CheckPatternPredicate5,
18721 OPC_EmitNodeXForm, 7, 1,
18722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
18723 MVT::v4i32, 2, 0, 2,
18724 0,
18725 36,
18726 OPC_CheckChild0Integer, 40|128,109,
18727 OPC_RecordChild1,
18728 OPC_RecordChild2,
18729 OPC_MoveChild2,
18730 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18731 OPC_MoveParent,
18732 OPC_Scope, 11,
18733 OPC_CheckPatternPredicate2,
18734 OPC_EmitNodeXForm, 7, 1,
18735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
18736 MVT::v4i32, 2, 0, 2,
18737 11,
18738 OPC_CheckPatternPredicate5,
18739 OPC_EmitNodeXForm, 7, 1,
18740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
18741 MVT::v4i32, 2, 0, 2,
18742 0,
18743 36,
18744 OPC_CheckChild0Integer, 42|128,109,
18745 OPC_RecordChild1,
18746 OPC_RecordChild2,
18747 OPC_MoveChild2,
18748 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18749 OPC_MoveParent,
18750 OPC_Scope, 11,
18751 OPC_CheckPatternPredicate2,
18752 OPC_EmitNodeXForm, 7, 1,
18753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
18754 MVT::v4i32, 2, 0, 2,
18755 11,
18756 OPC_CheckPatternPredicate5,
18757 OPC_EmitNodeXForm, 7, 1,
18758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
18759 MVT::v4i32, 2, 0, 2,
18760 0,
18761 36,
18762 OPC_CheckChild0Integer, 118|128,107,
18763 OPC_RecordChild1,
18764 OPC_RecordChild2,
18765 OPC_MoveChild2,
18766 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18767 OPC_MoveParent,
18768 OPC_Scope, 11,
18769 OPC_CheckPatternPredicate2,
18770 OPC_EmitNodeXForm, 7, 1,
18771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
18772 MVT::v4i32, 2, 0, 2,
18773 11,
18774 OPC_CheckPatternPredicate5,
18775 OPC_EmitNodeXForm, 7, 1,
18776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
18777 MVT::v4i32, 2, 0, 2,
18778 0,
18779 36,
18780 OPC_CheckChild0Integer, 70|128,108,
18781 OPC_RecordChild1,
18782 OPC_RecordChild2,
18783 OPC_MoveChild2,
18784 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18785 OPC_MoveParent,
18786 OPC_Scope, 11,
18787 OPC_CheckPatternPredicate2,
18788 OPC_EmitNodeXForm, 7, 1,
18789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
18790 MVT::v4i32, 2, 0, 2,
18791 11,
18792 OPC_CheckPatternPredicate5,
18793 OPC_EmitNodeXForm, 7, 1,
18794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
18795 MVT::v4i32, 2, 0, 2,
18796 0,
18797 36,
18798 OPC_CheckChild0Integer, 28|128,108,
18799 OPC_RecordChild1,
18800 OPC_RecordChild2,
18801 OPC_MoveChild2,
18802 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18803 OPC_MoveParent,
18804 OPC_Scope, 11,
18805 OPC_CheckPatternPredicate2,
18806 OPC_EmitNodeXForm, 7, 1,
18807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
18808 MVT::v2i64, 2, 0, 2,
18809 11,
18810 OPC_CheckPatternPredicate5,
18811 OPC_EmitNodeXForm, 7, 1,
18812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
18813 MVT::v2i64, 2, 0, 2,
18814 0,
18815 36,
18816 OPC_CheckChild0Integer, 30|128,108,
18817 OPC_RecordChild1,
18818 OPC_RecordChild2,
18819 OPC_MoveChild2,
18820 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18821 OPC_MoveParent,
18822 OPC_Scope, 11,
18823 OPC_CheckPatternPredicate2,
18824 OPC_EmitNodeXForm, 7, 1,
18825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
18826 MVT::v2i64, 2, 0, 2,
18827 11,
18828 OPC_CheckPatternPredicate5,
18829 OPC_EmitNodeXForm, 7, 1,
18830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
18831 MVT::v2i64, 2, 0, 2,
18832 0,
18833 36,
18834 OPC_CheckChild0Integer, 2|128,108,
18835 OPC_RecordChild1,
18836 OPC_RecordChild2,
18837 OPC_MoveChild2,
18838 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18839 OPC_MoveParent,
18840 OPC_Scope, 11,
18841 OPC_CheckPatternPredicate2,
18842 OPC_EmitNodeXForm, 7, 1,
18843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
18844 MVT::v2i64, 2, 0, 2,
18845 11,
18846 OPC_CheckPatternPredicate5,
18847 OPC_EmitNodeXForm, 7, 1,
18848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
18849 MVT::v2i64, 2, 0, 2,
18850 0,
18851 36,
18852 OPC_CheckChild0Integer, 16|128,110,
18853 OPC_RecordChild1,
18854 OPC_RecordChild2,
18855 OPC_MoveChild2,
18856 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18857 OPC_MoveParent,
18858 OPC_Scope, 11,
18859 OPC_CheckPatternPredicate2,
18860 OPC_EmitNodeXForm, 7, 1,
18861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
18862 MVT::v2i64, 2, 0, 2,
18863 11,
18864 OPC_CheckPatternPredicate5,
18865 OPC_EmitNodeXForm, 7, 1,
18866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
18867 MVT::v2i64, 2, 0, 2,
18868 0,
18869 36,
18870 OPC_CheckChild0Integer, 84|128,109,
18871 OPC_RecordChild1,
18872 OPC_RecordChild2,
18873 OPC_MoveChild2,
18874 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18875 OPC_MoveParent,
18876 OPC_Scope, 11,
18877 OPC_CheckPatternPredicate2,
18878 OPC_EmitNodeXForm, 7, 1,
18879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
18880 MVT::v2i64, 2, 0, 2,
18881 11,
18882 OPC_CheckPatternPredicate5,
18883 OPC_EmitNodeXForm, 7, 1,
18884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
18885 MVT::v2i64, 2, 0, 2,
18886 0,
18887 36,
18888 OPC_CheckChild0Integer, 50|128,108,
18889 OPC_RecordChild1,
18890 OPC_RecordChild2,
18891 OPC_MoveChild2,
18892 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18893 OPC_MoveParent,
18894 OPC_Scope, 11,
18895 OPC_CheckPatternPredicate2,
18896 OPC_EmitNodeXForm, 7, 1,
18897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
18898 MVT::v2i64, 2, 0, 2,
18899 11,
18900 OPC_CheckPatternPredicate5,
18901 OPC_EmitNodeXForm, 7, 1,
18902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
18903 MVT::v2i64, 2, 0, 2,
18904 0,
18905 36,
18906 OPC_CheckChild0Integer, 100|128,108,
18907 OPC_RecordChild1,
18908 OPC_RecordChild2,
18909 OPC_MoveChild2,
18910 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18911 OPC_MoveParent,
18912 OPC_Scope, 11,
18913 OPC_CheckPatternPredicate2,
18914 OPC_EmitNodeXForm, 7, 1,
18915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
18916 MVT::v2i64, 2, 0, 2,
18917 11,
18918 OPC_CheckPatternPredicate5,
18919 OPC_EmitNodeXForm, 7, 1,
18920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
18921 MVT::v2i64, 2, 0, 2,
18922 0,
18923 36,
18924 OPC_CheckChild0Integer, 102|128,108,
18925 OPC_RecordChild1,
18926 OPC_RecordChild2,
18927 OPC_MoveChild2,
18928 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18929 OPC_MoveParent,
18930 OPC_Scope, 11,
18931 OPC_CheckPatternPredicate2,
18932 OPC_EmitNodeXForm, 7, 1,
18933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
18934 MVT::v2i64, 2, 0, 2,
18935 11,
18936 OPC_CheckPatternPredicate5,
18937 OPC_EmitNodeXForm, 7, 1,
18938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
18939 MVT::v2i64, 2, 0, 2,
18940 0,
18941 36,
18942 OPC_CheckChild0Integer, 32|128,109,
18943 OPC_RecordChild1,
18944 OPC_RecordChild2,
18945 OPC_MoveChild2,
18946 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18947 OPC_MoveParent,
18948 OPC_Scope, 11,
18949 OPC_CheckPatternPredicate2,
18950 OPC_EmitNodeXForm, 7, 1,
18951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
18952 MVT::v2i64, 2, 0, 2,
18953 11,
18954 OPC_CheckPatternPredicate5,
18955 OPC_EmitNodeXForm, 7, 1,
18956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
18957 MVT::v2i64, 2, 0, 2,
18958 0,
18959 36,
18960 OPC_CheckChild0Integer, 34|128,109,
18961 OPC_RecordChild1,
18962 OPC_RecordChild2,
18963 OPC_MoveChild2,
18964 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18965 OPC_MoveParent,
18966 OPC_Scope, 11,
18967 OPC_CheckPatternPredicate2,
18968 OPC_EmitNodeXForm, 7, 1,
18969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
18970 MVT::v2i64, 2, 0, 2,
18971 11,
18972 OPC_CheckPatternPredicate5,
18973 OPC_EmitNodeXForm, 7, 1,
18974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
18975 MVT::v2i64, 2, 0, 2,
18976 0,
18977 36,
18978 OPC_CheckChild0Integer, 114|128,107,
18979 OPC_RecordChild1,
18980 OPC_RecordChild2,
18981 OPC_MoveChild2,
18982 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18983 OPC_MoveParent,
18984 OPC_Scope, 11,
18985 OPC_CheckPatternPredicate2,
18986 OPC_EmitNodeXForm, 7, 1,
18987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
18988 MVT::v2i64, 2, 0, 2,
18989 11,
18990 OPC_CheckPatternPredicate5,
18991 OPC_EmitNodeXForm, 7, 1,
18992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
18993 MVT::v2i64, 2, 0, 2,
18994 0,
18995 39,
18996 OPC_CheckChild0Integer, 126|128,109,
18997 OPC_RecordChild1,
18998 OPC_RecordChild2,
18999 OPC_RecordChild3,
19000 OPC_MoveChild3,
19001 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19002 OPC_MoveParent,
19003 OPC_Scope, 12,
19004 OPC_CheckPatternPredicate2,
19005 OPC_EmitNodeXForm, 7, 2,
19006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
19007 MVT::v16i8, 3, 0, 1, 3,
19008 12,
19009 OPC_CheckPatternPredicate5,
19010 OPC_EmitNodeXForm, 7, 2,
19011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
19012 MVT::v16i8, 3, 0, 1, 3,
19013 0,
19014 39,
19015 OPC_CheckChild0Integer, 66|128,109,
19016 OPC_RecordChild1,
19017 OPC_RecordChild2,
19018 OPC_RecordChild3,
19019 OPC_MoveChild3,
19020 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19021 OPC_MoveParent,
19022 OPC_Scope, 12,
19023 OPC_CheckPatternPredicate2,
19024 OPC_EmitNodeXForm, 7, 2,
19025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
19026 MVT::v16i8, 3, 0, 1, 3,
19027 12,
19028 OPC_CheckPatternPredicate5,
19029 OPC_EmitNodeXForm, 7, 2,
19030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
19031 MVT::v16i8, 3, 0, 1, 3,
19032 0,
19033 39,
19034 OPC_CheckChild0Integer, 28|128,110,
19035 OPC_RecordChild1,
19036 OPC_RecordChild2,
19037 OPC_RecordChild3,
19038 OPC_MoveChild3,
19039 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19040 OPC_MoveParent,
19041 OPC_Scope, 12,
19042 OPC_CheckPatternPredicate2,
19043 OPC_EmitNodeXForm, 7, 2,
19044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
19045 MVT::v16i8, 3, 0, 1, 3,
19046 12,
19047 OPC_CheckPatternPredicate5,
19048 OPC_EmitNodeXForm, 7, 2,
19049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
19050 MVT::v16i8, 3, 0, 1, 3,
19051 0,
19052 39,
19053 OPC_CheckChild0Integer, 96|128,109,
19054 OPC_RecordChild1,
19055 OPC_RecordChild2,
19056 OPC_RecordChild3,
19057 OPC_MoveChild3,
19058 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19059 OPC_MoveParent,
19060 OPC_Scope, 12,
19061 OPC_CheckPatternPredicate2,
19062 OPC_EmitNodeXForm, 7, 2,
19063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
19064 MVT::v16i8, 3, 0, 1, 3,
19065 12,
19066 OPC_CheckPatternPredicate5,
19067 OPC_EmitNodeXForm, 7, 2,
19068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
19069 MVT::v16i8, 3, 0, 1, 3,
19070 0,
19071 39,
19072 OPC_CheckChild0Integer, 104|128,110,
19073 OPC_RecordChild1,
19074 OPC_RecordChild2,
19075 OPC_RecordChild3,
19076 OPC_MoveChild3,
19077 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19078 OPC_MoveParent,
19079 OPC_Scope, 12,
19080 OPC_CheckPatternPredicate2,
19081 OPC_EmitNodeXForm, 7, 2,
19082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
19083 MVT::v16i8, 3, 0, 1, 3,
19084 12,
19085 OPC_CheckPatternPredicate5,
19086 OPC_EmitNodeXForm, 7, 2,
19087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
19088 MVT::v16i8, 3, 0, 1, 3,
19089 0,
19090 39,
19091 OPC_CheckChild0Integer, 48|128,110,
19092 OPC_RecordChild1,
19093 OPC_RecordChild2,
19094 OPC_RecordChild3,
19095 OPC_MoveChild3,
19096 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19097 OPC_MoveParent,
19098 OPC_Scope, 12,
19099 OPC_CheckPatternPredicate2,
19100 OPC_EmitNodeXForm, 7, 2,
19101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
19102 MVT::v16i8, 3, 0, 1, 3,
19103 12,
19104 OPC_CheckPatternPredicate5,
19105 OPC_EmitNodeXForm, 7, 2,
19106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
19107 MVT::v16i8, 3, 0, 1, 3,
19108 0,
19109 39,
19110 OPC_CheckChild0Integer, 106|128,110,
19111 OPC_RecordChild1,
19112 OPC_RecordChild2,
19113 OPC_RecordChild3,
19114 OPC_MoveChild3,
19115 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19116 OPC_MoveParent,
19117 OPC_Scope, 12,
19118 OPC_CheckPatternPredicate2,
19119 OPC_EmitNodeXForm, 7, 2,
19120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
19121 MVT::v16i8, 3, 0, 1, 3,
19122 12,
19123 OPC_CheckPatternPredicate5,
19124 OPC_EmitNodeXForm, 7, 2,
19125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
19126 MVT::v16i8, 3, 0, 1, 3,
19127 0,
19128 39,
19129 OPC_CheckChild0Integer, 50|128,110,
19130 OPC_RecordChild1,
19131 OPC_RecordChild2,
19132 OPC_RecordChild3,
19133 OPC_MoveChild3,
19134 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19135 OPC_MoveParent,
19136 OPC_Scope, 12,
19137 OPC_CheckPatternPredicate2,
19138 OPC_EmitNodeXForm, 7, 2,
19139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
19140 MVT::v16i8, 3, 0, 1, 3,
19141 12,
19142 OPC_CheckPatternPredicate5,
19143 OPC_EmitNodeXForm, 7, 2,
19144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
19145 MVT::v16i8, 3, 0, 1, 3,
19146 0,
19147 39,
19148 OPC_CheckChild0Integer, 4|128,111,
19149 OPC_RecordChild1,
19150 OPC_RecordChild2,
19151 OPC_RecordChild3,
19152 OPC_MoveChild3,
19153 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19154 OPC_MoveParent,
19155 OPC_Scope, 12,
19156 OPC_CheckPatternPredicate2,
19157 OPC_EmitNodeXForm, 7, 2,
19158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
19159 MVT::v16i8, 3, 0, 1, 3,
19160 12,
19161 OPC_CheckPatternPredicate5,
19162 OPC_EmitNodeXForm, 7, 2,
19163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
19164 MVT::v16i8, 3, 0, 1, 3,
19165 0,
19166 39,
19167 OPC_CheckChild0Integer, 76|128,110,
19168 OPC_RecordChild1,
19169 OPC_RecordChild2,
19170 OPC_RecordChild3,
19171 OPC_MoveChild3,
19172 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19173 OPC_MoveParent,
19174 OPC_Scope, 12,
19175 OPC_CheckPatternPredicate2,
19176 OPC_EmitNodeXForm, 7, 2,
19177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
19178 MVT::v16i8, 3, 0, 1, 3,
19179 12,
19180 OPC_CheckPatternPredicate5,
19181 OPC_EmitNodeXForm, 7, 2,
19182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
19183 MVT::v16i8, 3, 0, 1, 3,
19184 0,
19185 39,
19186 OPC_CheckChild0Integer, 6|128,111,
19187 OPC_RecordChild1,
19188 OPC_RecordChild2,
19189 OPC_RecordChild3,
19190 OPC_MoveChild3,
19191 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19192 OPC_MoveParent,
19193 OPC_Scope, 12,
19194 OPC_CheckPatternPredicate2,
19195 OPC_EmitNodeXForm, 7, 2,
19196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
19197 MVT::v16i8, 3, 0, 1, 3,
19198 12,
19199 OPC_CheckPatternPredicate5,
19200 OPC_EmitNodeXForm, 7, 2,
19201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
19202 MVT::v16i8, 3, 0, 1, 3,
19203 0,
19204 39,
19205 OPC_CheckChild0Integer, 78|128,110,
19206 OPC_RecordChild1,
19207 OPC_RecordChild2,
19208 OPC_RecordChild3,
19209 OPC_MoveChild3,
19210 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19211 OPC_MoveParent,
19212 OPC_Scope, 12,
19213 OPC_CheckPatternPredicate2,
19214 OPC_EmitNodeXForm, 7, 2,
19215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
19216 MVT::v16i8, 3, 0, 1, 3,
19217 12,
19218 OPC_CheckPatternPredicate5,
19219 OPC_EmitNodeXForm, 7, 2,
19220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
19221 MVT::v16i8, 3, 0, 1, 3,
19222 0,
19223 39,
19224 OPC_CheckChild0Integer, 28|128,104,
19225 OPC_RecordChild1,
19226 OPC_RecordChild2,
19227 OPC_RecordChild3,
19228 OPC_MoveChild3,
19229 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19230 OPC_MoveParent,
19231 OPC_Scope, 12,
19232 OPC_CheckPatternPredicate2,
19233 OPC_EmitNodeXForm, 7, 2,
19234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
19235 MVT::v16i8, 3, 0, 1, 3,
19236 12,
19237 OPC_CheckPatternPredicate5,
19238 OPC_EmitNodeXForm, 7, 2,
19239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
19240 MVT::v16i8, 3, 0, 1, 3,
19241 0,
19242 39,
19243 OPC_CheckChild0Integer, 124|128,101,
19244 OPC_RecordChild1,
19245 OPC_RecordChild2,
19246 OPC_RecordChild3,
19247 OPC_MoveChild3,
19248 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19249 OPC_MoveParent,
19250 OPC_Scope, 12,
19251 OPC_CheckPatternPredicate2,
19252 OPC_EmitNodeXForm, 7, 2,
19253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
19254 MVT::v16i8, 3, 0, 1, 3,
19255 12,
19256 OPC_CheckPatternPredicate5,
19257 OPC_EmitNodeXForm, 7, 2,
19258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
19259 MVT::v16i8, 3, 0, 1, 3,
19260 0,
19261 39,
19262 OPC_CheckChild0Integer, 70|128,102,
19263 OPC_RecordChild1,
19264 OPC_RecordChild2,
19265 OPC_RecordChild3,
19266 OPC_MoveChild3,
19267 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19268 OPC_MoveParent,
19269 OPC_Scope, 12,
19270 OPC_CheckPatternPredicate2,
19271 OPC_EmitNodeXForm, 7, 2,
19272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
19273 MVT::v16i8, 3, 0, 1, 3,
19274 12,
19275 OPC_CheckPatternPredicate5,
19276 OPC_EmitNodeXForm, 7, 2,
19277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
19278 MVT::v16i8, 3, 0, 1, 3,
19279 0,
19280 39,
19281 OPC_CheckChild0Integer, 2|128,110,
19282 OPC_RecordChild1,
19283 OPC_RecordChild2,
19284 OPC_RecordChild3,
19285 OPC_MoveChild3,
19286 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19287 OPC_MoveParent,
19288 OPC_Scope, 12,
19289 OPC_CheckPatternPredicate2,
19290 OPC_EmitNodeXForm, 7, 2,
19291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
19292 MVT::v8i16, 3, 0, 1, 3,
19293 12,
19294 OPC_CheckPatternPredicate5,
19295 OPC_EmitNodeXForm, 7, 2,
19296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
19297 MVT::v8i16, 3, 0, 1, 3,
19298 0,
19299 39,
19300 OPC_CheckChild0Integer, 70|128,109,
19301 OPC_RecordChild1,
19302 OPC_RecordChild2,
19303 OPC_RecordChild3,
19304 OPC_MoveChild3,
19305 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19306 OPC_MoveParent,
19307 OPC_Scope, 12,
19308 OPC_CheckPatternPredicate2,
19309 OPC_EmitNodeXForm, 7, 2,
19310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
19311 MVT::v8i16, 3, 0, 1, 3,
19312 12,
19313 OPC_CheckPatternPredicate5,
19314 OPC_EmitNodeXForm, 7, 2,
19315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
19316 MVT::v8i16, 3, 0, 1, 3,
19317 0,
19318 39,
19319 OPC_CheckChild0Integer, 32|128,110,
19320 OPC_RecordChild1,
19321 OPC_RecordChild2,
19322 OPC_RecordChild3,
19323 OPC_MoveChild3,
19324 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19325 OPC_MoveParent,
19326 OPC_Scope, 12,
19327 OPC_CheckPatternPredicate2,
19328 OPC_EmitNodeXForm, 7, 2,
19329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
19330 MVT::v8i16, 3, 0, 1, 3,
19331 12,
19332 OPC_CheckPatternPredicate5,
19333 OPC_EmitNodeXForm, 7, 2,
19334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
19335 MVT::v8i16, 3, 0, 1, 3,
19336 0,
19337 39,
19338 OPC_CheckChild0Integer, 100|128,109,
19339 OPC_RecordChild1,
19340 OPC_RecordChild2,
19341 OPC_RecordChild3,
19342 OPC_MoveChild3,
19343 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19344 OPC_MoveParent,
19345 OPC_Scope, 12,
19346 OPC_CheckPatternPredicate2,
19347 OPC_EmitNodeXForm, 7, 2,
19348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
19349 MVT::v8i16, 3, 0, 1, 3,
19350 12,
19351 OPC_CheckPatternPredicate5,
19352 OPC_EmitNodeXForm, 7, 2,
19353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
19354 MVT::v8i16, 3, 0, 1, 3,
19355 0,
19356 39,
19357 OPC_CheckChild0Integer, 112|128,110,
19358 OPC_RecordChild1,
19359 OPC_RecordChild2,
19360 OPC_RecordChild3,
19361 OPC_MoveChild3,
19362 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19363 OPC_MoveParent,
19364 OPC_Scope, 12,
19365 OPC_CheckPatternPredicate2,
19366 OPC_EmitNodeXForm, 7, 2,
19367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
19368 MVT::v8i16, 3, 0, 1, 3,
19369 12,
19370 OPC_CheckPatternPredicate5,
19371 OPC_EmitNodeXForm, 7, 2,
19372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
19373 MVT::v8i16, 3, 0, 1, 3,
19374 0,
19375 39,
19376 OPC_CheckChild0Integer, 56|128,110,
19377 OPC_RecordChild1,
19378 OPC_RecordChild2,
19379 OPC_RecordChild3,
19380 OPC_MoveChild3,
19381 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19382 OPC_MoveParent,
19383 OPC_Scope, 12,
19384 OPC_CheckPatternPredicate2,
19385 OPC_EmitNodeXForm, 7, 2,
19386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
19387 MVT::v8i16, 3, 0, 1, 3,
19388 12,
19389 OPC_CheckPatternPredicate5,
19390 OPC_EmitNodeXForm, 7, 2,
19391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
19392 MVT::v8i16, 3, 0, 1, 3,
19393 0,
19394 39,
19395 OPC_CheckChild0Integer, 114|128,110,
19396 OPC_RecordChild1,
19397 OPC_RecordChild2,
19398 OPC_RecordChild3,
19399 OPC_MoveChild3,
19400 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19401 OPC_MoveParent,
19402 OPC_Scope, 12,
19403 OPC_CheckPatternPredicate2,
19404 OPC_EmitNodeXForm, 7, 2,
19405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
19406 MVT::v8i16, 3, 0, 1, 3,
19407 12,
19408 OPC_CheckPatternPredicate5,
19409 OPC_EmitNodeXForm, 7, 2,
19410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
19411 MVT::v8i16, 3, 0, 1, 3,
19412 0,
19413 39,
19414 OPC_CheckChild0Integer, 58|128,110,
19415 OPC_RecordChild1,
19416 OPC_RecordChild2,
19417 OPC_RecordChild3,
19418 OPC_MoveChild3,
19419 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19420 OPC_MoveParent,
19421 OPC_Scope, 12,
19422 OPC_CheckPatternPredicate2,
19423 OPC_EmitNodeXForm, 7, 2,
19424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
19425 MVT::v8i16, 3, 0, 1, 3,
19426 12,
19427 OPC_CheckPatternPredicate5,
19428 OPC_EmitNodeXForm, 7, 2,
19429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
19430 MVT::v8i16, 3, 0, 1, 3,
19431 0,
19432 39,
19433 OPC_CheckChild0Integer, 12|128,111,
19434 OPC_RecordChild1,
19435 OPC_RecordChild2,
19436 OPC_RecordChild3,
19437 OPC_MoveChild3,
19438 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19439 OPC_MoveParent,
19440 OPC_Scope, 12,
19441 OPC_CheckPatternPredicate2,
19442 OPC_EmitNodeXForm, 7, 2,
19443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
19444 MVT::v8i16, 3, 0, 1, 3,
19445 12,
19446 OPC_CheckPatternPredicate5,
19447 OPC_EmitNodeXForm, 7, 2,
19448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
19449 MVT::v8i16, 3, 0, 1, 3,
19450 0,
19451 39,
19452 OPC_CheckChild0Integer, 84|128,110,
19453 OPC_RecordChild1,
19454 OPC_RecordChild2,
19455 OPC_RecordChild3,
19456 OPC_MoveChild3,
19457 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19458 OPC_MoveParent,
19459 OPC_Scope, 12,
19460 OPC_CheckPatternPredicate2,
19461 OPC_EmitNodeXForm, 7, 2,
19462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
19463 MVT::v8i16, 3, 0, 1, 3,
19464 12,
19465 OPC_CheckPatternPredicate5,
19466 OPC_EmitNodeXForm, 7, 2,
19467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
19468 MVT::v8i16, 3, 0, 1, 3,
19469 0,
19470 39,
19471 OPC_CheckChild0Integer, 14|128,111,
19472 OPC_RecordChild1,
19473 OPC_RecordChild2,
19474 OPC_RecordChild3,
19475 OPC_MoveChild3,
19476 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19477 OPC_MoveParent,
19478 OPC_Scope, 12,
19479 OPC_CheckPatternPredicate2,
19480 OPC_EmitNodeXForm, 7, 2,
19481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
19482 MVT::v8i16, 3, 0, 1, 3,
19483 12,
19484 OPC_CheckPatternPredicate5,
19485 OPC_EmitNodeXForm, 7, 2,
19486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
19487 MVT::v8i16, 3, 0, 1, 3,
19488 0,
19489 39,
19490 OPC_CheckChild0Integer, 86|128,110,
19491 OPC_RecordChild1,
19492 OPC_RecordChild2,
19493 OPC_RecordChild3,
19494 OPC_MoveChild3,
19495 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19496 OPC_MoveParent,
19497 OPC_Scope, 12,
19498 OPC_CheckPatternPredicate2,
19499 OPC_EmitNodeXForm, 7, 2,
19500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
19501 MVT::v8i16, 3, 0, 1, 3,
19502 12,
19503 OPC_CheckPatternPredicate5,
19504 OPC_EmitNodeXForm, 7, 2,
19505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
19506 MVT::v8i16, 3, 0, 1, 3,
19507 0,
19508 39,
19509 OPC_CheckChild0Integer, 30|128,104,
19510 OPC_RecordChild1,
19511 OPC_RecordChild2,
19512 OPC_RecordChild3,
19513 OPC_MoveChild3,
19514 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19515 OPC_MoveParent,
19516 OPC_Scope, 12,
19517 OPC_CheckPatternPredicate2,
19518 OPC_EmitNodeXForm, 7, 2,
19519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
19520 MVT::v8i16, 3, 0, 1, 3,
19521 12,
19522 OPC_CheckPatternPredicate5,
19523 OPC_EmitNodeXForm, 7, 2,
19524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
19525 MVT::v8i16, 3, 0, 1, 3,
19526 0,
19527 39,
19528 OPC_CheckChild0Integer, 74|128,102,
19529 OPC_RecordChild1,
19530 OPC_RecordChild2,
19531 OPC_RecordChild3,
19532 OPC_MoveChild3,
19533 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19534 OPC_MoveParent,
19535 OPC_Scope, 12,
19536 OPC_CheckPatternPredicate2,
19537 OPC_EmitNodeXForm, 7, 2,
19538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
19539 MVT::v8i16, 3, 0, 1, 3,
19540 12,
19541 OPC_CheckPatternPredicate5,
19542 OPC_EmitNodeXForm, 7, 2,
19543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
19544 MVT::v8i16, 3, 0, 1, 3,
19545 0,
19546 39,
19547 OPC_CheckChild0Integer, 4|128,110,
19548 OPC_RecordChild1,
19549 OPC_RecordChild2,
19550 OPC_RecordChild3,
19551 OPC_MoveChild3,
19552 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19553 OPC_MoveParent,
19554 OPC_Scope, 12,
19555 OPC_CheckPatternPredicate2,
19556 OPC_EmitNodeXForm, 7, 2,
19557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
19558 MVT::v4i32, 3, 0, 1, 3,
19559 12,
19560 OPC_CheckPatternPredicate5,
19561 OPC_EmitNodeXForm, 7, 2,
19562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
19563 MVT::v4i32, 3, 0, 1, 3,
19564 0,
19565 39,
19566 OPC_CheckChild0Integer, 72|128,109,
19567 OPC_RecordChild1,
19568 OPC_RecordChild2,
19569 OPC_RecordChild3,
19570 OPC_MoveChild3,
19571 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19572 OPC_MoveParent,
19573 OPC_Scope, 12,
19574 OPC_CheckPatternPredicate2,
19575 OPC_EmitNodeXForm, 7, 2,
19576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
19577 MVT::v4i32, 3, 0, 1, 3,
19578 12,
19579 OPC_CheckPatternPredicate5,
19580 OPC_EmitNodeXForm, 7, 2,
19581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
19582 MVT::v4i32, 3, 0, 1, 3,
19583 0,
19584 39,
19585 OPC_CheckChild0Integer, 34|128,110,
19586 OPC_RecordChild1,
19587 OPC_RecordChild2,
19588 OPC_RecordChild3,
19589 OPC_MoveChild3,
19590 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19591 OPC_MoveParent,
19592 OPC_Scope, 12,
19593 OPC_CheckPatternPredicate2,
19594 OPC_EmitNodeXForm, 7, 2,
19595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
19596 MVT::v4i32, 3, 0, 1, 3,
19597 12,
19598 OPC_CheckPatternPredicate5,
19599 OPC_EmitNodeXForm, 7, 2,
19600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
19601 MVT::v4i32, 3, 0, 1, 3,
19602 0,
19603 39,
19604 OPC_CheckChild0Integer, 102|128,109,
19605 OPC_RecordChild1,
19606 OPC_RecordChild2,
19607 OPC_RecordChild3,
19608 OPC_MoveChild3,
19609 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19610 OPC_MoveParent,
19611 OPC_Scope, 12,
19612 OPC_CheckPatternPredicate2,
19613 OPC_EmitNodeXForm, 7, 2,
19614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
19615 MVT::v4i32, 3, 0, 1, 3,
19616 12,
19617 OPC_CheckPatternPredicate5,
19618 OPC_EmitNodeXForm, 7, 2,
19619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
19620 MVT::v4i32, 3, 0, 1, 3,
19621 0,
19622 39,
19623 OPC_CheckChild0Integer, 116|128,110,
19624 OPC_RecordChild1,
19625 OPC_RecordChild2,
19626 OPC_RecordChild3,
19627 OPC_MoveChild3,
19628 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19629 OPC_MoveParent,
19630 OPC_Scope, 12,
19631 OPC_CheckPatternPredicate2,
19632 OPC_EmitNodeXForm, 7, 2,
19633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
19634 MVT::v4i32, 3, 0, 1, 3,
19635 12,
19636 OPC_CheckPatternPredicate5,
19637 OPC_EmitNodeXForm, 7, 2,
19638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
19639 MVT::v4i32, 3, 0, 1, 3,
19640 0,
19641 39,
19642 OPC_CheckChild0Integer, 60|128,110,
19643 OPC_RecordChild1,
19644 OPC_RecordChild2,
19645 OPC_RecordChild3,
19646 OPC_MoveChild3,
19647 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19648 OPC_MoveParent,
19649 OPC_Scope, 12,
19650 OPC_CheckPatternPredicate2,
19651 OPC_EmitNodeXForm, 7, 2,
19652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
19653 MVT::v4i32, 3, 0, 1, 3,
19654 12,
19655 OPC_CheckPatternPredicate5,
19656 OPC_EmitNodeXForm, 7, 2,
19657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
19658 MVT::v4i32, 3, 0, 1, 3,
19659 0,
19660 39,
19661 OPC_CheckChild0Integer, 118|128,110,
19662 OPC_RecordChild1,
19663 OPC_RecordChild2,
19664 OPC_RecordChild3,
19665 OPC_MoveChild3,
19666 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19667 OPC_MoveParent,
19668 OPC_Scope, 12,
19669 OPC_CheckPatternPredicate2,
19670 OPC_EmitNodeXForm, 7, 2,
19671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
19672 MVT::v4i32, 3, 0, 1, 3,
19673 12,
19674 OPC_CheckPatternPredicate5,
19675 OPC_EmitNodeXForm, 7, 2,
19676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
19677 MVT::v4i32, 3, 0, 1, 3,
19678 0,
19679 39,
19680 OPC_CheckChild0Integer, 62|128,110,
19681 OPC_RecordChild1,
19682 OPC_RecordChild2,
19683 OPC_RecordChild3,
19684 OPC_MoveChild3,
19685 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19686 OPC_MoveParent,
19687 OPC_Scope, 12,
19688 OPC_CheckPatternPredicate2,
19689 OPC_EmitNodeXForm, 7, 2,
19690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
19691 MVT::v4i32, 3, 0, 1, 3,
19692 12,
19693 OPC_CheckPatternPredicate5,
19694 OPC_EmitNodeXForm, 7, 2,
19695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
19696 MVT::v4i32, 3, 0, 1, 3,
19697 0,
19698 39,
19699 OPC_CheckChild0Integer, 16|128,111,
19700 OPC_RecordChild1,
19701 OPC_RecordChild2,
19702 OPC_RecordChild3,
19703 OPC_MoveChild3,
19704 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19705 OPC_MoveParent,
19706 OPC_Scope, 12,
19707 OPC_CheckPatternPredicate2,
19708 OPC_EmitNodeXForm, 7, 2,
19709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
19710 MVT::v4i32, 3, 0, 1, 3,
19711 12,
19712 OPC_CheckPatternPredicate5,
19713 OPC_EmitNodeXForm, 7, 2,
19714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
19715 MVT::v4i32, 3, 0, 1, 3,
19716 0,
19717 39,
19718 OPC_CheckChild0Integer, 88|128,110,
19719 OPC_RecordChild1,
19720 OPC_RecordChild2,
19721 OPC_RecordChild3,
19722 OPC_MoveChild3,
19723 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19724 OPC_MoveParent,
19725 OPC_Scope, 12,
19726 OPC_CheckPatternPredicate2,
19727 OPC_EmitNodeXForm, 7, 2,
19728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
19729 MVT::v4i32, 3, 0, 1, 3,
19730 12,
19731 OPC_CheckPatternPredicate5,
19732 OPC_EmitNodeXForm, 7, 2,
19733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
19734 MVT::v4i32, 3, 0, 1, 3,
19735 0,
19736 39,
19737 OPC_CheckChild0Integer, 18|128,111,
19738 OPC_RecordChild1,
19739 OPC_RecordChild2,
19740 OPC_RecordChild3,
19741 OPC_MoveChild3,
19742 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19743 OPC_MoveParent,
19744 OPC_Scope, 12,
19745 OPC_CheckPatternPredicate2,
19746 OPC_EmitNodeXForm, 7, 2,
19747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
19748 MVT::v4i32, 3, 0, 1, 3,
19749 12,
19750 OPC_CheckPatternPredicate5,
19751 OPC_EmitNodeXForm, 7, 2,
19752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
19753 MVT::v4i32, 3, 0, 1, 3,
19754 0,
19755 39,
19756 OPC_CheckChild0Integer, 90|128,110,
19757 OPC_RecordChild1,
19758 OPC_RecordChild2,
19759 OPC_RecordChild3,
19760 OPC_MoveChild3,
19761 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19762 OPC_MoveParent,
19763 OPC_Scope, 12,
19764 OPC_CheckPatternPredicate2,
19765 OPC_EmitNodeXForm, 7, 2,
19766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
19767 MVT::v4i32, 3, 0, 1, 3,
19768 12,
19769 OPC_CheckPatternPredicate5,
19770 OPC_EmitNodeXForm, 7, 2,
19771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
19772 MVT::v4i32, 3, 0, 1, 3,
19773 0,
19774 39,
19775 OPC_CheckChild0Integer, 54|128,107,
19776 OPC_RecordChild1,
19777 OPC_RecordChild2,
19778 OPC_RecordChild3,
19779 OPC_MoveChild3,
19780 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19781 OPC_MoveParent,
19782 OPC_Scope, 12,
19783 OPC_CheckPatternPredicate2,
19784 OPC_EmitNodeXForm, 7, 2,
19785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
19786 MVT::v4i32, 3, 0, 1, 3,
19787 12,
19788 OPC_CheckPatternPredicate5,
19789 OPC_EmitNodeXForm, 7, 2,
19790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
19791 MVT::v4i32, 3, 0, 1, 3,
19792 0,
19793 39,
19794 OPC_CheckChild0Integer, 76|128,102,
19795 OPC_RecordChild1,
19796 OPC_RecordChild2,
19797 OPC_RecordChild3,
19798 OPC_MoveChild3,
19799 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19800 OPC_MoveParent,
19801 OPC_Scope, 12,
19802 OPC_CheckPatternPredicate2,
19803 OPC_EmitNodeXForm, 7, 2,
19804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
19805 MVT::v4i32, 3, 0, 1, 3,
19806 12,
19807 OPC_CheckPatternPredicate5,
19808 OPC_EmitNodeXForm, 7, 2,
19809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
19810 MVT::v4i32, 3, 0, 1, 3,
19811 0,
19812 39,
19813 OPC_CheckChild0Integer, 0|128,110,
19814 OPC_RecordChild1,
19815 OPC_RecordChild2,
19816 OPC_RecordChild3,
19817 OPC_MoveChild3,
19818 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19819 OPC_MoveParent,
19820 OPC_Scope, 12,
19821 OPC_CheckPatternPredicate2,
19822 OPC_EmitNodeXForm, 7, 2,
19823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
19824 MVT::v2i64, 3, 0, 1, 3,
19825 12,
19826 OPC_CheckPatternPredicate5,
19827 OPC_EmitNodeXForm, 7, 2,
19828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
19829 MVT::v2i64, 3, 0, 1, 3,
19830 0,
19831 39,
19832 OPC_CheckChild0Integer, 68|128,109,
19833 OPC_RecordChild1,
19834 OPC_RecordChild2,
19835 OPC_RecordChild3,
19836 OPC_MoveChild3,
19837 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19838 OPC_MoveParent,
19839 OPC_Scope, 12,
19840 OPC_CheckPatternPredicate2,
19841 OPC_EmitNodeXForm, 7, 2,
19842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
19843 MVT::v2i64, 3, 0, 1, 3,
19844 12,
19845 OPC_CheckPatternPredicate5,
19846 OPC_EmitNodeXForm, 7, 2,
19847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
19848 MVT::v2i64, 3, 0, 1, 3,
19849 0,
19850 39,
19851 OPC_CheckChild0Integer, 30|128,110,
19852 OPC_RecordChild1,
19853 OPC_RecordChild2,
19854 OPC_RecordChild3,
19855 OPC_MoveChild3,
19856 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19857 OPC_MoveParent,
19858 OPC_Scope, 12,
19859 OPC_CheckPatternPredicate2,
19860 OPC_EmitNodeXForm, 7, 2,
19861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
19862 MVT::v2i64, 3, 0, 1, 3,
19863 12,
19864 OPC_CheckPatternPredicate5,
19865 OPC_EmitNodeXForm, 7, 2,
19866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
19867 MVT::v2i64, 3, 0, 1, 3,
19868 0,
19869 39,
19870 OPC_CheckChild0Integer, 98|128,109,
19871 OPC_RecordChild1,
19872 OPC_RecordChild2,
19873 OPC_RecordChild3,
19874 OPC_MoveChild3,
19875 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19876 OPC_MoveParent,
19877 OPC_Scope, 12,
19878 OPC_CheckPatternPredicate2,
19879 OPC_EmitNodeXForm, 7, 2,
19880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
19881 MVT::v2i64, 3, 0, 1, 3,
19882 12,
19883 OPC_CheckPatternPredicate5,
19884 OPC_EmitNodeXForm, 7, 2,
19885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
19886 MVT::v2i64, 3, 0, 1, 3,
19887 0,
19888 39,
19889 OPC_CheckChild0Integer, 108|128,110,
19890 OPC_RecordChild1,
19891 OPC_RecordChild2,
19892 OPC_RecordChild3,
19893 OPC_MoveChild3,
19894 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19895 OPC_MoveParent,
19896 OPC_Scope, 12,
19897 OPC_CheckPatternPredicate2,
19898 OPC_EmitNodeXForm, 7, 2,
19899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
19900 MVT::v2i64, 3, 0, 1, 3,
19901 12,
19902 OPC_CheckPatternPredicate5,
19903 OPC_EmitNodeXForm, 7, 2,
19904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
19905 MVT::v2i64, 3, 0, 1, 3,
19906 0,
19907 39,
19908 OPC_CheckChild0Integer, 52|128,110,
19909 OPC_RecordChild1,
19910 OPC_RecordChild2,
19911 OPC_RecordChild3,
19912 OPC_MoveChild3,
19913 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19914 OPC_MoveParent,
19915 OPC_Scope, 12,
19916 OPC_CheckPatternPredicate2,
19917 OPC_EmitNodeXForm, 7, 2,
19918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
19919 MVT::v2i64, 3, 0, 1, 3,
19920 12,
19921 OPC_CheckPatternPredicate5,
19922 OPC_EmitNodeXForm, 7, 2,
19923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
19924 MVT::v2i64, 3, 0, 1, 3,
19925 0,
19926 39,
19927 OPC_CheckChild0Integer, 110|128,110,
19928 OPC_RecordChild1,
19929 OPC_RecordChild2,
19930 OPC_RecordChild3,
19931 OPC_MoveChild3,
19932 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19933 OPC_MoveParent,
19934 OPC_Scope, 12,
19935 OPC_CheckPatternPredicate2,
19936 OPC_EmitNodeXForm, 7, 2,
19937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
19938 MVT::v2i64, 3, 0, 1, 3,
19939 12,
19940 OPC_CheckPatternPredicate5,
19941 OPC_EmitNodeXForm, 7, 2,
19942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
19943 MVT::v2i64, 3, 0, 1, 3,
19944 0,
19945 39,
19946 OPC_CheckChild0Integer, 54|128,110,
19947 OPC_RecordChild1,
19948 OPC_RecordChild2,
19949 OPC_RecordChild3,
19950 OPC_MoveChild3,
19951 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19952 OPC_MoveParent,
19953 OPC_Scope, 12,
19954 OPC_CheckPatternPredicate2,
19955 OPC_EmitNodeXForm, 7, 2,
19956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
19957 MVT::v2i64, 3, 0, 1, 3,
19958 12,
19959 OPC_CheckPatternPredicate5,
19960 OPC_EmitNodeXForm, 7, 2,
19961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
19962 MVT::v2i64, 3, 0, 1, 3,
19963 0,
19964 39,
19965 OPC_CheckChild0Integer, 8|128,111,
19966 OPC_RecordChild1,
19967 OPC_RecordChild2,
19968 OPC_RecordChild3,
19969 OPC_MoveChild3,
19970 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19971 OPC_MoveParent,
19972 OPC_Scope, 12,
19973 OPC_CheckPatternPredicate2,
19974 OPC_EmitNodeXForm, 7, 2,
19975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
19976 MVT::v2i64, 3, 0, 1, 3,
19977 12,
19978 OPC_CheckPatternPredicate5,
19979 OPC_EmitNodeXForm, 7, 2,
19980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
19981 MVT::v2i64, 3, 0, 1, 3,
19982 0,
19983 39,
19984 OPC_CheckChild0Integer, 80|128,110,
19985 OPC_RecordChild1,
19986 OPC_RecordChild2,
19987 OPC_RecordChild3,
19988 OPC_MoveChild3,
19989 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19990 OPC_MoveParent,
19991 OPC_Scope, 12,
19992 OPC_CheckPatternPredicate2,
19993 OPC_EmitNodeXForm, 7, 2,
19994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
19995 MVT::v2i64, 3, 0, 1, 3,
19996 12,
19997 OPC_CheckPatternPredicate5,
19998 OPC_EmitNodeXForm, 7, 2,
19999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
20000 MVT::v2i64, 3, 0, 1, 3,
20001 0,
20002 39,
20003 OPC_CheckChild0Integer, 10|128,111,
20004 OPC_RecordChild1,
20005 OPC_RecordChild2,
20006 OPC_RecordChild3,
20007 OPC_MoveChild3,
20008 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20009 OPC_MoveParent,
20010 OPC_Scope, 12,
20011 OPC_CheckPatternPredicate2,
20012 OPC_EmitNodeXForm, 7, 2,
20013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
20014 MVT::v2i64, 3, 0, 1, 3,
20015 12,
20016 OPC_CheckPatternPredicate5,
20017 OPC_EmitNodeXForm, 7, 2,
20018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
20019 MVT::v2i64, 3, 0, 1, 3,
20020 0,
20021 39,
20022 OPC_CheckChild0Integer, 82|128,110,
20023 OPC_RecordChild1,
20024 OPC_RecordChild2,
20025 OPC_RecordChild3,
20026 OPC_MoveChild3,
20027 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20028 OPC_MoveParent,
20029 OPC_Scope, 12,
20030 OPC_CheckPatternPredicate2,
20031 OPC_EmitNodeXForm, 7, 2,
20032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
20033 MVT::v2i64, 3, 0, 1, 3,
20034 12,
20035 OPC_CheckPatternPredicate5,
20036 OPC_EmitNodeXForm, 7, 2,
20037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
20038 MVT::v2i64, 3, 0, 1, 3,
20039 0,
20040 39,
20041 OPC_CheckChild0Integer, 66|128,108,
20042 OPC_RecordChild1,
20043 OPC_RecordChild2,
20044 OPC_RecordChild3,
20045 OPC_MoveChild3,
20046 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20047 OPC_MoveParent,
20048 OPC_Scope, 12,
20049 OPC_CheckPatternPredicate2,
20050 OPC_EmitNodeXForm, 7, 2,
20051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
20052 MVT::v2i64, 3, 0, 1, 3,
20053 12,
20054 OPC_CheckPatternPredicate5,
20055 OPC_EmitNodeXForm, 7, 2,
20056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
20057 MVT::v2i64, 3, 0, 1, 3,
20058 0,
20059 39,
20060 OPC_CheckChild0Integer, 72|128,102,
20061 OPC_RecordChild1,
20062 OPC_RecordChild2,
20063 OPC_RecordChild3,
20064 OPC_MoveChild3,
20065 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20066 OPC_MoveParent,
20067 OPC_Scope, 12,
20068 OPC_CheckPatternPredicate2,
20069 OPC_EmitNodeXForm, 7, 2,
20070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
20071 MVT::v2i64, 3, 0, 1, 3,
20072 12,
20073 OPC_CheckPatternPredicate5,
20074 OPC_EmitNodeXForm, 7, 2,
20075 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
20076 MVT::v2i64, 3, 0, 1, 3,
20077 0,
20078 33,
20079 OPC_CheckChild0Integer, 104|128,93,
20080 OPC_RecordChild1,
20081 OPC_MoveChild1,
20082 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20083 OPC_MoveParent,
20084 OPC_Scope, 10,
20085 OPC_CheckPatternPredicate3,
20086 OPC_EmitNodeXForm, 7, 0,
20087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
20088 MVT::v4i64, 1, 1,
20089 10,
20090 OPC_CheckPatternPredicate4,
20091 OPC_EmitNodeXForm, 7, 0,
20092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
20093 MVT::v4i64, 1, 1,
20094 0,
20095 33,
20096 OPC_CheckChild0Integer, 58|128,96,
20097 OPC_RecordChild1,
20098 OPC_MoveChild1,
20099 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20100 OPC_MoveParent,
20101 OPC_Scope, 10,
20102 OPC_CheckPatternPredicate3,
20103 OPC_EmitNodeXForm, 7, 0,
20104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
20105 MVT::v32i8, 1, 1,
20106 10,
20107 OPC_CheckPatternPredicate4,
20108 OPC_EmitNodeXForm, 7, 0,
20109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
20110 MVT::v32i8, 1, 1,
20111 0,
20112 33,
20113 OPC_CheckChild0Integer, 62|128,96,
20114 OPC_RecordChild1,
20115 OPC_MoveChild1,
20116 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20117 OPC_MoveParent,
20118 OPC_Scope, 10,
20119 OPC_CheckPatternPredicate3,
20120 OPC_EmitNodeXForm, 7, 0,
20121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
20122 MVT::v16i16, 1, 1,
20123 10,
20124 OPC_CheckPatternPredicate4,
20125 OPC_EmitNodeXForm, 7, 0,
20126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
20127 MVT::v16i16, 1, 1,
20128 0,
20129 33,
20130 OPC_CheckChild0Integer, 64|128,96,
20131 OPC_RecordChild1,
20132 OPC_MoveChild1,
20133 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20134 OPC_MoveParent,
20135 OPC_Scope, 10,
20136 OPC_CheckPatternPredicate3,
20137 OPC_EmitNodeXForm, 7, 0,
20138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
20139 MVT::v8i32, 1, 1,
20140 10,
20141 OPC_CheckPatternPredicate4,
20142 OPC_EmitNodeXForm, 7, 0,
20143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
20144 MVT::v8i32, 1, 1,
20145 0,
20146 33,
20147 OPC_CheckChild0Integer, 60|128,96,
20148 OPC_RecordChild1,
20149 OPC_MoveChild1,
20150 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20151 OPC_MoveParent,
20152 OPC_Scope, 10,
20153 OPC_CheckPatternPredicate3,
20154 OPC_EmitNodeXForm, 7, 0,
20155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
20156 MVT::v4i64, 1, 1,
20157 10,
20158 OPC_CheckPatternPredicate4,
20159 OPC_EmitNodeXForm, 7, 0,
20160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
20161 MVT::v4i64, 1, 1,
20162 0,
20163 36,
20164 OPC_CheckChild0Integer, 116|128,96,
20165 OPC_RecordChild1,
20166 OPC_RecordChild2,
20167 OPC_MoveChild2,
20168 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20169 OPC_MoveParent,
20170 OPC_Scope, 11,
20171 OPC_CheckPatternPredicate3,
20172 OPC_EmitNodeXForm, 7, 1,
20173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
20174 MVT::v32i8, 2, 0, 2,
20175 11,
20176 OPC_CheckPatternPredicate4,
20177 OPC_EmitNodeXForm, 7, 1,
20178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
20179 MVT::v32i8, 2, 0, 2,
20180 0,
20181 36,
20182 OPC_CheckChild0Integer, 118|128,96,
20183 OPC_RecordChild1,
20184 OPC_RecordChild2,
20185 OPC_MoveChild2,
20186 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20187 OPC_MoveParent,
20188 OPC_Scope, 11,
20189 OPC_CheckPatternPredicate3,
20190 OPC_EmitNodeXForm, 7, 1,
20191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
20192 MVT::v32i8, 2, 0, 2,
20193 11,
20194 OPC_CheckPatternPredicate4,
20195 OPC_EmitNodeXForm, 7, 1,
20196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
20197 MVT::v32i8, 2, 0, 2,
20198 0,
20199 36,
20200 OPC_CheckChild0Integer, 98|128,95,
20201 OPC_RecordChild1,
20202 OPC_RecordChild2,
20203 OPC_MoveChild2,
20204 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20205 OPC_MoveParent,
20206 OPC_Scope, 11,
20207 OPC_CheckPatternPredicate3,
20208 OPC_EmitNodeXForm, 7, 1,
20209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
20210 MVT::v32i8, 2, 0, 2,
20211 11,
20212 OPC_CheckPatternPredicate4,
20213 OPC_EmitNodeXForm, 7, 1,
20214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
20215 MVT::v32i8, 2, 0, 2,
20216 0,
20217 36,
20218 OPC_CheckChild0Integer, 92|128,96,
20219 OPC_RecordChild1,
20220 OPC_RecordChild2,
20221 OPC_MoveChild2,
20222 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20223 OPC_MoveParent,
20224 OPC_Scope, 11,
20225 OPC_CheckPatternPredicate3,
20226 OPC_EmitNodeXForm, 7, 1,
20227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
20228 MVT::v32i8, 2, 0, 2,
20229 11,
20230 OPC_CheckPatternPredicate4,
20231 OPC_EmitNodeXForm, 7, 1,
20232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
20233 MVT::v32i8, 2, 0, 2,
20234 0,
20235 36,
20236 OPC_CheckChild0Integer, 96|128,97,
20237 OPC_RecordChild1,
20238 OPC_RecordChild2,
20239 OPC_MoveChild2,
20240 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20241 OPC_MoveParent,
20242 OPC_Scope, 11,
20243 OPC_CheckPatternPredicate3,
20244 OPC_EmitNodeXForm, 7, 1,
20245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
20246 MVT::v16i16, 2, 0, 2,
20247 11,
20248 OPC_CheckPatternPredicate4,
20249 OPC_EmitNodeXForm, 7, 1,
20250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
20251 MVT::v16i16, 2, 0, 2,
20252 0,
20253 36,
20254 OPC_CheckChild0Integer, 98|128,97,
20255 OPC_RecordChild1,
20256 OPC_RecordChild2,
20257 OPC_MoveChild2,
20258 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20259 OPC_MoveParent,
20260 OPC_Scope, 11,
20261 OPC_CheckPatternPredicate3,
20262 OPC_EmitNodeXForm, 7, 1,
20263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
20264 MVT::v16i16, 2, 0, 2,
20265 11,
20266 OPC_CheckPatternPredicate4,
20267 OPC_EmitNodeXForm, 7, 1,
20268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
20269 MVT::v16i16, 2, 0, 2,
20270 0,
20271 36,
20272 OPC_CheckChild0Integer, 106|128,98,
20273 OPC_RecordChild1,
20274 OPC_RecordChild2,
20275 OPC_MoveChild2,
20276 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20277 OPC_MoveParent,
20278 OPC_Scope, 11,
20279 OPC_CheckPatternPredicate3,
20280 OPC_EmitNodeXForm, 7, 1,
20281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
20282 MVT::v32i8, 2, 0, 2,
20283 11,
20284 OPC_CheckPatternPredicate4,
20285 OPC_EmitNodeXForm, 7, 1,
20286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
20287 MVT::v32i8, 2, 0, 2,
20288 0,
20289 36,
20290 OPC_CheckChild0Integer, 46|128,98,
20291 OPC_RecordChild1,
20292 OPC_RecordChild2,
20293 OPC_MoveChild2,
20294 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20295 OPC_MoveParent,
20296 OPC_Scope, 11,
20297 OPC_CheckPatternPredicate3,
20298 OPC_EmitNodeXForm, 7, 1,
20299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
20300 MVT::v32i8, 2, 0, 2,
20301 11,
20302 OPC_CheckPatternPredicate4,
20303 OPC_EmitNodeXForm, 7, 1,
20304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
20305 MVT::v32i8, 2, 0, 2,
20306 0,
20307 36,
20308 OPC_CheckChild0Integer, 12|128,97,
20309 OPC_RecordChild1,
20310 OPC_RecordChild2,
20311 OPC_MoveChild2,
20312 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20313 OPC_MoveParent,
20314 OPC_Scope, 11,
20315 OPC_CheckPatternPredicate3,
20316 OPC_EmitNodeXForm, 7, 1,
20317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
20318 MVT::v32i8, 2, 0, 2,
20319 11,
20320 OPC_CheckPatternPredicate4,
20321 OPC_EmitNodeXForm, 7, 1,
20322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
20323 MVT::v32i8, 2, 0, 2,
20324 0,
20325 36,
20326 OPC_CheckChild0Integer, 60|128,97,
20327 OPC_RecordChild1,
20328 OPC_RecordChild2,
20329 OPC_MoveChild2,
20330 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20331 OPC_MoveParent,
20332 OPC_Scope, 11,
20333 OPC_CheckPatternPredicate3,
20334 OPC_EmitNodeXForm, 7, 1,
20335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
20336 MVT::v32i8, 2, 0, 2,
20337 11,
20338 OPC_CheckPatternPredicate4,
20339 OPC_EmitNodeXForm, 7, 1,
20340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
20341 MVT::v32i8, 2, 0, 2,
20342 0,
20343 36,
20344 OPC_CheckChild0Integer, 62|128,97,
20345 OPC_RecordChild1,
20346 OPC_RecordChild2,
20347 OPC_MoveChild2,
20348 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20349 OPC_MoveParent,
20350 OPC_Scope, 11,
20351 OPC_CheckPatternPredicate3,
20352 OPC_EmitNodeXForm, 7, 1,
20353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
20354 MVT::v32i8, 2, 0, 2,
20355 11,
20356 OPC_CheckPatternPredicate4,
20357 OPC_EmitNodeXForm, 7, 1,
20358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
20359 MVT::v32i8, 2, 0, 2,
20360 0,
20361 36,
20362 OPC_CheckChild0Integer, 120|128,97,
20363 OPC_RecordChild1,
20364 OPC_RecordChild2,
20365 OPC_MoveChild2,
20366 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20367 OPC_MoveParent,
20368 OPC_Scope, 11,
20369 OPC_CheckPatternPredicate3,
20370 OPC_EmitNodeXForm, 7, 1,
20371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
20372 MVT::v32i8, 2, 0, 2,
20373 11,
20374 OPC_CheckPatternPredicate4,
20375 OPC_EmitNodeXForm, 7, 1,
20376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
20377 MVT::v32i8, 2, 0, 2,
20378 0,
20379 36,
20380 OPC_CheckChild0Integer, 122|128,97,
20381 OPC_RecordChild1,
20382 OPC_RecordChild2,
20383 OPC_MoveChild2,
20384 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20385 OPC_MoveParent,
20386 OPC_Scope, 11,
20387 OPC_CheckPatternPredicate3,
20388 OPC_EmitNodeXForm, 7, 1,
20389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
20390 MVT::v32i8, 2, 0, 2,
20391 11,
20392 OPC_CheckPatternPredicate4,
20393 OPC_EmitNodeXForm, 7, 1,
20394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
20395 MVT::v32i8, 2, 0, 2,
20396 0,
20397 36,
20398 OPC_CheckChild0Integer, 42|128,96,
20399 OPC_RecordChild1,
20400 OPC_RecordChild2,
20401 OPC_MoveChild2,
20402 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20403 OPC_MoveParent,
20404 OPC_Scope, 11,
20405 OPC_CheckPatternPredicate3,
20406 OPC_EmitNodeXForm, 7, 1,
20407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
20408 MVT::v32i8, 2, 0, 2,
20409 11,
20410 OPC_CheckPatternPredicate4,
20411 OPC_EmitNodeXForm, 7, 1,
20412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
20413 MVT::v32i8, 2, 0, 2,
20414 0,
20415 36,
20416 OPC_CheckChild0Integer, 90|128,90,
20417 OPC_RecordChild1,
20418 OPC_RecordChild2,
20419 OPC_MoveChild2,
20420 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20421 OPC_MoveParent,
20422 OPC_Scope, 11,
20423 OPC_CheckPatternPredicate3,
20424 OPC_EmitNodeXForm, 7, 1,
20425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
20426 MVT::v32i8, 2, 0, 2,
20427 11,
20428 OPC_CheckPatternPredicate4,
20429 OPC_EmitNodeXForm, 7, 1,
20430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
20431 MVT::v32i8, 2, 0, 2,
20432 0,
20433 36,
20434 OPC_CheckChild0Integer, 92|128,90,
20435 OPC_RecordChild1,
20436 OPC_RecordChild2,
20437 OPC_MoveChild2,
20438 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20439 OPC_MoveParent,
20440 OPC_Scope, 11,
20441 OPC_CheckPatternPredicate3,
20442 OPC_EmitNodeXForm, 7, 1,
20443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
20444 MVT::v32i8, 2, 0, 2,
20445 11,
20446 OPC_CheckPatternPredicate4,
20447 OPC_EmitNodeXForm, 7, 1,
20448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
20449 MVT::v32i8, 2, 0, 2,
20450 0,
20451 36,
20452 OPC_CheckChild0Integer, 28|128,97,
20453 OPC_RecordChild1,
20454 OPC_RecordChild2,
20455 OPC_MoveChild2,
20456 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20457 OPC_MoveParent,
20458 OPC_Scope, 11,
20459 OPC_CheckPatternPredicate3,
20460 OPC_EmitNodeXForm, 7, 1,
20461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
20462 MVT::v32i8, 2, 0, 2,
20463 11,
20464 OPC_CheckPatternPredicate4,
20465 OPC_EmitNodeXForm, 7, 1,
20466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
20467 MVT::v32i8, 2, 0, 2,
20468 0,
20469 36,
20470 OPC_CheckChild0Integer, 124|128,96,
20471 OPC_RecordChild1,
20472 OPC_RecordChild2,
20473 OPC_MoveChild2,
20474 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20475 OPC_MoveParent,
20476 OPC_Scope, 11,
20477 OPC_CheckPatternPredicate3,
20478 OPC_EmitNodeXForm, 7, 1,
20479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
20480 MVT::v16i16, 2, 0, 2,
20481 11,
20482 OPC_CheckPatternPredicate4,
20483 OPC_EmitNodeXForm, 7, 1,
20484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
20485 MVT::v16i16, 2, 0, 2,
20486 0,
20487 36,
20488 OPC_CheckChild0Integer, 126|128,96,
20489 OPC_RecordChild1,
20490 OPC_RecordChild2,
20491 OPC_MoveChild2,
20492 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20493 OPC_MoveParent,
20494 OPC_Scope, 11,
20495 OPC_CheckPatternPredicate3,
20496 OPC_EmitNodeXForm, 7, 1,
20497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
20498 MVT::v16i16, 2, 0, 2,
20499 11,
20500 OPC_CheckPatternPredicate4,
20501 OPC_EmitNodeXForm, 7, 1,
20502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
20503 MVT::v16i16, 2, 0, 2,
20504 0,
20505 36,
20506 OPC_CheckChild0Integer, 96|128,96,
20507 OPC_RecordChild1,
20508 OPC_RecordChild2,
20509 OPC_MoveChild2,
20510 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20511 OPC_MoveParent,
20512 OPC_Scope, 11,
20513 OPC_CheckPatternPredicate3,
20514 OPC_EmitNodeXForm, 7, 1,
20515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
20516 MVT::v16i16, 2, 0, 2,
20517 11,
20518 OPC_CheckPatternPredicate4,
20519 OPC_EmitNodeXForm, 7, 1,
20520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
20521 MVT::v16i16, 2, 0, 2,
20522 0,
20523 36,
20524 OPC_CheckChild0Integer, 100|128,97,
20525 OPC_RecordChild1,
20526 OPC_RecordChild2,
20527 OPC_MoveChild2,
20528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20529 OPC_MoveParent,
20530 OPC_Scope, 11,
20531 OPC_CheckPatternPredicate3,
20532 OPC_EmitNodeXForm, 7, 1,
20533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
20534 MVT::v8i32, 2, 0, 2,
20535 11,
20536 OPC_CheckPatternPredicate4,
20537 OPC_EmitNodeXForm, 7, 1,
20538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
20539 MVT::v8i32, 2, 0, 2,
20540 0,
20541 36,
20542 OPC_CheckChild0Integer, 102|128,97,
20543 OPC_RecordChild1,
20544 OPC_RecordChild2,
20545 OPC_MoveChild2,
20546 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20547 OPC_MoveParent,
20548 OPC_Scope, 11,
20549 OPC_CheckPatternPredicate3,
20550 OPC_EmitNodeXForm, 7, 1,
20551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
20552 MVT::v8i32, 2, 0, 2,
20553 11,
20554 OPC_CheckPatternPredicate4,
20555 OPC_EmitNodeXForm, 7, 1,
20556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
20557 MVT::v8i32, 2, 0, 2,
20558 0,
20559 36,
20560 OPC_CheckChild0Integer, 110|128,98,
20561 OPC_RecordChild1,
20562 OPC_RecordChild2,
20563 OPC_MoveChild2,
20564 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20565 OPC_MoveParent,
20566 OPC_Scope, 11,
20567 OPC_CheckPatternPredicate3,
20568 OPC_EmitNodeXForm, 7, 1,
20569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
20570 MVT::v16i16, 2, 0, 2,
20571 11,
20572 OPC_CheckPatternPredicate4,
20573 OPC_EmitNodeXForm, 7, 1,
20574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
20575 MVT::v16i16, 2, 0, 2,
20576 0,
20577 36,
20578 OPC_CheckChild0Integer, 50|128,98,
20579 OPC_RecordChild1,
20580 OPC_RecordChild2,
20581 OPC_MoveChild2,
20582 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20583 OPC_MoveParent,
20584 OPC_Scope, 11,
20585 OPC_CheckPatternPredicate3,
20586 OPC_EmitNodeXForm, 7, 1,
20587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
20588 MVT::v16i16, 2, 0, 2,
20589 11,
20590 OPC_CheckPatternPredicate4,
20591 OPC_EmitNodeXForm, 7, 1,
20592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
20593 MVT::v16i16, 2, 0, 2,
20594 0,
20595 36,
20596 OPC_CheckChild0Integer, 16|128,97,
20597 OPC_RecordChild1,
20598 OPC_RecordChild2,
20599 OPC_MoveChild2,
20600 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20601 OPC_MoveParent,
20602 OPC_Scope, 11,
20603 OPC_CheckPatternPredicate3,
20604 OPC_EmitNodeXForm, 7, 1,
20605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
20606 MVT::v16i16, 2, 0, 2,
20607 11,
20608 OPC_CheckPatternPredicate4,
20609 OPC_EmitNodeXForm, 7, 1,
20610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
20611 MVT::v16i16, 2, 0, 2,
20612 0,
20613 36,
20614 OPC_CheckChild0Integer, 68|128,97,
20615 OPC_RecordChild1,
20616 OPC_RecordChild2,
20617 OPC_MoveChild2,
20618 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20619 OPC_MoveParent,
20620 OPC_Scope, 11,
20621 OPC_CheckPatternPredicate3,
20622 OPC_EmitNodeXForm, 7, 1,
20623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
20624 MVT::v16i16, 2, 0, 2,
20625 11,
20626 OPC_CheckPatternPredicate4,
20627 OPC_EmitNodeXForm, 7, 1,
20628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
20629 MVT::v16i16, 2, 0, 2,
20630 0,
20631 36,
20632 OPC_CheckChild0Integer, 70|128,97,
20633 OPC_RecordChild1,
20634 OPC_RecordChild2,
20635 OPC_MoveChild2,
20636 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20637 OPC_MoveParent,
20638 OPC_Scope, 11,
20639 OPC_CheckPatternPredicate3,
20640 OPC_EmitNodeXForm, 7, 1,
20641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
20642 MVT::v16i16, 2, 0, 2,
20643 11,
20644 OPC_CheckPatternPredicate4,
20645 OPC_EmitNodeXForm, 7, 1,
20646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
20647 MVT::v16i16, 2, 0, 2,
20648 0,
20649 36,
20650 OPC_CheckChild0Integer, 0|128,98,
20651 OPC_RecordChild1,
20652 OPC_RecordChild2,
20653 OPC_MoveChild2,
20654 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20655 OPC_MoveParent,
20656 OPC_Scope, 11,
20657 OPC_CheckPatternPredicate3,
20658 OPC_EmitNodeXForm, 7, 1,
20659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
20660 MVT::v16i16, 2, 0, 2,
20661 11,
20662 OPC_CheckPatternPredicate4,
20663 OPC_EmitNodeXForm, 7, 1,
20664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
20665 MVT::v16i16, 2, 0, 2,
20666 0,
20667 36,
20668 OPC_CheckChild0Integer, 2|128,98,
20669 OPC_RecordChild1,
20670 OPC_RecordChild2,
20671 OPC_MoveChild2,
20672 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20673 OPC_MoveParent,
20674 OPC_Scope, 11,
20675 OPC_CheckPatternPredicate3,
20676 OPC_EmitNodeXForm, 7, 1,
20677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
20678 MVT::v16i16, 2, 0, 2,
20679 11,
20680 OPC_CheckPatternPredicate4,
20681 OPC_EmitNodeXForm, 7, 1,
20682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
20683 MVT::v16i16, 2, 0, 2,
20684 0,
20685 36,
20686 OPC_CheckChild0Integer, 46|128,96,
20687 OPC_RecordChild1,
20688 OPC_RecordChild2,
20689 OPC_MoveChild2,
20690 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20691 OPC_MoveParent,
20692 OPC_Scope, 11,
20693 OPC_CheckPatternPredicate3,
20694 OPC_EmitNodeXForm, 7, 1,
20695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
20696 MVT::v16i16, 2, 0, 2,
20697 11,
20698 OPC_CheckPatternPredicate4,
20699 OPC_EmitNodeXForm, 7, 1,
20700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
20701 MVT::v16i16, 2, 0, 2,
20702 0,
20703 36,
20704 OPC_CheckChild0Integer, 32|128,97,
20705 OPC_RecordChild1,
20706 OPC_RecordChild2,
20707 OPC_MoveChild2,
20708 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20709 OPC_MoveParent,
20710 OPC_Scope, 11,
20711 OPC_CheckPatternPredicate3,
20712 OPC_EmitNodeXForm, 7, 1,
20713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
20714 MVT::v16i16, 2, 0, 2,
20715 11,
20716 OPC_CheckPatternPredicate4,
20717 OPC_EmitNodeXForm, 7, 1,
20718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
20719 MVT::v16i16, 2, 0, 2,
20720 0,
20721 36,
20722 OPC_CheckChild0Integer, 0|128,97,
20723 OPC_RecordChild1,
20724 OPC_RecordChild2,
20725 OPC_MoveChild2,
20726 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20727 OPC_MoveParent,
20728 OPC_Scope, 11,
20729 OPC_CheckPatternPredicate3,
20730 OPC_EmitNodeXForm, 7, 1,
20731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
20732 MVT::v8i32, 2, 0, 2,
20733 11,
20734 OPC_CheckPatternPredicate4,
20735 OPC_EmitNodeXForm, 7, 1,
20736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
20737 MVT::v8i32, 2, 0, 2,
20738 0,
20739 36,
20740 OPC_CheckChild0Integer, 2|128,97,
20741 OPC_RecordChild1,
20742 OPC_RecordChild2,
20743 OPC_MoveChild2,
20744 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20745 OPC_MoveParent,
20746 OPC_Scope, 11,
20747 OPC_CheckPatternPredicate3,
20748 OPC_EmitNodeXForm, 7, 1,
20749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
20750 MVT::v8i32, 2, 0, 2,
20751 11,
20752 OPC_CheckPatternPredicate4,
20753 OPC_EmitNodeXForm, 7, 1,
20754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
20755 MVT::v8i32, 2, 0, 2,
20756 0,
20757 36,
20758 OPC_CheckChild0Integer, 98|128,96,
20759 OPC_RecordChild1,
20760 OPC_RecordChild2,
20761 OPC_MoveChild2,
20762 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20763 OPC_MoveParent,
20764 OPC_Scope, 11,
20765 OPC_CheckPatternPredicate3,
20766 OPC_EmitNodeXForm, 7, 1,
20767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
20768 MVT::v8i32, 2, 0, 2,
20769 11,
20770 OPC_CheckPatternPredicate4,
20771 OPC_EmitNodeXForm, 7, 1,
20772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
20773 MVT::v8i32, 2, 0, 2,
20774 0,
20775 36,
20776 OPC_CheckChild0Integer, 92|128,97,
20777 OPC_RecordChild1,
20778 OPC_RecordChild2,
20779 OPC_MoveChild2,
20780 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20781 OPC_MoveParent,
20782 OPC_Scope, 11,
20783 OPC_CheckPatternPredicate3,
20784 OPC_EmitNodeXForm, 7, 1,
20785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
20786 MVT::v4i64, 2, 0, 2,
20787 11,
20788 OPC_CheckPatternPredicate4,
20789 OPC_EmitNodeXForm, 7, 1,
20790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
20791 MVT::v4i64, 2, 0, 2,
20792 0,
20793 36,
20794 OPC_CheckChild0Integer, 94|128,97,
20795 OPC_RecordChild1,
20796 OPC_RecordChild2,
20797 OPC_MoveChild2,
20798 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20799 OPC_MoveParent,
20800 OPC_Scope, 11,
20801 OPC_CheckPatternPredicate3,
20802 OPC_EmitNodeXForm, 7, 1,
20803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
20804 MVT::v4i64, 2, 0, 2,
20805 11,
20806 OPC_CheckPatternPredicate4,
20807 OPC_EmitNodeXForm, 7, 1,
20808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
20809 MVT::v4i64, 2, 0, 2,
20810 0,
20811 36,
20812 OPC_CheckChild0Integer, 112|128,98,
20813 OPC_RecordChild1,
20814 OPC_RecordChild2,
20815 OPC_MoveChild2,
20816 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20817 OPC_MoveParent,
20818 OPC_Scope, 11,
20819 OPC_CheckPatternPredicate3,
20820 OPC_EmitNodeXForm, 7, 1,
20821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
20822 MVT::v8i32, 2, 0, 2,
20823 11,
20824 OPC_CheckPatternPredicate4,
20825 OPC_EmitNodeXForm, 7, 1,
20826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
20827 MVT::v8i32, 2, 0, 2,
20828 0,
20829 36,
20830 OPC_CheckChild0Integer, 52|128,98,
20831 OPC_RecordChild1,
20832 OPC_RecordChild2,
20833 OPC_MoveChild2,
20834 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20835 OPC_MoveParent,
20836 OPC_Scope, 11,
20837 OPC_CheckPatternPredicate3,
20838 OPC_EmitNodeXForm, 7, 1,
20839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
20840 MVT::v8i32, 2, 0, 2,
20841 11,
20842 OPC_CheckPatternPredicate4,
20843 OPC_EmitNodeXForm, 7, 1,
20844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
20845 MVT::v8i32, 2, 0, 2,
20846 0,
20847 36,
20848 OPC_CheckChild0Integer, 18|128,97,
20849 OPC_RecordChild1,
20850 OPC_RecordChild2,
20851 OPC_MoveChild2,
20852 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20853 OPC_MoveParent,
20854 OPC_Scope, 11,
20855 OPC_CheckPatternPredicate3,
20856 OPC_EmitNodeXForm, 7, 1,
20857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
20858 MVT::v8i32, 2, 0, 2,
20859 11,
20860 OPC_CheckPatternPredicate4,
20861 OPC_EmitNodeXForm, 7, 1,
20862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
20863 MVT::v8i32, 2, 0, 2,
20864 0,
20865 36,
20866 OPC_CheckChild0Integer, 72|128,97,
20867 OPC_RecordChild1,
20868 OPC_RecordChild2,
20869 OPC_MoveChild2,
20870 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20871 OPC_MoveParent,
20872 OPC_Scope, 11,
20873 OPC_CheckPatternPredicate3,
20874 OPC_EmitNodeXForm, 7, 1,
20875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
20876 MVT::v8i32, 2, 0, 2,
20877 11,
20878 OPC_CheckPatternPredicate4,
20879 OPC_EmitNodeXForm, 7, 1,
20880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
20881 MVT::v8i32, 2, 0, 2,
20882 0,
20883 36,
20884 OPC_CheckChild0Integer, 74|128,97,
20885 OPC_RecordChild1,
20886 OPC_RecordChild2,
20887 OPC_MoveChild2,
20888 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20889 OPC_MoveParent,
20890 OPC_Scope, 11,
20891 OPC_CheckPatternPredicate3,
20892 OPC_EmitNodeXForm, 7, 1,
20893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
20894 MVT::v8i32, 2, 0, 2,
20895 11,
20896 OPC_CheckPatternPredicate4,
20897 OPC_EmitNodeXForm, 7, 1,
20898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
20899 MVT::v8i32, 2, 0, 2,
20900 0,
20901 36,
20902 OPC_CheckChild0Integer, 4|128,98,
20903 OPC_RecordChild1,
20904 OPC_RecordChild2,
20905 OPC_MoveChild2,
20906 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20907 OPC_MoveParent,
20908 OPC_Scope, 11,
20909 OPC_CheckPatternPredicate3,
20910 OPC_EmitNodeXForm, 7, 1,
20911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
20912 MVT::v8i32, 2, 0, 2,
20913 11,
20914 OPC_CheckPatternPredicate4,
20915 OPC_EmitNodeXForm, 7, 1,
20916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
20917 MVT::v8i32, 2, 0, 2,
20918 0,
20919 36,
20920 OPC_CheckChild0Integer, 6|128,98,
20921 OPC_RecordChild1,
20922 OPC_RecordChild2,
20923 OPC_MoveChild2,
20924 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20925 OPC_MoveParent,
20926 OPC_Scope, 11,
20927 OPC_CheckPatternPredicate3,
20928 OPC_EmitNodeXForm, 7, 1,
20929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
20930 MVT::v8i32, 2, 0, 2,
20931 11,
20932 OPC_CheckPatternPredicate4,
20933 OPC_EmitNodeXForm, 7, 1,
20934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
20935 MVT::v8i32, 2, 0, 2,
20936 0,
20937 36,
20938 OPC_CheckChild0Integer, 48|128,96,
20939 OPC_RecordChild1,
20940 OPC_RecordChild2,
20941 OPC_MoveChild2,
20942 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20943 OPC_MoveParent,
20944 OPC_Scope, 11,
20945 OPC_CheckPatternPredicate3,
20946 OPC_EmitNodeXForm, 7, 1,
20947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
20948 MVT::v8i32, 2, 0, 2,
20949 11,
20950 OPC_CheckPatternPredicate4,
20951 OPC_EmitNodeXForm, 7, 1,
20952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
20953 MVT::v8i32, 2, 0, 2,
20954 0,
20955 36,
20956 OPC_CheckChild0Integer, 34|128,97,
20957 OPC_RecordChild1,
20958 OPC_RecordChild2,
20959 OPC_MoveChild2,
20960 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20961 OPC_MoveParent,
20962 OPC_Scope, 11,
20963 OPC_CheckPatternPredicate3,
20964 OPC_EmitNodeXForm, 7, 1,
20965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
20966 MVT::v8i32, 2, 0, 2,
20967 11,
20968 OPC_CheckPatternPredicate4,
20969 OPC_EmitNodeXForm, 7, 1,
20970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
20971 MVT::v8i32, 2, 0, 2,
20972 0,
20973 36,
20974 OPC_CheckChild0Integer, 30|128,96,
20975 OPC_RecordChild1,
20976 OPC_RecordChild2,
20977 OPC_MoveChild2,
20978 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20979 OPC_MoveParent,
20980 OPC_Scope, 11,
20981 OPC_CheckPatternPredicate3,
20982 OPC_EmitNodeXForm, 7, 1,
20983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
20984 MVT::v8i32, 2, 0, 2,
20985 11,
20986 OPC_CheckPatternPredicate4,
20987 OPC_EmitNodeXForm, 7, 1,
20988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
20989 MVT::v8i32, 2, 0, 2,
20990 0,
20991 36,
20992 OPC_CheckChild0Integer, 120|128,96,
20993 OPC_RecordChild1,
20994 OPC_RecordChild2,
20995 OPC_MoveChild2,
20996 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20997 OPC_MoveParent,
20998 OPC_Scope, 11,
20999 OPC_CheckPatternPredicate3,
21000 OPC_EmitNodeXForm, 7, 1,
21001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
21002 MVT::v4i64, 2, 0, 2,
21003 11,
21004 OPC_CheckPatternPredicate4,
21005 OPC_EmitNodeXForm, 7, 1,
21006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
21007 MVT::v4i64, 2, 0, 2,
21008 0,
21009 36,
21010 OPC_CheckChild0Integer, 122|128,96,
21011 OPC_RecordChild1,
21012 OPC_RecordChild2,
21013 OPC_MoveChild2,
21014 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21015 OPC_MoveParent,
21016 OPC_Scope, 11,
21017 OPC_CheckPatternPredicate3,
21018 OPC_EmitNodeXForm, 7, 1,
21019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
21020 MVT::v4i64, 2, 0, 2,
21021 11,
21022 OPC_CheckPatternPredicate4,
21023 OPC_EmitNodeXForm, 7, 1,
21024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
21025 MVT::v4i64, 2, 0, 2,
21026 0,
21027 36,
21028 OPC_CheckChild0Integer, 94|128,96,
21029 OPC_RecordChild1,
21030 OPC_RecordChild2,
21031 OPC_MoveChild2,
21032 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21033 OPC_MoveParent,
21034 OPC_Scope, 11,
21035 OPC_CheckPatternPredicate3,
21036 OPC_EmitNodeXForm, 7, 1,
21037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
21038 MVT::v4i64, 2, 0, 2,
21039 11,
21040 OPC_CheckPatternPredicate4,
21041 OPC_EmitNodeXForm, 7, 1,
21042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
21043 MVT::v4i64, 2, 0, 2,
21044 0,
21045 36,
21046 OPC_CheckChild0Integer, 108|128,98,
21047 OPC_RecordChild1,
21048 OPC_RecordChild2,
21049 OPC_MoveChild2,
21050 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21051 OPC_MoveParent,
21052 OPC_Scope, 11,
21053 OPC_CheckPatternPredicate3,
21054 OPC_EmitNodeXForm, 7, 1,
21055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
21056 MVT::v4i64, 2, 0, 2,
21057 11,
21058 OPC_CheckPatternPredicate4,
21059 OPC_EmitNodeXForm, 7, 1,
21060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
21061 MVT::v4i64, 2, 0, 2,
21062 0,
21063 36,
21064 OPC_CheckChild0Integer, 48|128,98,
21065 OPC_RecordChild1,
21066 OPC_RecordChild2,
21067 OPC_MoveChild2,
21068 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21069 OPC_MoveParent,
21070 OPC_Scope, 11,
21071 OPC_CheckPatternPredicate3,
21072 OPC_EmitNodeXForm, 7, 1,
21073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
21074 MVT::v4i64, 2, 0, 2,
21075 11,
21076 OPC_CheckPatternPredicate4,
21077 OPC_EmitNodeXForm, 7, 1,
21078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
21079 MVT::v4i64, 2, 0, 2,
21080 0,
21081 36,
21082 OPC_CheckChild0Integer, 14|128,97,
21083 OPC_RecordChild1,
21084 OPC_RecordChild2,
21085 OPC_MoveChild2,
21086 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21087 OPC_MoveParent,
21088 OPC_Scope, 11,
21089 OPC_CheckPatternPredicate3,
21090 OPC_EmitNodeXForm, 7, 1,
21091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
21092 MVT::v4i64, 2, 0, 2,
21093 11,
21094 OPC_CheckPatternPredicate4,
21095 OPC_EmitNodeXForm, 7, 1,
21096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
21097 MVT::v4i64, 2, 0, 2,
21098 0,
21099 36,
21100 OPC_CheckChild0Integer, 64|128,97,
21101 OPC_RecordChild1,
21102 OPC_RecordChild2,
21103 OPC_MoveChild2,
21104 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21105 OPC_MoveParent,
21106 OPC_Scope, 11,
21107 OPC_CheckPatternPredicate3,
21108 OPC_EmitNodeXForm, 7, 1,
21109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
21110 MVT::v4i64, 2, 0, 2,
21111 11,
21112 OPC_CheckPatternPredicate4,
21113 OPC_EmitNodeXForm, 7, 1,
21114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
21115 MVT::v4i64, 2, 0, 2,
21116 0,
21117 36,
21118 OPC_CheckChild0Integer, 66|128,97,
21119 OPC_RecordChild1,
21120 OPC_RecordChild2,
21121 OPC_MoveChild2,
21122 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21123 OPC_MoveParent,
21124 OPC_Scope, 11,
21125 OPC_CheckPatternPredicate3,
21126 OPC_EmitNodeXForm, 7, 1,
21127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
21128 MVT::v4i64, 2, 0, 2,
21129 11,
21130 OPC_CheckPatternPredicate4,
21131 OPC_EmitNodeXForm, 7, 1,
21132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
21133 MVT::v4i64, 2, 0, 2,
21134 0,
21135 36,
21136 OPC_CheckChild0Integer, 124|128,97,
21137 OPC_RecordChild1,
21138 OPC_RecordChild2,
21139 OPC_MoveChild2,
21140 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21141 OPC_MoveParent,
21142 OPC_Scope, 11,
21143 OPC_CheckPatternPredicate3,
21144 OPC_EmitNodeXForm, 7, 1,
21145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
21146 MVT::v4i64, 2, 0, 2,
21147 11,
21148 OPC_CheckPatternPredicate4,
21149 OPC_EmitNodeXForm, 7, 1,
21150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
21151 MVT::v4i64, 2, 0, 2,
21152 0,
21153 36,
21154 OPC_CheckChild0Integer, 126|128,97,
21155 OPC_RecordChild1,
21156 OPC_RecordChild2,
21157 OPC_MoveChild2,
21158 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21159 OPC_MoveParent,
21160 OPC_Scope, 11,
21161 OPC_CheckPatternPredicate3,
21162 OPC_EmitNodeXForm, 7, 1,
21163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
21164 MVT::v4i64, 2, 0, 2,
21165 11,
21166 OPC_CheckPatternPredicate4,
21167 OPC_EmitNodeXForm, 7, 1,
21168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
21169 MVT::v4i64, 2, 0, 2,
21170 0,
21171 36,
21172 OPC_CheckChild0Integer, 44|128,96,
21173 OPC_RecordChild1,
21174 OPC_RecordChild2,
21175 OPC_MoveChild2,
21176 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21177 OPC_MoveParent,
21178 OPC_Scope, 11,
21179 OPC_CheckPatternPredicate3,
21180 OPC_EmitNodeXForm, 7, 1,
21181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
21182 MVT::v4i64, 2, 0, 2,
21183 11,
21184 OPC_CheckPatternPredicate4,
21185 OPC_EmitNodeXForm, 7, 1,
21186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
21187 MVT::v4i64, 2, 0, 2,
21188 0,
21189 36,
21190 OPC_CheckChild0Integer, 4|128,96,
21191 OPC_RecordChild1,
21192 OPC_RecordChild2,
21193 OPC_MoveChild2,
21194 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21195 OPC_MoveParent,
21196 OPC_Scope, 11,
21197 OPC_CheckPatternPredicate3,
21198 OPC_EmitNodeXForm, 7, 1,
21199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
21200 MVT::v4i64, 2, 0, 2,
21201 11,
21202 OPC_CheckPatternPredicate4,
21203 OPC_EmitNodeXForm, 7, 1,
21204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
21205 MVT::v4i64, 2, 0, 2,
21206 0,
21207 36,
21208 OPC_CheckChild0Integer, 26|128,96,
21209 OPC_RecordChild1,
21210 OPC_RecordChild2,
21211 OPC_MoveChild2,
21212 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21213 OPC_MoveParent,
21214 OPC_Scope, 11,
21215 OPC_CheckPatternPredicate3,
21216 OPC_EmitNodeXForm, 7, 1,
21217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
21218 MVT::v4i64, 2, 0, 2,
21219 11,
21220 OPC_CheckPatternPredicate4,
21221 OPC_EmitNodeXForm, 7, 1,
21222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
21223 MVT::v4i64, 2, 0, 2,
21224 0,
21225 39,
21226 OPC_CheckChild0Integer, 90|128,98,
21227 OPC_RecordChild1,
21228 OPC_RecordChild2,
21229 OPC_RecordChild3,
21230 OPC_MoveChild3,
21231 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21232 OPC_MoveParent,
21233 OPC_Scope, 12,
21234 OPC_CheckPatternPredicate3,
21235 OPC_EmitNodeXForm, 7, 2,
21236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
21237 MVT::v32i8, 3, 0, 1, 3,
21238 12,
21239 OPC_CheckPatternPredicate4,
21240 OPC_EmitNodeXForm, 7, 2,
21241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
21242 MVT::v32i8, 3, 0, 1, 3,
21243 0,
21244 39,
21245 OPC_CheckChild0Integer, 30|128,98,
21246 OPC_RecordChild1,
21247 OPC_RecordChild2,
21248 OPC_RecordChild3,
21249 OPC_MoveChild3,
21250 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21251 OPC_MoveParent,
21252 OPC_Scope, 12,
21253 OPC_CheckPatternPredicate3,
21254 OPC_EmitNodeXForm, 7, 2,
21255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
21256 MVT::v32i8, 3, 0, 1, 3,
21257 12,
21258 OPC_CheckPatternPredicate4,
21259 OPC_EmitNodeXForm, 7, 2,
21260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
21261 MVT::v32i8, 3, 0, 1, 3,
21262 0,
21263 39,
21264 OPC_CheckChild0Integer, 120|128,98,
21265 OPC_RecordChild1,
21266 OPC_RecordChild2,
21267 OPC_RecordChild3,
21268 OPC_MoveChild3,
21269 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21270 OPC_MoveParent,
21271 OPC_Scope, 12,
21272 OPC_CheckPatternPredicate3,
21273 OPC_EmitNodeXForm, 7, 2,
21274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
21275 MVT::v32i8, 3, 0, 1, 3,
21276 12,
21277 OPC_CheckPatternPredicate4,
21278 OPC_EmitNodeXForm, 7, 2,
21279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
21280 MVT::v32i8, 3, 0, 1, 3,
21281 0,
21282 39,
21283 OPC_CheckChild0Integer, 60|128,98,
21284 OPC_RecordChild1,
21285 OPC_RecordChild2,
21286 OPC_RecordChild3,
21287 OPC_MoveChild3,
21288 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21289 OPC_MoveParent,
21290 OPC_Scope, 12,
21291 OPC_CheckPatternPredicate3,
21292 OPC_EmitNodeXForm, 7, 2,
21293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
21294 MVT::v32i8, 3, 0, 1, 3,
21295 12,
21296 OPC_CheckPatternPredicate4,
21297 OPC_EmitNodeXForm, 7, 2,
21298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
21299 MVT::v32i8, 3, 0, 1, 3,
21300 0,
21301 39,
21302 OPC_CheckChild0Integer, 68|128,99,
21303 OPC_RecordChild1,
21304 OPC_RecordChild2,
21305 OPC_RecordChild3,
21306 OPC_MoveChild3,
21307 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21308 OPC_MoveParent,
21309 OPC_Scope, 12,
21310 OPC_CheckPatternPredicate3,
21311 OPC_EmitNodeXForm, 7, 2,
21312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
21313 MVT::v32i8, 3, 0, 1, 3,
21314 12,
21315 OPC_CheckPatternPredicate4,
21316 OPC_EmitNodeXForm, 7, 2,
21317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
21318 MVT::v32i8, 3, 0, 1, 3,
21319 0,
21320 39,
21321 OPC_CheckChild0Integer, 12|128,99,
21322 OPC_RecordChild1,
21323 OPC_RecordChild2,
21324 OPC_RecordChild3,
21325 OPC_MoveChild3,
21326 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21327 OPC_MoveParent,
21328 OPC_Scope, 12,
21329 OPC_CheckPatternPredicate3,
21330 OPC_EmitNodeXForm, 7, 2,
21331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
21332 MVT::v32i8, 3, 0, 1, 3,
21333 12,
21334 OPC_CheckPatternPredicate4,
21335 OPC_EmitNodeXForm, 7, 2,
21336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
21337 MVT::v32i8, 3, 0, 1, 3,
21338 0,
21339 39,
21340 OPC_CheckChild0Integer, 70|128,99,
21341 OPC_RecordChild1,
21342 OPC_RecordChild2,
21343 OPC_RecordChild3,
21344 OPC_MoveChild3,
21345 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21346 OPC_MoveParent,
21347 OPC_Scope, 12,
21348 OPC_CheckPatternPredicate3,
21349 OPC_EmitNodeXForm, 7, 2,
21350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
21351 MVT::v32i8, 3, 0, 1, 3,
21352 12,
21353 OPC_CheckPatternPredicate4,
21354 OPC_EmitNodeXForm, 7, 2,
21355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
21356 MVT::v32i8, 3, 0, 1, 3,
21357 0,
21358 39,
21359 OPC_CheckChild0Integer, 14|128,99,
21360 OPC_RecordChild1,
21361 OPC_RecordChild2,
21362 OPC_RecordChild3,
21363 OPC_MoveChild3,
21364 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21365 OPC_MoveParent,
21366 OPC_Scope, 12,
21367 OPC_CheckPatternPredicate3,
21368 OPC_EmitNodeXForm, 7, 2,
21369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
21370 MVT::v32i8, 3, 0, 1, 3,
21371 12,
21372 OPC_CheckPatternPredicate4,
21373 OPC_EmitNodeXForm, 7, 2,
21374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
21375 MVT::v32i8, 3, 0, 1, 3,
21376 0,
21377 39,
21378 OPC_CheckChild0Integer, 96|128,99,
21379 OPC_RecordChild1,
21380 OPC_RecordChild2,
21381 OPC_RecordChild3,
21382 OPC_MoveChild3,
21383 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21384 OPC_MoveParent,
21385 OPC_Scope, 12,
21386 OPC_CheckPatternPredicate3,
21387 OPC_EmitNodeXForm, 7, 2,
21388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
21389 MVT::v32i8, 3, 0, 1, 3,
21390 12,
21391 OPC_CheckPatternPredicate4,
21392 OPC_EmitNodeXForm, 7, 2,
21393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
21394 MVT::v32i8, 3, 0, 1, 3,
21395 0,
21396 39,
21397 OPC_CheckChild0Integer, 40|128,99,
21398 OPC_RecordChild1,
21399 OPC_RecordChild2,
21400 OPC_RecordChild3,
21401 OPC_MoveChild3,
21402 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21403 OPC_MoveParent,
21404 OPC_Scope, 12,
21405 OPC_CheckPatternPredicate3,
21406 OPC_EmitNodeXForm, 7, 2,
21407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
21408 MVT::v32i8, 3, 0, 1, 3,
21409 12,
21410 OPC_CheckPatternPredicate4,
21411 OPC_EmitNodeXForm, 7, 2,
21412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
21413 MVT::v32i8, 3, 0, 1, 3,
21414 0,
21415 39,
21416 OPC_CheckChild0Integer, 98|128,99,
21417 OPC_RecordChild1,
21418 OPC_RecordChild2,
21419 OPC_RecordChild3,
21420 OPC_MoveChild3,
21421 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21422 OPC_MoveParent,
21423 OPC_Scope, 12,
21424 OPC_CheckPatternPredicate3,
21425 OPC_EmitNodeXForm, 7, 2,
21426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
21427 MVT::v32i8, 3, 0, 1, 3,
21428 12,
21429 OPC_CheckPatternPredicate4,
21430 OPC_EmitNodeXForm, 7, 2,
21431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
21432 MVT::v32i8, 3, 0, 1, 3,
21433 0,
21434 39,
21435 OPC_CheckChild0Integer, 42|128,99,
21436 OPC_RecordChild1,
21437 OPC_RecordChild2,
21438 OPC_RecordChild3,
21439 OPC_MoveChild3,
21440 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21441 OPC_MoveParent,
21442 OPC_Scope, 12,
21443 OPC_CheckPatternPredicate3,
21444 OPC_EmitNodeXForm, 7, 2,
21445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
21446 MVT::v32i8, 3, 0, 1, 3,
21447 12,
21448 OPC_CheckPatternPredicate4,
21449 OPC_EmitNodeXForm, 7, 2,
21450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
21451 MVT::v32i8, 3, 0, 1, 3,
21452 0,
21453 39,
21454 OPC_CheckChild0Integer, 104|128,92,
21455 OPC_RecordChild1,
21456 OPC_RecordChild2,
21457 OPC_RecordChild3,
21458 OPC_MoveChild3,
21459 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21460 OPC_MoveParent,
21461 OPC_Scope, 12,
21462 OPC_CheckPatternPredicate3,
21463 OPC_EmitNodeXForm, 7, 2,
21464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
21465 MVT::v32i8, 3, 0, 1, 3,
21466 12,
21467 OPC_CheckPatternPredicate4,
21468 OPC_EmitNodeXForm, 7, 2,
21469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
21470 MVT::v32i8, 3, 0, 1, 3,
21471 0,
21472 39,
21473 OPC_CheckChild0Integer, 72|128,90,
21474 OPC_RecordChild1,
21475 OPC_RecordChild2,
21476 OPC_RecordChild3,
21477 OPC_MoveChild3,
21478 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21479 OPC_MoveParent,
21480 OPC_Scope, 12,
21481 OPC_CheckPatternPredicate3,
21482 OPC_EmitNodeXForm, 7, 2,
21483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
21484 MVT::v32i8, 3, 0, 1, 3,
21485 12,
21486 OPC_CheckPatternPredicate4,
21487 OPC_EmitNodeXForm, 7, 2,
21488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
21489 MVT::v32i8, 3, 0, 1, 3,
21490 0,
21491 39,
21492 OPC_CheckChild0Integer, 18|128,91,
21493 OPC_RecordChild1,
21494 OPC_RecordChild2,
21495 OPC_RecordChild3,
21496 OPC_MoveChild3,
21497 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21498 OPC_MoveParent,
21499 OPC_Scope, 12,
21500 OPC_CheckPatternPredicate3,
21501 OPC_EmitNodeXForm, 7, 2,
21502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
21503 MVT::v32i8, 3, 0, 1, 3,
21504 12,
21505 OPC_CheckPatternPredicate4,
21506 OPC_EmitNodeXForm, 7, 2,
21507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
21508 MVT::v32i8, 3, 0, 1, 3,
21509 0,
21510 39,
21511 OPC_CheckChild0Integer, 6|128,96,
21512 OPC_RecordChild1,
21513 OPC_RecordChild2,
21514 OPC_RecordChild3,
21515 OPC_MoveChild3,
21516 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21517 OPC_MoveParent,
21518 OPC_Scope, 12,
21519 OPC_CheckPatternPredicate3,
21520 OPC_EmitNodeXForm, 7, 2,
21521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21522 MVT::v32i8, 3, 0, 1, 3,
21523 12,
21524 OPC_CheckPatternPredicate4,
21525 OPC_EmitNodeXForm, 7, 2,
21526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21527 MVT::v32i8, 3, 0, 1, 3,
21528 0,
21529 39,
21530 OPC_CheckChild0Integer, 94|128,98,
21531 OPC_RecordChild1,
21532 OPC_RecordChild2,
21533 OPC_RecordChild3,
21534 OPC_MoveChild3,
21535 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21536 OPC_MoveParent,
21537 OPC_Scope, 12,
21538 OPC_CheckPatternPredicate3,
21539 OPC_EmitNodeXForm, 7, 2,
21540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
21541 MVT::v16i16, 3, 0, 1, 3,
21542 12,
21543 OPC_CheckPatternPredicate4,
21544 OPC_EmitNodeXForm, 7, 2,
21545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
21546 MVT::v16i16, 3, 0, 1, 3,
21547 0,
21548 39,
21549 OPC_CheckChild0Integer, 34|128,98,
21550 OPC_RecordChild1,
21551 OPC_RecordChild2,
21552 OPC_RecordChild3,
21553 OPC_MoveChild3,
21554 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21555 OPC_MoveParent,
21556 OPC_Scope, 12,
21557 OPC_CheckPatternPredicate3,
21558 OPC_EmitNodeXForm, 7, 2,
21559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
21560 MVT::v16i16, 3, 0, 1, 3,
21561 12,
21562 OPC_CheckPatternPredicate4,
21563 OPC_EmitNodeXForm, 7, 2,
21564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
21565 MVT::v16i16, 3, 0, 1, 3,
21566 0,
21567 39,
21568 OPC_CheckChild0Integer, 124|128,98,
21569 OPC_RecordChild1,
21570 OPC_RecordChild2,
21571 OPC_RecordChild3,
21572 OPC_MoveChild3,
21573 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21574 OPC_MoveParent,
21575 OPC_Scope, 12,
21576 OPC_CheckPatternPredicate3,
21577 OPC_EmitNodeXForm, 7, 2,
21578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
21579 MVT::v16i16, 3, 0, 1, 3,
21580 12,
21581 OPC_CheckPatternPredicate4,
21582 OPC_EmitNodeXForm, 7, 2,
21583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
21584 MVT::v16i16, 3, 0, 1, 3,
21585 0,
21586 39,
21587 OPC_CheckChild0Integer, 64|128,98,
21588 OPC_RecordChild1,
21589 OPC_RecordChild2,
21590 OPC_RecordChild3,
21591 OPC_MoveChild3,
21592 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21593 OPC_MoveParent,
21594 OPC_Scope, 12,
21595 OPC_CheckPatternPredicate3,
21596 OPC_EmitNodeXForm, 7, 2,
21597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
21598 MVT::v16i16, 3, 0, 1, 3,
21599 12,
21600 OPC_CheckPatternPredicate4,
21601 OPC_EmitNodeXForm, 7, 2,
21602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
21603 MVT::v16i16, 3, 0, 1, 3,
21604 0,
21605 39,
21606 OPC_CheckChild0Integer, 76|128,99,
21607 OPC_RecordChild1,
21608 OPC_RecordChild2,
21609 OPC_RecordChild3,
21610 OPC_MoveChild3,
21611 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21612 OPC_MoveParent,
21613 OPC_Scope, 12,
21614 OPC_CheckPatternPredicate3,
21615 OPC_EmitNodeXForm, 7, 2,
21616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
21617 MVT::v16i16, 3, 0, 1, 3,
21618 12,
21619 OPC_CheckPatternPredicate4,
21620 OPC_EmitNodeXForm, 7, 2,
21621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
21622 MVT::v16i16, 3, 0, 1, 3,
21623 0,
21624 39,
21625 OPC_CheckChild0Integer, 20|128,99,
21626 OPC_RecordChild1,
21627 OPC_RecordChild2,
21628 OPC_RecordChild3,
21629 OPC_MoveChild3,
21630 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21631 OPC_MoveParent,
21632 OPC_Scope, 12,
21633 OPC_CheckPatternPredicate3,
21634 OPC_EmitNodeXForm, 7, 2,
21635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
21636 MVT::v16i16, 3, 0, 1, 3,
21637 12,
21638 OPC_CheckPatternPredicate4,
21639 OPC_EmitNodeXForm, 7, 2,
21640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
21641 MVT::v16i16, 3, 0, 1, 3,
21642 0,
21643 39,
21644 OPC_CheckChild0Integer, 78|128,99,
21645 OPC_RecordChild1,
21646 OPC_RecordChild2,
21647 OPC_RecordChild3,
21648 OPC_MoveChild3,
21649 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21650 OPC_MoveParent,
21651 OPC_Scope, 12,
21652 OPC_CheckPatternPredicate3,
21653 OPC_EmitNodeXForm, 7, 2,
21654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
21655 MVT::v16i16, 3, 0, 1, 3,
21656 12,
21657 OPC_CheckPatternPredicate4,
21658 OPC_EmitNodeXForm, 7, 2,
21659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
21660 MVT::v16i16, 3, 0, 1, 3,
21661 0,
21662 39,
21663 OPC_CheckChild0Integer, 22|128,99,
21664 OPC_RecordChild1,
21665 OPC_RecordChild2,
21666 OPC_RecordChild3,
21667 OPC_MoveChild3,
21668 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21669 OPC_MoveParent,
21670 OPC_Scope, 12,
21671 OPC_CheckPatternPredicate3,
21672 OPC_EmitNodeXForm, 7, 2,
21673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
21674 MVT::v16i16, 3, 0, 1, 3,
21675 12,
21676 OPC_CheckPatternPredicate4,
21677 OPC_EmitNodeXForm, 7, 2,
21678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
21679 MVT::v16i16, 3, 0, 1, 3,
21680 0,
21681 39,
21682 OPC_CheckChild0Integer, 104|128,99,
21683 OPC_RecordChild1,
21684 OPC_RecordChild2,
21685 OPC_RecordChild3,
21686 OPC_MoveChild3,
21687 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21688 OPC_MoveParent,
21689 OPC_Scope, 12,
21690 OPC_CheckPatternPredicate3,
21691 OPC_EmitNodeXForm, 7, 2,
21692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
21693 MVT::v16i16, 3, 0, 1, 3,
21694 12,
21695 OPC_CheckPatternPredicate4,
21696 OPC_EmitNodeXForm, 7, 2,
21697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
21698 MVT::v16i16, 3, 0, 1, 3,
21699 0,
21700 39,
21701 OPC_CheckChild0Integer, 48|128,99,
21702 OPC_RecordChild1,
21703 OPC_RecordChild2,
21704 OPC_RecordChild3,
21705 OPC_MoveChild3,
21706 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21707 OPC_MoveParent,
21708 OPC_Scope, 12,
21709 OPC_CheckPatternPredicate3,
21710 OPC_EmitNodeXForm, 7, 2,
21711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
21712 MVT::v16i16, 3, 0, 1, 3,
21713 12,
21714 OPC_CheckPatternPredicate4,
21715 OPC_EmitNodeXForm, 7, 2,
21716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
21717 MVT::v16i16, 3, 0, 1, 3,
21718 0,
21719 39,
21720 OPC_CheckChild0Integer, 106|128,99,
21721 OPC_RecordChild1,
21722 OPC_RecordChild2,
21723 OPC_RecordChild3,
21724 OPC_MoveChild3,
21725 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21726 OPC_MoveParent,
21727 OPC_Scope, 12,
21728 OPC_CheckPatternPredicate3,
21729 OPC_EmitNodeXForm, 7, 2,
21730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
21731 MVT::v16i16, 3, 0, 1, 3,
21732 12,
21733 OPC_CheckPatternPredicate4,
21734 OPC_EmitNodeXForm, 7, 2,
21735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
21736 MVT::v16i16, 3, 0, 1, 3,
21737 0,
21738 39,
21739 OPC_CheckChild0Integer, 50|128,99,
21740 OPC_RecordChild1,
21741 OPC_RecordChild2,
21742 OPC_RecordChild3,
21743 OPC_MoveChild3,
21744 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21745 OPC_MoveParent,
21746 OPC_Scope, 12,
21747 OPC_CheckPatternPredicate3,
21748 OPC_EmitNodeXForm, 7, 2,
21749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
21750 MVT::v16i16, 3, 0, 1, 3,
21751 12,
21752 OPC_CheckPatternPredicate4,
21753 OPC_EmitNodeXForm, 7, 2,
21754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
21755 MVT::v16i16, 3, 0, 1, 3,
21756 0,
21757 39,
21758 OPC_CheckChild0Integer, 106|128,92,
21759 OPC_RecordChild1,
21760 OPC_RecordChild2,
21761 OPC_RecordChild3,
21762 OPC_MoveChild3,
21763 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21764 OPC_MoveParent,
21765 OPC_Scope, 12,
21766 OPC_CheckPatternPredicate3,
21767 OPC_EmitNodeXForm, 7, 2,
21768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
21769 MVT::v16i16, 3, 0, 1, 3,
21770 12,
21771 OPC_CheckPatternPredicate4,
21772 OPC_EmitNodeXForm, 7, 2,
21773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
21774 MVT::v16i16, 3, 0, 1, 3,
21775 0,
21776 39,
21777 OPC_CheckChild0Integer, 22|128,91,
21778 OPC_RecordChild1,
21779 OPC_RecordChild2,
21780 OPC_RecordChild3,
21781 OPC_MoveChild3,
21782 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21783 OPC_MoveParent,
21784 OPC_Scope, 12,
21785 OPC_CheckPatternPredicate3,
21786 OPC_EmitNodeXForm, 7, 2,
21787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
21788 MVT::v16i16, 3, 0, 1, 3,
21789 12,
21790 OPC_CheckPatternPredicate4,
21791 OPC_EmitNodeXForm, 7, 2,
21792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
21793 MVT::v16i16, 3, 0, 1, 3,
21794 0,
21795 39,
21796 OPC_CheckChild0Integer, 96|128,98,
21797 OPC_RecordChild1,
21798 OPC_RecordChild2,
21799 OPC_RecordChild3,
21800 OPC_MoveChild3,
21801 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21802 OPC_MoveParent,
21803 OPC_Scope, 12,
21804 OPC_CheckPatternPredicate3,
21805 OPC_EmitNodeXForm, 7, 2,
21806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
21807 MVT::v8i32, 3, 0, 1, 3,
21808 12,
21809 OPC_CheckPatternPredicate4,
21810 OPC_EmitNodeXForm, 7, 2,
21811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
21812 MVT::v8i32, 3, 0, 1, 3,
21813 0,
21814 39,
21815 OPC_CheckChild0Integer, 36|128,98,
21816 OPC_RecordChild1,
21817 OPC_RecordChild2,
21818 OPC_RecordChild3,
21819 OPC_MoveChild3,
21820 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21821 OPC_MoveParent,
21822 OPC_Scope, 12,
21823 OPC_CheckPatternPredicate3,
21824 OPC_EmitNodeXForm, 7, 2,
21825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
21826 MVT::v8i32, 3, 0, 1, 3,
21827 12,
21828 OPC_CheckPatternPredicate4,
21829 OPC_EmitNodeXForm, 7, 2,
21830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
21831 MVT::v8i32, 3, 0, 1, 3,
21832 0,
21833 39,
21834 OPC_CheckChild0Integer, 126|128,98,
21835 OPC_RecordChild1,
21836 OPC_RecordChild2,
21837 OPC_RecordChild3,
21838 OPC_MoveChild3,
21839 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21840 OPC_MoveParent,
21841 OPC_Scope, 12,
21842 OPC_CheckPatternPredicate3,
21843 OPC_EmitNodeXForm, 7, 2,
21844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
21845 MVT::v8i32, 3, 0, 1, 3,
21846 12,
21847 OPC_CheckPatternPredicate4,
21848 OPC_EmitNodeXForm, 7, 2,
21849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
21850 MVT::v8i32, 3, 0, 1, 3,
21851 0,
21852 39,
21853 OPC_CheckChild0Integer, 66|128,98,
21854 OPC_RecordChild1,
21855 OPC_RecordChild2,
21856 OPC_RecordChild3,
21857 OPC_MoveChild3,
21858 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21859 OPC_MoveParent,
21860 OPC_Scope, 12,
21861 OPC_CheckPatternPredicate3,
21862 OPC_EmitNodeXForm, 7, 2,
21863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
21864 MVT::v8i32, 3, 0, 1, 3,
21865 12,
21866 OPC_CheckPatternPredicate4,
21867 OPC_EmitNodeXForm, 7, 2,
21868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
21869 MVT::v8i32, 3, 0, 1, 3,
21870 0,
21871 39,
21872 OPC_CheckChild0Integer, 80|128,99,
21873 OPC_RecordChild1,
21874 OPC_RecordChild2,
21875 OPC_RecordChild3,
21876 OPC_MoveChild3,
21877 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21878 OPC_MoveParent,
21879 OPC_Scope, 12,
21880 OPC_CheckPatternPredicate3,
21881 OPC_EmitNodeXForm, 7, 2,
21882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
21883 MVT::v8i32, 3, 0, 1, 3,
21884 12,
21885 OPC_CheckPatternPredicate4,
21886 OPC_EmitNodeXForm, 7, 2,
21887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
21888 MVT::v8i32, 3, 0, 1, 3,
21889 0,
21890 39,
21891 OPC_CheckChild0Integer, 24|128,99,
21892 OPC_RecordChild1,
21893 OPC_RecordChild2,
21894 OPC_RecordChild3,
21895 OPC_MoveChild3,
21896 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21897 OPC_MoveParent,
21898 OPC_Scope, 12,
21899 OPC_CheckPatternPredicate3,
21900 OPC_EmitNodeXForm, 7, 2,
21901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
21902 MVT::v8i32, 3, 0, 1, 3,
21903 12,
21904 OPC_CheckPatternPredicate4,
21905 OPC_EmitNodeXForm, 7, 2,
21906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
21907 MVT::v8i32, 3, 0, 1, 3,
21908 0,
21909 39,
21910 OPC_CheckChild0Integer, 82|128,99,
21911 OPC_RecordChild1,
21912 OPC_RecordChild2,
21913 OPC_RecordChild3,
21914 OPC_MoveChild3,
21915 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21916 OPC_MoveParent,
21917 OPC_Scope, 12,
21918 OPC_CheckPatternPredicate3,
21919 OPC_EmitNodeXForm, 7, 2,
21920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
21921 MVT::v8i32, 3, 0, 1, 3,
21922 12,
21923 OPC_CheckPatternPredicate4,
21924 OPC_EmitNodeXForm, 7, 2,
21925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
21926 MVT::v8i32, 3, 0, 1, 3,
21927 0,
21928 39,
21929 OPC_CheckChild0Integer, 26|128,99,
21930 OPC_RecordChild1,
21931 OPC_RecordChild2,
21932 OPC_RecordChild3,
21933 OPC_MoveChild3,
21934 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21935 OPC_MoveParent,
21936 OPC_Scope, 12,
21937 OPC_CheckPatternPredicate3,
21938 OPC_EmitNodeXForm, 7, 2,
21939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
21940 MVT::v8i32, 3, 0, 1, 3,
21941 12,
21942 OPC_CheckPatternPredicate4,
21943 OPC_EmitNodeXForm, 7, 2,
21944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
21945 MVT::v8i32, 3, 0, 1, 3,
21946 0,
21947 39,
21948 OPC_CheckChild0Integer, 108|128,99,
21949 OPC_RecordChild1,
21950 OPC_RecordChild2,
21951 OPC_RecordChild3,
21952 OPC_MoveChild3,
21953 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21954 OPC_MoveParent,
21955 OPC_Scope, 12,
21956 OPC_CheckPatternPredicate3,
21957 OPC_EmitNodeXForm, 7, 2,
21958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
21959 MVT::v8i32, 3, 0, 1, 3,
21960 12,
21961 OPC_CheckPatternPredicate4,
21962 OPC_EmitNodeXForm, 7, 2,
21963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
21964 MVT::v8i32, 3, 0, 1, 3,
21965 0,
21966 39,
21967 OPC_CheckChild0Integer, 52|128,99,
21968 OPC_RecordChild1,
21969 OPC_RecordChild2,
21970 OPC_RecordChild3,
21971 OPC_MoveChild3,
21972 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21973 OPC_MoveParent,
21974 OPC_Scope, 12,
21975 OPC_CheckPatternPredicate3,
21976 OPC_EmitNodeXForm, 7, 2,
21977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
21978 MVT::v8i32, 3, 0, 1, 3,
21979 12,
21980 OPC_CheckPatternPredicate4,
21981 OPC_EmitNodeXForm, 7, 2,
21982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
21983 MVT::v8i32, 3, 0, 1, 3,
21984 0,
21985 39,
21986 OPC_CheckChild0Integer, 110|128,99,
21987 OPC_RecordChild1,
21988 OPC_RecordChild2,
21989 OPC_RecordChild3,
21990 OPC_MoveChild3,
21991 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21992 OPC_MoveParent,
21993 OPC_Scope, 12,
21994 OPC_CheckPatternPredicate3,
21995 OPC_EmitNodeXForm, 7, 2,
21996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
21997 MVT::v8i32, 3, 0, 1, 3,
21998 12,
21999 OPC_CheckPatternPredicate4,
22000 OPC_EmitNodeXForm, 7, 2,
22001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
22002 MVT::v8i32, 3, 0, 1, 3,
22003 0,
22004 39,
22005 OPC_CheckChild0Integer, 54|128,99,
22006 OPC_RecordChild1,
22007 OPC_RecordChild2,
22008 OPC_RecordChild3,
22009 OPC_MoveChild3,
22010 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22011 OPC_MoveParent,
22012 OPC_Scope, 12,
22013 OPC_CheckPatternPredicate3,
22014 OPC_EmitNodeXForm, 7, 2,
22015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
22016 MVT::v8i32, 3, 0, 1, 3,
22017 12,
22018 OPC_CheckPatternPredicate4,
22019 OPC_EmitNodeXForm, 7, 2,
22020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
22021 MVT::v8i32, 3, 0, 1, 3,
22022 0,
22023 39,
22024 OPC_CheckChild0Integer, 8|128,96,
22025 OPC_RecordChild1,
22026 OPC_RecordChild2,
22027 OPC_RecordChild3,
22028 OPC_MoveChild3,
22029 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22030 OPC_MoveParent,
22031 OPC_Scope, 12,
22032 OPC_CheckPatternPredicate3,
22033 OPC_EmitNodeXForm, 7, 2,
22034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
22035 MVT::v8i32, 3, 0, 1, 3,
22036 12,
22037 OPC_CheckPatternPredicate4,
22038 OPC_EmitNodeXForm, 7, 2,
22039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
22040 MVT::v8i32, 3, 0, 1, 3,
22041 0,
22042 39,
22043 OPC_CheckChild0Integer, 24|128,91,
22044 OPC_RecordChild1,
22045 OPC_RecordChild2,
22046 OPC_RecordChild3,
22047 OPC_MoveChild3,
22048 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22049 OPC_MoveParent,
22050 OPC_Scope, 12,
22051 OPC_CheckPatternPredicate3,
22052 OPC_EmitNodeXForm, 7, 2,
22053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
22054 MVT::v8i32, 3, 0, 1, 3,
22055 12,
22056 OPC_CheckPatternPredicate4,
22057 OPC_EmitNodeXForm, 7, 2,
22058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
22059 MVT::v8i32, 3, 0, 1, 3,
22060 0,
22061 39,
22062 OPC_CheckChild0Integer, 100|128,93,
22063 OPC_RecordChild1,
22064 OPC_RecordChild2,
22065 OPC_RecordChild3,
22066 OPC_MoveChild3,
22067 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22068 OPC_MoveParent,
22069 OPC_Scope, 12,
22070 OPC_CheckPatternPredicate3,
22071 OPC_EmitNodeXForm, 7, 2,
22072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
22073 MVT::v8i32, 3, 0, 1, 3,
22074 12,
22075 OPC_CheckPatternPredicate4,
22076 OPC_EmitNodeXForm, 7, 2,
22077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
22078 MVT::v8i32, 3, 0, 1, 3,
22079 0,
22080 39,
22081 OPC_CheckChild0Integer, 92|128,98,
22082 OPC_RecordChild1,
22083 OPC_RecordChild2,
22084 OPC_RecordChild3,
22085 OPC_MoveChild3,
22086 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22087 OPC_MoveParent,
22088 OPC_Scope, 12,
22089 OPC_CheckPatternPredicate3,
22090 OPC_EmitNodeXForm, 7, 2,
22091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
22092 MVT::v4i64, 3, 0, 1, 3,
22093 12,
22094 OPC_CheckPatternPredicate4,
22095 OPC_EmitNodeXForm, 7, 2,
22096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
22097 MVT::v4i64, 3, 0, 1, 3,
22098 0,
22099 39,
22100 OPC_CheckChild0Integer, 32|128,98,
22101 OPC_RecordChild1,
22102 OPC_RecordChild2,
22103 OPC_RecordChild3,
22104 OPC_MoveChild3,
22105 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22106 OPC_MoveParent,
22107 OPC_Scope, 12,
22108 OPC_CheckPatternPredicate3,
22109 OPC_EmitNodeXForm, 7, 2,
22110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
22111 MVT::v4i64, 3, 0, 1, 3,
22112 12,
22113 OPC_CheckPatternPredicate4,
22114 OPC_EmitNodeXForm, 7, 2,
22115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
22116 MVT::v4i64, 3, 0, 1, 3,
22117 0,
22118 39,
22119 OPC_CheckChild0Integer, 122|128,98,
22120 OPC_RecordChild1,
22121 OPC_RecordChild2,
22122 OPC_RecordChild3,
22123 OPC_MoveChild3,
22124 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22125 OPC_MoveParent,
22126 OPC_Scope, 12,
22127 OPC_CheckPatternPredicate3,
22128 OPC_EmitNodeXForm, 7, 2,
22129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
22130 MVT::v4i64, 3, 0, 1, 3,
22131 12,
22132 OPC_CheckPatternPredicate4,
22133 OPC_EmitNodeXForm, 7, 2,
22134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
22135 MVT::v4i64, 3, 0, 1, 3,
22136 0,
22137 39,
22138 OPC_CheckChild0Integer, 62|128,98,
22139 OPC_RecordChild1,
22140 OPC_RecordChild2,
22141 OPC_RecordChild3,
22142 OPC_MoveChild3,
22143 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22144 OPC_MoveParent,
22145 OPC_Scope, 12,
22146 OPC_CheckPatternPredicate3,
22147 OPC_EmitNodeXForm, 7, 2,
22148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
22149 MVT::v4i64, 3, 0, 1, 3,
22150 12,
22151 OPC_CheckPatternPredicate4,
22152 OPC_EmitNodeXForm, 7, 2,
22153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
22154 MVT::v4i64, 3, 0, 1, 3,
22155 0,
22156 39,
22157 OPC_CheckChild0Integer, 72|128,99,
22158 OPC_RecordChild1,
22159 OPC_RecordChild2,
22160 OPC_RecordChild3,
22161 OPC_MoveChild3,
22162 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22163 OPC_MoveParent,
22164 OPC_Scope, 12,
22165 OPC_CheckPatternPredicate3,
22166 OPC_EmitNodeXForm, 7, 2,
22167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
22168 MVT::v4i64, 3, 0, 1, 3,
22169 12,
22170 OPC_CheckPatternPredicate4,
22171 OPC_EmitNodeXForm, 7, 2,
22172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
22173 MVT::v4i64, 3, 0, 1, 3,
22174 0,
22175 39,
22176 OPC_CheckChild0Integer, 16|128,99,
22177 OPC_RecordChild1,
22178 OPC_RecordChild2,
22179 OPC_RecordChild3,
22180 OPC_MoveChild3,
22181 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22182 OPC_MoveParent,
22183 OPC_Scope, 12,
22184 OPC_CheckPatternPredicate3,
22185 OPC_EmitNodeXForm, 7, 2,
22186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
22187 MVT::v4i64, 3, 0, 1, 3,
22188 12,
22189 OPC_CheckPatternPredicate4,
22190 OPC_EmitNodeXForm, 7, 2,
22191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
22192 MVT::v4i64, 3, 0, 1, 3,
22193 0,
22194 39,
22195 OPC_CheckChild0Integer, 74|128,99,
22196 OPC_RecordChild1,
22197 OPC_RecordChild2,
22198 OPC_RecordChild3,
22199 OPC_MoveChild3,
22200 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22201 OPC_MoveParent,
22202 OPC_Scope, 12,
22203 OPC_CheckPatternPredicate3,
22204 OPC_EmitNodeXForm, 7, 2,
22205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
22206 MVT::v4i64, 3, 0, 1, 3,
22207 12,
22208 OPC_CheckPatternPredicate4,
22209 OPC_EmitNodeXForm, 7, 2,
22210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
22211 MVT::v4i64, 3, 0, 1, 3,
22212 0,
22213 39,
22214 OPC_CheckChild0Integer, 18|128,99,
22215 OPC_RecordChild1,
22216 OPC_RecordChild2,
22217 OPC_RecordChild3,
22218 OPC_MoveChild3,
22219 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22220 OPC_MoveParent,
22221 OPC_Scope, 12,
22222 OPC_CheckPatternPredicate3,
22223 OPC_EmitNodeXForm, 7, 2,
22224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
22225 MVT::v4i64, 3, 0, 1, 3,
22226 12,
22227 OPC_CheckPatternPredicate4,
22228 OPC_EmitNodeXForm, 7, 2,
22229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
22230 MVT::v4i64, 3, 0, 1, 3,
22231 0,
22232 39,
22233 OPC_CheckChild0Integer, 100|128,99,
22234 OPC_RecordChild1,
22235 OPC_RecordChild2,
22236 OPC_RecordChild3,
22237 OPC_MoveChild3,
22238 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22239 OPC_MoveParent,
22240 OPC_Scope, 12,
22241 OPC_CheckPatternPredicate3,
22242 OPC_EmitNodeXForm, 7, 2,
22243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
22244 MVT::v4i64, 3, 0, 1, 3,
22245 12,
22246 OPC_CheckPatternPredicate4,
22247 OPC_EmitNodeXForm, 7, 2,
22248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
22249 MVT::v4i64, 3, 0, 1, 3,
22250 0,
22251 39,
22252 OPC_CheckChild0Integer, 44|128,99,
22253 OPC_RecordChild1,
22254 OPC_RecordChild2,
22255 OPC_RecordChild3,
22256 OPC_MoveChild3,
22257 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22258 OPC_MoveParent,
22259 OPC_Scope, 12,
22260 OPC_CheckPatternPredicate3,
22261 OPC_EmitNodeXForm, 7, 2,
22262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
22263 MVT::v4i64, 3, 0, 1, 3,
22264 12,
22265 OPC_CheckPatternPredicate4,
22266 OPC_EmitNodeXForm, 7, 2,
22267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
22268 MVT::v4i64, 3, 0, 1, 3,
22269 0,
22270 39,
22271 OPC_CheckChild0Integer, 102|128,99,
22272 OPC_RecordChild1,
22273 OPC_RecordChild2,
22274 OPC_RecordChild3,
22275 OPC_MoveChild3,
22276 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22277 OPC_MoveParent,
22278 OPC_Scope, 12,
22279 OPC_CheckPatternPredicate3,
22280 OPC_EmitNodeXForm, 7, 2,
22281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
22282 MVT::v4i64, 3, 0, 1, 3,
22283 12,
22284 OPC_CheckPatternPredicate4,
22285 OPC_EmitNodeXForm, 7, 2,
22286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
22287 MVT::v4i64, 3, 0, 1, 3,
22288 0,
22289 39,
22290 OPC_CheckChild0Integer, 46|128,99,
22291 OPC_RecordChild1,
22292 OPC_RecordChild2,
22293 OPC_RecordChild3,
22294 OPC_MoveChild3,
22295 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22296 OPC_MoveParent,
22297 OPC_Scope, 12,
22298 OPC_CheckPatternPredicate3,
22299 OPC_EmitNodeXForm, 7, 2,
22300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
22301 MVT::v4i64, 3, 0, 1, 3,
22302 12,
22303 OPC_CheckPatternPredicate4,
22304 OPC_EmitNodeXForm, 7, 2,
22305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
22306 MVT::v4i64, 3, 0, 1, 3,
22307 0,
22308 39,
22309 OPC_CheckChild0Integer, 30|128,97,
22310 OPC_RecordChild1,
22311 OPC_RecordChild2,
22312 OPC_RecordChild3,
22313 OPC_MoveChild3,
22314 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22315 OPC_MoveParent,
22316 OPC_Scope, 12,
22317 OPC_CheckPatternPredicate3,
22318 OPC_EmitNodeXForm, 7, 2,
22319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
22320 MVT::v4i64, 3, 0, 1, 3,
22321 12,
22322 OPC_CheckPatternPredicate4,
22323 OPC_EmitNodeXForm, 7, 2,
22324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
22325 MVT::v4i64, 3, 0, 1, 3,
22326 0,
22327 39,
22328 OPC_CheckChild0Integer, 20|128,91,
22329 OPC_RecordChild1,
22330 OPC_RecordChild2,
22331 OPC_RecordChild3,
22332 OPC_MoveChild3,
22333 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22334 OPC_MoveParent,
22335 OPC_Scope, 12,
22336 OPC_CheckPatternPredicate3,
22337 OPC_EmitNodeXForm, 7, 2,
22338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
22339 MVT::v4i64, 3, 0, 1, 3,
22340 12,
22341 OPC_CheckPatternPredicate4,
22342 OPC_EmitNodeXForm, 7, 2,
22343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
22344 MVT::v4i64, 3, 0, 1, 3,
22345 0,
22346 39,
22347 OPC_CheckChild0Integer, 98|128,93,
22348 OPC_RecordChild1,
22349 OPC_RecordChild2,
22350 OPC_RecordChild3,
22351 OPC_MoveChild3,
22352 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22353 OPC_MoveParent,
22354 OPC_Scope, 12,
22355 OPC_CheckPatternPredicate3,
22356 OPC_EmitNodeXForm, 7, 2,
22357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
22358 MVT::v4i64, 3, 0, 1, 3,
22359 12,
22360 OPC_CheckPatternPredicate4,
22361 OPC_EmitNodeXForm, 7, 2,
22362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
22363 MVT::v4i64, 3, 0, 1, 3,
22364 0,
22365 13,
22366 OPC_CheckChild0Integer, 8|128,108,
22367 OPC_RecordChild1,
22368 OPC_RecordChild2,
22369 OPC_CheckPatternPredicate1,
22370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
22371 MVT::v16i8, 2, 0, 1,
22372 13,
22373 OPC_CheckChild0Integer, 10|128,108,
22374 OPC_RecordChild1,
22375 OPC_RecordChild2,
22376 OPC_CheckPatternPredicate1,
22377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
22378 MVT::v16i8, 2, 0, 1,
22379 13,
22380 OPC_CheckChild0Integer, 20|128,111,
22381 OPC_RecordChild1,
22382 OPC_RecordChild2,
22383 OPC_CheckPatternPredicate1,
22384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
22385 MVT::v16i8, 2, 0, 1,
22386 13,
22387 OPC_CheckChild0Integer, 22|128,111,
22388 OPC_RecordChild1,
22389 OPC_RecordChild2,
22390 OPC_CheckPatternPredicate1,
22391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
22392 MVT::v16i8, 2, 0, 1,
22393 13,
22394 OPC_CheckChild0Integer, 102|128,104,
22395 OPC_RecordChild1,
22396 OPC_RecordChild2,
22397 OPC_CheckPatternPredicate1,
22398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
22399 MVT::v8i16, 2, 0, 1,
22400 13,
22401 OPC_CheckChild0Integer, 104|128,104,
22402 OPC_RecordChild1,
22403 OPC_RecordChild2,
22404 OPC_CheckPatternPredicate1,
22405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
22406 MVT::v8i16, 2, 0, 1,
22407 13,
22408 OPC_CheckChild0Integer, 118|128,104,
22409 OPC_RecordChild1,
22410 OPC_RecordChild2,
22411 OPC_CheckPatternPredicate1,
22412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
22413 MVT::v8i16, 2, 0, 1,
22414 13,
22415 OPC_CheckChild0Integer, 120|128,104,
22416 OPC_RecordChild1,
22417 OPC_RecordChild2,
22418 OPC_CheckPatternPredicate1,
22419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
22420 MVT::v8i16, 2, 0, 1,
22421 13,
22422 OPC_CheckChild0Integer, 10|128,101,
22423 OPC_RecordChild1,
22424 OPC_RecordChild2,
22425 OPC_CheckPatternPredicate1,
22426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_B),
22427 MVT::v8i16, 2, 0, 1,
22428 13,
22429 OPC_CheckChild0Integer, 34|128,101,
22430 OPC_RecordChild1,
22431 OPC_RecordChild2,
22432 OPC_CheckPatternPredicate1,
22433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_B),
22434 MVT::v8i16, 2, 0, 1,
22435 13,
22436 OPC_CheckChild0Integer, 70|128,111,
22437 OPC_RecordChild1,
22438 OPC_RecordChild2,
22439 OPC_CheckPatternPredicate1,
22440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_B),
22441 MVT::v8i16, 2, 0, 1,
22442 13,
22443 OPC_CheckChild0Integer, 86|128,111,
22444 OPC_RecordChild1,
22445 OPC_RecordChild2,
22446 OPC_CheckPatternPredicate1,
22447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_B),
22448 MVT::v8i16, 2, 0, 1,
22449 13,
22450 OPC_CheckChild0Integer, 12|128,101,
22451 OPC_RecordChild1,
22452 OPC_RecordChild2,
22453 OPC_CheckPatternPredicate1,
22454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU),
22455 MVT::v8i16, 2, 0, 1,
22456 13,
22457 OPC_CheckChild0Integer, 36|128,101,
22458 OPC_RecordChild1,
22459 OPC_RecordChild2,
22460 OPC_CheckPatternPredicate1,
22461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU),
22462 MVT::v8i16, 2, 0, 1,
22463 13,
22464 OPC_CheckChild0Integer, 72|128,111,
22465 OPC_RecordChild1,
22466 OPC_RecordChild2,
22467 OPC_CheckPatternPredicate1,
22468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_BU),
22469 MVT::v8i16, 2, 0, 1,
22470 13,
22471 OPC_CheckChild0Integer, 88|128,111,
22472 OPC_RecordChild1,
22473 OPC_RecordChild2,
22474 OPC_CheckPatternPredicate1,
22475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_BU),
22476 MVT::v8i16, 2, 0, 1,
22477 13,
22478 OPC_CheckChild0Integer, 14|128,101,
22479 OPC_RecordChild1,
22480 OPC_RecordChild2,
22481 OPC_CheckPatternPredicate1,
22482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU_B),
22483 MVT::v8i16, 2, 0, 1,
22484 13,
22485 OPC_CheckChild0Integer, 38|128,101,
22486 OPC_RecordChild1,
22487 OPC_RecordChild2,
22488 OPC_CheckPatternPredicate1,
22489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU_B),
22490 MVT::v8i16, 2, 0, 1,
22491 13,
22492 OPC_CheckChild0Integer, 58|128,101,
22493 OPC_RecordChild1,
22494 OPC_RecordChild2,
22495 OPC_CheckPatternPredicate1,
22496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
22497 MVT::v16i8, 2, 0, 1,
22498 13,
22499 OPC_CheckChild0Integer, 60|128,101,
22500 OPC_RecordChild1,
22501 OPC_RecordChild2,
22502 OPC_CheckPatternPredicate1,
22503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
22504 MVT::v16i8, 2, 0, 1,
22505 13,
22506 OPC_CheckChild0Integer, 74|128,101,
22507 OPC_RecordChild1,
22508 OPC_RecordChild2,
22509 OPC_CheckPatternPredicate1,
22510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
22511 MVT::v16i8, 2, 0, 1,
22512 13,
22513 OPC_CheckChild0Integer, 76|128,101,
22514 OPC_RecordChild1,
22515 OPC_RecordChild2,
22516 OPC_CheckPatternPredicate1,
22517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
22518 MVT::v16i8, 2, 0, 1,
22519 13,
22520 OPC_CheckChild0Integer, 90|128,100,
22521 OPC_RecordChild1,
22522 OPC_RecordChild2,
22523 OPC_CheckPatternPredicate1,
22524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
22525 MVT::v16i8, 2, 0, 1,
22526 13,
22527 OPC_CheckChild0Integer, 92|128,100,
22528 OPC_RecordChild1,
22529 OPC_RecordChild2,
22530 OPC_CheckPatternPredicate1,
22531 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
22532 MVT::v16i8, 2, 0, 1,
22533 13,
22534 OPC_CheckChild0Integer, 116|128,100,
22535 OPC_RecordChild1,
22536 OPC_RecordChild2,
22537 OPC_CheckPatternPredicate1,
22538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
22539 MVT::v16i8, 2, 0, 1,
22540 13,
22541 OPC_CheckChild0Integer, 68|128,106,
22542 OPC_RecordChild1,
22543 OPC_RecordChild2,
22544 OPC_CheckPatternPredicate1,
22545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
22546 MVT::v16i8, 2, 0, 1,
22547 13,
22548 OPC_CheckChild0Integer, 70|128,106,
22549 OPC_RecordChild1,
22550 OPC_RecordChild2,
22551 OPC_CheckPatternPredicate1,
22552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
22553 MVT::v16i8, 2, 0, 1,
22554 13,
22555 OPC_CheckChild0Integer, 98|128,106,
22556 OPC_RecordChild1,
22557 OPC_RecordChild2,
22558 OPC_CheckPatternPredicate1,
22559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_B),
22560 MVT::v8i16, 2, 0, 1,
22561 13,
22562 OPC_CheckChild0Integer, 122|128,106,
22563 OPC_RecordChild1,
22564 OPC_RecordChild2,
22565 OPC_CheckPatternPredicate1,
22566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_B),
22567 MVT::v8i16, 2, 0, 1,
22568 13,
22569 OPC_CheckChild0Integer, 100|128,106,
22570 OPC_RecordChild1,
22571 OPC_RecordChild2,
22572 OPC_CheckPatternPredicate1,
22573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU),
22574 MVT::v8i16, 2, 0, 1,
22575 13,
22576 OPC_CheckChild0Integer, 124|128,106,
22577 OPC_RecordChild1,
22578 OPC_RecordChild2,
22579 OPC_CheckPatternPredicate1,
22580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU),
22581 MVT::v8i16, 2, 0, 1,
22582 13,
22583 OPC_CheckChild0Integer, 102|128,106,
22584 OPC_RecordChild1,
22585 OPC_RecordChild2,
22586 OPC_CheckPatternPredicate1,
22587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU_B),
22588 MVT::v8i16, 2, 0, 1,
22589 13,
22590 OPC_CheckChild0Integer, 126|128,106,
22591 OPC_RecordChild1,
22592 OPC_RecordChild2,
22593 OPC_CheckPatternPredicate1,
22594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU_B),
22595 MVT::v8i16, 2, 0, 1,
22596 13,
22597 OPC_CheckChild0Integer, 72|128,108,
22598 OPC_RecordChild1,
22599 OPC_RecordChild2,
22600 OPC_CheckPatternPredicate1,
22601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
22602 MVT::v16i8, 2, 0, 1,
22603 13,
22604 OPC_CheckChild0Integer, 56|128,101,
22605 OPC_RecordChild1,
22606 OPC_RecordChild2,
22607 OPC_CheckPatternPredicate1,
22608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
22609 MVT::v16i8, 2, 0, 1,
22610 13,
22611 OPC_CheckChild0Integer, 28|128,107,
22612 OPC_RecordChild1,
22613 OPC_RecordChild2,
22614 OPC_CheckPatternPredicate1,
22615 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
22616 MVT::v16i8, 2, 0, 1,
22617 13,
22618 OPC_CheckChild0Integer, 120|128,107,
22619 OPC_RecordChild1,
22620 OPC_RecordChild2,
22621 OPC_CheckPatternPredicate1,
22622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
22623 MVT::v16i8, 2, 0, 1,
22624 13,
22625 OPC_CheckChild0Integer, 6|128,110,
22626 OPC_RecordChild1,
22627 OPC_RecordChild2,
22628 OPC_CheckPatternPredicate1,
22629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
22630 MVT::v16i8, 2, 0, 1,
22631 13,
22632 OPC_CheckChild0Integer, 74|128,109,
22633 OPC_RecordChild1,
22634 OPC_RecordChild2,
22635 OPC_CheckPatternPredicate1,
22636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
22637 MVT::v16i8, 2, 0, 1,
22638 13,
22639 OPC_CheckChild0Integer, 40|128,108,
22640 OPC_RecordChild1,
22641 OPC_RecordChild2,
22642 OPC_CheckPatternPredicate1,
22643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
22644 MVT::v16i8, 2, 0, 1,
22645 13,
22646 OPC_CheckChild0Integer, 80|128,108,
22647 OPC_RecordChild1,
22648 OPC_RecordChild2,
22649 OPC_CheckPatternPredicate1,
22650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
22651 MVT::v16i8, 2, 0, 1,
22652 13,
22653 OPC_CheckChild0Integer, 82|128,108,
22654 OPC_RecordChild1,
22655 OPC_RecordChild2,
22656 OPC_CheckPatternPredicate1,
22657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
22658 MVT::v16i8, 2, 0, 1,
22659 13,
22660 OPC_CheckChild0Integer, 12|128,109,
22661 OPC_RecordChild1,
22662 OPC_RecordChild2,
22663 OPC_CheckPatternPredicate1,
22664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
22665 MVT::v16i8, 2, 0, 1,
22666 13,
22667 OPC_CheckChild0Integer, 14|128,109,
22668 OPC_RecordChild1,
22669 OPC_RecordChild2,
22670 OPC_CheckPatternPredicate1,
22671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
22672 MVT::v16i8, 2, 0, 1,
22673 13,
22674 OPC_CheckChild0Integer, 30|128,107,
22675 OPC_RecordChild1,
22676 OPC_RecordChild2,
22677 OPC_CheckPatternPredicate1,
22678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
22679 MVT::v16i8, 2, 0, 1,
22680 13,
22681 OPC_CheckChild0Integer, 38|128,107,
22682 OPC_RecordChild1,
22683 OPC_RecordChild2,
22684 OPC_CheckPatternPredicate1,
22685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
22686 MVT::v16i8, 2, 0, 1,
22687 13,
22688 OPC_CheckChild0Integer, 56|128,107,
22689 OPC_RecordChild1,
22690 OPC_RecordChild2,
22691 OPC_CheckPatternPredicate1,
22692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
22693 MVT::v16i8, 2, 0, 1,
22694 13,
22695 OPC_CheckChild0Integer, 64|128,107,
22696 OPC_RecordChild1,
22697 OPC_RecordChild2,
22698 OPC_CheckPatternPredicate1,
22699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
22700 MVT::v16i8, 2, 0, 1,
22701 13,
22702 OPC_CheckChild0Integer, 10|128,105,
22703 OPC_RecordChild1,
22704 OPC_RecordChild2,
22705 OPC_CheckPatternPredicate1,
22706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
22707 MVT::v16i8, 2, 0, 1,
22708 13,
22709 OPC_CheckChild0Integer, 2|128,105,
22710 OPC_RecordChild1,
22711 OPC_RecordChild2,
22712 OPC_CheckPatternPredicate1,
22713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
22714 MVT::v16i8, 2, 0, 1,
22715 13,
22716 OPC_CheckChild0Integer, 16|128,108,
22717 OPC_RecordChild1,
22718 OPC_RecordChild2,
22719 OPC_CheckPatternPredicate1,
22720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
22721 MVT::v8i16, 2, 0, 1,
22722 13,
22723 OPC_CheckChild0Integer, 18|128,108,
22724 OPC_RecordChild1,
22725 OPC_RecordChild2,
22726 OPC_CheckPatternPredicate1,
22727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
22728 MVT::v8i16, 2, 0, 1,
22729 13,
22730 OPC_CheckChild0Integer, 28|128,111,
22731 OPC_RecordChild1,
22732 OPC_RecordChild2,
22733 OPC_CheckPatternPredicate1,
22734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
22735 MVT::v8i16, 2, 0, 1,
22736 13,
22737 OPC_CheckChild0Integer, 30|128,111,
22738 OPC_RecordChild1,
22739 OPC_RecordChild2,
22740 OPC_CheckPatternPredicate1,
22741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
22742 MVT::v8i16, 2, 0, 1,
22743 13,
22744 OPC_CheckChild0Integer, 110|128,104,
22745 OPC_RecordChild1,
22746 OPC_RecordChild2,
22747 OPC_CheckPatternPredicate1,
22748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
22749 MVT::v4i32, 2, 0, 1,
22750 13,
22751 OPC_CheckChild0Integer, 112|128,104,
22752 OPC_RecordChild1,
22753 OPC_RecordChild2,
22754 OPC_CheckPatternPredicate1,
22755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
22756 MVT::v4i32, 2, 0, 1,
22757 13,
22758 OPC_CheckChild0Integer, 126|128,104,
22759 OPC_RecordChild1,
22760 OPC_RecordChild2,
22761 OPC_CheckPatternPredicate1,
22762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
22763 MVT::v4i32, 2, 0, 1,
22764 13,
22765 OPC_CheckChild0Integer, 0|128,105,
22766 OPC_RecordChild1,
22767 OPC_RecordChild2,
22768 OPC_CheckPatternPredicate1,
22769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
22770 MVT::v4i32, 2, 0, 1,
22771 13,
22772 OPC_CheckChild0Integer, 22|128,101,
22773 OPC_RecordChild1,
22774 OPC_RecordChild2,
22775 OPC_CheckPatternPredicate1,
22776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_H),
22777 MVT::v4i32, 2, 0, 1,
22778 13,
22779 OPC_CheckChild0Integer, 46|128,101,
22780 OPC_RecordChild1,
22781 OPC_RecordChild2,
22782 OPC_CheckPatternPredicate1,
22783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_H),
22784 MVT::v4i32, 2, 0, 1,
22785 13,
22786 OPC_CheckChild0Integer, 78|128,111,
22787 OPC_RecordChild1,
22788 OPC_RecordChild2,
22789 OPC_CheckPatternPredicate1,
22790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_H),
22791 MVT::v4i32, 2, 0, 1,
22792 13,
22793 OPC_CheckChild0Integer, 94|128,111,
22794 OPC_RecordChild1,
22795 OPC_RecordChild2,
22796 OPC_CheckPatternPredicate1,
22797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_H),
22798 MVT::v4i32, 2, 0, 1,
22799 13,
22800 OPC_CheckChild0Integer, 24|128,101,
22801 OPC_RecordChild1,
22802 OPC_RecordChild2,
22803 OPC_CheckPatternPredicate1,
22804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU),
22805 MVT::v4i32, 2, 0, 1,
22806 13,
22807 OPC_CheckChild0Integer, 48|128,101,
22808 OPC_RecordChild1,
22809 OPC_RecordChild2,
22810 OPC_CheckPatternPredicate1,
22811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU),
22812 MVT::v4i32, 2, 0, 1,
22813 13,
22814 OPC_CheckChild0Integer, 80|128,111,
22815 OPC_RecordChild1,
22816 OPC_RecordChild2,
22817 OPC_CheckPatternPredicate1,
22818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_HU),
22819 MVT::v4i32, 2, 0, 1,
22820 13,
22821 OPC_CheckChild0Integer, 96|128,111,
22822 OPC_RecordChild1,
22823 OPC_RecordChild2,
22824 OPC_CheckPatternPredicate1,
22825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_HU),
22826 MVT::v4i32, 2, 0, 1,
22827 13,
22828 OPC_CheckChild0Integer, 26|128,101,
22829 OPC_RecordChild1,
22830 OPC_RecordChild2,
22831 OPC_CheckPatternPredicate1,
22832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU_H),
22833 MVT::v4i32, 2, 0, 1,
22834 13,
22835 OPC_CheckChild0Integer, 50|128,101,
22836 OPC_RecordChild1,
22837 OPC_RecordChild2,
22838 OPC_CheckPatternPredicate1,
22839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU_H),
22840 MVT::v4i32, 2, 0, 1,
22841 13,
22842 OPC_CheckChild0Integer, 66|128,101,
22843 OPC_RecordChild1,
22844 OPC_RecordChild2,
22845 OPC_CheckPatternPredicate1,
22846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
22847 MVT::v8i16, 2, 0, 1,
22848 13,
22849 OPC_CheckChild0Integer, 68|128,101,
22850 OPC_RecordChild1,
22851 OPC_RecordChild2,
22852 OPC_CheckPatternPredicate1,
22853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
22854 MVT::v8i16, 2, 0, 1,
22855 13,
22856 OPC_CheckChild0Integer, 82|128,101,
22857 OPC_RecordChild1,
22858 OPC_RecordChild2,
22859 OPC_CheckPatternPredicate1,
22860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
22861 MVT::v8i16, 2, 0, 1,
22862 13,
22863 OPC_CheckChild0Integer, 84|128,101,
22864 OPC_RecordChild1,
22865 OPC_RecordChild2,
22866 OPC_CheckPatternPredicate1,
22867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
22868 MVT::v8i16, 2, 0, 1,
22869 13,
22870 OPC_CheckChild0Integer, 98|128,100,
22871 OPC_RecordChild1,
22872 OPC_RecordChild2,
22873 OPC_CheckPatternPredicate1,
22874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
22875 MVT::v8i16, 2, 0, 1,
22876 13,
22877 OPC_CheckChild0Integer, 100|128,100,
22878 OPC_RecordChild1,
22879 OPC_RecordChild2,
22880 OPC_CheckPatternPredicate1,
22881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
22882 MVT::v8i16, 2, 0, 1,
22883 13,
22884 OPC_CheckChild0Integer, 120|128,100,
22885 OPC_RecordChild1,
22886 OPC_RecordChild2,
22887 OPC_CheckPatternPredicate1,
22888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
22889 MVT::v8i16, 2, 0, 1,
22890 13,
22891 OPC_CheckChild0Integer, 76|128,106,
22892 OPC_RecordChild1,
22893 OPC_RecordChild2,
22894 OPC_CheckPatternPredicate1,
22895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
22896 MVT::v8i16, 2, 0, 1,
22897 13,
22898 OPC_CheckChild0Integer, 78|128,106,
22899 OPC_RecordChild1,
22900 OPC_RecordChild2,
22901 OPC_CheckPatternPredicate1,
22902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
22903 MVT::v8i16, 2, 0, 1,
22904 13,
22905 OPC_CheckChild0Integer, 110|128,106,
22906 OPC_RecordChild1,
22907 OPC_RecordChild2,
22908 OPC_CheckPatternPredicate1,
22909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_H),
22910 MVT::v4i32, 2, 0, 1,
22911 13,
22912 OPC_CheckChild0Integer, 6|128,107,
22913 OPC_RecordChild1,
22914 OPC_RecordChild2,
22915 OPC_CheckPatternPredicate1,
22916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_H),
22917 MVT::v4i32, 2, 0, 1,
22918 13,
22919 OPC_CheckChild0Integer, 112|128,106,
22920 OPC_RecordChild1,
22921 OPC_RecordChild2,
22922 OPC_CheckPatternPredicate1,
22923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU),
22924 MVT::v4i32, 2, 0, 1,
22925 13,
22926 OPC_CheckChild0Integer, 8|128,107,
22927 OPC_RecordChild1,
22928 OPC_RecordChild2,
22929 OPC_CheckPatternPredicate1,
22930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU),
22931 MVT::v4i32, 2, 0, 1,
22932 13,
22933 OPC_CheckChild0Integer, 114|128,106,
22934 OPC_RecordChild1,
22935 OPC_RecordChild2,
22936 OPC_CheckPatternPredicate1,
22937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU_H),
22938 MVT::v4i32, 2, 0, 1,
22939 13,
22940 OPC_CheckChild0Integer, 10|128,107,
22941 OPC_RecordChild1,
22942 OPC_RecordChild2,
22943 OPC_CheckPatternPredicate1,
22944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU_H),
22945 MVT::v4i32, 2, 0, 1,
22946 13,
22947 OPC_CheckChild0Integer, 76|128,108,
22948 OPC_RecordChild1,
22949 OPC_RecordChild2,
22950 OPC_CheckPatternPredicate1,
22951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
22952 MVT::v8i16, 2, 0, 1,
22953 13,
22954 OPC_CheckChild0Integer, 124|128,107,
22955 OPC_RecordChild1,
22956 OPC_RecordChild2,
22957 OPC_CheckPatternPredicate1,
22958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
22959 MVT::v8i16, 2, 0, 1,
22960 13,
22961 OPC_CheckChild0Integer, 10|128,110,
22962 OPC_RecordChild1,
22963 OPC_RecordChild2,
22964 OPC_CheckPatternPredicate1,
22965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
22966 MVT::v8i16, 2, 0, 1,
22967 13,
22968 OPC_CheckChild0Integer, 78|128,109,
22969 OPC_RecordChild1,
22970 OPC_RecordChild2,
22971 OPC_CheckPatternPredicate1,
22972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
22973 MVT::v8i16, 2, 0, 1,
22974 13,
22975 OPC_CheckChild0Integer, 120|128,109,
22976 OPC_RecordChild1,
22977 OPC_RecordChild2,
22978 OPC_CheckPatternPredicate1,
22979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_B_H),
22980 MVT::v16i8, 2, 0, 1,
22981 13,
22982 OPC_CheckChild0Integer, 60|128,109,
22983 OPC_RecordChild1,
22984 OPC_RecordChild2,
22985 OPC_CheckPatternPredicate1,
22986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_B_H),
22987 MVT::v16i8, 2, 0, 1,
22988 13,
22989 OPC_CheckChild0Integer, 22|128,110,
22990 OPC_RecordChild1,
22991 OPC_RecordChild2,
22992 OPC_CheckPatternPredicate1,
22993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_B_H),
22994 MVT::v16i8, 2, 0, 1,
22995 13,
22996 OPC_CheckChild0Integer, 90|128,109,
22997 OPC_RecordChild1,
22998 OPC_RecordChild2,
22999 OPC_CheckPatternPredicate1,
23000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_B_H),
23001 MVT::v16i8, 2, 0, 1,
23002 13,
23003 OPC_CheckChild0Integer, 92|128,110,
23004 OPC_RecordChild1,
23005 OPC_RecordChild2,
23006 OPC_CheckPatternPredicate1,
23007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_B_H),
23008 MVT::v16i8, 2, 0, 1,
23009 13,
23010 OPC_CheckChild0Integer, 36|128,110,
23011 OPC_RecordChild1,
23012 OPC_RecordChild2,
23013 OPC_CheckPatternPredicate1,
23014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_B_H),
23015 MVT::v16i8, 2, 0, 1,
23016 13,
23017 OPC_CheckChild0Integer, 94|128,110,
23018 OPC_RecordChild1,
23019 OPC_RecordChild2,
23020 OPC_CheckPatternPredicate1,
23021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_BU_H),
23022 MVT::v16i8, 2, 0, 1,
23023 13,
23024 OPC_CheckChild0Integer, 38|128,110,
23025 OPC_RecordChild1,
23026 OPC_RecordChild2,
23027 OPC_CheckPatternPredicate1,
23028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_BU_H),
23029 MVT::v16i8, 2, 0, 1,
23030 13,
23031 OPC_CheckChild0Integer, 120|128,110,
23032 OPC_RecordChild1,
23033 OPC_RecordChild2,
23034 OPC_CheckPatternPredicate1,
23035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_B_H),
23036 MVT::v16i8, 2, 0, 1,
23037 13,
23038 OPC_CheckChild0Integer, 64|128,110,
23039 OPC_RecordChild1,
23040 OPC_RecordChild2,
23041 OPC_CheckPatternPredicate1,
23042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_B_H),
23043 MVT::v16i8, 2, 0, 1,
23044 13,
23045 OPC_CheckChild0Integer, 122|128,110,
23046 OPC_RecordChild1,
23047 OPC_RecordChild2,
23048 OPC_CheckPatternPredicate1,
23049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_BU_H),
23050 MVT::v16i8, 2, 0, 1,
23051 13,
23052 OPC_CheckChild0Integer, 66|128,110,
23053 OPC_RecordChild1,
23054 OPC_RecordChild2,
23055 OPC_CheckPatternPredicate1,
23056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_BU_H),
23057 MVT::v16i8, 2, 0, 1,
23058 13,
23059 OPC_CheckChild0Integer, 44|128,108,
23060 OPC_RecordChild1,
23061 OPC_RecordChild2,
23062 OPC_CheckPatternPredicate1,
23063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
23064 MVT::v8i16, 2, 0, 1,
23065 13,
23066 OPC_CheckChild0Integer, 88|128,108,
23067 OPC_RecordChild1,
23068 OPC_RecordChild2,
23069 OPC_CheckPatternPredicate1,
23070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
23071 MVT::v8i16, 2, 0, 1,
23072 13,
23073 OPC_CheckChild0Integer, 90|128,108,
23074 OPC_RecordChild1,
23075 OPC_RecordChild2,
23076 OPC_CheckPatternPredicate1,
23077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
23078 MVT::v8i16, 2, 0, 1,
23079 13,
23080 OPC_CheckChild0Integer, 20|128,109,
23081 OPC_RecordChild1,
23082 OPC_RecordChild2,
23083 OPC_CheckPatternPredicate1,
23084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
23085 MVT::v8i16, 2, 0, 1,
23086 13,
23087 OPC_CheckChild0Integer, 22|128,109,
23088 OPC_RecordChild1,
23089 OPC_RecordChild2,
23090 OPC_CheckPatternPredicate1,
23091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
23092 MVT::v8i16, 2, 0, 1,
23093 13,
23094 OPC_CheckChild0Integer, 34|128,107,
23095 OPC_RecordChild1,
23096 OPC_RecordChild2,
23097 OPC_CheckPatternPredicate1,
23098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
23099 MVT::v8i16, 2, 0, 1,
23100 13,
23101 OPC_CheckChild0Integer, 42|128,107,
23102 OPC_RecordChild1,
23103 OPC_RecordChild2,
23104 OPC_CheckPatternPredicate1,
23105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
23106 MVT::v8i16, 2, 0, 1,
23107 13,
23108 OPC_CheckChild0Integer, 60|128,107,
23109 OPC_RecordChild1,
23110 OPC_RecordChild2,
23111 OPC_CheckPatternPredicate1,
23112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
23113 MVT::v8i16, 2, 0, 1,
23114 13,
23115 OPC_CheckChild0Integer, 68|128,107,
23116 OPC_RecordChild1,
23117 OPC_RecordChild2,
23118 OPC_CheckPatternPredicate1,
23119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
23120 MVT::v8i16, 2, 0, 1,
23121 13,
23122 OPC_CheckChild0Integer, 14|128,105,
23123 OPC_RecordChild1,
23124 OPC_RecordChild2,
23125 OPC_CheckPatternPredicate1,
23126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
23127 MVT::v8i16, 2, 0, 1,
23128 13,
23129 OPC_CheckChild0Integer, 6|128,105,
23130 OPC_RecordChild1,
23131 OPC_RecordChild2,
23132 OPC_CheckPatternPredicate1,
23133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
23134 MVT::v8i16, 2, 0, 1,
23135 13,
23136 OPC_CheckChild0Integer, 20|128,108,
23137 OPC_RecordChild1,
23138 OPC_RecordChild2,
23139 OPC_CheckPatternPredicate1,
23140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
23141 MVT::v4i32, 2, 0, 1,
23142 13,
23143 OPC_CheckChild0Integer, 22|128,108,
23144 OPC_RecordChild1,
23145 OPC_RecordChild2,
23146 OPC_CheckPatternPredicate1,
23147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
23148 MVT::v4i32, 2, 0, 1,
23149 13,
23150 OPC_CheckChild0Integer, 32|128,111,
23151 OPC_RecordChild1,
23152 OPC_RecordChild2,
23153 OPC_CheckPatternPredicate1,
23154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
23155 MVT::v4i32, 2, 0, 1,
23156 13,
23157 OPC_CheckChild0Integer, 34|128,111,
23158 OPC_RecordChild1,
23159 OPC_RecordChild2,
23160 OPC_CheckPatternPredicate1,
23161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
23162 MVT::v4i32, 2, 0, 1,
23163 13,
23164 OPC_CheckChild0Integer, 98|128,104,
23165 OPC_RecordChild1,
23166 OPC_RecordChild2,
23167 OPC_CheckPatternPredicate1,
23168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
23169 MVT::v2i64, 2, 0, 1,
23170 13,
23171 OPC_CheckChild0Integer, 100|128,104,
23172 OPC_RecordChild1,
23173 OPC_RecordChild2,
23174 OPC_CheckPatternPredicate1,
23175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
23176 MVT::v2i64, 2, 0, 1,
23177 13,
23178 OPC_CheckChild0Integer, 114|128,104,
23179 OPC_RecordChild1,
23180 OPC_RecordChild2,
23181 OPC_CheckPatternPredicate1,
23182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
23183 MVT::v2i64, 2, 0, 1,
23184 13,
23185 OPC_CheckChild0Integer, 116|128,104,
23186 OPC_RecordChild1,
23187 OPC_RecordChild2,
23188 OPC_CheckPatternPredicate1,
23189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
23190 MVT::v2i64, 2, 0, 1,
23191 13,
23192 OPC_CheckChild0Integer, 4|128,101,
23193 OPC_RecordChild1,
23194 OPC_RecordChild2,
23195 OPC_CheckPatternPredicate1,
23196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_W),
23197 MVT::v2i64, 2, 0, 1,
23198 13,
23199 OPC_CheckChild0Integer, 28|128,101,
23200 OPC_RecordChild1,
23201 OPC_RecordChild2,
23202 OPC_CheckPatternPredicate1,
23203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_W),
23204 MVT::v2i64, 2, 0, 1,
23205 13,
23206 OPC_CheckChild0Integer, 66|128,111,
23207 OPC_RecordChild1,
23208 OPC_RecordChild2,
23209 OPC_CheckPatternPredicate1,
23210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_W),
23211 MVT::v2i64, 2, 0, 1,
23212 13,
23213 OPC_CheckChild0Integer, 82|128,111,
23214 OPC_RecordChild1,
23215 OPC_RecordChild2,
23216 OPC_CheckPatternPredicate1,
23217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_W),
23218 MVT::v2i64, 2, 0, 1,
23219 13,
23220 OPC_CheckChild0Integer, 6|128,101,
23221 OPC_RecordChild1,
23222 OPC_RecordChild2,
23223 OPC_CheckPatternPredicate1,
23224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU),
23225 MVT::v2i64, 2, 0, 1,
23226 13,
23227 OPC_CheckChild0Integer, 30|128,101,
23228 OPC_RecordChild1,
23229 OPC_RecordChild2,
23230 OPC_CheckPatternPredicate1,
23231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU),
23232 MVT::v2i64, 2, 0, 1,
23233 13,
23234 OPC_CheckChild0Integer, 68|128,111,
23235 OPC_RecordChild1,
23236 OPC_RecordChild2,
23237 OPC_CheckPatternPredicate1,
23238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_WU),
23239 MVT::v2i64, 2, 0, 1,
23240 13,
23241 OPC_CheckChild0Integer, 84|128,111,
23242 OPC_RecordChild1,
23243 OPC_RecordChild2,
23244 OPC_CheckPatternPredicate1,
23245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_WU),
23246 MVT::v2i64, 2, 0, 1,
23247 13,
23248 OPC_CheckChild0Integer, 8|128,101,
23249 OPC_RecordChild1,
23250 OPC_RecordChild2,
23251 OPC_CheckPatternPredicate1,
23252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU_W),
23253 MVT::v2i64, 2, 0, 1,
23254 13,
23255 OPC_CheckChild0Integer, 32|128,101,
23256 OPC_RecordChild1,
23257 OPC_RecordChild2,
23258 OPC_CheckPatternPredicate1,
23259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU_W),
23260 MVT::v2i64, 2, 0, 1,
23261 13,
23262 OPC_CheckChild0Integer, 70|128,101,
23263 OPC_RecordChild1,
23264 OPC_RecordChild2,
23265 OPC_CheckPatternPredicate1,
23266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
23267 MVT::v4i32, 2, 0, 1,
23268 13,
23269 OPC_CheckChild0Integer, 72|128,101,
23270 OPC_RecordChild1,
23271 OPC_RecordChild2,
23272 OPC_CheckPatternPredicate1,
23273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
23274 MVT::v4i32, 2, 0, 1,
23275 13,
23276 OPC_CheckChild0Integer, 86|128,101,
23277 OPC_RecordChild1,
23278 OPC_RecordChild2,
23279 OPC_CheckPatternPredicate1,
23280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
23281 MVT::v4i32, 2, 0, 1,
23282 13,
23283 OPC_CheckChild0Integer, 88|128,101,
23284 OPC_RecordChild1,
23285 OPC_RecordChild2,
23286 OPC_CheckPatternPredicate1,
23287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
23288 MVT::v4i32, 2, 0, 1,
23289 13,
23290 OPC_CheckChild0Integer, 102|128,100,
23291 OPC_RecordChild1,
23292 OPC_RecordChild2,
23293 OPC_CheckPatternPredicate1,
23294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
23295 MVT::v4i32, 2, 0, 1,
23296 13,
23297 OPC_CheckChild0Integer, 104|128,100,
23298 OPC_RecordChild1,
23299 OPC_RecordChild2,
23300 OPC_CheckPatternPredicate1,
23301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
23302 MVT::v4i32, 2, 0, 1,
23303 13,
23304 OPC_CheckChild0Integer, 122|128,100,
23305 OPC_RecordChild1,
23306 OPC_RecordChild2,
23307 OPC_CheckPatternPredicate1,
23308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
23309 MVT::v4i32, 2, 0, 1,
23310 13,
23311 OPC_CheckChild0Integer, 80|128,106,
23312 OPC_RecordChild1,
23313 OPC_RecordChild2,
23314 OPC_CheckPatternPredicate1,
23315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
23316 MVT::v4i32, 2, 0, 1,
23317 13,
23318 OPC_CheckChild0Integer, 82|128,106,
23319 OPC_RecordChild1,
23320 OPC_RecordChild2,
23321 OPC_CheckPatternPredicate1,
23322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
23323 MVT::v4i32, 2, 0, 1,
23324 13,
23325 OPC_CheckChild0Integer, 92|128,106,
23326 OPC_RecordChild1,
23327 OPC_RecordChild2,
23328 OPC_CheckPatternPredicate1,
23329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_W),
23330 MVT::v2i64, 2, 0, 1,
23331 13,
23332 OPC_CheckChild0Integer, 116|128,106,
23333 OPC_RecordChild1,
23334 OPC_RecordChild2,
23335 OPC_CheckPatternPredicate1,
23336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_W),
23337 MVT::v2i64, 2, 0, 1,
23338 13,
23339 OPC_CheckChild0Integer, 94|128,106,
23340 OPC_RecordChild1,
23341 OPC_RecordChild2,
23342 OPC_CheckPatternPredicate1,
23343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU),
23344 MVT::v2i64, 2, 0, 1,
23345 13,
23346 OPC_CheckChild0Integer, 118|128,106,
23347 OPC_RecordChild1,
23348 OPC_RecordChild2,
23349 OPC_CheckPatternPredicate1,
23350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU),
23351 MVT::v2i64, 2, 0, 1,
23352 13,
23353 OPC_CheckChild0Integer, 96|128,106,
23354 OPC_RecordChild1,
23355 OPC_RecordChild2,
23356 OPC_CheckPatternPredicate1,
23357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU_W),
23358 MVT::v2i64, 2, 0, 1,
23359 13,
23360 OPC_CheckChild0Integer, 120|128,106,
23361 OPC_RecordChild1,
23362 OPC_RecordChild2,
23363 OPC_CheckPatternPredicate1,
23364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU_W),
23365 MVT::v2i64, 2, 0, 1,
23366 13,
23367 OPC_CheckChild0Integer, 78|128,108,
23368 OPC_RecordChild1,
23369 OPC_RecordChild2,
23370 OPC_CheckPatternPredicate1,
23371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
23372 MVT::v4i32, 2, 0, 1,
23373 13,
23374 OPC_CheckChild0Integer, 126|128,107,
23375 OPC_RecordChild1,
23376 OPC_RecordChild2,
23377 OPC_CheckPatternPredicate1,
23378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
23379 MVT::v4i32, 2, 0, 1,
23380 13,
23381 OPC_CheckChild0Integer, 12|128,110,
23382 OPC_RecordChild1,
23383 OPC_RecordChild2,
23384 OPC_CheckPatternPredicate1,
23385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
23386 MVT::v4i32, 2, 0, 1,
23387 13,
23388 OPC_CheckChild0Integer, 80|128,109,
23389 OPC_RecordChild1,
23390 OPC_RecordChild2,
23391 OPC_CheckPatternPredicate1,
23392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
23393 MVT::v4i32, 2, 0, 1,
23394 13,
23395 OPC_CheckChild0Integer, 122|128,109,
23396 OPC_RecordChild1,
23397 OPC_RecordChild2,
23398 OPC_CheckPatternPredicate1,
23399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_H_W),
23400 MVT::v8i16, 2, 0, 1,
23401 13,
23402 OPC_CheckChild0Integer, 62|128,109,
23403 OPC_RecordChild1,
23404 OPC_RecordChild2,
23405 OPC_CheckPatternPredicate1,
23406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_H_W),
23407 MVT::v8i16, 2, 0, 1,
23408 13,
23409 OPC_CheckChild0Integer, 24|128,110,
23410 OPC_RecordChild1,
23411 OPC_RecordChild2,
23412 OPC_CheckPatternPredicate1,
23413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_H_W),
23414 MVT::v8i16, 2, 0, 1,
23415 13,
23416 OPC_CheckChild0Integer, 92|128,109,
23417 OPC_RecordChild1,
23418 OPC_RecordChild2,
23419 OPC_CheckPatternPredicate1,
23420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_H_W),
23421 MVT::v8i16, 2, 0, 1,
23422 13,
23423 OPC_CheckChild0Integer, 96|128,110,
23424 OPC_RecordChild1,
23425 OPC_RecordChild2,
23426 OPC_CheckPatternPredicate1,
23427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_H_W),
23428 MVT::v8i16, 2, 0, 1,
23429 13,
23430 OPC_CheckChild0Integer, 40|128,110,
23431 OPC_RecordChild1,
23432 OPC_RecordChild2,
23433 OPC_CheckPatternPredicate1,
23434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_H_W),
23435 MVT::v8i16, 2, 0, 1,
23436 13,
23437 OPC_CheckChild0Integer, 98|128,110,
23438 OPC_RecordChild1,
23439 OPC_RecordChild2,
23440 OPC_CheckPatternPredicate1,
23441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_HU_W),
23442 MVT::v8i16, 2, 0, 1,
23443 13,
23444 OPC_CheckChild0Integer, 42|128,110,
23445 OPC_RecordChild1,
23446 OPC_RecordChild2,
23447 OPC_CheckPatternPredicate1,
23448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_HU_W),
23449 MVT::v8i16, 2, 0, 1,
23450 13,
23451 OPC_CheckChild0Integer, 124|128,110,
23452 OPC_RecordChild1,
23453 OPC_RecordChild2,
23454 OPC_CheckPatternPredicate1,
23455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_H_W),
23456 MVT::v8i16, 2, 0, 1,
23457 13,
23458 OPC_CheckChild0Integer, 68|128,110,
23459 OPC_RecordChild1,
23460 OPC_RecordChild2,
23461 OPC_CheckPatternPredicate1,
23462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_H_W),
23463 MVT::v8i16, 2, 0, 1,
23464 13,
23465 OPC_CheckChild0Integer, 126|128,110,
23466 OPC_RecordChild1,
23467 OPC_RecordChild2,
23468 OPC_CheckPatternPredicate1,
23469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_HU_W),
23470 MVT::v8i16, 2, 0, 1,
23471 13,
23472 OPC_CheckChild0Integer, 70|128,110,
23473 OPC_RecordChild1,
23474 OPC_RecordChild2,
23475 OPC_CheckPatternPredicate1,
23476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_HU_W),
23477 MVT::v8i16, 2, 0, 1,
23478 13,
23479 OPC_CheckChild0Integer, 46|128,108,
23480 OPC_RecordChild1,
23481 OPC_RecordChild2,
23482 OPC_CheckPatternPredicate1,
23483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
23484 MVT::v4i32, 2, 0, 1,
23485 13,
23486 OPC_CheckChild0Integer, 92|128,108,
23487 OPC_RecordChild1,
23488 OPC_RecordChild2,
23489 OPC_CheckPatternPredicate1,
23490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
23491 MVT::v4i32, 2, 0, 1,
23492 13,
23493 OPC_CheckChild0Integer, 94|128,108,
23494 OPC_RecordChild1,
23495 OPC_RecordChild2,
23496 OPC_CheckPatternPredicate1,
23497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
23498 MVT::v4i32, 2, 0, 1,
23499 13,
23500 OPC_CheckChild0Integer, 24|128,109,
23501 OPC_RecordChild1,
23502 OPC_RecordChild2,
23503 OPC_CheckPatternPredicate1,
23504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
23505 MVT::v4i32, 2, 0, 1,
23506 13,
23507 OPC_CheckChild0Integer, 26|128,109,
23508 OPC_RecordChild1,
23509 OPC_RecordChild2,
23510 OPC_CheckPatternPredicate1,
23511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
23512 MVT::v4i32, 2, 0, 1,
23513 13,
23514 OPC_CheckChild0Integer, 36|128,107,
23515 OPC_RecordChild1,
23516 OPC_RecordChild2,
23517 OPC_CheckPatternPredicate1,
23518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
23519 MVT::v4i32, 2, 0, 1,
23520 13,
23521 OPC_CheckChild0Integer, 44|128,107,
23522 OPC_RecordChild1,
23523 OPC_RecordChild2,
23524 OPC_CheckPatternPredicate1,
23525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
23526 MVT::v4i32, 2, 0, 1,
23527 13,
23528 OPC_CheckChild0Integer, 62|128,107,
23529 OPC_RecordChild1,
23530 OPC_RecordChild2,
23531 OPC_CheckPatternPredicate1,
23532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
23533 MVT::v4i32, 2, 0, 1,
23534 13,
23535 OPC_CheckChild0Integer, 70|128,107,
23536 OPC_RecordChild1,
23537 OPC_RecordChild2,
23538 OPC_CheckPatternPredicate1,
23539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
23540 MVT::v4i32, 2, 0, 1,
23541 13,
23542 OPC_CheckChild0Integer, 16|128,105,
23543 OPC_RecordChild1,
23544 OPC_RecordChild2,
23545 OPC_CheckPatternPredicate1,
23546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
23547 MVT::v4i32, 2, 0, 1,
23548 13,
23549 OPC_CheckChild0Integer, 8|128,105,
23550 OPC_RecordChild1,
23551 OPC_RecordChild2,
23552 OPC_CheckPatternPredicate1,
23553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
23554 MVT::v4i32, 2, 0, 1,
23555 13,
23556 OPC_CheckChild0Integer, 112|128,100,
23557 OPC_RecordChild1,
23558 OPC_RecordChild2,
23559 OPC_CheckPatternPredicate1,
23560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_Q),
23561 MVT::v2i64, 2, 0, 1,
23562 13,
23563 OPC_CheckChild0Integer, 54|128,111,
23564 OPC_RecordChild1,
23565 OPC_RecordChild2,
23566 OPC_CheckPatternPredicate1,
23567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_Q),
23568 MVT::v2i64, 2, 0, 1,
23569 13,
23570 OPC_CheckChild0Integer, 12|128,108,
23571 OPC_RecordChild1,
23572 OPC_RecordChild2,
23573 OPC_CheckPatternPredicate1,
23574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
23575 MVT::v2i64, 2, 0, 1,
23576 13,
23577 OPC_CheckChild0Integer, 14|128,108,
23578 OPC_RecordChild1,
23579 OPC_RecordChild2,
23580 OPC_CheckPatternPredicate1,
23581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
23582 MVT::v2i64, 2, 0, 1,
23583 13,
23584 OPC_CheckChild0Integer, 24|128,111,
23585 OPC_RecordChild1,
23586 OPC_RecordChild2,
23587 OPC_CheckPatternPredicate1,
23588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
23589 MVT::v2i64, 2, 0, 1,
23590 13,
23591 OPC_CheckChild0Integer, 26|128,111,
23592 OPC_RecordChild1,
23593 OPC_RecordChild2,
23594 OPC_CheckPatternPredicate1,
23595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
23596 MVT::v2i64, 2, 0, 1,
23597 13,
23598 OPC_CheckChild0Integer, 106|128,104,
23599 OPC_RecordChild1,
23600 OPC_RecordChild2,
23601 OPC_CheckPatternPredicate1,
23602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
23603 MVT::v2i64, 2, 0, 1,
23604 13,
23605 OPC_CheckChild0Integer, 108|128,104,
23606 OPC_RecordChild1,
23607 OPC_RecordChild2,
23608 OPC_CheckPatternPredicate1,
23609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
23610 MVT::v2i64, 2, 0, 1,
23611 13,
23612 OPC_CheckChild0Integer, 122|128,104,
23613 OPC_RecordChild1,
23614 OPC_RecordChild2,
23615 OPC_CheckPatternPredicate1,
23616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
23617 MVT::v2i64, 2, 0, 1,
23618 13,
23619 OPC_CheckChild0Integer, 124|128,104,
23620 OPC_RecordChild1,
23621 OPC_RecordChild2,
23622 OPC_CheckPatternPredicate1,
23623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
23624 MVT::v2i64, 2, 0, 1,
23625 13,
23626 OPC_CheckChild0Integer, 16|128,101,
23627 OPC_RecordChild1,
23628 OPC_RecordChild2,
23629 OPC_CheckPatternPredicate1,
23630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_D),
23631 MVT::v2i64, 2, 0, 1,
23632 13,
23633 OPC_CheckChild0Integer, 40|128,101,
23634 OPC_RecordChild1,
23635 OPC_RecordChild2,
23636 OPC_CheckPatternPredicate1,
23637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_D),
23638 MVT::v2i64, 2, 0, 1,
23639 13,
23640 OPC_CheckChild0Integer, 74|128,111,
23641 OPC_RecordChild1,
23642 OPC_RecordChild2,
23643 OPC_CheckPatternPredicate1,
23644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_D),
23645 MVT::v2i64, 2, 0, 1,
23646 13,
23647 OPC_CheckChild0Integer, 90|128,111,
23648 OPC_RecordChild1,
23649 OPC_RecordChild2,
23650 OPC_CheckPatternPredicate1,
23651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_D),
23652 MVT::v2i64, 2, 0, 1,
23653 13,
23654 OPC_CheckChild0Integer, 18|128,101,
23655 OPC_RecordChild1,
23656 OPC_RecordChild2,
23657 OPC_CheckPatternPredicate1,
23658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU),
23659 MVT::v2i64, 2, 0, 1,
23660 13,
23661 OPC_CheckChild0Integer, 42|128,101,
23662 OPC_RecordChild1,
23663 OPC_RecordChild2,
23664 OPC_CheckPatternPredicate1,
23665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU),
23666 MVT::v2i64, 2, 0, 1,
23667 13,
23668 OPC_CheckChild0Integer, 76|128,111,
23669 OPC_RecordChild1,
23670 OPC_RecordChild2,
23671 OPC_CheckPatternPredicate1,
23672 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_DU),
23673 MVT::v2i64, 2, 0, 1,
23674 13,
23675 OPC_CheckChild0Integer, 92|128,111,
23676 OPC_RecordChild1,
23677 OPC_RecordChild2,
23678 OPC_CheckPatternPredicate1,
23679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_DU),
23680 MVT::v2i64, 2, 0, 1,
23681 13,
23682 OPC_CheckChild0Integer, 20|128,101,
23683 OPC_RecordChild1,
23684 OPC_RecordChild2,
23685 OPC_CheckPatternPredicate1,
23686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU_D),
23687 MVT::v2i64, 2, 0, 1,
23688 13,
23689 OPC_CheckChild0Integer, 44|128,101,
23690 OPC_RecordChild1,
23691 OPC_RecordChild2,
23692 OPC_CheckPatternPredicate1,
23693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU_D),
23694 MVT::v2i64, 2, 0, 1,
23695 13,
23696 OPC_CheckChild0Integer, 62|128,101,
23697 OPC_RecordChild1,
23698 OPC_RecordChild2,
23699 OPC_CheckPatternPredicate1,
23700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
23701 MVT::v2i64, 2, 0, 1,
23702 13,
23703 OPC_CheckChild0Integer, 64|128,101,
23704 OPC_RecordChild1,
23705 OPC_RecordChild2,
23706 OPC_CheckPatternPredicate1,
23707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
23708 MVT::v2i64, 2, 0, 1,
23709 13,
23710 OPC_CheckChild0Integer, 78|128,101,
23711 OPC_RecordChild1,
23712 OPC_RecordChild2,
23713 OPC_CheckPatternPredicate1,
23714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
23715 MVT::v2i64, 2, 0, 1,
23716 13,
23717 OPC_CheckChild0Integer, 80|128,101,
23718 OPC_RecordChild1,
23719 OPC_RecordChild2,
23720 OPC_CheckPatternPredicate1,
23721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
23722 MVT::v2i64, 2, 0, 1,
23723 13,
23724 OPC_CheckChild0Integer, 94|128,100,
23725 OPC_RecordChild1,
23726 OPC_RecordChild2,
23727 OPC_CheckPatternPredicate1,
23728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
23729 MVT::v2i64, 2, 0, 1,
23730 13,
23731 OPC_CheckChild0Integer, 96|128,100,
23732 OPC_RecordChild1,
23733 OPC_RecordChild2,
23734 OPC_CheckPatternPredicate1,
23735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
23736 MVT::v2i64, 2, 0, 1,
23737 13,
23738 OPC_CheckChild0Integer, 118|128,100,
23739 OPC_RecordChild1,
23740 OPC_RecordChild2,
23741 OPC_CheckPatternPredicate1,
23742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
23743 MVT::v2i64, 2, 0, 1,
23744 13,
23745 OPC_CheckChild0Integer, 72|128,106,
23746 OPC_RecordChild1,
23747 OPC_RecordChild2,
23748 OPC_CheckPatternPredicate1,
23749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
23750 MVT::v2i64, 2, 0, 1,
23751 13,
23752 OPC_CheckChild0Integer, 74|128,106,
23753 OPC_RecordChild1,
23754 OPC_RecordChild2,
23755 OPC_CheckPatternPredicate1,
23756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
23757 MVT::v2i64, 2, 0, 1,
23758 13,
23759 OPC_CheckChild0Integer, 104|128,106,
23760 OPC_RecordChild1,
23761 OPC_RecordChild2,
23762 OPC_CheckPatternPredicate1,
23763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_D),
23764 MVT::v2i64, 2, 0, 1,
23765 13,
23766 OPC_CheckChild0Integer, 0|128,107,
23767 OPC_RecordChild1,
23768 OPC_RecordChild2,
23769 OPC_CheckPatternPredicate1,
23770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_D),
23771 MVT::v2i64, 2, 0, 1,
23772 13,
23773 OPC_CheckChild0Integer, 106|128,106,
23774 OPC_RecordChild1,
23775 OPC_RecordChild2,
23776 OPC_CheckPatternPredicate1,
23777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU),
23778 MVT::v2i64, 2, 0, 1,
23779 13,
23780 OPC_CheckChild0Integer, 2|128,107,
23781 OPC_RecordChild1,
23782 OPC_RecordChild2,
23783 OPC_CheckPatternPredicate1,
23784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU),
23785 MVT::v2i64, 2, 0, 1,
23786 13,
23787 OPC_CheckChild0Integer, 108|128,106,
23788 OPC_RecordChild1,
23789 OPC_RecordChild2,
23790 OPC_CheckPatternPredicate1,
23791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU_D),
23792 MVT::v2i64, 2, 0, 1,
23793 13,
23794 OPC_CheckChild0Integer, 4|128,107,
23795 OPC_RecordChild1,
23796 OPC_RecordChild2,
23797 OPC_CheckPatternPredicate1,
23798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU_D),
23799 MVT::v2i64, 2, 0, 1,
23800 13,
23801 OPC_CheckChild0Integer, 74|128,108,
23802 OPC_RecordChild1,
23803 OPC_RecordChild2,
23804 OPC_CheckPatternPredicate1,
23805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
23806 MVT::v2i64, 2, 0, 1,
23807 13,
23808 OPC_CheckChild0Integer, 122|128,107,
23809 OPC_RecordChild1,
23810 OPC_RecordChild2,
23811 OPC_CheckPatternPredicate1,
23812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
23813 MVT::v2i64, 2, 0, 1,
23814 13,
23815 OPC_CheckChild0Integer, 8|128,110,
23816 OPC_RecordChild1,
23817 OPC_RecordChild2,
23818 OPC_CheckPatternPredicate1,
23819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
23820 MVT::v2i64, 2, 0, 1,
23821 13,
23822 OPC_CheckChild0Integer, 76|128,109,
23823 OPC_RecordChild1,
23824 OPC_RecordChild2,
23825 OPC_CheckPatternPredicate1,
23826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
23827 MVT::v2i64, 2, 0, 1,
23828 13,
23829 OPC_CheckChild0Integer, 124|128,109,
23830 OPC_RecordChild1,
23831 OPC_RecordChild2,
23832 OPC_CheckPatternPredicate1,
23833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_W_D),
23834 MVT::v4i32, 2, 0, 1,
23835 13,
23836 OPC_CheckChild0Integer, 64|128,109,
23837 OPC_RecordChild1,
23838 OPC_RecordChild2,
23839 OPC_CheckPatternPredicate1,
23840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_W_D),
23841 MVT::v4i32, 2, 0, 1,
23842 13,
23843 OPC_CheckChild0Integer, 26|128,110,
23844 OPC_RecordChild1,
23845 OPC_RecordChild2,
23846 OPC_CheckPatternPredicate1,
23847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_W_D),
23848 MVT::v4i32, 2, 0, 1,
23849 13,
23850 OPC_CheckChild0Integer, 94|128,109,
23851 OPC_RecordChild1,
23852 OPC_RecordChild2,
23853 OPC_CheckPatternPredicate1,
23854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_W_D),
23855 MVT::v4i32, 2, 0, 1,
23856 13,
23857 OPC_CheckChild0Integer, 100|128,110,
23858 OPC_RecordChild1,
23859 OPC_RecordChild2,
23860 OPC_CheckPatternPredicate1,
23861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_W_D),
23862 MVT::v4i32, 2, 0, 1,
23863 13,
23864 OPC_CheckChild0Integer, 44|128,110,
23865 OPC_RecordChild1,
23866 OPC_RecordChild2,
23867 OPC_CheckPatternPredicate1,
23868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_W_D),
23869 MVT::v4i32, 2, 0, 1,
23870 13,
23871 OPC_CheckChild0Integer, 102|128,110,
23872 OPC_RecordChild1,
23873 OPC_RecordChild2,
23874 OPC_CheckPatternPredicate1,
23875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_WU_D),
23876 MVT::v4i32, 2, 0, 1,
23877 13,
23878 OPC_CheckChild0Integer, 46|128,110,
23879 OPC_RecordChild1,
23880 OPC_RecordChild2,
23881 OPC_CheckPatternPredicate1,
23882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_WU_D),
23883 MVT::v4i32, 2, 0, 1,
23884 13,
23885 OPC_CheckChild0Integer, 0|128,111,
23886 OPC_RecordChild1,
23887 OPC_RecordChild2,
23888 OPC_CheckPatternPredicate1,
23889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_W_D),
23890 MVT::v4i32, 2, 0, 1,
23891 13,
23892 OPC_CheckChild0Integer, 72|128,110,
23893 OPC_RecordChild1,
23894 OPC_RecordChild2,
23895 OPC_CheckPatternPredicate1,
23896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_W_D),
23897 MVT::v4i32, 2, 0, 1,
23898 13,
23899 OPC_CheckChild0Integer, 2|128,111,
23900 OPC_RecordChild1,
23901 OPC_RecordChild2,
23902 OPC_CheckPatternPredicate1,
23903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_WU_D),
23904 MVT::v4i32, 2, 0, 1,
23905 13,
23906 OPC_CheckChild0Integer, 74|128,110,
23907 OPC_RecordChild1,
23908 OPC_RecordChild2,
23909 OPC_CheckPatternPredicate1,
23910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_WU_D),
23911 MVT::v4i32, 2, 0, 1,
23912 13,
23913 OPC_CheckChild0Integer, 42|128,108,
23914 OPC_RecordChild1,
23915 OPC_RecordChild2,
23916 OPC_CheckPatternPredicate1,
23917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
23918 MVT::v2i64, 2, 0, 1,
23919 13,
23920 OPC_CheckChild0Integer, 84|128,108,
23921 OPC_RecordChild1,
23922 OPC_RecordChild2,
23923 OPC_CheckPatternPredicate1,
23924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
23925 MVT::v2i64, 2, 0, 1,
23926 13,
23927 OPC_CheckChild0Integer, 86|128,108,
23928 OPC_RecordChild1,
23929 OPC_RecordChild2,
23930 OPC_CheckPatternPredicate1,
23931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
23932 MVT::v2i64, 2, 0, 1,
23933 13,
23934 OPC_CheckChild0Integer, 16|128,109,
23935 OPC_RecordChild1,
23936 OPC_RecordChild2,
23937 OPC_CheckPatternPredicate1,
23938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
23939 MVT::v2i64, 2, 0, 1,
23940 13,
23941 OPC_CheckChild0Integer, 18|128,109,
23942 OPC_RecordChild1,
23943 OPC_RecordChild2,
23944 OPC_CheckPatternPredicate1,
23945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
23946 MVT::v2i64, 2, 0, 1,
23947 13,
23948 OPC_CheckChild0Integer, 32|128,107,
23949 OPC_RecordChild1,
23950 OPC_RecordChild2,
23951 OPC_CheckPatternPredicate1,
23952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
23953 MVT::v2i64, 2, 0, 1,
23954 13,
23955 OPC_CheckChild0Integer, 40|128,107,
23956 OPC_RecordChild1,
23957 OPC_RecordChild2,
23958 OPC_CheckPatternPredicate1,
23959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
23960 MVT::v2i64, 2, 0, 1,
23961 13,
23962 OPC_CheckChild0Integer, 58|128,107,
23963 OPC_RecordChild1,
23964 OPC_RecordChild2,
23965 OPC_CheckPatternPredicate1,
23966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
23967 MVT::v2i64, 2, 0, 1,
23968 13,
23969 OPC_CheckChild0Integer, 66|128,107,
23970 OPC_RecordChild1,
23971 OPC_RecordChild2,
23972 OPC_CheckPatternPredicate1,
23973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
23974 MVT::v2i64, 2, 0, 1,
23975 13,
23976 OPC_CheckChild0Integer, 12|128,105,
23977 OPC_RecordChild1,
23978 OPC_RecordChild2,
23979 OPC_CheckPatternPredicate1,
23980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
23981 MVT::v2i64, 2, 0, 1,
23982 13,
23983 OPC_CheckChild0Integer, 4|128,105,
23984 OPC_RecordChild1,
23985 OPC_RecordChild2,
23986 OPC_CheckPatternPredicate1,
23987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
23988 MVT::v2i64, 2, 0, 1,
23989 15,
23990 OPC_CheckChild0Integer, 54|128,105,
23991 OPC_RecordChild1,
23992 OPC_RecordChild2,
23993 OPC_RecordChild3,
23994 OPC_CheckPatternPredicate1,
23995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_B),
23996 MVT::v8i16, 3, 0, 1, 2,
23997 15,
23998 OPC_CheckChild0Integer, 78|128,105,
23999 OPC_RecordChild1,
24000 OPC_RecordChild2,
24001 OPC_RecordChild3,
24002 OPC_CheckPatternPredicate1,
24003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_B),
24004 MVT::v8i16, 3, 0, 1, 2,
24005 15,
24006 OPC_CheckChild0Integer, 56|128,105,
24007 OPC_RecordChild1,
24008 OPC_RecordChild2,
24009 OPC_RecordChild3,
24010 OPC_CheckPatternPredicate1,
24011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU),
24012 MVT::v8i16, 3, 0, 1, 2,
24013 15,
24014 OPC_CheckChild0Integer, 80|128,105,
24015 OPC_RecordChild1,
24016 OPC_RecordChild2,
24017 OPC_RecordChild3,
24018 OPC_CheckPatternPredicate1,
24019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU),
24020 MVT::v8i16, 3, 0, 1, 2,
24021 15,
24022 OPC_CheckChild0Integer, 58|128,105,
24023 OPC_RecordChild1,
24024 OPC_RecordChild2,
24025 OPC_RecordChild3,
24026 OPC_CheckPatternPredicate1,
24027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU_B),
24028 MVT::v8i16, 3, 0, 1, 2,
24029 15,
24030 OPC_CheckChild0Integer, 82|128,105,
24031 OPC_RecordChild1,
24032 OPC_RecordChild2,
24033 OPC_RecordChild3,
24034 OPC_CheckPatternPredicate1,
24035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU_B),
24036 MVT::v8i16, 3, 0, 1, 2,
24037 15,
24038 OPC_CheckChild0Integer, 66|128,105,
24039 OPC_RecordChild1,
24040 OPC_RecordChild2,
24041 OPC_RecordChild3,
24042 OPC_CheckPatternPredicate1,
24043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_H),
24044 MVT::v4i32, 3, 0, 1, 2,
24045 15,
24046 OPC_CheckChild0Integer, 90|128,105,
24047 OPC_RecordChild1,
24048 OPC_RecordChild2,
24049 OPC_RecordChild3,
24050 OPC_CheckPatternPredicate1,
24051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_H),
24052 MVT::v4i32, 3, 0, 1, 2,
24053 15,
24054 OPC_CheckChild0Integer, 68|128,105,
24055 OPC_RecordChild1,
24056 OPC_RecordChild2,
24057 OPC_RecordChild3,
24058 OPC_CheckPatternPredicate1,
24059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU),
24060 MVT::v4i32, 3, 0, 1, 2,
24061 15,
24062 OPC_CheckChild0Integer, 92|128,105,
24063 OPC_RecordChild1,
24064 OPC_RecordChild2,
24065 OPC_RecordChild3,
24066 OPC_CheckPatternPredicate1,
24067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU),
24068 MVT::v4i32, 3, 0, 1, 2,
24069 15,
24070 OPC_CheckChild0Integer, 70|128,105,
24071 OPC_RecordChild1,
24072 OPC_RecordChild2,
24073 OPC_RecordChild3,
24074 OPC_CheckPatternPredicate1,
24075 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU_H),
24076 MVT::v4i32, 3, 0, 1, 2,
24077 15,
24078 OPC_CheckChild0Integer, 94|128,105,
24079 OPC_RecordChild1,
24080 OPC_RecordChild2,
24081 OPC_RecordChild3,
24082 OPC_CheckPatternPredicate1,
24083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU_H),
24084 MVT::v4i32, 3, 0, 1, 2,
24085 15,
24086 OPC_CheckChild0Integer, 48|128,105,
24087 OPC_RecordChild1,
24088 OPC_RecordChild2,
24089 OPC_RecordChild3,
24090 OPC_CheckPatternPredicate1,
24091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_W),
24092 MVT::v2i64, 3, 0, 1, 2,
24093 15,
24094 OPC_CheckChild0Integer, 72|128,105,
24095 OPC_RecordChild1,
24096 OPC_RecordChild2,
24097 OPC_RecordChild3,
24098 OPC_CheckPatternPredicate1,
24099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_W),
24100 MVT::v2i64, 3, 0, 1, 2,
24101 15,
24102 OPC_CheckChild0Integer, 50|128,105,
24103 OPC_RecordChild1,
24104 OPC_RecordChild2,
24105 OPC_RecordChild3,
24106 OPC_CheckPatternPredicate1,
24107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU),
24108 MVT::v2i64, 3, 0, 1, 2,
24109 15,
24110 OPC_CheckChild0Integer, 74|128,105,
24111 OPC_RecordChild1,
24112 OPC_RecordChild2,
24113 OPC_RecordChild3,
24114 OPC_CheckPatternPredicate1,
24115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU),
24116 MVT::v2i64, 3, 0, 1, 2,
24117 15,
24118 OPC_CheckChild0Integer, 52|128,105,
24119 OPC_RecordChild1,
24120 OPC_RecordChild2,
24121 OPC_RecordChild3,
24122 OPC_CheckPatternPredicate1,
24123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU_W),
24124 MVT::v2i64, 3, 0, 1, 2,
24125 15,
24126 OPC_CheckChild0Integer, 76|128,105,
24127 OPC_RecordChild1,
24128 OPC_RecordChild2,
24129 OPC_RecordChild3,
24130 OPC_CheckPatternPredicate1,
24131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU_W),
24132 MVT::v2i64, 3, 0, 1, 2,
24133 15,
24134 OPC_CheckChild0Integer, 60|128,105,
24135 OPC_RecordChild1,
24136 OPC_RecordChild2,
24137 OPC_RecordChild3,
24138 OPC_CheckPatternPredicate1,
24139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_D),
24140 MVT::v2i64, 3, 0, 1, 2,
24141 15,
24142 OPC_CheckChild0Integer, 84|128,105,
24143 OPC_RecordChild1,
24144 OPC_RecordChild2,
24145 OPC_RecordChild3,
24146 OPC_CheckPatternPredicate1,
24147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_D),
24148 MVT::v2i64, 3, 0, 1, 2,
24149 15,
24150 OPC_CheckChild0Integer, 62|128,105,
24151 OPC_RecordChild1,
24152 OPC_RecordChild2,
24153 OPC_RecordChild3,
24154 OPC_CheckPatternPredicate1,
24155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU),
24156 MVT::v2i64, 3, 0, 1, 2,
24157 15,
24158 OPC_CheckChild0Integer, 86|128,105,
24159 OPC_RecordChild1,
24160 OPC_RecordChild2,
24161 OPC_RecordChild3,
24162 OPC_CheckPatternPredicate1,
24163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU),
24164 MVT::v2i64, 3, 0, 1, 2,
24165 15,
24166 OPC_CheckChild0Integer, 64|128,105,
24167 OPC_RecordChild1,
24168 OPC_RecordChild2,
24169 OPC_RecordChild3,
24170 OPC_CheckPatternPredicate1,
24171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU_D),
24172 MVT::v2i64, 3, 0, 1, 2,
24173 15,
24174 OPC_CheckChild0Integer, 88|128,105,
24175 OPC_RecordChild1,
24176 OPC_RecordChild2,
24177 OPC_RecordChild3,
24178 OPC_CheckPatternPredicate1,
24179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU_D),
24180 MVT::v2i64, 3, 0, 1, 2,
24181 11,
24182 OPC_CheckChild0Integer, 54|128,102,
24183 OPC_RecordChild1,
24184 OPC_CheckPatternPredicate1,
24185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
24186 MVT::v8i16, 1, 0,
24187 11,
24188 OPC_CheckChild0Integer, 56|128,102,
24189 OPC_RecordChild1,
24190 OPC_CheckPatternPredicate1,
24191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
24192 MVT::v8i16, 1, 0,
24193 11,
24194 OPC_CheckChild0Integer, 50|128,106,
24195 OPC_RecordChild1,
24196 OPC_CheckPatternPredicate1,
24197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_B),
24198 MVT::v16i8, 1, 0,
24199 11,
24200 OPC_CheckChild0Integer, 48|128,106,
24201 OPC_RecordChild1,
24202 OPC_CheckPatternPredicate1,
24203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKGEZ_B),
24204 MVT::v16i8, 1, 0,
24205 11,
24206 OPC_CheckChild0Integer, 58|128,106,
24207 OPC_RecordChild1,
24208 OPC_CheckPatternPredicate1,
24209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKNZ_B),
24210 MVT::v16i8, 1, 0,
24211 11,
24212 OPC_CheckChild0Integer, 18|128,102,
24213 OPC_RecordChild1,
24214 OPC_CheckPatternPredicate1,
24215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
24216 MVT::v16i8, 1, 0,
24217 11,
24218 OPC_CheckChild0Integer, 62|128,102,
24219 OPC_RecordChild1,
24220 OPC_CheckPatternPredicate1,
24221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
24222 MVT::v4i32, 1, 0,
24223 11,
24224 OPC_CheckChild0Integer, 64|128,102,
24225 OPC_RecordChild1,
24226 OPC_CheckPatternPredicate1,
24227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
24228 MVT::v4i32, 1, 0,
24229 11,
24230 OPC_CheckChild0Integer, 54|128,106,
24231 OPC_RecordChild1,
24232 OPC_CheckPatternPredicate1,
24233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_H),
24234 MVT::v8i16, 1, 0,
24235 11,
24236 OPC_CheckChild0Integer, 22|128,102,
24237 OPC_RecordChild1,
24238 OPC_CheckPatternPredicate1,
24239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
24240 MVT::v8i16, 1, 0,
24241 11,
24242 OPC_CheckChild0Integer, 50|128,102,
24243 OPC_RecordChild1,
24244 OPC_CheckPatternPredicate1,
24245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
24246 MVT::v2i64, 1, 0,
24247 11,
24248 OPC_CheckChild0Integer, 52|128,102,
24249 OPC_RecordChild1,
24250 OPC_CheckPatternPredicate1,
24251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
24252 MVT::v2i64, 1, 0,
24253 11,
24254 OPC_CheckChild0Integer, 56|128,106,
24255 OPC_RecordChild1,
24256 OPC_CheckPatternPredicate1,
24257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_W),
24258 MVT::v4i32, 1, 0,
24259 11,
24260 OPC_CheckChild0Integer, 24|128,102,
24261 OPC_RecordChild1,
24262 OPC_CheckPatternPredicate1,
24263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
24264 MVT::v4i32, 1, 0,
24265 11,
24266 OPC_CheckChild0Integer, 58|128,102,
24267 OPC_RecordChild1,
24268 OPC_CheckPatternPredicate1,
24269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_Q_D),
24270 MVT::v2i64, 1, 0,
24271 11,
24272 OPC_CheckChild0Integer, 60|128,102,
24273 OPC_RecordChild1,
24274 OPC_CheckPatternPredicate1,
24275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_QU_DU),
24276 MVT::v2i64, 1, 0,
24277 11,
24278 OPC_CheckChild0Integer, 52|128,106,
24279 OPC_RecordChild1,
24280 OPC_CheckPatternPredicate1,
24281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_D),
24282 MVT::v2i64, 1, 0,
24283 11,
24284 OPC_CheckChild0Integer, 66|128,102,
24285 OPC_RecordChild1,
24286 OPC_CheckPatternPredicate1,
24287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_Q_D),
24288 MVT::v2i64, 1, 0,
24289 11,
24290 OPC_CheckChild0Integer, 68|128,102,
24291 OPC_RecordChild1,
24292 OPC_CheckPatternPredicate1,
24293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_QU_DU),
24294 MVT::v2i64, 1, 0,
24295 11,
24296 OPC_CheckChild0Integer, 20|128,102,
24297 OPC_RecordChild1,
24298 OPC_CheckPatternPredicate1,
24299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
24300 MVT::v2i64, 1, 0,
24301 15,
24302 OPC_CheckChild0Integer, 24|128,104,
24303 OPC_RecordChild1,
24304 OPC_RecordChild2,
24305 OPC_RecordChild3,
24306 OPC_CheckPatternPredicate1,
24307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_B),
24308 MVT::v16i8, 3, 0, 1, 2,
24309 15,
24310 OPC_CheckChild0Integer, 122|128,101,
24311 OPC_RecordChild1,
24312 OPC_RecordChild2,
24313 OPC_RecordChild3,
24314 OPC_CheckPatternPredicate1,
24315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
24316 MVT::v16i8, 3, 0, 1, 2,
24317 15,
24318 OPC_CheckChild0Integer, 56|128,108,
24319 OPC_RecordChild1,
24320 OPC_RecordChild2,
24321 OPC_RecordChild3,
24322 OPC_CheckPatternPredicate1,
24323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
24324 MVT::v16i8, 3, 0, 1, 2,
24325 15,
24326 OPC_CheckChild0Integer, 26|128,104,
24327 OPC_RecordChild1,
24328 OPC_RecordChild2,
24329 OPC_RecordChild3,
24330 OPC_CheckPatternPredicate1,
24331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_H),
24332 MVT::v8i16, 3, 0, 1, 2,
24333 15,
24334 OPC_CheckChild0Integer, 60|128,108,
24335 OPC_RecordChild1,
24336 OPC_RecordChild2,
24337 OPC_RecordChild3,
24338 OPC_CheckPatternPredicate1,
24339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
24340 MVT::v8i16, 3, 0, 1, 2,
24341 15,
24342 OPC_CheckChild0Integer, 62|128,108,
24343 OPC_RecordChild1,
24344 OPC_RecordChild2,
24345 OPC_RecordChild3,
24346 OPC_CheckPatternPredicate1,
24347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
24348 MVT::v4i32, 3, 0, 1, 2,
24349 15,
24350 OPC_CheckChild0Integer, 58|128,108,
24351 OPC_RecordChild1,
24352 OPC_RecordChild2,
24353 OPC_RecordChild3,
24354 OPC_CheckPatternPredicate1,
24355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
24356 MVT::v2i64, 3, 0, 1, 2,
24357 13,
24358 OPC_CheckChild0Integer, 46|128,103,
24359 OPC_RecordChild1,
24360 OPC_RecordChild2,
24361 OPC_CheckPatternPredicate1,
24362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_H_S),
24363 MVT::v8i16, 2, 0, 1,
24364 13,
24365 OPC_CheckChild0Integer, 88|128,102,
24366 OPC_RecordChild1,
24367 OPC_RecordChild2,
24368 OPC_CheckPatternPredicate1,
24369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_S),
24370 MVT::v4i32, 2, 0, 1,
24371 13,
24372 OPC_CheckChild0Integer, 124|128,102,
24373 OPC_RecordChild1,
24374 OPC_RecordChild2,
24375 OPC_CheckPatternPredicate1,
24376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
24377 MVT::v4i32, 2, 0, 1,
24378 13,
24379 OPC_CheckChild0Integer, 92|128,102,
24380 OPC_RecordChild1,
24381 OPC_RecordChild2,
24382 OPC_CheckPatternPredicate1,
24383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
24384 MVT::v4i32, 2, 0, 1,
24385 13,
24386 OPC_CheckChild0Integer, 112|128,102,
24387 OPC_RecordChild1,
24388 OPC_RecordChild2,
24389 OPC_CheckPatternPredicate1,
24390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
24391 MVT::v4i32, 2, 0, 1,
24392 13,
24393 OPC_CheckChild0Integer, 100|128,102,
24394 OPC_RecordChild1,
24395 OPC_RecordChild2,
24396 OPC_CheckPatternPredicate1,
24397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
24398 MVT::v4i32, 2, 0, 1,
24399 13,
24400 OPC_CheckChild0Integer, 120|128,102,
24401 OPC_RecordChild1,
24402 OPC_RecordChild2,
24403 OPC_CheckPatternPredicate1,
24404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
24405 MVT::v4i32, 2, 0, 1,
24406 13,
24407 OPC_CheckChild0Integer, 96|128,102,
24408 OPC_RecordChild1,
24409 OPC_RecordChild2,
24410 OPC_CheckPatternPredicate1,
24411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
24412 MVT::v4i32, 2, 0, 1,
24413 13,
24414 OPC_CheckChild0Integer, 116|128,102,
24415 OPC_RecordChild1,
24416 OPC_RecordChild2,
24417 OPC_CheckPatternPredicate1,
24418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
24419 MVT::v4i32, 2, 0, 1,
24420 13,
24421 OPC_CheckChild0Integer, 104|128,102,
24422 OPC_RecordChild1,
24423 OPC_RecordChild2,
24424 OPC_CheckPatternPredicate1,
24425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
24426 MVT::v4i32, 2, 0, 1,
24427 13,
24428 OPC_CheckChild0Integer, 108|128,102,
24429 OPC_RecordChild1,
24430 OPC_RecordChild2,
24431 OPC_CheckPatternPredicate1,
24432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
24433 MVT::v4i32, 2, 0, 1,
24434 13,
24435 OPC_CheckChild0Integer, 0|128,103,
24436 OPC_RecordChild1,
24437 OPC_RecordChild2,
24438 OPC_CheckPatternPredicate1,
24439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
24440 MVT::v4i32, 2, 0, 1,
24441 13,
24442 OPC_CheckChild0Integer, 4|128,103,
24443 OPC_RecordChild1,
24444 OPC_RecordChild2,
24445 OPC_CheckPatternPredicate1,
24446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_S),
24447 MVT::v4i32, 2, 0, 1,
24448 13,
24449 OPC_CheckChild0Integer, 40|128,103,
24450 OPC_RecordChild1,
24451 OPC_RecordChild2,
24452 OPC_CheckPatternPredicate1,
24453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_S),
24454 MVT::v4i32, 2, 0, 1,
24455 13,
24456 OPC_CheckChild0Integer, 8|128,103,
24457 OPC_RecordChild1,
24458 OPC_RecordChild2,
24459 OPC_CheckPatternPredicate1,
24460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_S),
24461 MVT::v4i32, 2, 0, 1,
24462 13,
24463 OPC_CheckChild0Integer, 28|128,103,
24464 OPC_RecordChild1,
24465 OPC_RecordChild2,
24466 OPC_CheckPatternPredicate1,
24467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_S),
24468 MVT::v4i32, 2, 0, 1,
24469 13,
24470 OPC_CheckChild0Integer, 16|128,103,
24471 OPC_RecordChild1,
24472 OPC_RecordChild2,
24473 OPC_CheckPatternPredicate1,
24474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_S),
24475 MVT::v4i32, 2, 0, 1,
24476 13,
24477 OPC_CheckChild0Integer, 36|128,103,
24478 OPC_RecordChild1,
24479 OPC_RecordChild2,
24480 OPC_CheckPatternPredicate1,
24481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_S),
24482 MVT::v4i32, 2, 0, 1,
24483 13,
24484 OPC_CheckChild0Integer, 12|128,103,
24485 OPC_RecordChild1,
24486 OPC_RecordChild2,
24487 OPC_CheckPatternPredicate1,
24488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_S),
24489 MVT::v4i32, 2, 0, 1,
24490 13,
24491 OPC_CheckChild0Integer, 32|128,103,
24492 OPC_RecordChild1,
24493 OPC_RecordChild2,
24494 OPC_CheckPatternPredicate1,
24495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_S),
24496 MVT::v4i32, 2, 0, 1,
24497 13,
24498 OPC_CheckChild0Integer, 20|128,103,
24499 OPC_RecordChild1,
24500 OPC_RecordChild2,
24501 OPC_CheckPatternPredicate1,
24502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_S),
24503 MVT::v4i32, 2, 0, 1,
24504 13,
24505 OPC_CheckChild0Integer, 24|128,103,
24506 OPC_RecordChild1,
24507 OPC_RecordChild2,
24508 OPC_CheckPatternPredicate1,
24509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_S),
24510 MVT::v4i32, 2, 0, 1,
24511 13,
24512 OPC_CheckChild0Integer, 44|128,103,
24513 OPC_RecordChild1,
24514 OPC_RecordChild2,
24515 OPC_CheckPatternPredicate1,
24516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_S),
24517 MVT::v4i32, 2, 0, 1,
24518 13,
24519 OPC_CheckChild0Integer, 66|128,104,
24520 OPC_RecordChild1,
24521 OPC_RecordChild2,
24522 OPC_CheckPatternPredicate1,
24523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_D),
24524 MVT::v4i32, 2, 0, 1,
24525 13,
24526 OPC_CheckChild0Integer, 88|128,104,
24527 OPC_RecordChild1,
24528 OPC_RecordChild2,
24529 OPC_CheckPatternPredicate1,
24530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
24531 MVT::v4i32, 2, 0, 1,
24532 13,
24533 OPC_CheckChild0Integer, 76|128,104,
24534 OPC_RecordChild1,
24535 OPC_RecordChild2,
24536 OPC_CheckPatternPredicate1,
24537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_D),
24538 MVT::v4i32, 2, 0, 1,
24539 13,
24540 OPC_CheckChild0Integer, 56|128,104,
24541 OPC_RecordChild1,
24542 OPC_RecordChild2,
24543 OPC_CheckPatternPredicate1,
24544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_D),
24545 MVT::v4i32, 2, 0, 1,
24546 13,
24547 OPC_CheckChild0Integer, 44|128,104,
24548 OPC_RecordChild1,
24549 OPC_RecordChild2,
24550 OPC_CheckPatternPredicate1,
24551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_D),
24552 MVT::v4i32, 2, 0, 1,
24553 13,
24554 OPC_CheckChild0Integer, 86|128,102,
24555 OPC_RecordChild1,
24556 OPC_RecordChild2,
24557 OPC_CheckPatternPredicate1,
24558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_D),
24559 MVT::v2i64, 2, 0, 1,
24560 13,
24561 OPC_CheckChild0Integer, 122|128,102,
24562 OPC_RecordChild1,
24563 OPC_RecordChild2,
24564 OPC_CheckPatternPredicate1,
24565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
24566 MVT::v2i64, 2, 0, 1,
24567 13,
24568 OPC_CheckChild0Integer, 90|128,102,
24569 OPC_RecordChild1,
24570 OPC_RecordChild2,
24571 OPC_CheckPatternPredicate1,
24572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
24573 MVT::v2i64, 2, 0, 1,
24574 13,
24575 OPC_CheckChild0Integer, 110|128,102,
24576 OPC_RecordChild1,
24577 OPC_RecordChild2,
24578 OPC_CheckPatternPredicate1,
24579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
24580 MVT::v2i64, 2, 0, 1,
24581 13,
24582 OPC_CheckChild0Integer, 98|128,102,
24583 OPC_RecordChild1,
24584 OPC_RecordChild2,
24585 OPC_CheckPatternPredicate1,
24586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
24587 MVT::v2i64, 2, 0, 1,
24588 13,
24589 OPC_CheckChild0Integer, 118|128,102,
24590 OPC_RecordChild1,
24591 OPC_RecordChild2,
24592 OPC_CheckPatternPredicate1,
24593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
24594 MVT::v2i64, 2, 0, 1,
24595 13,
24596 OPC_CheckChild0Integer, 94|128,102,
24597 OPC_RecordChild1,
24598 OPC_RecordChild2,
24599 OPC_CheckPatternPredicate1,
24600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
24601 MVT::v2i64, 2, 0, 1,
24602 13,
24603 OPC_CheckChild0Integer, 114|128,102,
24604 OPC_RecordChild1,
24605 OPC_RecordChild2,
24606 OPC_CheckPatternPredicate1,
24607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
24608 MVT::v2i64, 2, 0, 1,
24609 13,
24610 OPC_CheckChild0Integer, 102|128,102,
24611 OPC_RecordChild1,
24612 OPC_RecordChild2,
24613 OPC_CheckPatternPredicate1,
24614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
24615 MVT::v2i64, 2, 0, 1,
24616 13,
24617 OPC_CheckChild0Integer, 106|128,102,
24618 OPC_RecordChild1,
24619 OPC_RecordChild2,
24620 OPC_CheckPatternPredicate1,
24621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
24622 MVT::v2i64, 2, 0, 1,
24623 13,
24624 OPC_CheckChild0Integer, 126|128,102,
24625 OPC_RecordChild1,
24626 OPC_RecordChild2,
24627 OPC_CheckPatternPredicate1,
24628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
24629 MVT::v2i64, 2, 0, 1,
24630 13,
24631 OPC_CheckChild0Integer, 2|128,103,
24632 OPC_RecordChild1,
24633 OPC_RecordChild2,
24634 OPC_CheckPatternPredicate1,
24635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_D),
24636 MVT::v2i64, 2, 0, 1,
24637 13,
24638 OPC_CheckChild0Integer, 38|128,103,
24639 OPC_RecordChild1,
24640 OPC_RecordChild2,
24641 OPC_CheckPatternPredicate1,
24642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_D),
24643 MVT::v2i64, 2, 0, 1,
24644 13,
24645 OPC_CheckChild0Integer, 6|128,103,
24646 OPC_RecordChild1,
24647 OPC_RecordChild2,
24648 OPC_CheckPatternPredicate1,
24649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_D),
24650 MVT::v2i64, 2, 0, 1,
24651 13,
24652 OPC_CheckChild0Integer, 26|128,103,
24653 OPC_RecordChild1,
24654 OPC_RecordChild2,
24655 OPC_CheckPatternPredicate1,
24656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_D),
24657 MVT::v2i64, 2, 0, 1,
24658 13,
24659 OPC_CheckChild0Integer, 14|128,103,
24660 OPC_RecordChild1,
24661 OPC_RecordChild2,
24662 OPC_CheckPatternPredicate1,
24663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_D),
24664 MVT::v2i64, 2, 0, 1,
24665 13,
24666 OPC_CheckChild0Integer, 34|128,103,
24667 OPC_RecordChild1,
24668 OPC_RecordChild2,
24669 OPC_CheckPatternPredicate1,
24670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_D),
24671 MVT::v2i64, 2, 0, 1,
24672 13,
24673 OPC_CheckChild0Integer, 10|128,103,
24674 OPC_RecordChild1,
24675 OPC_RecordChild2,
24676 OPC_CheckPatternPredicate1,
24677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_D),
24678 MVT::v2i64, 2, 0, 1,
24679 13,
24680 OPC_CheckChild0Integer, 30|128,103,
24681 OPC_RecordChild1,
24682 OPC_RecordChild2,
24683 OPC_CheckPatternPredicate1,
24684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_D),
24685 MVT::v2i64, 2, 0, 1,
24686 13,
24687 OPC_CheckChild0Integer, 18|128,103,
24688 OPC_RecordChild1,
24689 OPC_RecordChild2,
24690 OPC_CheckPatternPredicate1,
24691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_D),
24692 MVT::v2i64, 2, 0, 1,
24693 13,
24694 OPC_CheckChild0Integer, 22|128,103,
24695 OPC_RecordChild1,
24696 OPC_RecordChild2,
24697 OPC_CheckPatternPredicate1,
24698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_D),
24699 MVT::v2i64, 2, 0, 1,
24700 13,
24701 OPC_CheckChild0Integer, 42|128,103,
24702 OPC_RecordChild1,
24703 OPC_RecordChild2,
24704 OPC_CheckPatternPredicate1,
24705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_D),
24706 MVT::v2i64, 2, 0, 1,
24707 11,
24708 OPC_CheckChild0Integer, 84|128,102,
24709 OPC_RecordChild1,
24710 OPC_CheckPatternPredicate1,
24711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_S),
24712 MVT::v4i32, 1, 0,
24713 11,
24714 OPC_CheckChild0Integer, 68|128,104,
24715 OPC_RecordChild1,
24716 OPC_CheckPatternPredicate1,
24717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_S),
24718 MVT::v4i32, 1, 0,
24719 11,
24720 OPC_CheckChild0Integer, 90|128,104,
24721 OPC_RecordChild1,
24722 OPC_CheckPatternPredicate1,
24723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
24724 MVT::v4i32, 1, 0,
24725 11,
24726 OPC_CheckChild0Integer, 78|128,104,
24727 OPC_RecordChild1,
24728 OPC_CheckPatternPredicate1,
24729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_S),
24730 MVT::v4i32, 1, 0,
24731 11,
24732 OPC_CheckChild0Integer, 58|128,104,
24733 OPC_RecordChild1,
24734 OPC_CheckPatternPredicate1,
24735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_S),
24736 MVT::v4i32, 1, 0,
24737 11,
24738 OPC_CheckChild0Integer, 46|128,104,
24739 OPC_RecordChild1,
24740 OPC_CheckPatternPredicate1,
24741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_S),
24742 MVT::v4i32, 1, 0,
24743 11,
24744 OPC_CheckChild0Integer, 92|128,104,
24745 OPC_RecordChild1,
24746 OPC_CheckPatternPredicate1,
24747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
24748 MVT::v4i32, 1, 0,
24749 11,
24750 OPC_CheckChild0Integer, 48|128,104,
24751 OPC_RecordChild1,
24752 OPC_CheckPatternPredicate1,
24753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_WU_S),
24754 MVT::v4i32, 1, 0,
24755 11,
24756 OPC_CheckChild0Integer, 72|128,104,
24757 OPC_RecordChild1,
24758 OPC_CheckPatternPredicate1,
24759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEL_L_S),
24760 MVT::v2i64, 1, 0,
24761 11,
24762 OPC_CheckChild0Integer, 70|128,104,
24763 OPC_RecordChild1,
24764 OPC_CheckPatternPredicate1,
24765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEH_L_S),
24766 MVT::v2i64, 1, 0,
24767 11,
24768 OPC_CheckChild0Integer, 96|128,104,
24769 OPC_RecordChild1,
24770 OPC_CheckPatternPredicate1,
24771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZL_L_S),
24772 MVT::v2i64, 1, 0,
24773 11,
24774 OPC_CheckChild0Integer, 94|128,104,
24775 OPC_RecordChild1,
24776 OPC_CheckPatternPredicate1,
24777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZH_L_S),
24778 MVT::v2i64, 1, 0,
24779 11,
24780 OPC_CheckChild0Integer, 82|128,104,
24781 OPC_RecordChild1,
24782 OPC_CheckPatternPredicate1,
24783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPL_L_S),
24784 MVT::v2i64, 1, 0,
24785 11,
24786 OPC_CheckChild0Integer, 80|128,104,
24787 OPC_RecordChild1,
24788 OPC_CheckPatternPredicate1,
24789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPH_L_S),
24790 MVT::v2i64, 1, 0,
24791 11,
24792 OPC_CheckChild0Integer, 62|128,104,
24793 OPC_RecordChild1,
24794 OPC_CheckPatternPredicate1,
24795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRML_L_S),
24796 MVT::v2i64, 1, 0,
24797 11,
24798 OPC_CheckChild0Integer, 60|128,104,
24799 OPC_RecordChild1,
24800 OPC_CheckPatternPredicate1,
24801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRMH_L_S),
24802 MVT::v2i64, 1, 0,
24803 11,
24804 OPC_CheckChild0Integer, 52|128,104,
24805 OPC_RecordChild1,
24806 OPC_CheckPatternPredicate1,
24807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTL_L_S),
24808 MVT::v2i64, 1, 0,
24809 11,
24810 OPC_CheckChild0Integer, 50|128,104,
24811 OPC_RecordChild1,
24812 OPC_CheckPatternPredicate1,
24813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTH_L_S),
24814 MVT::v2i64, 1, 0,
24815 11,
24816 OPC_CheckChild0Integer, 82|128,102,
24817 OPC_RecordChild1,
24818 OPC_CheckPatternPredicate1,
24819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_D),
24820 MVT::v2i64, 1, 0,
24821 11,
24822 OPC_CheckChild0Integer, 64|128,104,
24823 OPC_RecordChild1,
24824 OPC_CheckPatternPredicate1,
24825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_L_D),
24826 MVT::v2i64, 1, 0,
24827 11,
24828 OPC_CheckChild0Integer, 84|128,104,
24829 OPC_RecordChild1,
24830 OPC_CheckPatternPredicate1,
24831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
24832 MVT::v2i64, 1, 0,
24833 11,
24834 OPC_CheckChild0Integer, 74|128,104,
24835 OPC_RecordChild1,
24836 OPC_CheckPatternPredicate1,
24837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_L_D),
24838 MVT::v2i64, 1, 0,
24839 11,
24840 OPC_CheckChild0Integer, 54|128,104,
24841 OPC_RecordChild1,
24842 OPC_CheckPatternPredicate1,
24843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_L_D),
24844 MVT::v2i64, 1, 0,
24845 11,
24846 OPC_CheckChild0Integer, 40|128,104,
24847 OPC_RecordChild1,
24848 OPC_CheckPatternPredicate1,
24849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_L_D),
24850 MVT::v2i64, 1, 0,
24851 11,
24852 OPC_CheckChild0Integer, 86|128,104,
24853 OPC_RecordChild1,
24854 OPC_CheckPatternPredicate1,
24855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
24856 MVT::v2i64, 1, 0,
24857 11,
24858 OPC_CheckChild0Integer, 42|128,104,
24859 OPC_RecordChild1,
24860 OPC_CheckPatternPredicate1,
24861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_LU_D),
24862 MVT::v2i64, 1, 0,
24863 13,
24864 OPC_CheckChild0Integer, 100|128,96,
24865 OPC_RecordChild1,
24866 OPC_RecordChild2,
24867 OPC_CheckPatternPredicate0,
24868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
24869 MVT::v32i8, 2, 0, 1,
24870 13,
24871 OPC_CheckChild0Integer, 102|128,96,
24872 OPC_RecordChild1,
24873 OPC_RecordChild2,
24874 OPC_CheckPatternPredicate0,
24875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
24876 MVT::v32i8, 2, 0, 1,
24877 13,
24878 OPC_CheckChild0Integer, 112|128,99,
24879 OPC_RecordChild1,
24880 OPC_RecordChild2,
24881 OPC_CheckPatternPredicate0,
24882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
24883 MVT::v32i8, 2, 0, 1,
24884 13,
24885 OPC_CheckChild0Integer, 114|128,99,
24886 OPC_RecordChild1,
24887 OPC_RecordChild2,
24888 OPC_CheckPatternPredicate0,
24889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
24890 MVT::v32i8, 2, 0, 1,
24891 13,
24892 OPC_CheckChild0Integer, 50|128,93,
24893 OPC_RecordChild1,
24894 OPC_RecordChild2,
24895 OPC_CheckPatternPredicate0,
24896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
24897 MVT::v16i16, 2, 0, 1,
24898 13,
24899 OPC_CheckChild0Integer, 52|128,93,
24900 OPC_RecordChild1,
24901 OPC_RecordChild2,
24902 OPC_CheckPatternPredicate0,
24903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
24904 MVT::v16i16, 2, 0, 1,
24905 13,
24906 OPC_CheckChild0Integer, 66|128,93,
24907 OPC_RecordChild1,
24908 OPC_RecordChild2,
24909 OPC_CheckPatternPredicate0,
24910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
24911 MVT::v16i16, 2, 0, 1,
24912 13,
24913 OPC_CheckChild0Integer, 68|128,93,
24914 OPC_RecordChild1,
24915 OPC_RecordChild2,
24916 OPC_CheckPatternPredicate0,
24917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
24918 MVT::v16i16, 2, 0, 1,
24919 13,
24920 OPC_CheckChild0Integer, 86|128,89,
24921 OPC_RecordChild1,
24922 OPC_RecordChild2,
24923 OPC_CheckPatternPredicate0,
24924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_B),
24925 MVT::v16i16, 2, 0, 1,
24926 13,
24927 OPC_CheckChild0Integer, 110|128,89,
24928 OPC_RecordChild1,
24929 OPC_RecordChild2,
24930 OPC_CheckPatternPredicate0,
24931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_B),
24932 MVT::v16i16, 2, 0, 1,
24933 13,
24934 OPC_CheckChild0Integer, 34|128,100,
24935 OPC_RecordChild1,
24936 OPC_RecordChild2,
24937 OPC_CheckPatternPredicate0,
24938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_B),
24939 MVT::v16i16, 2, 0, 1,
24940 13,
24941 OPC_CheckChild0Integer, 50|128,100,
24942 OPC_RecordChild1,
24943 OPC_RecordChild2,
24944 OPC_CheckPatternPredicate0,
24945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_B),
24946 MVT::v16i16, 2, 0, 1,
24947 13,
24948 OPC_CheckChild0Integer, 88|128,89,
24949 OPC_RecordChild1,
24950 OPC_RecordChild2,
24951 OPC_CheckPatternPredicate0,
24952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU),
24953 MVT::v16i16, 2, 0, 1,
24954 13,
24955 OPC_CheckChild0Integer, 112|128,89,
24956 OPC_RecordChild1,
24957 OPC_RecordChild2,
24958 OPC_CheckPatternPredicate0,
24959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU),
24960 MVT::v16i16, 2, 0, 1,
24961 13,
24962 OPC_CheckChild0Integer, 36|128,100,
24963 OPC_RecordChild1,
24964 OPC_RecordChild2,
24965 OPC_CheckPatternPredicate0,
24966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_BU),
24967 MVT::v16i16, 2, 0, 1,
24968 13,
24969 OPC_CheckChild0Integer, 52|128,100,
24970 OPC_RecordChild1,
24971 OPC_RecordChild2,
24972 OPC_CheckPatternPredicate0,
24973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_BU),
24974 MVT::v16i16, 2, 0, 1,
24975 13,
24976 OPC_CheckChild0Integer, 90|128,89,
24977 OPC_RecordChild1,
24978 OPC_RecordChild2,
24979 OPC_CheckPatternPredicate0,
24980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU_B),
24981 MVT::v16i16, 2, 0, 1,
24982 13,
24983 OPC_CheckChild0Integer, 114|128,89,
24984 OPC_RecordChild1,
24985 OPC_RecordChild2,
24986 OPC_CheckPatternPredicate0,
24987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU_B),
24988 MVT::v16i16, 2, 0, 1,
24989 13,
24990 OPC_CheckChild0Integer, 6|128,90,
24991 OPC_RecordChild1,
24992 OPC_RecordChild2,
24993 OPC_CheckPatternPredicate0,
24994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
24995 MVT::v32i8, 2, 0, 1,
24996 13,
24997 OPC_CheckChild0Integer, 8|128,90,
24998 OPC_RecordChild1,
24999 OPC_RecordChild2,
25000 OPC_CheckPatternPredicate0,
25001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
25002 MVT::v32i8, 2, 0, 1,
25003 13,
25004 OPC_CheckChild0Integer, 22|128,90,
25005 OPC_RecordChild1,
25006 OPC_RecordChild2,
25007 OPC_CheckPatternPredicate0,
25008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
25009 MVT::v32i8, 2, 0, 1,
25010 13,
25011 OPC_CheckChild0Integer, 24|128,90,
25012 OPC_RecordChild1,
25013 OPC_RecordChild2,
25014 OPC_CheckPatternPredicate0,
25015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
25016 MVT::v32i8, 2, 0, 1,
25017 13,
25018 OPC_CheckChild0Integer, 38|128,89,
25019 OPC_RecordChild1,
25020 OPC_RecordChild2,
25021 OPC_CheckPatternPredicate0,
25022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
25023 MVT::v32i8, 2, 0, 1,
25024 13,
25025 OPC_CheckChild0Integer, 40|128,89,
25026 OPC_RecordChild1,
25027 OPC_RecordChild2,
25028 OPC_CheckPatternPredicate0,
25029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
25030 MVT::v32i8, 2, 0, 1,
25031 13,
25032 OPC_CheckChild0Integer, 64|128,89,
25033 OPC_RecordChild1,
25034 OPC_RecordChild2,
25035 OPC_CheckPatternPredicate0,
25036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
25037 MVT::v32i8, 2, 0, 1,
25038 13,
25039 OPC_CheckChild0Integer, 16|128,95,
25040 OPC_RecordChild1,
25041 OPC_RecordChild2,
25042 OPC_CheckPatternPredicate0,
25043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
25044 MVT::v32i8, 2, 0, 1,
25045 13,
25046 OPC_CheckChild0Integer, 18|128,95,
25047 OPC_RecordChild1,
25048 OPC_RecordChild2,
25049 OPC_CheckPatternPredicate0,
25050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
25051 MVT::v32i8, 2, 0, 1,
25052 13,
25053 OPC_CheckChild0Integer, 46|128,95,
25054 OPC_RecordChild1,
25055 OPC_RecordChild2,
25056 OPC_CheckPatternPredicate0,
25057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_B),
25058 MVT::v16i16, 2, 0, 1,
25059 13,
25060 OPC_CheckChild0Integer, 70|128,95,
25061 OPC_RecordChild1,
25062 OPC_RecordChild2,
25063 OPC_CheckPatternPredicate0,
25064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_B),
25065 MVT::v16i16, 2, 0, 1,
25066 13,
25067 OPC_CheckChild0Integer, 48|128,95,
25068 OPC_RecordChild1,
25069 OPC_RecordChild2,
25070 OPC_CheckPatternPredicate0,
25071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU),
25072 MVT::v16i16, 2, 0, 1,
25073 13,
25074 OPC_CheckChild0Integer, 72|128,95,
25075 OPC_RecordChild1,
25076 OPC_RecordChild2,
25077 OPC_CheckPatternPredicate0,
25078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU),
25079 MVT::v16i16, 2, 0, 1,
25080 13,
25081 OPC_CheckChild0Integer, 50|128,95,
25082 OPC_RecordChild1,
25083 OPC_RecordChild2,
25084 OPC_CheckPatternPredicate0,
25085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU_B),
25086 MVT::v16i16, 2, 0, 1,
25087 13,
25088 OPC_CheckChild0Integer, 74|128,95,
25089 OPC_RecordChild1,
25090 OPC_RecordChild2,
25091 OPC_CheckPatternPredicate0,
25092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU_B),
25093 MVT::v16i16, 2, 0, 1,
25094 13,
25095 OPC_CheckChild0Integer, 36|128,97,
25096 OPC_RecordChild1,
25097 OPC_RecordChild2,
25098 OPC_CheckPatternPredicate0,
25099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
25100 MVT::v32i8, 2, 0, 1,
25101 13,
25102 OPC_CheckChild0Integer, 4|128,90,
25103 OPC_RecordChild1,
25104 OPC_RecordChild2,
25105 OPC_CheckPatternPredicate0,
25106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
25107 MVT::v32i8, 2, 0, 1,
25108 13,
25109 OPC_CheckChild0Integer, 104|128,95,
25110 OPC_RecordChild1,
25111 OPC_RecordChild2,
25112 OPC_CheckPatternPredicate0,
25113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
25114 MVT::v32i8, 2, 0, 1,
25115 13,
25116 OPC_CheckChild0Integer, 84|128,96,
25117 OPC_RecordChild1,
25118 OPC_RecordChild2,
25119 OPC_CheckPatternPredicate0,
25120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
25121 MVT::v32i8, 2, 0, 1,
25122 13,
25123 OPC_CheckChild0Integer, 98|128,98,
25124 OPC_RecordChild1,
25125 OPC_RecordChild2,
25126 OPC_CheckPatternPredicate0,
25127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
25128 MVT::v32i8, 2, 0, 1,
25129 13,
25130 OPC_CheckChild0Integer, 38|128,98,
25131 OPC_RecordChild1,
25132 OPC_RecordChild2,
25133 OPC_CheckPatternPredicate0,
25134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
25135 MVT::v32i8, 2, 0, 1,
25136 13,
25137 OPC_CheckChild0Integer, 4|128,97,
25138 OPC_RecordChild1,
25139 OPC_RecordChild2,
25140 OPC_CheckPatternPredicate0,
25141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
25142 MVT::v32i8, 2, 0, 1,
25143 13,
25144 OPC_CheckChild0Integer, 44|128,97,
25145 OPC_RecordChild1,
25146 OPC_RecordChild2,
25147 OPC_CheckPatternPredicate0,
25148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
25149 MVT::v32i8, 2, 0, 1,
25150 13,
25151 OPC_CheckChild0Integer, 46|128,97,
25152 OPC_RecordChild1,
25153 OPC_RecordChild2,
25154 OPC_CheckPatternPredicate0,
25155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
25156 MVT::v32i8, 2, 0, 1,
25157 13,
25158 OPC_CheckChild0Integer, 104|128,97,
25159 OPC_RecordChild1,
25160 OPC_RecordChild2,
25161 OPC_CheckPatternPredicate0,
25162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
25163 MVT::v32i8, 2, 0, 1,
25164 13,
25165 OPC_CheckChild0Integer, 106|128,97,
25166 OPC_RecordChild1,
25167 OPC_RecordChild2,
25168 OPC_CheckPatternPredicate0,
25169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
25170 MVT::v32i8, 2, 0, 1,
25171 13,
25172 OPC_CheckChild0Integer, 106|128,95,
25173 OPC_RecordChild1,
25174 OPC_RecordChild2,
25175 OPC_CheckPatternPredicate0,
25176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
25177 MVT::v32i8, 2, 0, 1,
25178 13,
25179 OPC_CheckChild0Integer, 114|128,95,
25180 OPC_RecordChild1,
25181 OPC_RecordChild2,
25182 OPC_CheckPatternPredicate0,
25183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
25184 MVT::v32i8, 2, 0, 1,
25185 13,
25186 OPC_CheckChild0Integer, 10|128,96,
25187 OPC_RecordChild1,
25188 OPC_RecordChild2,
25189 OPC_CheckPatternPredicate0,
25190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
25191 MVT::v32i8, 2, 0, 1,
25192 13,
25193 OPC_CheckChild0Integer, 18|128,96,
25194 OPC_RecordChild1,
25195 OPC_RecordChild2,
25196 OPC_CheckPatternPredicate0,
25197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
25198 MVT::v32i8, 2, 0, 1,
25199 13,
25200 OPC_CheckChild0Integer, 86|128,93,
25201 OPC_RecordChild1,
25202 OPC_RecordChild2,
25203 OPC_CheckPatternPredicate0,
25204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
25205 MVT::v32i8, 2, 0, 1,
25206 13,
25207 OPC_CheckChild0Integer, 78|128,93,
25208 OPC_RecordChild1,
25209 OPC_RecordChild2,
25210 OPC_CheckPatternPredicate0,
25211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
25212 MVT::v32i8, 2, 0, 1,
25213 13,
25214 OPC_CheckChild0Integer, 108|128,96,
25215 OPC_RecordChild1,
25216 OPC_RecordChild2,
25217 OPC_CheckPatternPredicate0,
25218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
25219 MVT::v16i16, 2, 0, 1,
25220 13,
25221 OPC_CheckChild0Integer, 110|128,96,
25222 OPC_RecordChild1,
25223 OPC_RecordChild2,
25224 OPC_CheckPatternPredicate0,
25225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
25226 MVT::v16i16, 2, 0, 1,
25227 13,
25228 OPC_CheckChild0Integer, 120|128,99,
25229 OPC_RecordChild1,
25230 OPC_RecordChild2,
25231 OPC_CheckPatternPredicate0,
25232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
25233 MVT::v16i16, 2, 0, 1,
25234 13,
25235 OPC_CheckChild0Integer, 122|128,99,
25236 OPC_RecordChild1,
25237 OPC_RecordChild2,
25238 OPC_CheckPatternPredicate0,
25239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
25240 MVT::v16i16, 2, 0, 1,
25241 13,
25242 OPC_CheckChild0Integer, 58|128,93,
25243 OPC_RecordChild1,
25244 OPC_RecordChild2,
25245 OPC_CheckPatternPredicate0,
25246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
25247 MVT::v8i32, 2, 0, 1,
25248 13,
25249 OPC_CheckChild0Integer, 60|128,93,
25250 OPC_RecordChild1,
25251 OPC_RecordChild2,
25252 OPC_CheckPatternPredicate0,
25253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
25254 MVT::v8i32, 2, 0, 1,
25255 13,
25256 OPC_CheckChild0Integer, 74|128,93,
25257 OPC_RecordChild1,
25258 OPC_RecordChild2,
25259 OPC_CheckPatternPredicate0,
25260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
25261 MVT::v8i32, 2, 0, 1,
25262 13,
25263 OPC_CheckChild0Integer, 76|128,93,
25264 OPC_RecordChild1,
25265 OPC_RecordChild2,
25266 OPC_CheckPatternPredicate0,
25267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
25268 MVT::v8i32, 2, 0, 1,
25269 13,
25270 OPC_CheckChild0Integer, 98|128,89,
25271 OPC_RecordChild1,
25272 OPC_RecordChild2,
25273 OPC_CheckPatternPredicate0,
25274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_H),
25275 MVT::v8i32, 2, 0, 1,
25276 13,
25277 OPC_CheckChild0Integer, 122|128,89,
25278 OPC_RecordChild1,
25279 OPC_RecordChild2,
25280 OPC_CheckPatternPredicate0,
25281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_H),
25282 MVT::v8i32, 2, 0, 1,
25283 13,
25284 OPC_CheckChild0Integer, 42|128,100,
25285 OPC_RecordChild1,
25286 OPC_RecordChild2,
25287 OPC_CheckPatternPredicate0,
25288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_H),
25289 MVT::v8i32, 2, 0, 1,
25290 13,
25291 OPC_CheckChild0Integer, 58|128,100,
25292 OPC_RecordChild1,
25293 OPC_RecordChild2,
25294 OPC_CheckPatternPredicate0,
25295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_H),
25296 MVT::v8i32, 2, 0, 1,
25297 13,
25298 OPC_CheckChild0Integer, 100|128,89,
25299 OPC_RecordChild1,
25300 OPC_RecordChild2,
25301 OPC_CheckPatternPredicate0,
25302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU),
25303 MVT::v8i32, 2, 0, 1,
25304 13,
25305 OPC_CheckChild0Integer, 124|128,89,
25306 OPC_RecordChild1,
25307 OPC_RecordChild2,
25308 OPC_CheckPatternPredicate0,
25309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU),
25310 MVT::v8i32, 2, 0, 1,
25311 13,
25312 OPC_CheckChild0Integer, 44|128,100,
25313 OPC_RecordChild1,
25314 OPC_RecordChild2,
25315 OPC_CheckPatternPredicate0,
25316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_HU),
25317 MVT::v8i32, 2, 0, 1,
25318 13,
25319 OPC_CheckChild0Integer, 60|128,100,
25320 OPC_RecordChild1,
25321 OPC_RecordChild2,
25322 OPC_CheckPatternPredicate0,
25323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_HU),
25324 MVT::v8i32, 2, 0, 1,
25325 13,
25326 OPC_CheckChild0Integer, 102|128,89,
25327 OPC_RecordChild1,
25328 OPC_RecordChild2,
25329 OPC_CheckPatternPredicate0,
25330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU_H),
25331 MVT::v8i32, 2, 0, 1,
25332 13,
25333 OPC_CheckChild0Integer, 126|128,89,
25334 OPC_RecordChild1,
25335 OPC_RecordChild2,
25336 OPC_CheckPatternPredicate0,
25337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU_H),
25338 MVT::v8i32, 2, 0, 1,
25339 13,
25340 OPC_CheckChild0Integer, 14|128,90,
25341 OPC_RecordChild1,
25342 OPC_RecordChild2,
25343 OPC_CheckPatternPredicate0,
25344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
25345 MVT::v16i16, 2, 0, 1,
25346 13,
25347 OPC_CheckChild0Integer, 16|128,90,
25348 OPC_RecordChild1,
25349 OPC_RecordChild2,
25350 OPC_CheckPatternPredicate0,
25351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
25352 MVT::v16i16, 2, 0, 1,
25353 13,
25354 OPC_CheckChild0Integer, 30|128,90,
25355 OPC_RecordChild1,
25356 OPC_RecordChild2,
25357 OPC_CheckPatternPredicate0,
25358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
25359 MVT::v16i16, 2, 0, 1,
25360 13,
25361 OPC_CheckChild0Integer, 32|128,90,
25362 OPC_RecordChild1,
25363 OPC_RecordChild2,
25364 OPC_CheckPatternPredicate0,
25365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
25366 MVT::v16i16, 2, 0, 1,
25367 13,
25368 OPC_CheckChild0Integer, 46|128,89,
25369 OPC_RecordChild1,
25370 OPC_RecordChild2,
25371 OPC_CheckPatternPredicate0,
25372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
25373 MVT::v16i16, 2, 0, 1,
25374 13,
25375 OPC_CheckChild0Integer, 48|128,89,
25376 OPC_RecordChild1,
25377 OPC_RecordChild2,
25378 OPC_CheckPatternPredicate0,
25379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
25380 MVT::v16i16, 2, 0, 1,
25381 13,
25382 OPC_CheckChild0Integer, 68|128,89,
25383 OPC_RecordChild1,
25384 OPC_RecordChild2,
25385 OPC_CheckPatternPredicate0,
25386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
25387 MVT::v16i16, 2, 0, 1,
25388 13,
25389 OPC_CheckChild0Integer, 24|128,95,
25390 OPC_RecordChild1,
25391 OPC_RecordChild2,
25392 OPC_CheckPatternPredicate0,
25393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
25394 MVT::v16i16, 2, 0, 1,
25395 13,
25396 OPC_CheckChild0Integer, 26|128,95,
25397 OPC_RecordChild1,
25398 OPC_RecordChild2,
25399 OPC_CheckPatternPredicate0,
25400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
25401 MVT::v16i16, 2, 0, 1,
25402 13,
25403 OPC_CheckChild0Integer, 58|128,95,
25404 OPC_RecordChild1,
25405 OPC_RecordChild2,
25406 OPC_CheckPatternPredicate0,
25407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_H),
25408 MVT::v8i32, 2, 0, 1,
25409 13,
25410 OPC_CheckChild0Integer, 82|128,95,
25411 OPC_RecordChild1,
25412 OPC_RecordChild2,
25413 OPC_CheckPatternPredicate0,
25414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_H),
25415 MVT::v8i32, 2, 0, 1,
25416 13,
25417 OPC_CheckChild0Integer, 60|128,95,
25418 OPC_RecordChild1,
25419 OPC_RecordChild2,
25420 OPC_CheckPatternPredicate0,
25421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU),
25422 MVT::v8i32, 2, 0, 1,
25423 13,
25424 OPC_CheckChild0Integer, 84|128,95,
25425 OPC_RecordChild1,
25426 OPC_RecordChild2,
25427 OPC_CheckPatternPredicate0,
25428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU),
25429 MVT::v8i32, 2, 0, 1,
25430 13,
25431 OPC_CheckChild0Integer, 62|128,95,
25432 OPC_RecordChild1,
25433 OPC_RecordChild2,
25434 OPC_CheckPatternPredicate0,
25435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU_H),
25436 MVT::v8i32, 2, 0, 1,
25437 13,
25438 OPC_CheckChild0Integer, 86|128,95,
25439 OPC_RecordChild1,
25440 OPC_RecordChild2,
25441 OPC_CheckPatternPredicate0,
25442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU_H),
25443 MVT::v8i32, 2, 0, 1,
25444 13,
25445 OPC_CheckChild0Integer, 40|128,97,
25446 OPC_RecordChild1,
25447 OPC_RecordChild2,
25448 OPC_CheckPatternPredicate0,
25449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
25450 MVT::v16i16, 2, 0, 1,
25451 13,
25452 OPC_CheckChild0Integer, 88|128,96,
25453 OPC_RecordChild1,
25454 OPC_RecordChild2,
25455 OPC_CheckPatternPredicate0,
25456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
25457 MVT::v16i16, 2, 0, 1,
25458 13,
25459 OPC_CheckChild0Integer, 102|128,98,
25460 OPC_RecordChild1,
25461 OPC_RecordChild2,
25462 OPC_CheckPatternPredicate0,
25463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
25464 MVT::v16i16, 2, 0, 1,
25465 13,
25466 OPC_CheckChild0Integer, 42|128,98,
25467 OPC_RecordChild1,
25468 OPC_RecordChild2,
25469 OPC_CheckPatternPredicate0,
25470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
25471 MVT::v16i16, 2, 0, 1,
25472 13,
25473 OPC_CheckChild0Integer, 84|128,98,
25474 OPC_RecordChild1,
25475 OPC_RecordChild2,
25476 OPC_CheckPatternPredicate0,
25477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_B_H),
25478 MVT::v32i8, 2, 0, 1,
25479 13,
25480 OPC_CheckChild0Integer, 24|128,98,
25481 OPC_RecordChild1,
25482 OPC_RecordChild2,
25483 OPC_CheckPatternPredicate0,
25484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_B_H),
25485 MVT::v32i8, 2, 0, 1,
25486 13,
25487 OPC_CheckChild0Integer, 114|128,98,
25488 OPC_RecordChild1,
25489 OPC_RecordChild2,
25490 OPC_CheckPatternPredicate0,
25491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_B_H),
25492 MVT::v32i8, 2, 0, 1,
25493 13,
25494 OPC_CheckChild0Integer, 54|128,98,
25495 OPC_RecordChild1,
25496 OPC_RecordChild2,
25497 OPC_CheckPatternPredicate0,
25498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_B_H),
25499 MVT::v32i8, 2, 0, 1,
25500 13,
25501 OPC_CheckChild0Integer, 56|128,99,
25502 OPC_RecordChild1,
25503 OPC_RecordChild2,
25504 OPC_CheckPatternPredicate0,
25505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_B_H),
25506 MVT::v32i8, 2, 0, 1,
25507 13,
25508 OPC_CheckChild0Integer, 0|128,99,
25509 OPC_RecordChild1,
25510 OPC_RecordChild2,
25511 OPC_CheckPatternPredicate0,
25512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_B_H),
25513 MVT::v32i8, 2, 0, 1,
25514 13,
25515 OPC_CheckChild0Integer, 58|128,99,
25516 OPC_RecordChild1,
25517 OPC_RecordChild2,
25518 OPC_CheckPatternPredicate0,
25519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_BU_H),
25520 MVT::v32i8, 2, 0, 1,
25521 13,
25522 OPC_CheckChild0Integer, 2|128,99,
25523 OPC_RecordChild1,
25524 OPC_RecordChild2,
25525 OPC_CheckPatternPredicate0,
25526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_BU_H),
25527 MVT::v32i8, 2, 0, 1,
25528 13,
25529 OPC_CheckChild0Integer, 84|128,99,
25530 OPC_RecordChild1,
25531 OPC_RecordChild2,
25532 OPC_CheckPatternPredicate0,
25533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_B_H),
25534 MVT::v32i8, 2, 0, 1,
25535 13,
25536 OPC_CheckChild0Integer, 28|128,99,
25537 OPC_RecordChild1,
25538 OPC_RecordChild2,
25539 OPC_CheckPatternPredicate0,
25540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_B_H),
25541 MVT::v32i8, 2, 0, 1,
25542 13,
25543 OPC_CheckChild0Integer, 86|128,99,
25544 OPC_RecordChild1,
25545 OPC_RecordChild2,
25546 OPC_CheckPatternPredicate0,
25547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_BU_H),
25548 MVT::v32i8, 2, 0, 1,
25549 13,
25550 OPC_CheckChild0Integer, 30|128,99,
25551 OPC_RecordChild1,
25552 OPC_RecordChild2,
25553 OPC_CheckPatternPredicate0,
25554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_BU_H),
25555 MVT::v32i8, 2, 0, 1,
25556 13,
25557 OPC_CheckChild0Integer, 8|128,97,
25558 OPC_RecordChild1,
25559 OPC_RecordChild2,
25560 OPC_CheckPatternPredicate0,
25561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
25562 MVT::v16i16, 2, 0, 1,
25563 13,
25564 OPC_CheckChild0Integer, 52|128,97,
25565 OPC_RecordChild1,
25566 OPC_RecordChild2,
25567 OPC_CheckPatternPredicate0,
25568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
25569 MVT::v16i16, 2, 0, 1,
25570 13,
25571 OPC_CheckChild0Integer, 54|128,97,
25572 OPC_RecordChild1,
25573 OPC_RecordChild2,
25574 OPC_CheckPatternPredicate0,
25575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
25576 MVT::v16i16, 2, 0, 1,
25577 13,
25578 OPC_CheckChild0Integer, 112|128,97,
25579 OPC_RecordChild1,
25580 OPC_RecordChild2,
25581 OPC_CheckPatternPredicate0,
25582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
25583 MVT::v16i16, 2, 0, 1,
25584 13,
25585 OPC_CheckChild0Integer, 114|128,97,
25586 OPC_RecordChild1,
25587 OPC_RecordChild2,
25588 OPC_CheckPatternPredicate0,
25589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
25590 MVT::v16i16, 2, 0, 1,
25591 13,
25592 OPC_CheckChild0Integer, 110|128,95,
25593 OPC_RecordChild1,
25594 OPC_RecordChild2,
25595 OPC_CheckPatternPredicate0,
25596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
25597 MVT::v16i16, 2, 0, 1,
25598 13,
25599 OPC_CheckChild0Integer, 118|128,95,
25600 OPC_RecordChild1,
25601 OPC_RecordChild2,
25602 OPC_CheckPatternPredicate0,
25603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
25604 MVT::v16i16, 2, 0, 1,
25605 13,
25606 OPC_CheckChild0Integer, 14|128,96,
25607 OPC_RecordChild1,
25608 OPC_RecordChild2,
25609 OPC_CheckPatternPredicate0,
25610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
25611 MVT::v16i16, 2, 0, 1,
25612 13,
25613 OPC_CheckChild0Integer, 22|128,96,
25614 OPC_RecordChild1,
25615 OPC_RecordChild2,
25616 OPC_CheckPatternPredicate0,
25617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
25618 MVT::v16i16, 2, 0, 1,
25619 13,
25620 OPC_CheckChild0Integer, 90|128,93,
25621 OPC_RecordChild1,
25622 OPC_RecordChild2,
25623 OPC_CheckPatternPredicate0,
25624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
25625 MVT::v16i16, 2, 0, 1,
25626 13,
25627 OPC_CheckChild0Integer, 82|128,93,
25628 OPC_RecordChild1,
25629 OPC_RecordChild2,
25630 OPC_CheckPatternPredicate0,
25631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
25632 MVT::v16i16, 2, 0, 1,
25633 13,
25634 OPC_CheckChild0Integer, 112|128,96,
25635 OPC_RecordChild1,
25636 OPC_RecordChild2,
25637 OPC_CheckPatternPredicate0,
25638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
25639 MVT::v8i32, 2, 0, 1,
25640 13,
25641 OPC_CheckChild0Integer, 114|128,96,
25642 OPC_RecordChild1,
25643 OPC_RecordChild2,
25644 OPC_CheckPatternPredicate0,
25645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
25646 MVT::v8i32, 2, 0, 1,
25647 13,
25648 OPC_CheckChild0Integer, 124|128,99,
25649 OPC_RecordChild1,
25650 OPC_RecordChild2,
25651 OPC_CheckPatternPredicate0,
25652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
25653 MVT::v8i32, 2, 0, 1,
25654 13,
25655 OPC_CheckChild0Integer, 126|128,99,
25656 OPC_RecordChild1,
25657 OPC_RecordChild2,
25658 OPC_CheckPatternPredicate0,
25659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
25660 MVT::v8i32, 2, 0, 1,
25661 13,
25662 OPC_CheckChild0Integer, 46|128,93,
25663 OPC_RecordChild1,
25664 OPC_RecordChild2,
25665 OPC_CheckPatternPredicate0,
25666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
25667 MVT::v4i64, 2, 0, 1,
25668 13,
25669 OPC_CheckChild0Integer, 48|128,93,
25670 OPC_RecordChild1,
25671 OPC_RecordChild2,
25672 OPC_CheckPatternPredicate0,
25673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
25674 MVT::v4i64, 2, 0, 1,
25675 13,
25676 OPC_CheckChild0Integer, 62|128,93,
25677 OPC_RecordChild1,
25678 OPC_RecordChild2,
25679 OPC_CheckPatternPredicate0,
25680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
25681 MVT::v4i64, 2, 0, 1,
25682 13,
25683 OPC_CheckChild0Integer, 64|128,93,
25684 OPC_RecordChild1,
25685 OPC_RecordChild2,
25686 OPC_CheckPatternPredicate0,
25687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
25688 MVT::v4i64, 2, 0, 1,
25689 13,
25690 OPC_CheckChild0Integer, 80|128,89,
25691 OPC_RecordChild1,
25692 OPC_RecordChild2,
25693 OPC_CheckPatternPredicate0,
25694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_W),
25695 MVT::v4i64, 2, 0, 1,
25696 13,
25697 OPC_CheckChild0Integer, 104|128,89,
25698 OPC_RecordChild1,
25699 OPC_RecordChild2,
25700 OPC_CheckPatternPredicate0,
25701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_W),
25702 MVT::v4i64, 2, 0, 1,
25703 13,
25704 OPC_CheckChild0Integer, 30|128,100,
25705 OPC_RecordChild1,
25706 OPC_RecordChild2,
25707 OPC_CheckPatternPredicate0,
25708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_W),
25709 MVT::v4i64, 2, 0, 1,
25710 13,
25711 OPC_CheckChild0Integer, 46|128,100,
25712 OPC_RecordChild1,
25713 OPC_RecordChild2,
25714 OPC_CheckPatternPredicate0,
25715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_W),
25716 MVT::v4i64, 2, 0, 1,
25717 13,
25718 OPC_CheckChild0Integer, 82|128,89,
25719 OPC_RecordChild1,
25720 OPC_RecordChild2,
25721 OPC_CheckPatternPredicate0,
25722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU),
25723 MVT::v4i64, 2, 0, 1,
25724 13,
25725 OPC_CheckChild0Integer, 106|128,89,
25726 OPC_RecordChild1,
25727 OPC_RecordChild2,
25728 OPC_CheckPatternPredicate0,
25729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU),
25730 MVT::v4i64, 2, 0, 1,
25731 13,
25732 OPC_CheckChild0Integer, 32|128,100,
25733 OPC_RecordChild1,
25734 OPC_RecordChild2,
25735 OPC_CheckPatternPredicate0,
25736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_WU),
25737 MVT::v4i64, 2, 0, 1,
25738 13,
25739 OPC_CheckChild0Integer, 48|128,100,
25740 OPC_RecordChild1,
25741 OPC_RecordChild2,
25742 OPC_CheckPatternPredicate0,
25743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_WU),
25744 MVT::v4i64, 2, 0, 1,
25745 13,
25746 OPC_CheckChild0Integer, 84|128,89,
25747 OPC_RecordChild1,
25748 OPC_RecordChild2,
25749 OPC_CheckPatternPredicate0,
25750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU_W),
25751 MVT::v4i64, 2, 0, 1,
25752 13,
25753 OPC_CheckChild0Integer, 108|128,89,
25754 OPC_RecordChild1,
25755 OPC_RecordChild2,
25756 OPC_CheckPatternPredicate0,
25757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU_W),
25758 MVT::v4i64, 2, 0, 1,
25759 13,
25760 OPC_CheckChild0Integer, 18|128,90,
25761 OPC_RecordChild1,
25762 OPC_RecordChild2,
25763 OPC_CheckPatternPredicate0,
25764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
25765 MVT::v8i32, 2, 0, 1,
25766 13,
25767 OPC_CheckChild0Integer, 20|128,90,
25768 OPC_RecordChild1,
25769 OPC_RecordChild2,
25770 OPC_CheckPatternPredicate0,
25771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
25772 MVT::v8i32, 2, 0, 1,
25773 13,
25774 OPC_CheckChild0Integer, 34|128,90,
25775 OPC_RecordChild1,
25776 OPC_RecordChild2,
25777 OPC_CheckPatternPredicate0,
25778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
25779 MVT::v8i32, 2, 0, 1,
25780 13,
25781 OPC_CheckChild0Integer, 36|128,90,
25782 OPC_RecordChild1,
25783 OPC_RecordChild2,
25784 OPC_CheckPatternPredicate0,
25785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
25786 MVT::v8i32, 2, 0, 1,
25787 13,
25788 OPC_CheckChild0Integer, 50|128,89,
25789 OPC_RecordChild1,
25790 OPC_RecordChild2,
25791 OPC_CheckPatternPredicate0,
25792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
25793 MVT::v8i32, 2, 0, 1,
25794 13,
25795 OPC_CheckChild0Integer, 52|128,89,
25796 OPC_RecordChild1,
25797 OPC_RecordChild2,
25798 OPC_CheckPatternPredicate0,
25799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
25800 MVT::v8i32, 2, 0, 1,
25801 13,
25802 OPC_CheckChild0Integer, 70|128,89,
25803 OPC_RecordChild1,
25804 OPC_RecordChild2,
25805 OPC_CheckPatternPredicate0,
25806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
25807 MVT::v8i32, 2, 0, 1,
25808 13,
25809 OPC_CheckChild0Integer, 28|128,95,
25810 OPC_RecordChild1,
25811 OPC_RecordChild2,
25812 OPC_CheckPatternPredicate0,
25813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
25814 MVT::v8i32, 2, 0, 1,
25815 13,
25816 OPC_CheckChild0Integer, 30|128,95,
25817 OPC_RecordChild1,
25818 OPC_RecordChild2,
25819 OPC_CheckPatternPredicate0,
25820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
25821 MVT::v8i32, 2, 0, 1,
25822 13,
25823 OPC_CheckChild0Integer, 40|128,95,
25824 OPC_RecordChild1,
25825 OPC_RecordChild2,
25826 OPC_CheckPatternPredicate0,
25827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_W),
25828 MVT::v4i64, 2, 0, 1,
25829 13,
25830 OPC_CheckChild0Integer, 64|128,95,
25831 OPC_RecordChild1,
25832 OPC_RecordChild2,
25833 OPC_CheckPatternPredicate0,
25834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_W),
25835 MVT::v4i64, 2, 0, 1,
25836 13,
25837 OPC_CheckChild0Integer, 42|128,95,
25838 OPC_RecordChild1,
25839 OPC_RecordChild2,
25840 OPC_CheckPatternPredicate0,
25841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU),
25842 MVT::v4i64, 2, 0, 1,
25843 13,
25844 OPC_CheckChild0Integer, 66|128,95,
25845 OPC_RecordChild1,
25846 OPC_RecordChild2,
25847 OPC_CheckPatternPredicate0,
25848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU),
25849 MVT::v4i64, 2, 0, 1,
25850 13,
25851 OPC_CheckChild0Integer, 44|128,95,
25852 OPC_RecordChild1,
25853 OPC_RecordChild2,
25854 OPC_CheckPatternPredicate0,
25855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU_W),
25856 MVT::v4i64, 2, 0, 1,
25857 13,
25858 OPC_CheckChild0Integer, 68|128,95,
25859 OPC_RecordChild1,
25860 OPC_RecordChild2,
25861 OPC_CheckPatternPredicate0,
25862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU_W),
25863 MVT::v4i64, 2, 0, 1,
25864 13,
25865 OPC_CheckChild0Integer, 42|128,97,
25866 OPC_RecordChild1,
25867 OPC_RecordChild2,
25868 OPC_CheckPatternPredicate0,
25869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
25870 MVT::v8i32, 2, 0, 1,
25871 13,
25872 OPC_CheckChild0Integer, 90|128,96,
25873 OPC_RecordChild1,
25874 OPC_RecordChild2,
25875 OPC_CheckPatternPredicate0,
25876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
25877 MVT::v8i32, 2, 0, 1,
25878 13,
25879 OPC_CheckChild0Integer, 104|128,98,
25880 OPC_RecordChild1,
25881 OPC_RecordChild2,
25882 OPC_CheckPatternPredicate0,
25883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
25884 MVT::v8i32, 2, 0, 1,
25885 13,
25886 OPC_CheckChild0Integer, 44|128,98,
25887 OPC_RecordChild1,
25888 OPC_RecordChild2,
25889 OPC_CheckPatternPredicate0,
25890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
25891 MVT::v8i32, 2, 0, 1,
25892 13,
25893 OPC_CheckChild0Integer, 86|128,98,
25894 OPC_RecordChild1,
25895 OPC_RecordChild2,
25896 OPC_CheckPatternPredicate0,
25897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_H_W),
25898 MVT::v16i16, 2, 0, 1,
25899 13,
25900 OPC_CheckChild0Integer, 26|128,98,
25901 OPC_RecordChild1,
25902 OPC_RecordChild2,
25903 OPC_CheckPatternPredicate0,
25904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_H_W),
25905 MVT::v16i16, 2, 0, 1,
25906 13,
25907 OPC_CheckChild0Integer, 116|128,98,
25908 OPC_RecordChild1,
25909 OPC_RecordChild2,
25910 OPC_CheckPatternPredicate0,
25911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_H_W),
25912 MVT::v16i16, 2, 0, 1,
25913 13,
25914 OPC_CheckChild0Integer, 56|128,98,
25915 OPC_RecordChild1,
25916 OPC_RecordChild2,
25917 OPC_CheckPatternPredicate0,
25918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_H_W),
25919 MVT::v16i16, 2, 0, 1,
25920 13,
25921 OPC_CheckChild0Integer, 60|128,99,
25922 OPC_RecordChild1,
25923 OPC_RecordChild2,
25924 OPC_CheckPatternPredicate0,
25925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_H_W),
25926 MVT::v16i16, 2, 0, 1,
25927 13,
25928 OPC_CheckChild0Integer, 4|128,99,
25929 OPC_RecordChild1,
25930 OPC_RecordChild2,
25931 OPC_CheckPatternPredicate0,
25932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_H_W),
25933 MVT::v16i16, 2, 0, 1,
25934 13,
25935 OPC_CheckChild0Integer, 62|128,99,
25936 OPC_RecordChild1,
25937 OPC_RecordChild2,
25938 OPC_CheckPatternPredicate0,
25939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_HU_W),
25940 MVT::v16i16, 2, 0, 1,
25941 13,
25942 OPC_CheckChild0Integer, 6|128,99,
25943 OPC_RecordChild1,
25944 OPC_RecordChild2,
25945 OPC_CheckPatternPredicate0,
25946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_HU_W),
25947 MVT::v16i16, 2, 0, 1,
25948 13,
25949 OPC_CheckChild0Integer, 88|128,99,
25950 OPC_RecordChild1,
25951 OPC_RecordChild2,
25952 OPC_CheckPatternPredicate0,
25953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_H_W),
25954 MVT::v16i16, 2, 0, 1,
25955 13,
25956 OPC_CheckChild0Integer, 32|128,99,
25957 OPC_RecordChild1,
25958 OPC_RecordChild2,
25959 OPC_CheckPatternPredicate0,
25960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_H_W),
25961 MVT::v16i16, 2, 0, 1,
25962 13,
25963 OPC_CheckChild0Integer, 90|128,99,
25964 OPC_RecordChild1,
25965 OPC_RecordChild2,
25966 OPC_CheckPatternPredicate0,
25967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_HU_W),
25968 MVT::v16i16, 2, 0, 1,
25969 13,
25970 OPC_CheckChild0Integer, 34|128,99,
25971 OPC_RecordChild1,
25972 OPC_RecordChild2,
25973 OPC_CheckPatternPredicate0,
25974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_HU_W),
25975 MVT::v16i16, 2, 0, 1,
25976 13,
25977 OPC_CheckChild0Integer, 10|128,97,
25978 OPC_RecordChild1,
25979 OPC_RecordChild2,
25980 OPC_CheckPatternPredicate0,
25981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
25982 MVT::v8i32, 2, 0, 1,
25983 13,
25984 OPC_CheckChild0Integer, 56|128,97,
25985 OPC_RecordChild1,
25986 OPC_RecordChild2,
25987 OPC_CheckPatternPredicate0,
25988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
25989 MVT::v8i32, 2, 0, 1,
25990 13,
25991 OPC_CheckChild0Integer, 58|128,97,
25992 OPC_RecordChild1,
25993 OPC_RecordChild2,
25994 OPC_CheckPatternPredicate0,
25995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
25996 MVT::v8i32, 2, 0, 1,
25997 13,
25998 OPC_CheckChild0Integer, 116|128,97,
25999 OPC_RecordChild1,
26000 OPC_RecordChild2,
26001 OPC_CheckPatternPredicate0,
26002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
26003 MVT::v8i32, 2, 0, 1,
26004 13,
26005 OPC_CheckChild0Integer, 118|128,97,
26006 OPC_RecordChild1,
26007 OPC_RecordChild2,
26008 OPC_CheckPatternPredicate0,
26009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
26010 MVT::v8i32, 2, 0, 1,
26011 13,
26012 OPC_CheckChild0Integer, 112|128,95,
26013 OPC_RecordChild1,
26014 OPC_RecordChild2,
26015 OPC_CheckPatternPredicate0,
26016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
26017 MVT::v8i32, 2, 0, 1,
26018 13,
26019 OPC_CheckChild0Integer, 120|128,95,
26020 OPC_RecordChild1,
26021 OPC_RecordChild2,
26022 OPC_CheckPatternPredicate0,
26023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
26024 MVT::v8i32, 2, 0, 1,
26025 13,
26026 OPC_CheckChild0Integer, 16|128,96,
26027 OPC_RecordChild1,
26028 OPC_RecordChild2,
26029 OPC_CheckPatternPredicate0,
26030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
26031 MVT::v8i32, 2, 0, 1,
26032 13,
26033 OPC_CheckChild0Integer, 24|128,96,
26034 OPC_RecordChild1,
26035 OPC_RecordChild2,
26036 OPC_CheckPatternPredicate0,
26037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
26038 MVT::v8i32, 2, 0, 1,
26039 13,
26040 OPC_CheckChild0Integer, 92|128,93,
26041 OPC_RecordChild1,
26042 OPC_RecordChild2,
26043 OPC_CheckPatternPredicate0,
26044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
26045 MVT::v8i32, 2, 0, 1,
26046 13,
26047 OPC_CheckChild0Integer, 84|128,93,
26048 OPC_RecordChild1,
26049 OPC_RecordChild2,
26050 OPC_CheckPatternPredicate0,
26051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
26052 MVT::v8i32, 2, 0, 1,
26053 13,
26054 OPC_CheckChild0Integer, 2|128,96,
26055 OPC_RecordChild1,
26056 OPC_RecordChild2,
26057 OPC_CheckPatternPredicate0,
26058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
26059 MVT::v8i32, 2, 0, 1,
26060 13,
26061 OPC_CheckChild0Integer, 60|128,89,
26062 OPC_RecordChild1,
26063 OPC_RecordChild2,
26064 OPC_CheckPatternPredicate0,
26065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_Q),
26066 MVT::v4i64, 2, 0, 1,
26067 13,
26068 OPC_CheckChild0Integer, 18|128,100,
26069 OPC_RecordChild1,
26070 OPC_RecordChild2,
26071 OPC_CheckPatternPredicate0,
26072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_Q),
26073 MVT::v4i64, 2, 0, 1,
26074 13,
26075 OPC_CheckChild0Integer, 104|128,96,
26076 OPC_RecordChild1,
26077 OPC_RecordChild2,
26078 OPC_CheckPatternPredicate0,
26079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
26080 MVT::v4i64, 2, 0, 1,
26081 13,
26082 OPC_CheckChild0Integer, 106|128,96,
26083 OPC_RecordChild1,
26084 OPC_RecordChild2,
26085 OPC_CheckPatternPredicate0,
26086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
26087 MVT::v4i64, 2, 0, 1,
26088 13,
26089 OPC_CheckChild0Integer, 116|128,99,
26090 OPC_RecordChild1,
26091 OPC_RecordChild2,
26092 OPC_CheckPatternPredicate0,
26093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
26094 MVT::v4i64, 2, 0, 1,
26095 13,
26096 OPC_CheckChild0Integer, 118|128,99,
26097 OPC_RecordChild1,
26098 OPC_RecordChild2,
26099 OPC_CheckPatternPredicate0,
26100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
26101 MVT::v4i64, 2, 0, 1,
26102 13,
26103 OPC_CheckChild0Integer, 54|128,93,
26104 OPC_RecordChild1,
26105 OPC_RecordChild2,
26106 OPC_CheckPatternPredicate0,
26107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
26108 MVT::v4i64, 2, 0, 1,
26109 13,
26110 OPC_CheckChild0Integer, 56|128,93,
26111 OPC_RecordChild1,
26112 OPC_RecordChild2,
26113 OPC_CheckPatternPredicate0,
26114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
26115 MVT::v4i64, 2, 0, 1,
26116 13,
26117 OPC_CheckChild0Integer, 70|128,93,
26118 OPC_RecordChild1,
26119 OPC_RecordChild2,
26120 OPC_CheckPatternPredicate0,
26121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
26122 MVT::v4i64, 2, 0, 1,
26123 13,
26124 OPC_CheckChild0Integer, 72|128,93,
26125 OPC_RecordChild1,
26126 OPC_RecordChild2,
26127 OPC_CheckPatternPredicate0,
26128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
26129 MVT::v4i64, 2, 0, 1,
26130 13,
26131 OPC_CheckChild0Integer, 92|128,89,
26132 OPC_RecordChild1,
26133 OPC_RecordChild2,
26134 OPC_CheckPatternPredicate0,
26135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_D),
26136 MVT::v4i64, 2, 0, 1,
26137 13,
26138 OPC_CheckChild0Integer, 116|128,89,
26139 OPC_RecordChild1,
26140 OPC_RecordChild2,
26141 OPC_CheckPatternPredicate0,
26142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_D),
26143 MVT::v4i64, 2, 0, 1,
26144 13,
26145 OPC_CheckChild0Integer, 38|128,100,
26146 OPC_RecordChild1,
26147 OPC_RecordChild2,
26148 OPC_CheckPatternPredicate0,
26149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_D),
26150 MVT::v4i64, 2, 0, 1,
26151 13,
26152 OPC_CheckChild0Integer, 54|128,100,
26153 OPC_RecordChild1,
26154 OPC_RecordChild2,
26155 OPC_CheckPatternPredicate0,
26156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_D),
26157 MVT::v4i64, 2, 0, 1,
26158 13,
26159 OPC_CheckChild0Integer, 94|128,89,
26160 OPC_RecordChild1,
26161 OPC_RecordChild2,
26162 OPC_CheckPatternPredicate0,
26163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU),
26164 MVT::v4i64, 2, 0, 1,
26165 13,
26166 OPC_CheckChild0Integer, 118|128,89,
26167 OPC_RecordChild1,
26168 OPC_RecordChild2,
26169 OPC_CheckPatternPredicate0,
26170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU),
26171 MVT::v4i64, 2, 0, 1,
26172 13,
26173 OPC_CheckChild0Integer, 40|128,100,
26174 OPC_RecordChild1,
26175 OPC_RecordChild2,
26176 OPC_CheckPatternPredicate0,
26177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_DU),
26178 MVT::v4i64, 2, 0, 1,
26179 13,
26180 OPC_CheckChild0Integer, 56|128,100,
26181 OPC_RecordChild1,
26182 OPC_RecordChild2,
26183 OPC_CheckPatternPredicate0,
26184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_DU),
26185 MVT::v4i64, 2, 0, 1,
26186 13,
26187 OPC_CheckChild0Integer, 96|128,89,
26188 OPC_RecordChild1,
26189 OPC_RecordChild2,
26190 OPC_CheckPatternPredicate0,
26191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU_D),
26192 MVT::v4i64, 2, 0, 1,
26193 13,
26194 OPC_CheckChild0Integer, 120|128,89,
26195 OPC_RecordChild1,
26196 OPC_RecordChild2,
26197 OPC_CheckPatternPredicate0,
26198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU_D),
26199 MVT::v4i64, 2, 0, 1,
26200 13,
26201 OPC_CheckChild0Integer, 10|128,90,
26202 OPC_RecordChild1,
26203 OPC_RecordChild2,
26204 OPC_CheckPatternPredicate0,
26205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
26206 MVT::v4i64, 2, 0, 1,
26207 13,
26208 OPC_CheckChild0Integer, 12|128,90,
26209 OPC_RecordChild1,
26210 OPC_RecordChild2,
26211 OPC_CheckPatternPredicate0,
26212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
26213 MVT::v4i64, 2, 0, 1,
26214 13,
26215 OPC_CheckChild0Integer, 26|128,90,
26216 OPC_RecordChild1,
26217 OPC_RecordChild2,
26218 OPC_CheckPatternPredicate0,
26219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
26220 MVT::v4i64, 2, 0, 1,
26221 13,
26222 OPC_CheckChild0Integer, 28|128,90,
26223 OPC_RecordChild1,
26224 OPC_RecordChild2,
26225 OPC_CheckPatternPredicate0,
26226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
26227 MVT::v4i64, 2, 0, 1,
26228 13,
26229 OPC_CheckChild0Integer, 42|128,89,
26230 OPC_RecordChild1,
26231 OPC_RecordChild2,
26232 OPC_CheckPatternPredicate0,
26233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
26234 MVT::v4i64, 2, 0, 1,
26235 13,
26236 OPC_CheckChild0Integer, 44|128,89,
26237 OPC_RecordChild1,
26238 OPC_RecordChild2,
26239 OPC_CheckPatternPredicate0,
26240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
26241 MVT::v4i64, 2, 0, 1,
26242 13,
26243 OPC_CheckChild0Integer, 66|128,89,
26244 OPC_RecordChild1,
26245 OPC_RecordChild2,
26246 OPC_CheckPatternPredicate0,
26247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
26248 MVT::v4i64, 2, 0, 1,
26249 13,
26250 OPC_CheckChild0Integer, 20|128,95,
26251 OPC_RecordChild1,
26252 OPC_RecordChild2,
26253 OPC_CheckPatternPredicate0,
26254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
26255 MVT::v4i64, 2, 0, 1,
26256 13,
26257 OPC_CheckChild0Integer, 22|128,95,
26258 OPC_RecordChild1,
26259 OPC_RecordChild2,
26260 OPC_CheckPatternPredicate0,
26261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
26262 MVT::v4i64, 2, 0, 1,
26263 13,
26264 OPC_CheckChild0Integer, 52|128,95,
26265 OPC_RecordChild1,
26266 OPC_RecordChild2,
26267 OPC_CheckPatternPredicate0,
26268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_D),
26269 MVT::v4i64, 2, 0, 1,
26270 13,
26271 OPC_CheckChild0Integer, 76|128,95,
26272 OPC_RecordChild1,
26273 OPC_RecordChild2,
26274 OPC_CheckPatternPredicate0,
26275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_D),
26276 MVT::v4i64, 2, 0, 1,
26277 13,
26278 OPC_CheckChild0Integer, 54|128,95,
26279 OPC_RecordChild1,
26280 OPC_RecordChild2,
26281 OPC_CheckPatternPredicate0,
26282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU),
26283 MVT::v4i64, 2, 0, 1,
26284 13,
26285 OPC_CheckChild0Integer, 78|128,95,
26286 OPC_RecordChild1,
26287 OPC_RecordChild2,
26288 OPC_CheckPatternPredicate0,
26289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU),
26290 MVT::v4i64, 2, 0, 1,
26291 13,
26292 OPC_CheckChild0Integer, 56|128,95,
26293 OPC_RecordChild1,
26294 OPC_RecordChild2,
26295 OPC_CheckPatternPredicate0,
26296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU_D),
26297 MVT::v4i64, 2, 0, 1,
26298 13,
26299 OPC_CheckChild0Integer, 80|128,95,
26300 OPC_RecordChild1,
26301 OPC_RecordChild2,
26302 OPC_CheckPatternPredicate0,
26303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU_D),
26304 MVT::v4i64, 2, 0, 1,
26305 13,
26306 OPC_CheckChild0Integer, 38|128,97,
26307 OPC_RecordChild1,
26308 OPC_RecordChild2,
26309 OPC_CheckPatternPredicate0,
26310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
26311 MVT::v4i64, 2, 0, 1,
26312 13,
26313 OPC_CheckChild0Integer, 86|128,96,
26314 OPC_RecordChild1,
26315 OPC_RecordChild2,
26316 OPC_CheckPatternPredicate0,
26317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
26318 MVT::v4i64, 2, 0, 1,
26319 13,
26320 OPC_CheckChild0Integer, 100|128,98,
26321 OPC_RecordChild1,
26322 OPC_RecordChild2,
26323 OPC_CheckPatternPredicate0,
26324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
26325 MVT::v4i64, 2, 0, 1,
26326 13,
26327 OPC_CheckChild0Integer, 40|128,98,
26328 OPC_RecordChild1,
26329 OPC_RecordChild2,
26330 OPC_CheckPatternPredicate0,
26331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
26332 MVT::v4i64, 2, 0, 1,
26333 13,
26334 OPC_CheckChild0Integer, 88|128,98,
26335 OPC_RecordChild1,
26336 OPC_RecordChild2,
26337 OPC_CheckPatternPredicate0,
26338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_W_D),
26339 MVT::v8i32, 2, 0, 1,
26340 13,
26341 OPC_CheckChild0Integer, 28|128,98,
26342 OPC_RecordChild1,
26343 OPC_RecordChild2,
26344 OPC_CheckPatternPredicate0,
26345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_W_D),
26346 MVT::v8i32, 2, 0, 1,
26347 13,
26348 OPC_CheckChild0Integer, 118|128,98,
26349 OPC_RecordChild1,
26350 OPC_RecordChild2,
26351 OPC_CheckPatternPredicate0,
26352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_W_D),
26353 MVT::v8i32, 2, 0, 1,
26354 13,
26355 OPC_CheckChild0Integer, 58|128,98,
26356 OPC_RecordChild1,
26357 OPC_RecordChild2,
26358 OPC_CheckPatternPredicate0,
26359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_W_D),
26360 MVT::v8i32, 2, 0, 1,
26361 13,
26362 OPC_CheckChild0Integer, 64|128,99,
26363 OPC_RecordChild1,
26364 OPC_RecordChild2,
26365 OPC_CheckPatternPredicate0,
26366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_W_D),
26367 MVT::v8i32, 2, 0, 1,
26368 13,
26369 OPC_CheckChild0Integer, 8|128,99,
26370 OPC_RecordChild1,
26371 OPC_RecordChild2,
26372 OPC_CheckPatternPredicate0,
26373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_W_D),
26374 MVT::v8i32, 2, 0, 1,
26375 13,
26376 OPC_CheckChild0Integer, 66|128,99,
26377 OPC_RecordChild1,
26378 OPC_RecordChild2,
26379 OPC_CheckPatternPredicate0,
26380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_WU_D),
26381 MVT::v8i32, 2, 0, 1,
26382 13,
26383 OPC_CheckChild0Integer, 10|128,99,
26384 OPC_RecordChild1,
26385 OPC_RecordChild2,
26386 OPC_CheckPatternPredicate0,
26387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_WU_D),
26388 MVT::v8i32, 2, 0, 1,
26389 13,
26390 OPC_CheckChild0Integer, 92|128,99,
26391 OPC_RecordChild1,
26392 OPC_RecordChild2,
26393 OPC_CheckPatternPredicate0,
26394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_W_D),
26395 MVT::v8i32, 2, 0, 1,
26396 13,
26397 OPC_CheckChild0Integer, 36|128,99,
26398 OPC_RecordChild1,
26399 OPC_RecordChild2,
26400 OPC_CheckPatternPredicate0,
26401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_W_D),
26402 MVT::v8i32, 2, 0, 1,
26403 13,
26404 OPC_CheckChild0Integer, 94|128,99,
26405 OPC_RecordChild1,
26406 OPC_RecordChild2,
26407 OPC_CheckPatternPredicate0,
26408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_WU_D),
26409 MVT::v8i32, 2, 0, 1,
26410 13,
26411 OPC_CheckChild0Integer, 38|128,99,
26412 OPC_RecordChild1,
26413 OPC_RecordChild2,
26414 OPC_CheckPatternPredicate0,
26415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_WU_D),
26416 MVT::v8i32, 2, 0, 1,
26417 13,
26418 OPC_CheckChild0Integer, 6|128,97,
26419 OPC_RecordChild1,
26420 OPC_RecordChild2,
26421 OPC_CheckPatternPredicate0,
26422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
26423 MVT::v4i64, 2, 0, 1,
26424 13,
26425 OPC_CheckChild0Integer, 48|128,97,
26426 OPC_RecordChild1,
26427 OPC_RecordChild2,
26428 OPC_CheckPatternPredicate0,
26429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
26430 MVT::v4i64, 2, 0, 1,
26431 13,
26432 OPC_CheckChild0Integer, 50|128,97,
26433 OPC_RecordChild1,
26434 OPC_RecordChild2,
26435 OPC_CheckPatternPredicate0,
26436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
26437 MVT::v4i64, 2, 0, 1,
26438 13,
26439 OPC_CheckChild0Integer, 108|128,97,
26440 OPC_RecordChild1,
26441 OPC_RecordChild2,
26442 OPC_CheckPatternPredicate0,
26443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
26444 MVT::v4i64, 2, 0, 1,
26445 13,
26446 OPC_CheckChild0Integer, 110|128,97,
26447 OPC_RecordChild1,
26448 OPC_RecordChild2,
26449 OPC_CheckPatternPredicate0,
26450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
26451 MVT::v4i64, 2, 0, 1,
26452 13,
26453 OPC_CheckChild0Integer, 108|128,95,
26454 OPC_RecordChild1,
26455 OPC_RecordChild2,
26456 OPC_CheckPatternPredicate0,
26457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
26458 MVT::v4i64, 2, 0, 1,
26459 13,
26460 OPC_CheckChild0Integer, 116|128,95,
26461 OPC_RecordChild1,
26462 OPC_RecordChild2,
26463 OPC_CheckPatternPredicate0,
26464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
26465 MVT::v4i64, 2, 0, 1,
26466 13,
26467 OPC_CheckChild0Integer, 12|128,96,
26468 OPC_RecordChild1,
26469 OPC_RecordChild2,
26470 OPC_CheckPatternPredicate0,
26471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
26472 MVT::v4i64, 2, 0, 1,
26473 13,
26474 OPC_CheckChild0Integer, 20|128,96,
26475 OPC_RecordChild1,
26476 OPC_RecordChild2,
26477 OPC_CheckPatternPredicate0,
26478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
26479 MVT::v4i64, 2, 0, 1,
26480 13,
26481 OPC_CheckChild0Integer, 88|128,93,
26482 OPC_RecordChild1,
26483 OPC_RecordChild2,
26484 OPC_CheckPatternPredicate0,
26485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
26486 MVT::v4i64, 2, 0, 1,
26487 13,
26488 OPC_CheckChild0Integer, 80|128,93,
26489 OPC_RecordChild1,
26490 OPC_RecordChild2,
26491 OPC_CheckPatternPredicate0,
26492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
26493 MVT::v4i64, 2, 0, 1,
26494 15,
26495 OPC_CheckChild0Integer, 2|128,94,
26496 OPC_RecordChild1,
26497 OPC_RecordChild2,
26498 OPC_RecordChild3,
26499 OPC_CheckPatternPredicate0,
26500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_B),
26501 MVT::v16i16, 3, 0, 1, 2,
26502 15,
26503 OPC_CheckChild0Integer, 26|128,94,
26504 OPC_RecordChild1,
26505 OPC_RecordChild2,
26506 OPC_RecordChild3,
26507 OPC_CheckPatternPredicate0,
26508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_B),
26509 MVT::v16i16, 3, 0, 1, 2,
26510 15,
26511 OPC_CheckChild0Integer, 4|128,94,
26512 OPC_RecordChild1,
26513 OPC_RecordChild2,
26514 OPC_RecordChild3,
26515 OPC_CheckPatternPredicate0,
26516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU),
26517 MVT::v16i16, 3, 0, 1, 2,
26518 15,
26519 OPC_CheckChild0Integer, 28|128,94,
26520 OPC_RecordChild1,
26521 OPC_RecordChild2,
26522 OPC_RecordChild3,
26523 OPC_CheckPatternPredicate0,
26524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU),
26525 MVT::v16i16, 3, 0, 1, 2,
26526 15,
26527 OPC_CheckChild0Integer, 6|128,94,
26528 OPC_RecordChild1,
26529 OPC_RecordChild2,
26530 OPC_RecordChild3,
26531 OPC_CheckPatternPredicate0,
26532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU_B),
26533 MVT::v16i16, 3, 0, 1, 2,
26534 15,
26535 OPC_CheckChild0Integer, 30|128,94,
26536 OPC_RecordChild1,
26537 OPC_RecordChild2,
26538 OPC_RecordChild3,
26539 OPC_CheckPatternPredicate0,
26540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU_B),
26541 MVT::v16i16, 3, 0, 1, 2,
26542 15,
26543 OPC_CheckChild0Integer, 14|128,94,
26544 OPC_RecordChild1,
26545 OPC_RecordChild2,
26546 OPC_RecordChild3,
26547 OPC_CheckPatternPredicate0,
26548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_H),
26549 MVT::v8i32, 3, 0, 1, 2,
26550 15,
26551 OPC_CheckChild0Integer, 38|128,94,
26552 OPC_RecordChild1,
26553 OPC_RecordChild2,
26554 OPC_RecordChild3,
26555 OPC_CheckPatternPredicate0,
26556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_H),
26557 MVT::v8i32, 3, 0, 1, 2,
26558 15,
26559 OPC_CheckChild0Integer, 16|128,94,
26560 OPC_RecordChild1,
26561 OPC_RecordChild2,
26562 OPC_RecordChild3,
26563 OPC_CheckPatternPredicate0,
26564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU),
26565 MVT::v8i32, 3, 0, 1, 2,
26566 15,
26567 OPC_CheckChild0Integer, 40|128,94,
26568 OPC_RecordChild1,
26569 OPC_RecordChild2,
26570 OPC_RecordChild3,
26571 OPC_CheckPatternPredicate0,
26572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU),
26573 MVT::v8i32, 3, 0, 1, 2,
26574 15,
26575 OPC_CheckChild0Integer, 18|128,94,
26576 OPC_RecordChild1,
26577 OPC_RecordChild2,
26578 OPC_RecordChild3,
26579 OPC_CheckPatternPredicate0,
26580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU_H),
26581 MVT::v8i32, 3, 0, 1, 2,
26582 15,
26583 OPC_CheckChild0Integer, 42|128,94,
26584 OPC_RecordChild1,
26585 OPC_RecordChild2,
26586 OPC_RecordChild3,
26587 OPC_CheckPatternPredicate0,
26588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU_H),
26589 MVT::v8i32, 3, 0, 1, 2,
26590 15,
26591 OPC_CheckChild0Integer, 124|128,93,
26592 OPC_RecordChild1,
26593 OPC_RecordChild2,
26594 OPC_RecordChild3,
26595 OPC_CheckPatternPredicate0,
26596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_W),
26597 MVT::v4i64, 3, 0, 1, 2,
26598 15,
26599 OPC_CheckChild0Integer, 20|128,94,
26600 OPC_RecordChild1,
26601 OPC_RecordChild2,
26602 OPC_RecordChild3,
26603 OPC_CheckPatternPredicate0,
26604 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_W),
26605 MVT::v4i64, 3, 0, 1, 2,
26606 15,
26607 OPC_CheckChild0Integer, 126|128,93,
26608 OPC_RecordChild1,
26609 OPC_RecordChild2,
26610 OPC_RecordChild3,
26611 OPC_CheckPatternPredicate0,
26612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU),
26613 MVT::v4i64, 3, 0, 1, 2,
26614 15,
26615 OPC_CheckChild0Integer, 22|128,94,
26616 OPC_RecordChild1,
26617 OPC_RecordChild2,
26618 OPC_RecordChild3,
26619 OPC_CheckPatternPredicate0,
26620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU),
26621 MVT::v4i64, 3, 0, 1, 2,
26622 15,
26623 OPC_CheckChild0Integer, 0|128,94,
26624 OPC_RecordChild1,
26625 OPC_RecordChild2,
26626 OPC_RecordChild3,
26627 OPC_CheckPatternPredicate0,
26628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU_W),
26629 MVT::v4i64, 3, 0, 1, 2,
26630 15,
26631 OPC_CheckChild0Integer, 24|128,94,
26632 OPC_RecordChild1,
26633 OPC_RecordChild2,
26634 OPC_RecordChild3,
26635 OPC_CheckPatternPredicate0,
26636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU_W),
26637 MVT::v4i64, 3, 0, 1, 2,
26638 15,
26639 OPC_CheckChild0Integer, 8|128,94,
26640 OPC_RecordChild1,
26641 OPC_RecordChild2,
26642 OPC_RecordChild3,
26643 OPC_CheckPatternPredicate0,
26644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_D),
26645 MVT::v4i64, 3, 0, 1, 2,
26646 15,
26647 OPC_CheckChild0Integer, 32|128,94,
26648 OPC_RecordChild1,
26649 OPC_RecordChild2,
26650 OPC_RecordChild3,
26651 OPC_CheckPatternPredicate0,
26652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_D),
26653 MVT::v4i64, 3, 0, 1, 2,
26654 15,
26655 OPC_CheckChild0Integer, 10|128,94,
26656 OPC_RecordChild1,
26657 OPC_RecordChild2,
26658 OPC_RecordChild3,
26659 OPC_CheckPatternPredicate0,
26660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU),
26661 MVT::v4i64, 3, 0, 1, 2,
26662 15,
26663 OPC_CheckChild0Integer, 34|128,94,
26664 OPC_RecordChild1,
26665 OPC_RecordChild2,
26666 OPC_RecordChild3,
26667 OPC_CheckPatternPredicate0,
26668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU),
26669 MVT::v4i64, 3, 0, 1, 2,
26670 15,
26671 OPC_CheckChild0Integer, 12|128,94,
26672 OPC_RecordChild1,
26673 OPC_RecordChild2,
26674 OPC_RecordChild3,
26675 OPC_CheckPatternPredicate0,
26676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU_D),
26677 MVT::v4i64, 3, 0, 1, 2,
26678 15,
26679 OPC_CheckChild0Integer, 36|128,94,
26680 OPC_RecordChild1,
26681 OPC_RecordChild2,
26682 OPC_RecordChild3,
26683 OPC_CheckPatternPredicate0,
26684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU_D),
26685 MVT::v4i64, 3, 0, 1, 2,
26686 11,
26687 OPC_CheckChild0Integer, 2|128,91,
26688 OPC_RecordChild1,
26689 OPC_CheckPatternPredicate0,
26690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
26691 MVT::v16i16, 1, 0,
26692 11,
26693 OPC_CheckChild0Integer, 4|128,91,
26694 OPC_RecordChild1,
26695 OPC_CheckPatternPredicate0,
26696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
26697 MVT::v16i16, 1, 0,
26698 11,
26699 OPC_CheckChild0Integer, 126|128,94,
26700 OPC_RecordChild1,
26701 OPC_CheckPatternPredicate0,
26702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_B),
26703 MVT::v32i8, 1, 0,
26704 11,
26705 OPC_CheckChild0Integer, 124|128,94,
26706 OPC_RecordChild1,
26707 OPC_CheckPatternPredicate0,
26708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKGEZ_B),
26709 MVT::v32i8, 1, 0,
26710 11,
26711 OPC_CheckChild0Integer, 6|128,95,
26712 OPC_RecordChild1,
26713 OPC_CheckPatternPredicate0,
26714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKNZ_B),
26715 MVT::v32i8, 1, 0,
26716 11,
26717 OPC_CheckChild0Integer, 94|128,90,
26718 OPC_RecordChild1,
26719 OPC_CheckPatternPredicate0,
26720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
26721 MVT::v32i8, 1, 0,
26722 11,
26723 OPC_CheckChild0Integer, 6|128,89,
26724 OPC_RecordChild1,
26725 OPC_CheckPatternPredicate0,
26726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
26727 MVT::v16i16, 1, 0,
26728 11,
26729 OPC_CheckChild0Integer, 8|128,89,
26730 OPC_RecordChild1,
26731 OPC_CheckPatternPredicate0,
26732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
26733 MVT::v16i16, 1, 0,
26734 11,
26735 OPC_CheckChild0Integer, 10|128,89,
26736 OPC_RecordChild1,
26737 OPC_CheckPatternPredicate0,
26738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
26739 MVT::v8i32, 1, 0,
26740 11,
26741 OPC_CheckChild0Integer, 14|128,89,
26742 OPC_RecordChild1,
26743 OPC_CheckPatternPredicate0,
26744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
26745 MVT::v8i32, 1, 0,
26746 11,
26747 OPC_CheckChild0Integer, 122|128,88,
26748 OPC_RecordChild1,
26749 OPC_CheckPatternPredicate0,
26750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
26751 MVT::v4i64, 1, 0,
26752 11,
26753 OPC_CheckChild0Integer, 0|128,89,
26754 OPC_RecordChild1,
26755 OPC_CheckPatternPredicate0,
26756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
26757 MVT::v4i64, 1, 0,
26758 11,
26759 OPC_CheckChild0Integer, 74|128,96,
26760 OPC_RecordChild1,
26761 OPC_CheckPatternPredicate0,
26762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
26763 MVT::v32i8, 1, 0,
26764 11,
26765 OPC_CheckChild0Integer, 80|128,96,
26766 OPC_RecordChild1,
26767 OPC_CheckPatternPredicate0,
26768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
26769 MVT::v32i8, 1, 0,
26770 11,
26771 OPC_CheckChild0Integer, 10|128,91,
26772 OPC_RecordChild1,
26773 OPC_CheckPatternPredicate0,
26774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
26775 MVT::v8i32, 1, 0,
26776 11,
26777 OPC_CheckChild0Integer, 12|128,91,
26778 OPC_RecordChild1,
26779 OPC_CheckPatternPredicate0,
26780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
26781 MVT::v8i32, 1, 0,
26782 11,
26783 OPC_CheckChild0Integer, 2|128,95,
26784 OPC_RecordChild1,
26785 OPC_CheckPatternPredicate0,
26786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_H),
26787 MVT::v16i16, 1, 0,
26788 11,
26789 OPC_CheckChild0Integer, 98|128,90,
26790 OPC_RecordChild1,
26791 OPC_CheckPatternPredicate0,
26792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
26793 MVT::v16i16, 1, 0,
26794 11,
26795 OPC_CheckChild0Integer, 12|128,89,
26796 OPC_RecordChild1,
26797 OPC_CheckPatternPredicate0,
26798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
26799 MVT::v8i32, 1, 0,
26800 11,
26801 OPC_CheckChild0Integer, 16|128,89,
26802 OPC_RecordChild1,
26803 OPC_CheckPatternPredicate0,
26804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
26805 MVT::v8i32, 1, 0,
26806 11,
26807 OPC_CheckChild0Integer, 124|128,88,
26808 OPC_RecordChild1,
26809 OPC_CheckPatternPredicate0,
26810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
26811 MVT::v4i64, 1, 0,
26812 11,
26813 OPC_CheckChild0Integer, 2|128,89,
26814 OPC_RecordChild1,
26815 OPC_CheckPatternPredicate0,
26816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
26817 MVT::v4i64, 1, 0,
26818 11,
26819 OPC_CheckChild0Integer, 78|128,96,
26820 OPC_RecordChild1,
26821 OPC_CheckPatternPredicate0,
26822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
26823 MVT::v16i16, 1, 0,
26824 11,
26825 OPC_CheckChild0Integer, 126|128,90,
26826 OPC_RecordChild1,
26827 OPC_CheckPatternPredicate0,
26828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
26829 MVT::v4i64, 1, 0,
26830 11,
26831 OPC_CheckChild0Integer, 0|128,91,
26832 OPC_RecordChild1,
26833 OPC_CheckPatternPredicate0,
26834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
26835 MVT::v4i64, 1, 0,
26836 11,
26837 OPC_CheckChild0Integer, 4|128,95,
26838 OPC_RecordChild1,
26839 OPC_CheckPatternPredicate0,
26840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_W),
26841 MVT::v8i32, 1, 0,
26842 11,
26843 OPC_CheckChild0Integer, 100|128,90,
26844 OPC_RecordChild1,
26845 OPC_CheckPatternPredicate0,
26846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
26847 MVT::v8i32, 1, 0,
26848 11,
26849 OPC_CheckChild0Integer, 126|128,88,
26850 OPC_RecordChild1,
26851 OPC_CheckPatternPredicate0,
26852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
26853 MVT::v4i64, 1, 0,
26854 11,
26855 OPC_CheckChild0Integer, 4|128,89,
26856 OPC_RecordChild1,
26857 OPC_CheckPatternPredicate0,
26858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
26859 MVT::v4i64, 1, 0,
26860 11,
26861 OPC_CheckChild0Integer, 82|128,96,
26862 OPC_RecordChild1,
26863 OPC_CheckPatternPredicate0,
26864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
26865 MVT::v8i32, 1, 0,
26866 11,
26867 OPC_CheckChild0Integer, 6|128,91,
26868 OPC_RecordChild1,
26869 OPC_CheckPatternPredicate0,
26870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_Q_D),
26871 MVT::v4i64, 1, 0,
26872 11,
26873 OPC_CheckChild0Integer, 8|128,91,
26874 OPC_RecordChild1,
26875 OPC_CheckPatternPredicate0,
26876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_QU_DU),
26877 MVT::v4i64, 1, 0,
26878 11,
26879 OPC_CheckChild0Integer, 0|128,95,
26880 OPC_RecordChild1,
26881 OPC_CheckPatternPredicate0,
26882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_D),
26883 MVT::v4i64, 1, 0,
26884 11,
26885 OPC_CheckChild0Integer, 14|128,91,
26886 OPC_RecordChild1,
26887 OPC_CheckPatternPredicate0,
26888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_Q_D),
26889 MVT::v4i64, 1, 0,
26890 11,
26891 OPC_CheckChild0Integer, 16|128,91,
26892 OPC_RecordChild1,
26893 OPC_CheckPatternPredicate0,
26894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_QU_DU),
26895 MVT::v4i64, 1, 0,
26896 11,
26897 OPC_CheckChild0Integer, 96|128,90,
26898 OPC_RecordChild1,
26899 OPC_CheckPatternPredicate0,
26900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
26901 MVT::v4i64, 1, 0,
26902 11,
26903 OPC_CheckChild0Integer, 76|128,96,
26904 OPC_RecordChild1,
26905 OPC_CheckPatternPredicate0,
26906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
26907 MVT::v4i64, 1, 0,
26908 15,
26909 OPC_CheckChild0Integer, 100|128,92,
26910 OPC_RecordChild1,
26911 OPC_RecordChild2,
26912 OPC_RecordChild3,
26913 OPC_CheckPatternPredicate0,
26914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_B),
26915 MVT::v32i8, 3, 0, 1, 2,
26916 15,
26917 OPC_CheckChild0Integer, 70|128,90,
26918 OPC_RecordChild1,
26919 OPC_RecordChild2,
26920 OPC_RecordChild3,
26921 OPC_CheckPatternPredicate0,
26922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
26923 MVT::v32i8, 3, 0, 1, 2,
26924 15,
26925 OPC_CheckChild0Integer, 20|128,97,
26926 OPC_RecordChild1,
26927 OPC_RecordChild2,
26928 OPC_RecordChild3,
26929 OPC_CheckPatternPredicate0,
26930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
26931 MVT::v32i8, 3, 0, 1, 2,
26932 15,
26933 OPC_CheckChild0Integer, 102|128,92,
26934 OPC_RecordChild1,
26935 OPC_RecordChild2,
26936 OPC_RecordChild3,
26937 OPC_CheckPatternPredicate0,
26938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_H),
26939 MVT::v16i16, 3, 0, 1, 2,
26940 15,
26941 OPC_CheckChild0Integer, 24|128,97,
26942 OPC_RecordChild1,
26943 OPC_RecordChild2,
26944 OPC_RecordChild3,
26945 OPC_CheckPatternPredicate0,
26946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
26947 MVT::v16i16, 3, 0, 1, 2,
26948 15,
26949 OPC_CheckChild0Integer, 26|128,97,
26950 OPC_RecordChild1,
26951 OPC_RecordChild2,
26952 OPC_RecordChild3,
26953 OPC_CheckPatternPredicate0,
26954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
26955 MVT::v8i32, 3, 0, 1, 2,
26956 15,
26957 OPC_CheckChild0Integer, 22|128,97,
26958 OPC_RecordChild1,
26959 OPC_RecordChild2,
26960 OPC_RecordChild3,
26961 OPC_CheckPatternPredicate0,
26962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
26963 MVT::v4i64, 3, 0, 1, 2,
26964 13,
26965 OPC_CheckChild0Integer, 122|128,91,
26966 OPC_RecordChild1,
26967 OPC_RecordChild2,
26968 OPC_CheckPatternPredicate0,
26969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_H_S),
26970 MVT::v16i16, 2, 0, 1,
26971 13,
26972 OPC_CheckChild0Integer, 36|128,91,
26973 OPC_RecordChild1,
26974 OPC_RecordChild2,
26975 OPC_CheckPatternPredicate0,
26976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_S),
26977 MVT::v8i32, 2, 0, 1,
26978 13,
26979 OPC_CheckChild0Integer, 72|128,91,
26980 OPC_RecordChild1,
26981 OPC_RecordChild2,
26982 OPC_CheckPatternPredicate0,
26983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
26984 MVT::v8i32, 2, 0, 1,
26985 13,
26986 OPC_CheckChild0Integer, 40|128,91,
26987 OPC_RecordChild1,
26988 OPC_RecordChild2,
26989 OPC_CheckPatternPredicate0,
26990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
26991 MVT::v8i32, 2, 0, 1,
26992 13,
26993 OPC_CheckChild0Integer, 60|128,91,
26994 OPC_RecordChild1,
26995 OPC_RecordChild2,
26996 OPC_CheckPatternPredicate0,
26997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
26998 MVT::v8i32, 2, 0, 1,
26999 13,
27000 OPC_CheckChild0Integer, 48|128,91,
27001 OPC_RecordChild1,
27002 OPC_RecordChild2,
27003 OPC_CheckPatternPredicate0,
27004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
27005 MVT::v8i32, 2, 0, 1,
27006 13,
27007 OPC_CheckChild0Integer, 68|128,91,
27008 OPC_RecordChild1,
27009 OPC_RecordChild2,
27010 OPC_CheckPatternPredicate0,
27011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
27012 MVT::v8i32, 2, 0, 1,
27013 13,
27014 OPC_CheckChild0Integer, 44|128,91,
27015 OPC_RecordChild1,
27016 OPC_RecordChild2,
27017 OPC_CheckPatternPredicate0,
27018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
27019 MVT::v8i32, 2, 0, 1,
27020 13,
27021 OPC_CheckChild0Integer, 64|128,91,
27022 OPC_RecordChild1,
27023 OPC_RecordChild2,
27024 OPC_CheckPatternPredicate0,
27025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
27026 MVT::v8i32, 2, 0, 1,
27027 13,
27028 OPC_CheckChild0Integer, 52|128,91,
27029 OPC_RecordChild1,
27030 OPC_RecordChild2,
27031 OPC_CheckPatternPredicate0,
27032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
27033 MVT::v8i32, 2, 0, 1,
27034 13,
27035 OPC_CheckChild0Integer, 56|128,91,
27036 OPC_RecordChild1,
27037 OPC_RecordChild2,
27038 OPC_CheckPatternPredicate0,
27039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
27040 MVT::v8i32, 2, 0, 1,
27041 13,
27042 OPC_CheckChild0Integer, 76|128,91,
27043 OPC_RecordChild1,
27044 OPC_RecordChild2,
27045 OPC_CheckPatternPredicate0,
27046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
27047 MVT::v8i32, 2, 0, 1,
27048 13,
27049 OPC_CheckChild0Integer, 80|128,91,
27050 OPC_RecordChild1,
27051 OPC_RecordChild2,
27052 OPC_CheckPatternPredicate0,
27053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_S),
27054 MVT::v8i32, 2, 0, 1,
27055 13,
27056 OPC_CheckChild0Integer, 116|128,91,
27057 OPC_RecordChild1,
27058 OPC_RecordChild2,
27059 OPC_CheckPatternPredicate0,
27060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_S),
27061 MVT::v8i32, 2, 0, 1,
27062 13,
27063 OPC_CheckChild0Integer, 84|128,91,
27064 OPC_RecordChild1,
27065 OPC_RecordChild2,
27066 OPC_CheckPatternPredicate0,
27067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_S),
27068 MVT::v8i32, 2, 0, 1,
27069 13,
27070 OPC_CheckChild0Integer, 104|128,91,
27071 OPC_RecordChild1,
27072 OPC_RecordChild2,
27073 OPC_CheckPatternPredicate0,
27074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_S),
27075 MVT::v8i32, 2, 0, 1,
27076 13,
27077 OPC_CheckChild0Integer, 92|128,91,
27078 OPC_RecordChild1,
27079 OPC_RecordChild2,
27080 OPC_CheckPatternPredicate0,
27081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_S),
27082 MVT::v8i32, 2, 0, 1,
27083 13,
27084 OPC_CheckChild0Integer, 112|128,91,
27085 OPC_RecordChild1,
27086 OPC_RecordChild2,
27087 OPC_CheckPatternPredicate0,
27088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_S),
27089 MVT::v8i32, 2, 0, 1,
27090 13,
27091 OPC_CheckChild0Integer, 88|128,91,
27092 OPC_RecordChild1,
27093 OPC_RecordChild2,
27094 OPC_CheckPatternPredicate0,
27095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_S),
27096 MVT::v8i32, 2, 0, 1,
27097 13,
27098 OPC_CheckChild0Integer, 108|128,91,
27099 OPC_RecordChild1,
27100 OPC_RecordChild2,
27101 OPC_CheckPatternPredicate0,
27102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_S),
27103 MVT::v8i32, 2, 0, 1,
27104 13,
27105 OPC_CheckChild0Integer, 96|128,91,
27106 OPC_RecordChild1,
27107 OPC_RecordChild2,
27108 OPC_CheckPatternPredicate0,
27109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_S),
27110 MVT::v8i32, 2, 0, 1,
27111 13,
27112 OPC_CheckChild0Integer, 100|128,91,
27113 OPC_RecordChild1,
27114 OPC_RecordChild2,
27115 OPC_CheckPatternPredicate0,
27116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_S),
27117 MVT::v8i32, 2, 0, 1,
27118 13,
27119 OPC_CheckChild0Integer, 120|128,91,
27120 OPC_RecordChild1,
27121 OPC_RecordChild2,
27122 OPC_CheckPatternPredicate0,
27123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_S),
27124 MVT::v8i32, 2, 0, 1,
27125 13,
27126 OPC_CheckChild0Integer, 14|128,93,
27127 OPC_RecordChild1,
27128 OPC_RecordChild2,
27129 OPC_CheckPatternPredicate0,
27130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_D),
27131 MVT::v8i32, 2, 0, 1,
27132 13,
27133 OPC_CheckChild0Integer, 36|128,93,
27134 OPC_RecordChild1,
27135 OPC_RecordChild2,
27136 OPC_CheckPatternPredicate0,
27137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
27138 MVT::v8i32, 2, 0, 1,
27139 13,
27140 OPC_CheckChild0Integer, 24|128,93,
27141 OPC_RecordChild1,
27142 OPC_RecordChild2,
27143 OPC_CheckPatternPredicate0,
27144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_D),
27145 MVT::v8i32, 2, 0, 1,
27146 13,
27147 OPC_CheckChild0Integer, 4|128,93,
27148 OPC_RecordChild1,
27149 OPC_RecordChild2,
27150 OPC_CheckPatternPredicate0,
27151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_D),
27152 MVT::v8i32, 2, 0, 1,
27153 13,
27154 OPC_CheckChild0Integer, 120|128,92,
27155 OPC_RecordChild1,
27156 OPC_RecordChild2,
27157 OPC_CheckPatternPredicate0,
27158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_D),
27159 MVT::v8i32, 2, 0, 1,
27160 13,
27161 OPC_CheckChild0Integer, 34|128,91,
27162 OPC_RecordChild1,
27163 OPC_RecordChild2,
27164 OPC_CheckPatternPredicate0,
27165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_D),
27166 MVT::v4i64, 2, 0, 1,
27167 13,
27168 OPC_CheckChild0Integer, 70|128,91,
27169 OPC_RecordChild1,
27170 OPC_RecordChild2,
27171 OPC_CheckPatternPredicate0,
27172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
27173 MVT::v4i64, 2, 0, 1,
27174 13,
27175 OPC_CheckChild0Integer, 38|128,91,
27176 OPC_RecordChild1,
27177 OPC_RecordChild2,
27178 OPC_CheckPatternPredicate0,
27179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
27180 MVT::v4i64, 2, 0, 1,
27181 13,
27182 OPC_CheckChild0Integer, 58|128,91,
27183 OPC_RecordChild1,
27184 OPC_RecordChild2,
27185 OPC_CheckPatternPredicate0,
27186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
27187 MVT::v4i64, 2, 0, 1,
27188 13,
27189 OPC_CheckChild0Integer, 46|128,91,
27190 OPC_RecordChild1,
27191 OPC_RecordChild2,
27192 OPC_CheckPatternPredicate0,
27193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
27194 MVT::v4i64, 2, 0, 1,
27195 13,
27196 OPC_CheckChild0Integer, 66|128,91,
27197 OPC_RecordChild1,
27198 OPC_RecordChild2,
27199 OPC_CheckPatternPredicate0,
27200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
27201 MVT::v4i64, 2, 0, 1,
27202 13,
27203 OPC_CheckChild0Integer, 42|128,91,
27204 OPC_RecordChild1,
27205 OPC_RecordChild2,
27206 OPC_CheckPatternPredicate0,
27207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
27208 MVT::v4i64, 2, 0, 1,
27209 13,
27210 OPC_CheckChild0Integer, 62|128,91,
27211 OPC_RecordChild1,
27212 OPC_RecordChild2,
27213 OPC_CheckPatternPredicate0,
27214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
27215 MVT::v4i64, 2, 0, 1,
27216 13,
27217 OPC_CheckChild0Integer, 50|128,91,
27218 OPC_RecordChild1,
27219 OPC_RecordChild2,
27220 OPC_CheckPatternPredicate0,
27221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
27222 MVT::v4i64, 2, 0, 1,
27223 13,
27224 OPC_CheckChild0Integer, 54|128,91,
27225 OPC_RecordChild1,
27226 OPC_RecordChild2,
27227 OPC_CheckPatternPredicate0,
27228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
27229 MVT::v4i64, 2, 0, 1,
27230 13,
27231 OPC_CheckChild0Integer, 74|128,91,
27232 OPC_RecordChild1,
27233 OPC_RecordChild2,
27234 OPC_CheckPatternPredicate0,
27235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
27236 MVT::v4i64, 2, 0, 1,
27237 13,
27238 OPC_CheckChild0Integer, 78|128,91,
27239 OPC_RecordChild1,
27240 OPC_RecordChild2,
27241 OPC_CheckPatternPredicate0,
27242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_D),
27243 MVT::v4i64, 2, 0, 1,
27244 13,
27245 OPC_CheckChild0Integer, 114|128,91,
27246 OPC_RecordChild1,
27247 OPC_RecordChild2,
27248 OPC_CheckPatternPredicate0,
27249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_D),
27250 MVT::v4i64, 2, 0, 1,
27251 13,
27252 OPC_CheckChild0Integer, 82|128,91,
27253 OPC_RecordChild1,
27254 OPC_RecordChild2,
27255 OPC_CheckPatternPredicate0,
27256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_D),
27257 MVT::v4i64, 2, 0, 1,
27258 13,
27259 OPC_CheckChild0Integer, 102|128,91,
27260 OPC_RecordChild1,
27261 OPC_RecordChild2,
27262 OPC_CheckPatternPredicate0,
27263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_D),
27264 MVT::v4i64, 2, 0, 1,
27265 13,
27266 OPC_CheckChild0Integer, 90|128,91,
27267 OPC_RecordChild1,
27268 OPC_RecordChild2,
27269 OPC_CheckPatternPredicate0,
27270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_D),
27271 MVT::v4i64, 2, 0, 1,
27272 13,
27273 OPC_CheckChild0Integer, 110|128,91,
27274 OPC_RecordChild1,
27275 OPC_RecordChild2,
27276 OPC_CheckPatternPredicate0,
27277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_D),
27278 MVT::v4i64, 2, 0, 1,
27279 13,
27280 OPC_CheckChild0Integer, 86|128,91,
27281 OPC_RecordChild1,
27282 OPC_RecordChild2,
27283 OPC_CheckPatternPredicate0,
27284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_D),
27285 MVT::v4i64, 2, 0, 1,
27286 13,
27287 OPC_CheckChild0Integer, 106|128,91,
27288 OPC_RecordChild1,
27289 OPC_RecordChild2,
27290 OPC_CheckPatternPredicate0,
27291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_D),
27292 MVT::v4i64, 2, 0, 1,
27293 13,
27294 OPC_CheckChild0Integer, 94|128,91,
27295 OPC_RecordChild1,
27296 OPC_RecordChild2,
27297 OPC_CheckPatternPredicate0,
27298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_D),
27299 MVT::v4i64, 2, 0, 1,
27300 13,
27301 OPC_CheckChild0Integer, 98|128,91,
27302 OPC_RecordChild1,
27303 OPC_RecordChild2,
27304 OPC_CheckPatternPredicate0,
27305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_D),
27306 MVT::v4i64, 2, 0, 1,
27307 13,
27308 OPC_CheckChild0Integer, 118|128,91,
27309 OPC_RecordChild1,
27310 OPC_RecordChild2,
27311 OPC_CheckPatternPredicate0,
27312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_D),
27313 MVT::v4i64, 2, 0, 1,
27314 11,
27315 OPC_CheckChild0Integer, 32|128,91,
27316 OPC_RecordChild1,
27317 OPC_CheckPatternPredicate0,
27318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_S),
27319 MVT::v8i32, 1, 0,
27320 11,
27321 OPC_CheckChild0Integer, 16|128,93,
27322 OPC_RecordChild1,
27323 OPC_CheckPatternPredicate0,
27324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_S),
27325 MVT::v8i32, 1, 0,
27326 11,
27327 OPC_CheckChild0Integer, 38|128,93,
27328 OPC_RecordChild1,
27329 OPC_CheckPatternPredicate0,
27330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
27331 MVT::v8i32, 1, 0,
27332 11,
27333 OPC_CheckChild0Integer, 26|128,93,
27334 OPC_RecordChild1,
27335 OPC_CheckPatternPredicate0,
27336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_S),
27337 MVT::v8i32, 1, 0,
27338 11,
27339 OPC_CheckChild0Integer, 6|128,93,
27340 OPC_RecordChild1,
27341 OPC_CheckPatternPredicate0,
27342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_S),
27343 MVT::v8i32, 1, 0,
27344 11,
27345 OPC_CheckChild0Integer, 122|128,92,
27346 OPC_RecordChild1,
27347 OPC_CheckPatternPredicate0,
27348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_S),
27349 MVT::v8i32, 1, 0,
27350 11,
27351 OPC_CheckChild0Integer, 40|128,93,
27352 OPC_RecordChild1,
27353 OPC_CheckPatternPredicate0,
27354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
27355 MVT::v8i32, 1, 0,
27356 11,
27357 OPC_CheckChild0Integer, 124|128,92,
27358 OPC_RecordChild1,
27359 OPC_CheckPatternPredicate0,
27360 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_WU_S),
27361 MVT::v8i32, 1, 0,
27362 11,
27363 OPC_CheckChild0Integer, 20|128,93,
27364 OPC_RecordChild1,
27365 OPC_CheckPatternPredicate0,
27366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEL_L_S),
27367 MVT::v4i64, 1, 0,
27368 11,
27369 OPC_CheckChild0Integer, 18|128,93,
27370 OPC_RecordChild1,
27371 OPC_CheckPatternPredicate0,
27372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEH_L_S),
27373 MVT::v4i64, 1, 0,
27374 11,
27375 OPC_CheckChild0Integer, 44|128,93,
27376 OPC_RecordChild1,
27377 OPC_CheckPatternPredicate0,
27378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZL_L_S),
27379 MVT::v4i64, 1, 0,
27380 11,
27381 OPC_CheckChild0Integer, 42|128,93,
27382 OPC_RecordChild1,
27383 OPC_CheckPatternPredicate0,
27384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZH_L_S),
27385 MVT::v4i64, 1, 0,
27386 11,
27387 OPC_CheckChild0Integer, 30|128,93,
27388 OPC_RecordChild1,
27389 OPC_CheckPatternPredicate0,
27390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPL_L_S),
27391 MVT::v4i64, 1, 0,
27392 11,
27393 OPC_CheckChild0Integer, 28|128,93,
27394 OPC_RecordChild1,
27395 OPC_CheckPatternPredicate0,
27396 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPH_L_S),
27397 MVT::v4i64, 1, 0,
27398 11,
27399 OPC_CheckChild0Integer, 10|128,93,
27400 OPC_RecordChild1,
27401 OPC_CheckPatternPredicate0,
27402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRML_L_S),
27403 MVT::v4i64, 1, 0,
27404 11,
27405 OPC_CheckChild0Integer, 8|128,93,
27406 OPC_RecordChild1,
27407 OPC_CheckPatternPredicate0,
27408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRMH_L_S),
27409 MVT::v4i64, 1, 0,
27410 11,
27411 OPC_CheckChild0Integer, 0|128,93,
27412 OPC_RecordChild1,
27413 OPC_CheckPatternPredicate0,
27414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTL_L_S),
27415 MVT::v4i64, 1, 0,
27416 11,
27417 OPC_CheckChild0Integer, 126|128,92,
27418 OPC_RecordChild1,
27419 OPC_CheckPatternPredicate0,
27420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTH_L_S),
27421 MVT::v4i64, 1, 0,
27422 11,
27423 OPC_CheckChild0Integer, 30|128,91,
27424 OPC_RecordChild1,
27425 OPC_CheckPatternPredicate0,
27426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_D),
27427 MVT::v4i64, 1, 0,
27428 11,
27429 OPC_CheckChild0Integer, 12|128,93,
27430 OPC_RecordChild1,
27431 OPC_CheckPatternPredicate0,
27432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_L_D),
27433 MVT::v4i64, 1, 0,
27434 11,
27435 OPC_CheckChild0Integer, 32|128,93,
27436 OPC_RecordChild1,
27437 OPC_CheckPatternPredicate0,
27438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
27439 MVT::v4i64, 1, 0,
27440 11,
27441 OPC_CheckChild0Integer, 22|128,93,
27442 OPC_RecordChild1,
27443 OPC_CheckPatternPredicate0,
27444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_L_D),
27445 MVT::v4i64, 1, 0,
27446 11,
27447 OPC_CheckChild0Integer, 2|128,93,
27448 OPC_RecordChild1,
27449 OPC_CheckPatternPredicate0,
27450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_L_D),
27451 MVT::v4i64, 1, 0,
27452 11,
27453 OPC_CheckChild0Integer, 116|128,92,
27454 OPC_RecordChild1,
27455 OPC_CheckPatternPredicate0,
27456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_L_D),
27457 MVT::v4i64, 1, 0,
27458 11,
27459 OPC_CheckChild0Integer, 34|128,93,
27460 OPC_RecordChild1,
27461 OPC_CheckPatternPredicate0,
27462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
27463 MVT::v4i64, 1, 0,
27464 11,
27465 OPC_CheckChild0Integer, 118|128,92,
27466 OPC_RecordChild1,
27467 OPC_CheckPatternPredicate0,
27468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_LU_D),
27469 MVT::v4i64, 1, 0,
27470 36,
27471 OPC_CheckChild0Integer, 32|128,96,
27472 OPC_RecordChild1,
27473 OPC_RecordChild2,
27474 OPC_MoveChild2,
27475 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27476 OPC_MoveParent,
27477 OPC_Scope, 11,
27478 OPC_CheckPatternPredicate3,
27479 OPC_EmitNodeXForm, 7, 1,
27480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
27481 MVT::v8f32, 2, 0, 2,
27482 11,
27483 OPC_CheckPatternPredicate4,
27484 OPC_EmitNodeXForm, 7, 1,
27485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
27486 MVT::v8f32, 2, 0, 2,
27487 0,
27488 36,
27489 OPC_CheckChild0Integer, 28|128,96,
27490 OPC_RecordChild1,
27491 OPC_RecordChild2,
27492 OPC_MoveChild2,
27493 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27494 OPC_MoveParent,
27495 OPC_Scope, 11,
27496 OPC_CheckPatternPredicate3,
27497 OPC_EmitNodeXForm, 7, 1,
27498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
27499 MVT::v4f64, 2, 0, 2,
27500 11,
27501 OPC_CheckPatternPredicate4,
27502 OPC_EmitNodeXForm, 7, 1,
27503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
27504 MVT::v4f64, 2, 0, 2,
27505 0,
27506 13,
27507 OPC_CheckChild0Integer, 66|128,103,
27508 OPC_RecordChild1,
27509 OPC_RecordChild2,
27510 OPC_CheckPatternPredicate1,
27511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
27512 MVT::v4f32, 2, 0, 1,
27513 11,
27514 OPC_CheckChild0Integer, 56|128,103,
27515 OPC_RecordChild1,
27516 OPC_CheckPatternPredicate1,
27517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_S_H),
27518 MVT::v4f32, 1, 0,
27519 11,
27520 OPC_CheckChild0Integer, 52|128,103,
27521 OPC_RecordChild1,
27522 OPC_CheckPatternPredicate1,
27523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_S_H),
27524 MVT::v4f32, 1, 0,
27525 11,
27526 OPC_CheckChild0Integer, 68|128,103,
27527 OPC_RecordChild1,
27528 OPC_CheckPatternPredicate1,
27529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
27530 MVT::v4f32, 1, 0,
27531 11,
27532 OPC_CheckChild0Integer, 70|128,103,
27533 OPC_RecordChild1,
27534 OPC_CheckPatternPredicate1,
27535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
27536 MVT::v4f32, 1, 0,
27537 11,
27538 OPC_CheckChild0Integer, 74|128,103,
27539 OPC_RecordChild1,
27540 OPC_CheckPatternPredicate1,
27541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTL_D_W),
27542 MVT::v2f64, 1, 0,
27543 11,
27544 OPC_CheckChild0Integer, 72|128,103,
27545 OPC_RecordChild1,
27546 OPC_CheckPatternPredicate1,
27547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTH_D_W),
27548 MVT::v2f64, 1, 0,
27549 11,
27550 OPC_CheckChild0Integer, 62|128,103,
27551 OPC_RecordChild1,
27552 OPC_CheckPatternPredicate1,
27553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
27554 MVT::v2f64, 1, 0,
27555 11,
27556 OPC_CheckChild0Integer, 64|128,103,
27557 OPC_RecordChild1,
27558 OPC_CheckPatternPredicate1,
27559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
27560 MVT::v2f64, 1, 0,
27561 15,
27562 OPC_CheckChild0Integer, 102|128,103,
27563 OPC_RecordChild1,
27564 OPC_RecordChild2,
27565 OPC_RecordChild3,
27566 OPC_CheckPatternPredicate1,
27567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
27568 MVT::v4f32, 3, 0, 1, 2,
27569 15,
27570 OPC_CheckChild0Integer, 110|128,103,
27571 OPC_RecordChild1,
27572 OPC_RecordChild2,
27573 OPC_RecordChild3,
27574 OPC_CheckPatternPredicate1,
27575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
27576 MVT::v4f32, 3, 0, 1, 2,
27577 15,
27578 OPC_CheckChild0Integer, 114|128,103,
27579 OPC_RecordChild1,
27580 OPC_RecordChild2,
27581 OPC_RecordChild3,
27582 OPC_CheckPatternPredicate1,
27583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
27584 MVT::v4f32, 3, 0, 1, 2,
27585 15,
27586 OPC_CheckChild0Integer, 100|128,103,
27587 OPC_RecordChild1,
27588 OPC_RecordChild2,
27589 OPC_RecordChild3,
27590 OPC_CheckPatternPredicate1,
27591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
27592 MVT::v2f64, 3, 0, 1, 2,
27593 15,
27594 OPC_CheckChild0Integer, 108|128,103,
27595 OPC_RecordChild1,
27596 OPC_RecordChild2,
27597 OPC_RecordChild3,
27598 OPC_CheckPatternPredicate1,
27599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
27600 MVT::v2f64, 3, 0, 1, 2,
27601 15,
27602 OPC_CheckChild0Integer, 112|128,103,
27603 OPC_RecordChild1,
27604 OPC_RecordChild2,
27605 OPC_RecordChild3,
27606 OPC_CheckPatternPredicate1,
27607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
27608 MVT::v2f64, 3, 0, 1, 2,
27609 13,
27610 OPC_CheckChild0Integer, 86|128,103,
27611 OPC_RecordChild1,
27612 OPC_RecordChild2,
27613 OPC_CheckPatternPredicate1,
27614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
27615 MVT::v4f32, 2, 0, 1,
27616 13,
27617 OPC_CheckChild0Integer, 94|128,103,
27618 OPC_RecordChild1,
27619 OPC_RecordChild2,
27620 OPC_CheckPatternPredicate1,
27621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
27622 MVT::v4f32, 2, 0, 1,
27623 13,
27624 OPC_CheckChild0Integer, 90|128,103,
27625 OPC_RecordChild1,
27626 OPC_RecordChild2,
27627 OPC_CheckPatternPredicate1,
27628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_S),
27629 MVT::v4f32, 2, 0, 1,
27630 13,
27631 OPC_CheckChild0Integer, 98|128,103,
27632 OPC_RecordChild1,
27633 OPC_RecordChild2,
27634 OPC_CheckPatternPredicate1,
27635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_S),
27636 MVT::v4f32, 2, 0, 1,
27637 13,
27638 OPC_CheckChild0Integer, 84|128,103,
27639 OPC_RecordChild1,
27640 OPC_RecordChild2,
27641 OPC_CheckPatternPredicate1,
27642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
27643 MVT::v2f64, 2, 0, 1,
27644 13,
27645 OPC_CheckChild0Integer, 92|128,103,
27646 OPC_RecordChild1,
27647 OPC_RecordChild2,
27648 OPC_CheckPatternPredicate1,
27649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
27650 MVT::v2f64, 2, 0, 1,
27651 13,
27652 OPC_CheckChild0Integer, 88|128,103,
27653 OPC_RecordChild1,
27654 OPC_RecordChild2,
27655 OPC_CheckPatternPredicate1,
27656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_D),
27657 MVT::v2f64, 2, 0, 1,
27658 13,
27659 OPC_CheckChild0Integer, 96|128,103,
27660 OPC_RecordChild1,
27661 OPC_RecordChild2,
27662 OPC_CheckPatternPredicate1,
27663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_D),
27664 MVT::v2f64, 2, 0, 1,
27665 13,
27666 OPC_CheckChild0Integer, 48|128,103,
27667 OPC_RecordChild1,
27668 OPC_RecordChild2,
27669 OPC_CheckPatternPredicate1,
27670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
27671 MVT::v4f32, 2, 0, 1,
27672 11,
27673 OPC_CheckChild0Integer, 78|128,103,
27674 OPC_RecordChild1,
27675 OPC_CheckPatternPredicate1,
27676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_S),
27677 MVT::v4f32, 1, 0,
27678 11,
27679 OPC_CheckChild0Integer, 34|128,104,
27680 OPC_RecordChild1,
27681 OPC_CheckPatternPredicate1,
27682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
27683 MVT::v4f32, 1, 0,
27684 11,
27685 OPC_CheckChild0Integer, 118|128,103,
27686 OPC_RecordChild1,
27687 OPC_CheckPatternPredicate1,
27688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
27689 MVT::v4f32, 1, 0,
27690 11,
27691 OPC_CheckChild0Integer, 18|128,104,
27692 OPC_RecordChild1,
27693 OPC_CheckPatternPredicate1,
27694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
27695 MVT::v4f32, 1, 0,
27696 11,
27697 OPC_CheckChild0Integer, 126|128,103,
27698 OPC_RecordChild1,
27699 OPC_CheckPatternPredicate1,
27700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_S),
27701 MVT::v4f32, 1, 0,
27702 11,
27703 OPC_CheckChild0Integer, 54|128,103,
27704 OPC_RecordChild1,
27705 OPC_CheckPatternPredicate1,
27706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
27707 MVT::v2f64, 1, 0,
27708 11,
27709 OPC_CheckChild0Integer, 50|128,103,
27710 OPC_RecordChild1,
27711 OPC_CheckPatternPredicate1,
27712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
27713 MVT::v2f64, 1, 0,
27714 11,
27715 OPC_CheckChild0Integer, 6|128,104,
27716 OPC_RecordChild1,
27717 OPC_CheckPatternPredicate1,
27718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
27719 MVT::v4f32, 1, 0,
27720 11,
27721 OPC_CheckChild0Integer, 14|128,104,
27722 OPC_RecordChild1,
27723 OPC_CheckPatternPredicate1,
27724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
27725 MVT::v4f32, 1, 0,
27726 11,
27727 OPC_CheckChild0Integer, 10|128,104,
27728 OPC_RecordChild1,
27729 OPC_CheckPatternPredicate1,
27730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
27731 MVT::v4f32, 1, 0,
27732 11,
27733 OPC_CheckChild0Integer, 2|128,104,
27734 OPC_RecordChild1,
27735 OPC_CheckPatternPredicate1,
27736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
27737 MVT::v4f32, 1, 0,
27738 11,
27739 OPC_CheckChild0Integer, 76|128,103,
27740 OPC_RecordChild1,
27741 OPC_CheckPatternPredicate1,
27742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_D),
27743 MVT::v2f64, 1, 0,
27744 11,
27745 OPC_CheckChild0Integer, 32|128,104,
27746 OPC_RecordChild1,
27747 OPC_CheckPatternPredicate1,
27748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
27749 MVT::v2f64, 1, 0,
27750 11,
27751 OPC_CheckChild0Integer, 116|128,103,
27752 OPC_RecordChild1,
27753 OPC_CheckPatternPredicate1,
27754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
27755 MVT::v2f64, 1, 0,
27756 11,
27757 OPC_CheckChild0Integer, 16|128,104,
27758 OPC_RecordChild1,
27759 OPC_CheckPatternPredicate1,
27760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
27761 MVT::v2f64, 1, 0,
27762 11,
27763 OPC_CheckChild0Integer, 124|128,103,
27764 OPC_RecordChild1,
27765 OPC_CheckPatternPredicate1,
27766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_D),
27767 MVT::v2f64, 1, 0,
27768 11,
27769 OPC_CheckChild0Integer, 4|128,104,
27770 OPC_RecordChild1,
27771 OPC_CheckPatternPredicate1,
27772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
27773 MVT::v2f64, 1, 0,
27774 11,
27775 OPC_CheckChild0Integer, 12|128,104,
27776 OPC_RecordChild1,
27777 OPC_CheckPatternPredicate1,
27778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
27779 MVT::v2f64, 1, 0,
27780 11,
27781 OPC_CheckChild0Integer, 8|128,104,
27782 OPC_RecordChild1,
27783 OPC_CheckPatternPredicate1,
27784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
27785 MVT::v2f64, 1, 0,
27786 11,
27787 OPC_CheckChild0Integer, 0|128,104,
27788 OPC_RecordChild1,
27789 OPC_CheckPatternPredicate1,
27790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
27791 MVT::v2f64, 1, 0,
27792 12,
27793 OPC_CheckChild0Integer, 122|128,103,
27794 OPC_RecordChild1,
27795 OPC_CheckPatternPredicate, 18,
27796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
27797 MVT::v4f32, 1, 0,
27798 12,
27799 OPC_CheckChild0Integer, 22|128,104,
27800 OPC_RecordChild1,
27801 OPC_CheckPatternPredicate, 18,
27802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
27803 MVT::v4f32, 1, 0,
27804 12,
27805 OPC_CheckChild0Integer, 120|128,103,
27806 OPC_RecordChild1,
27807 OPC_CheckPatternPredicate, 18,
27808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
27809 MVT::v2f64, 1, 0,
27810 12,
27811 OPC_CheckChild0Integer, 20|128,104,
27812 OPC_RecordChild1,
27813 OPC_CheckPatternPredicate, 18,
27814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
27815 MVT::v2f64, 1, 0,
27816 13,
27817 OPC_CheckChild0Integer, 14|128,92,
27818 OPC_RecordChild1,
27819 OPC_RecordChild2,
27820 OPC_CheckPatternPredicate0,
27821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
27822 MVT::v8f32, 2, 0, 1,
27823 11,
27824 OPC_CheckChild0Integer, 4|128,92,
27825 OPC_RecordChild1,
27826 OPC_CheckPatternPredicate0,
27827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_S_H),
27828 MVT::v8f32, 1, 0,
27829 11,
27830 OPC_CheckChild0Integer, 0|128,92,
27831 OPC_RecordChild1,
27832 OPC_CheckPatternPredicate0,
27833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_S_H),
27834 MVT::v8f32, 1, 0,
27835 11,
27836 OPC_CheckChild0Integer, 16|128,92,
27837 OPC_RecordChild1,
27838 OPC_CheckPatternPredicate0,
27839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
27840 MVT::v8f32, 1, 0,
27841 11,
27842 OPC_CheckChild0Integer, 18|128,92,
27843 OPC_RecordChild1,
27844 OPC_CheckPatternPredicate0,
27845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
27846 MVT::v8f32, 1, 0,
27847 11,
27848 OPC_CheckChild0Integer, 22|128,92,
27849 OPC_RecordChild1,
27850 OPC_CheckPatternPredicate0,
27851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTL_D_W),
27852 MVT::v4f64, 1, 0,
27853 11,
27854 OPC_CheckChild0Integer, 20|128,92,
27855 OPC_RecordChild1,
27856 OPC_CheckPatternPredicate0,
27857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTH_D_W),
27858 MVT::v4f64, 1, 0,
27859 11,
27860 OPC_CheckChild0Integer, 10|128,92,
27861 OPC_RecordChild1,
27862 OPC_CheckPatternPredicate0,
27863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
27864 MVT::v4f64, 1, 0,
27865 11,
27866 OPC_CheckChild0Integer, 12|128,92,
27867 OPC_RecordChild1,
27868 OPC_CheckPatternPredicate0,
27869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
27870 MVT::v4f64, 1, 0,
27871 15,
27872 OPC_CheckChild0Integer, 50|128,92,
27873 OPC_RecordChild1,
27874 OPC_RecordChild2,
27875 OPC_RecordChild3,
27876 OPC_CheckPatternPredicate0,
27877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
27878 MVT::v8f32, 3, 0, 1, 2,
27879 15,
27880 OPC_CheckChild0Integer, 58|128,92,
27881 OPC_RecordChild1,
27882 OPC_RecordChild2,
27883 OPC_RecordChild3,
27884 OPC_CheckPatternPredicate0,
27885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
27886 MVT::v8f32, 3, 0, 1, 2,
27887 15,
27888 OPC_CheckChild0Integer, 62|128,92,
27889 OPC_RecordChild1,
27890 OPC_RecordChild2,
27891 OPC_RecordChild3,
27892 OPC_CheckPatternPredicate0,
27893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
27894 MVT::v8f32, 3, 0, 1, 2,
27895 15,
27896 OPC_CheckChild0Integer, 48|128,92,
27897 OPC_RecordChild1,
27898 OPC_RecordChild2,
27899 OPC_RecordChild3,
27900 OPC_CheckPatternPredicate0,
27901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
27902 MVT::v4f64, 3, 0, 1, 2,
27903 15,
27904 OPC_CheckChild0Integer, 56|128,92,
27905 OPC_RecordChild1,
27906 OPC_RecordChild2,
27907 OPC_RecordChild3,
27908 OPC_CheckPatternPredicate0,
27909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
27910 MVT::v4f64, 3, 0, 1, 2,
27911 15,
27912 OPC_CheckChild0Integer, 60|128,92,
27913 OPC_RecordChild1,
27914 OPC_RecordChild2,
27915 OPC_RecordChild3,
27916 OPC_CheckPatternPredicate0,
27917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
27918 MVT::v4f64, 3, 0, 1, 2,
27919 13,
27920 OPC_CheckChild0Integer, 34|128,92,
27921 OPC_RecordChild1,
27922 OPC_RecordChild2,
27923 OPC_CheckPatternPredicate0,
27924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
27925 MVT::v8f32, 2, 0, 1,
27926 13,
27927 OPC_CheckChild0Integer, 42|128,92,
27928 OPC_RecordChild1,
27929 OPC_RecordChild2,
27930 OPC_CheckPatternPredicate0,
27931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
27932 MVT::v8f32, 2, 0, 1,
27933 13,
27934 OPC_CheckChild0Integer, 38|128,92,
27935 OPC_RecordChild1,
27936 OPC_RecordChild2,
27937 OPC_CheckPatternPredicate0,
27938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_S),
27939 MVT::v8f32, 2, 0, 1,
27940 13,
27941 OPC_CheckChild0Integer, 46|128,92,
27942 OPC_RecordChild1,
27943 OPC_RecordChild2,
27944 OPC_CheckPatternPredicate0,
27945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_S),
27946 MVT::v8f32, 2, 0, 1,
27947 13,
27948 OPC_CheckChild0Integer, 32|128,92,
27949 OPC_RecordChild1,
27950 OPC_RecordChild2,
27951 OPC_CheckPatternPredicate0,
27952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
27953 MVT::v4f64, 2, 0, 1,
27954 13,
27955 OPC_CheckChild0Integer, 40|128,92,
27956 OPC_RecordChild1,
27957 OPC_RecordChild2,
27958 OPC_CheckPatternPredicate0,
27959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
27960 MVT::v4f64, 2, 0, 1,
27961 13,
27962 OPC_CheckChild0Integer, 36|128,92,
27963 OPC_RecordChild1,
27964 OPC_RecordChild2,
27965 OPC_CheckPatternPredicate0,
27966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_D),
27967 MVT::v4f64, 2, 0, 1,
27968 13,
27969 OPC_CheckChild0Integer, 44|128,92,
27970 OPC_RecordChild1,
27971 OPC_RecordChild2,
27972 OPC_CheckPatternPredicate0,
27973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_D),
27974 MVT::v4f64, 2, 0, 1,
27975 13,
27976 OPC_CheckChild0Integer, 124|128,91,
27977 OPC_RecordChild1,
27978 OPC_RecordChild2,
27979 OPC_CheckPatternPredicate0,
27980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
27981 MVT::v8f32, 2, 0, 1,
27982 11,
27983 OPC_CheckChild0Integer, 26|128,92,
27984 OPC_RecordChild1,
27985 OPC_CheckPatternPredicate0,
27986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_S),
27987 MVT::v8f32, 1, 0,
27988 11,
27989 OPC_CheckChild0Integer, 110|128,92,
27990 OPC_RecordChild1,
27991 OPC_CheckPatternPredicate0,
27992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
27993 MVT::v8f32, 1, 0,
27994 11,
27995 OPC_CheckChild0Integer, 66|128,92,
27996 OPC_RecordChild1,
27997 OPC_CheckPatternPredicate0,
27998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
27999 MVT::v8f32, 1, 0,
28000 11,
28001 OPC_CheckChild0Integer, 94|128,92,
28002 OPC_RecordChild1,
28003 OPC_CheckPatternPredicate0,
28004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
28005 MVT::v8f32, 1, 0,
28006 11,
28007 OPC_CheckChild0Integer, 74|128,92,
28008 OPC_RecordChild1,
28009 OPC_CheckPatternPredicate0,
28010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_S),
28011 MVT::v8f32, 1, 0,
28012 11,
28013 OPC_CheckChild0Integer, 2|128,92,
28014 OPC_RecordChild1,
28015 OPC_CheckPatternPredicate0,
28016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
28017 MVT::v4f64, 1, 0,
28018 11,
28019 OPC_CheckChild0Integer, 126|128,91,
28020 OPC_RecordChild1,
28021 OPC_CheckPatternPredicate0,
28022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
28023 MVT::v4f64, 1, 0,
28024 11,
28025 OPC_CheckChild0Integer, 82|128,92,
28026 OPC_RecordChild1,
28027 OPC_CheckPatternPredicate0,
28028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
28029 MVT::v8f32, 1, 0,
28030 11,
28031 OPC_CheckChild0Integer, 90|128,92,
28032 OPC_RecordChild1,
28033 OPC_CheckPatternPredicate0,
28034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
28035 MVT::v8f32, 1, 0,
28036 11,
28037 OPC_CheckChild0Integer, 86|128,92,
28038 OPC_RecordChild1,
28039 OPC_CheckPatternPredicate0,
28040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
28041 MVT::v8f32, 1, 0,
28042 11,
28043 OPC_CheckChild0Integer, 78|128,92,
28044 OPC_RecordChild1,
28045 OPC_CheckPatternPredicate0,
28046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
28047 MVT::v8f32, 1, 0,
28048 11,
28049 OPC_CheckChild0Integer, 24|128,92,
28050 OPC_RecordChild1,
28051 OPC_CheckPatternPredicate0,
28052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_D),
28053 MVT::v4f64, 1, 0,
28054 11,
28055 OPC_CheckChild0Integer, 108|128,92,
28056 OPC_RecordChild1,
28057 OPC_CheckPatternPredicate0,
28058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
28059 MVT::v4f64, 1, 0,
28060 11,
28061 OPC_CheckChild0Integer, 64|128,92,
28062 OPC_RecordChild1,
28063 OPC_CheckPatternPredicate0,
28064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
28065 MVT::v4f64, 1, 0,
28066 11,
28067 OPC_CheckChild0Integer, 92|128,92,
28068 OPC_RecordChild1,
28069 OPC_CheckPatternPredicate0,
28070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
28071 MVT::v4f64, 1, 0,
28072 11,
28073 OPC_CheckChild0Integer, 72|128,92,
28074 OPC_RecordChild1,
28075 OPC_CheckPatternPredicate0,
28076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_D),
28077 MVT::v4f64, 1, 0,
28078 11,
28079 OPC_CheckChild0Integer, 80|128,92,
28080 OPC_RecordChild1,
28081 OPC_CheckPatternPredicate0,
28082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
28083 MVT::v4f64, 1, 0,
28084 11,
28085 OPC_CheckChild0Integer, 88|128,92,
28086 OPC_RecordChild1,
28087 OPC_CheckPatternPredicate0,
28088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
28089 MVT::v4f64, 1, 0,
28090 11,
28091 OPC_CheckChild0Integer, 84|128,92,
28092 OPC_RecordChild1,
28093 OPC_CheckPatternPredicate0,
28094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
28095 MVT::v4f64, 1, 0,
28096 11,
28097 OPC_CheckChild0Integer, 76|128,92,
28098 OPC_RecordChild1,
28099 OPC_CheckPatternPredicate0,
28100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
28101 MVT::v4f64, 1, 0,
28102 12,
28103 OPC_CheckChild0Integer, 70|128,92,
28104 OPC_RecordChild1,
28105 OPC_CheckPatternPredicate, 18,
28106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
28107 MVT::v8f32, 1, 0,
28108 12,
28109 OPC_CheckChild0Integer, 98|128,92,
28110 OPC_RecordChild1,
28111 OPC_CheckPatternPredicate, 18,
28112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
28113 MVT::v8f32, 1, 0,
28114 12,
28115 OPC_CheckChild0Integer, 68|128,92,
28116 OPC_RecordChild1,
28117 OPC_CheckPatternPredicate, 18,
28118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
28119 MVT::v4f64, 1, 0,
28120 12,
28121 OPC_CheckChild0Integer, 96|128,92,
28122 OPC_RecordChild1,
28123 OPC_CheckPatternPredicate, 18,
28124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
28125 MVT::v4f64, 1, 0,
28126 0,
28127 73, TARGET_VAL(ISD::BRIND),
28128 OPC_RecordNode,
28129 OPC_Scope, 40,
28130 OPC_MoveChild1,
28131 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
28132 OPC_RecordChild0,
28133 OPC_RecordChild1,
28134 OPC_MoveChild1,
28135 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28136 OPC_CheckPredicate, 59,
28137 OPC_MoveParent,
28138 OPC_SwitchType , 10, MVT::i64,
28139 OPC_MoveParent,
28140 OPC_CheckPatternPredicate7,
28141 OPC_EmitMergeInputChains1_0,
28142 OPC_EmitConvertToTarget2,
28143 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28144 2, 1, 3,
28145 11, MVT::i32,
28146 OPC_MoveParent,
28147 OPC_CheckPatternPredicate, 8,
28148 OPC_EmitMergeInputChains1_0,
28149 OPC_EmitConvertToTarget2,
28150 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28151 2, 1, 3,
28152 0,
28153 28,
28154 OPC_RecordChild1,
28155 OPC_Scope, 11,
28156 OPC_CheckChild1TypeI64,
28157 OPC_CheckPatternPredicate7,
28158 OPC_EmitMergeInputChains1_0,
28159 OPC_EmitInteger64, 0,
28160 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28161 2, 1, 2,
28162 12,
28163 OPC_CheckChild1TypeI32,
28164 OPC_CheckPatternPredicate, 8,
28165 OPC_EmitMergeInputChains1_0,
28166 OPC_EmitInteger32, 0,
28167 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28168 2, 1, 2,
28169 0,
28170 0,
28171 20, TARGET_VAL(ISD::CALLSEQ_START),
28172 OPC_RecordNode,
28173 OPC_RecordChild1,
28174 OPC_MoveChild1,
28175 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28176 OPC_MoveSibling2,
28177 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28178 OPC_RecordNode,
28179 OPC_MoveParent,
28180 OPC_EmitMergeInputChains1_0,
28181 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
28182 2, 1, 2,
28183 21, TARGET_VAL(ISD::CALLSEQ_END),
28184 OPC_RecordNode,
28185 OPC_CaptureGlueInput,
28186 OPC_RecordChild1,
28187 OPC_MoveChild1,
28188 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28189 OPC_MoveSibling2,
28190 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28191 OPC_RecordNode,
28192 OPC_MoveParent,
28193 OPC_EmitMergeInputChains1_0,
28194 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
28195 2, 1, 2,
28196 39|128,28, TARGET_VAL(ISD::SETCC),
28197 OPC_RecordChild0,
28198 OPC_Scope, 104|128,2,
28199 OPC_CheckChild0TypeI64,
28200 OPC_Scope, 31,
28201 OPC_CheckChild1Integer, 0,
28202 OPC_CheckTypeI64,
28203 OPC_Scope, 12,
28204 OPC_CheckChild2CondCode, ISD::SETEQ,
28205 OPC_CheckPatternPredicate7,
28206 OPC_EmitInteger64, 2,
28207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28208 MVT::i64, 2, 0, 1,
28209 12,
28210 OPC_CheckChild2CondCode, ISD::SETNE,
28211 OPC_CheckPatternPredicate7,
28212 OPC_EmitRegisterI64, LoongArch::R0,
28213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28214 MVT::i64, 2, 1, 0,
28215 0,
28216 67|128,2,
28217 OPC_RecordChild1,
28218 OPC_Scope, 16|128,1,
28219 OPC_MoveChild1,
28220 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28221 OPC_Scope, 30,
28222 OPC_CheckPredicate, 11,
28223 OPC_MoveParent,
28224 OPC_CheckTypeI64,
28225 OPC_Scope, 11,
28226 OPC_CheckChild2CondCode, ISD::SETLT,
28227 OPC_CheckPatternPredicate7,
28228 OPC_EmitConvertToTarget1,
28229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
28230 MVT::i64, 2, 0, 2,
28231 11,
28232 OPC_CheckChild2CondCode, ISD::SETULT,
28233 OPC_CheckPatternPredicate7,
28234 OPC_EmitConvertToTarget1,
28235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28236 MVT::i64, 2, 0, 2,
28237 0,
28238 106,
28239 OPC_CheckPredicate, 51,
28240 OPC_MoveParent,
28241 OPC_CheckTypeI64,
28242 OPC_Scope, 49,
28243 OPC_CheckChild2CondCode, ISD::SETEQ,
28244 OPC_Scope, 22,
28245 OPC_CheckPatternPredicate, 15,
28246 OPC_EmitConvertToTarget1,
28247 OPC_EmitNodeXForm, 10, 2,
28248 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28249 MVT::i64, 2, 0, 3,
28250 OPC_EmitInteger64, 2,
28251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28252 MVT::i64, 2, 4, 5,
28253 21,
28254 OPC_CheckPatternPredicate6,
28255 OPC_EmitConvertToTarget1,
28256 OPC_EmitNodeXForm, 10, 2,
28257 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28258 MVT::i64, 2, 0, 3,
28259 OPC_EmitInteger64, 2,
28260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28261 MVT::i64, 2, 4, 5,
28262 0,
28263 49,
28264 OPC_CheckChild2CondCode, ISD::SETNE,
28265 OPC_Scope, 22,
28266 OPC_CheckPatternPredicate, 15,
28267 OPC_EmitRegisterI64, LoongArch::R0,
28268 OPC_EmitConvertToTarget1,
28269 OPC_EmitNodeXForm, 10, 3,
28270 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28271 MVT::i64, 2, 0, 4,
28272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28273 MVT::i64, 2, 2, 5,
28274 21,
28275 OPC_CheckPatternPredicate6,
28276 OPC_EmitRegisterI64, LoongArch::R0,
28277 OPC_EmitConvertToTarget1,
28278 OPC_EmitNodeXForm, 10, 3,
28279 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28280 MVT::i64, 2, 0, 4,
28281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28282 MVT::i64, 2, 2, 5,
28283 0,
28284 0,
28285 0,
28286 11,
28287 OPC_CheckChild2CondCode, ISD::SETLT,
28288 OPC_CheckTypeI64,
28289 OPC_CheckPatternPredicate7,
28290 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28291 MVT::i64, 2, 0, 1,
28292 11,
28293 OPC_CheckChild2CondCode, ISD::SETULT,
28294 OPC_CheckTypeI64,
28295 OPC_CheckPatternPredicate7,
28296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28297 MVT::i64, 2, 0, 1,
28298 11,
28299 OPC_CheckChild2CondCode, ISD::SETUGT,
28300 OPC_CheckTypeI64,
28301 OPC_CheckPatternPredicate7,
28302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28303 MVT::i64, 2, 1, 0,
28304 11,
28305 OPC_CheckChild2CondCode, ISD::SETGT,
28306 OPC_CheckTypeI64,
28307 OPC_CheckPatternPredicate7,
28308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28309 MVT::i64, 2, 1, 0,
28310 20,
28311 OPC_CheckChild2CondCode, ISD::SETEQ,
28312 OPC_CheckTypeI64,
28313 OPC_CheckPatternPredicate7,
28314 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28315 MVT::i64, 2, 0, 1,
28316 OPC_EmitInteger64, 2,
28317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28318 MVT::i64, 2, 2, 3,
28319 20,
28320 OPC_CheckChild2CondCode, ISD::SETNE,
28321 OPC_CheckTypeI64,
28322 OPC_CheckPatternPredicate7,
28323 OPC_EmitRegisterI64, LoongArch::R0,
28324 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28325 MVT::i64, 2, 0, 1,
28326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28327 MVT::i64, 2, 2, 3,
28328 20,
28329 OPC_CheckChild2CondCode, ISD::SETUGE,
28330 OPC_CheckTypeI64,
28331 OPC_CheckPatternPredicate7,
28332 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28333 MVT::i64, 2, 0, 1,
28334 OPC_EmitInteger64, 2,
28335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28336 MVT::i64, 2, 2, 3,
28337 20,
28338 OPC_CheckChild2CondCode, ISD::SETULE,
28339 OPC_CheckTypeI64,
28340 OPC_CheckPatternPredicate7,
28341 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28342 MVT::i64, 2, 1, 0,
28343 OPC_EmitInteger64, 2,
28344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28345 MVT::i64, 2, 2, 3,
28346 20,
28347 OPC_CheckChild2CondCode, ISD::SETGE,
28348 OPC_CheckTypeI64,
28349 OPC_CheckPatternPredicate7,
28350 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28351 MVT::i64, 2, 0, 1,
28352 OPC_EmitInteger64, 2,
28353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28354 MVT::i64, 2, 2, 3,
28355 20,
28356 OPC_CheckChild2CondCode, ISD::SETLE,
28357 OPC_CheckTypeI64,
28358 OPC_CheckPatternPredicate7,
28359 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28360 MVT::i64, 2, 1, 0,
28361 OPC_EmitInteger64, 2,
28362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28363 MVT::i64, 2, 2, 3,
28364 0,
28365 0,
28366 120|128,2,
28367 OPC_CheckChild0TypeI32,
28368 OPC_Scope, 33,
28369 OPC_CheckChild1Integer, 0,
28370 OPC_CheckTypeI32,
28371 OPC_Scope, 13,
28372 OPC_CheckChild2CondCode, ISD::SETEQ,
28373 OPC_CheckPatternPredicate, 8,
28374 OPC_EmitInteger32, 2,
28375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28376 MVT::i32, 2, 0, 1,
28377 13,
28378 OPC_CheckChild2CondCode, ISD::SETNE,
28379 OPC_CheckPatternPredicate, 8,
28380 OPC_EmitRegisterI32, LoongArch::R0,
28381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28382 MVT::i32, 2, 1, 0,
28383 0,
28384 81|128,2,
28385 OPC_RecordChild1,
28386 OPC_Scope, 20|128,1,
28387 OPC_MoveChild1,
28388 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28389 OPC_Scope, 32,
28390 OPC_CheckPredicate, 11,
28391 OPC_MoveParent,
28392 OPC_CheckTypeI32,
28393 OPC_Scope, 12,
28394 OPC_CheckChild2CondCode, ISD::SETLT,
28395 OPC_CheckPatternPredicate, 8,
28396 OPC_EmitConvertToTarget1,
28397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
28398 MVT::i32, 2, 0, 2,
28399 12,
28400 OPC_CheckChild2CondCode, ISD::SETULT,
28401 OPC_CheckPatternPredicate, 8,
28402 OPC_EmitConvertToTarget1,
28403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28404 MVT::i32, 2, 0, 2,
28405 0,
28406 108,
28407 OPC_CheckPredicate, 51,
28408 OPC_MoveParent,
28409 OPC_CheckTypeI32,
28410 OPC_Scope, 50,
28411 OPC_CheckChild2CondCode, ISD::SETEQ,
28412 OPC_Scope, 22,
28413 OPC_CheckPatternPredicate, 9,
28414 OPC_EmitConvertToTarget1,
28415 OPC_EmitNodeXForm, 10, 2,
28416 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28417 MVT::i32, 2, 0, 3,
28418 OPC_EmitInteger32, 2,
28419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28420 MVT::i32, 2, 4, 5,
28421 22,
28422 OPC_CheckPatternPredicate, 10,
28423 OPC_EmitConvertToTarget1,
28424 OPC_EmitNodeXForm, 10, 2,
28425 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28426 MVT::i32, 2, 0, 3,
28427 OPC_EmitInteger32, 2,
28428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28429 MVT::i32, 2, 4, 5,
28430 0,
28431 50,
28432 OPC_CheckChild2CondCode, ISD::SETNE,
28433 OPC_Scope, 22,
28434 OPC_CheckPatternPredicate, 9,
28435 OPC_EmitRegisterI32, LoongArch::R0,
28436 OPC_EmitConvertToTarget1,
28437 OPC_EmitNodeXForm, 10, 3,
28438 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28439 MVT::i32, 2, 0, 4,
28440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28441 MVT::i32, 2, 2, 5,
28442 22,
28443 OPC_CheckPatternPredicate, 10,
28444 OPC_EmitRegisterI32, LoongArch::R0,
28445 OPC_EmitConvertToTarget1,
28446 OPC_EmitNodeXForm, 10, 3,
28447 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28448 MVT::i32, 2, 0, 4,
28449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28450 MVT::i32, 2, 2, 5,
28451 0,
28452 0,
28453 0,
28454 12,
28455 OPC_CheckChild2CondCode, ISD::SETLT,
28456 OPC_CheckTypeI32,
28457 OPC_CheckPatternPredicate, 8,
28458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28459 MVT::i32, 2, 0, 1,
28460 12,
28461 OPC_CheckChild2CondCode, ISD::SETULT,
28462 OPC_CheckTypeI32,
28463 OPC_CheckPatternPredicate, 8,
28464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28465 MVT::i32, 2, 0, 1,
28466 12,
28467 OPC_CheckChild2CondCode, ISD::SETUGT,
28468 OPC_CheckTypeI32,
28469 OPC_CheckPatternPredicate, 8,
28470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28471 MVT::i32, 2, 1, 0,
28472 12,
28473 OPC_CheckChild2CondCode, ISD::SETGT,
28474 OPC_CheckTypeI32,
28475 OPC_CheckPatternPredicate, 8,
28476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28477 MVT::i32, 2, 1, 0,
28478 21,
28479 OPC_CheckChild2CondCode, ISD::SETEQ,
28480 OPC_CheckTypeI32,
28481 OPC_CheckPatternPredicate, 8,
28482 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28483 MVT::i32, 2, 0, 1,
28484 OPC_EmitInteger32, 2,
28485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28486 MVT::i32, 2, 2, 3,
28487 21,
28488 OPC_CheckChild2CondCode, ISD::SETNE,
28489 OPC_CheckTypeI32,
28490 OPC_CheckPatternPredicate, 8,
28491 OPC_EmitRegisterI32, LoongArch::R0,
28492 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28493 MVT::i32, 2, 0, 1,
28494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28495 MVT::i32, 2, 2, 3,
28496 21,
28497 OPC_CheckChild2CondCode, ISD::SETUGE,
28498 OPC_CheckTypeI32,
28499 OPC_CheckPatternPredicate, 8,
28500 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28501 MVT::i32, 2, 0, 1,
28502 OPC_EmitInteger32, 2,
28503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28504 MVT::i32, 2, 2, 3,
28505 21,
28506 OPC_CheckChild2CondCode, ISD::SETULE,
28507 OPC_CheckTypeI32,
28508 OPC_CheckPatternPredicate, 8,
28509 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28510 MVT::i32, 2, 1, 0,
28511 OPC_EmitInteger32, 2,
28512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28513 MVT::i32, 2, 2, 3,
28514 21,
28515 OPC_CheckChild2CondCode, ISD::SETGE,
28516 OPC_CheckTypeI32,
28517 OPC_CheckPatternPredicate, 8,
28518 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28519 MVT::i32, 2, 0, 1,
28520 OPC_EmitInteger32, 2,
28521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28522 MVT::i32, 2, 2, 3,
28523 21,
28524 OPC_CheckChild2CondCode, ISD::SETLE,
28525 OPC_CheckTypeI32,
28526 OPC_CheckPatternPredicate, 8,
28527 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28528 MVT::i32, 2, 1, 0,
28529 OPC_EmitInteger32, 2,
28530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28531 MVT::i32, 2, 2, 3,
28532 0,
28533 0,
28534 100|128,2,
28535 OPC_CheckChild0Type, MVT::f32,
28536 OPC_RecordChild1,
28537 OPC_Scope, 26,
28538 OPC_CheckChild2CondCode, ISD::SETOEQ,
28539 OPC_SwitchType , 9, MVT::i64,
28540 OPC_CheckPatternPredicate, 11,
28541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28542 MVT::i64, 2, 0, 1,
28543 9, MVT::i32,
28544 OPC_CheckPatternPredicate, 12,
28545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28546 MVT::i32, 2, 0, 1,
28547 0,
28548 26,
28549 OPC_CheckChild2CondCode, ISD::SETEQ,
28550 OPC_SwitchType , 9, MVT::i64,
28551 OPC_CheckPatternPredicate, 11,
28552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28553 MVT::i64, 2, 0, 1,
28554 9, MVT::i32,
28555 OPC_CheckPatternPredicate, 12,
28556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28557 MVT::i32, 2, 0, 1,
28558 0,
28559 26,
28560 OPC_CheckChild2CondCode, ISD::SETOLT,
28561 OPC_SwitchType , 9, MVT::i64,
28562 OPC_CheckPatternPredicate, 11,
28563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28564 MVT::i64, 2, 0, 1,
28565 9, MVT::i32,
28566 OPC_CheckPatternPredicate, 12,
28567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28568 MVT::i32, 2, 0, 1,
28569 0,
28570 26,
28571 OPC_CheckChild2CondCode, ISD::SETOLE,
28572 OPC_SwitchType , 9, MVT::i64,
28573 OPC_CheckPatternPredicate, 11,
28574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28575 MVT::i64, 2, 0, 1,
28576 9, MVT::i32,
28577 OPC_CheckPatternPredicate, 12,
28578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28579 MVT::i32, 2, 0, 1,
28580 0,
28581 26,
28582 OPC_CheckChild2CondCode, ISD::SETLE,
28583 OPC_SwitchType , 9, MVT::i64,
28584 OPC_CheckPatternPredicate, 11,
28585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28586 MVT::i64, 2, 0, 1,
28587 9, MVT::i32,
28588 OPC_CheckPatternPredicate, 12,
28589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28590 MVT::i32, 2, 0, 1,
28591 0,
28592 26,
28593 OPC_CheckChild2CondCode, ISD::SETONE,
28594 OPC_SwitchType , 9, MVT::i64,
28595 OPC_CheckPatternPredicate, 11,
28596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
28597 MVT::i64, 2, 0, 1,
28598 9, MVT::i32,
28599 OPC_CheckPatternPredicate, 12,
28600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
28601 MVT::i32, 2, 0, 1,
28602 0,
28603 26,
28604 OPC_CheckChild2CondCode, ISD::SETO,
28605 OPC_SwitchType , 9, MVT::i64,
28606 OPC_CheckPatternPredicate, 11,
28607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
28608 MVT::i64, 2, 0, 1,
28609 9, MVT::i32,
28610 OPC_CheckPatternPredicate, 12,
28611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
28612 MVT::i32, 2, 0, 1,
28613 0,
28614 26,
28615 OPC_CheckChild2CondCode, ISD::SETUEQ,
28616 OPC_SwitchType , 9, MVT::i64,
28617 OPC_CheckPatternPredicate, 11,
28618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
28619 MVT::i64, 2, 0, 1,
28620 9, MVT::i32,
28621 OPC_CheckPatternPredicate, 12,
28622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
28623 MVT::i32, 2, 0, 1,
28624 0,
28625 26,
28626 OPC_CheckChild2CondCode, ISD::SETULT,
28627 OPC_SwitchType , 9, MVT::i64,
28628 OPC_CheckPatternPredicate, 11,
28629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
28630 MVT::i64, 2, 0, 1,
28631 9, MVT::i32,
28632 OPC_CheckPatternPredicate, 12,
28633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
28634 MVT::i32, 2, 0, 1,
28635 0,
28636 26,
28637 OPC_CheckChild2CondCode, ISD::SETULE,
28638 OPC_SwitchType , 9, MVT::i64,
28639 OPC_CheckPatternPredicate, 11,
28640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
28641 MVT::i64, 2, 0, 1,
28642 9, MVT::i32,
28643 OPC_CheckPatternPredicate, 12,
28644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
28645 MVT::i32, 2, 0, 1,
28646 0,
28647 26,
28648 OPC_CheckChild2CondCode, ISD::SETUNE,
28649 OPC_SwitchType , 9, MVT::i64,
28650 OPC_CheckPatternPredicate, 11,
28651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
28652 MVT::i64, 2, 0, 1,
28653 9, MVT::i32,
28654 OPC_CheckPatternPredicate, 12,
28655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
28656 MVT::i32, 2, 0, 1,
28657 0,
28658 26,
28659 OPC_CheckChild2CondCode, ISD::SETUO,
28660 OPC_SwitchType , 9, MVT::i64,
28661 OPC_CheckPatternPredicate, 11,
28662 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
28663 MVT::i64, 2, 0, 1,
28664 9, MVT::i32,
28665 OPC_CheckPatternPredicate, 12,
28666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
28667 MVT::i32, 2, 0, 1,
28668 0,
28669 26,
28670 OPC_CheckChild2CondCode, ISD::SETLT,
28671 OPC_SwitchType , 9, MVT::i64,
28672 OPC_CheckPatternPredicate, 11,
28673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28674 MVT::i64, 2, 0, 1,
28675 9, MVT::i32,
28676 OPC_CheckPatternPredicate, 12,
28677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28678 MVT::i32, 2, 0, 1,
28679 0,
28680 0,
28681 100|128,2,
28682 OPC_CheckChild0Type, MVT::f64,
28683 OPC_RecordChild1,
28684 OPC_Scope, 26,
28685 OPC_CheckChild2CondCode, ISD::SETOEQ,
28686 OPC_SwitchType , 9, MVT::i64,
28687 OPC_CheckPatternPredicate, 13,
28688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28689 MVT::i64, 2, 0, 1,
28690 9, MVT::i32,
28691 OPC_CheckPatternPredicate, 14,
28692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28693 MVT::i32, 2, 0, 1,
28694 0,
28695 26,
28696 OPC_CheckChild2CondCode, ISD::SETEQ,
28697 OPC_SwitchType , 9, MVT::i64,
28698 OPC_CheckPatternPredicate, 13,
28699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28700 MVT::i64, 2, 0, 1,
28701 9, MVT::i32,
28702 OPC_CheckPatternPredicate, 14,
28703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28704 MVT::i32, 2, 0, 1,
28705 0,
28706 26,
28707 OPC_CheckChild2CondCode, ISD::SETOLT,
28708 OPC_SwitchType , 9, MVT::i64,
28709 OPC_CheckPatternPredicate, 13,
28710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28711 MVT::i64, 2, 0, 1,
28712 9, MVT::i32,
28713 OPC_CheckPatternPredicate, 14,
28714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28715 MVT::i32, 2, 0, 1,
28716 0,
28717 26,
28718 OPC_CheckChild2CondCode, ISD::SETOLE,
28719 OPC_SwitchType , 9, MVT::i64,
28720 OPC_CheckPatternPredicate, 13,
28721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28722 MVT::i64, 2, 0, 1,
28723 9, MVT::i32,
28724 OPC_CheckPatternPredicate, 14,
28725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28726 MVT::i32, 2, 0, 1,
28727 0,
28728 26,
28729 OPC_CheckChild2CondCode, ISD::SETLE,
28730 OPC_SwitchType , 9, MVT::i64,
28731 OPC_CheckPatternPredicate, 13,
28732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28733 MVT::i64, 2, 0, 1,
28734 9, MVT::i32,
28735 OPC_CheckPatternPredicate, 14,
28736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28737 MVT::i32, 2, 0, 1,
28738 0,
28739 26,
28740 OPC_CheckChild2CondCode, ISD::SETONE,
28741 OPC_SwitchType , 9, MVT::i64,
28742 OPC_CheckPatternPredicate, 13,
28743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
28744 MVT::i64, 2, 0, 1,
28745 9, MVT::i32,
28746 OPC_CheckPatternPredicate, 14,
28747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
28748 MVT::i32, 2, 0, 1,
28749 0,
28750 26,
28751 OPC_CheckChild2CondCode, ISD::SETO,
28752 OPC_SwitchType , 9, MVT::i64,
28753 OPC_CheckPatternPredicate, 13,
28754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
28755 MVT::i64, 2, 0, 1,
28756 9, MVT::i32,
28757 OPC_CheckPatternPredicate, 14,
28758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
28759 MVT::i32, 2, 0, 1,
28760 0,
28761 26,
28762 OPC_CheckChild2CondCode, ISD::SETUEQ,
28763 OPC_SwitchType , 9, MVT::i64,
28764 OPC_CheckPatternPredicate, 13,
28765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
28766 MVT::i64, 2, 0, 1,
28767 9, MVT::i32,
28768 OPC_CheckPatternPredicate, 14,
28769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
28770 MVT::i32, 2, 0, 1,
28771 0,
28772 26,
28773 OPC_CheckChild2CondCode, ISD::SETULT,
28774 OPC_SwitchType , 9, MVT::i64,
28775 OPC_CheckPatternPredicate, 13,
28776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
28777 MVT::i64, 2, 0, 1,
28778 9, MVT::i32,
28779 OPC_CheckPatternPredicate, 14,
28780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
28781 MVT::i32, 2, 0, 1,
28782 0,
28783 26,
28784 OPC_CheckChild2CondCode, ISD::SETULE,
28785 OPC_SwitchType , 9, MVT::i64,
28786 OPC_CheckPatternPredicate, 13,
28787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
28788 MVT::i64, 2, 0, 1,
28789 9, MVT::i32,
28790 OPC_CheckPatternPredicate, 14,
28791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
28792 MVT::i32, 2, 0, 1,
28793 0,
28794 26,
28795 OPC_CheckChild2CondCode, ISD::SETUNE,
28796 OPC_SwitchType , 9, MVT::i64,
28797 OPC_CheckPatternPredicate, 13,
28798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
28799 MVT::i64, 2, 0, 1,
28800 9, MVT::i32,
28801 OPC_CheckPatternPredicate, 14,
28802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
28803 MVT::i32, 2, 0, 1,
28804 0,
28805 26,
28806 OPC_CheckChild2CondCode, ISD::SETUO,
28807 OPC_SwitchType , 9, MVT::i64,
28808 OPC_CheckPatternPredicate, 13,
28809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
28810 MVT::i64, 2, 0, 1,
28811 9, MVT::i32,
28812 OPC_CheckPatternPredicate, 14,
28813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
28814 MVT::i32, 2, 0, 1,
28815 0,
28816 26,
28817 OPC_CheckChild2CondCode, ISD::SETLT,
28818 OPC_SwitchType , 9, MVT::i64,
28819 OPC_CheckPatternPredicate, 13,
28820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28821 MVT::i64, 2, 0, 1,
28822 9, MVT::i32,
28823 OPC_CheckPatternPredicate, 14,
28824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28825 MVT::i32, 2, 0, 1,
28826 0,
28827 0,
28828 59|128,1,
28829 OPC_CheckChild0Type, MVT::v16i8,
28830 OPC_RecordChild1,
28831 OPC_CheckType, MVT::v16i8,
28832 OPC_Scope, 35,
28833 OPC_CheckChild2CondCode, ISD::SETEQ,
28834 OPC_Scope, 10,
28835 OPC_CheckPatternPredicate2,
28836 OPC_CheckComplexPat3, /*#*/1,
28837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
28838 MVT::v16i8, 2, 0, 2,
28839 10,
28840 OPC_CheckPatternPredicate5,
28841 OPC_CheckComplexPat3, /*#*/1,
28842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
28843 MVT::v16i8, 2, 0, 2,
28844 8,
28845 OPC_CheckPatternPredicate1,
28846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
28847 MVT::v16i8, 2, 0, 1,
28848 0,
28849 35,
28850 OPC_CheckChild2CondCode, ISD::SETLE,
28851 OPC_Scope, 10,
28852 OPC_CheckPatternPredicate2,
28853 OPC_CheckComplexPat3, /*#*/1,
28854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
28855 MVT::v16i8, 2, 0, 2,
28856 10,
28857 OPC_CheckPatternPredicate5,
28858 OPC_CheckComplexPat3, /*#*/1,
28859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
28860 MVT::v16i8, 2, 0, 2,
28861 8,
28862 OPC_CheckPatternPredicate1,
28863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
28864 MVT::v16i8, 2, 0, 1,
28865 0,
28866 35,
28867 OPC_CheckChild2CondCode, ISD::SETLT,
28868 OPC_Scope, 10,
28869 OPC_CheckPatternPredicate2,
28870 OPC_CheckComplexPat3, /*#*/1,
28871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
28872 MVT::v16i8, 2, 0, 2,
28873 10,
28874 OPC_CheckPatternPredicate5,
28875 OPC_CheckComplexPat3, /*#*/1,
28876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
28877 MVT::v16i8, 2, 0, 2,
28878 8,
28879 OPC_CheckPatternPredicate1,
28880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
28881 MVT::v16i8, 2, 0, 1,
28882 0,
28883 35,
28884 OPC_CheckChild2CondCode, ISD::SETULE,
28885 OPC_Scope, 10,
28886 OPC_CheckPatternPredicate2,
28887 OPC_CheckComplexPat1, /*#*/1,
28888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
28889 MVT::v16i8, 2, 0, 2,
28890 10,
28891 OPC_CheckPatternPredicate5,
28892 OPC_CheckComplexPat1, /*#*/1,
28893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
28894 MVT::v16i8, 2, 0, 2,
28895 8,
28896 OPC_CheckPatternPredicate1,
28897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
28898 MVT::v16i8, 2, 0, 1,
28899 0,
28900 35,
28901 OPC_CheckChild2CondCode, ISD::SETULT,
28902 OPC_Scope, 10,
28903 OPC_CheckPatternPredicate2,
28904 OPC_CheckComplexPat1, /*#*/1,
28905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
28906 MVT::v16i8, 2, 0, 2,
28907 10,
28908 OPC_CheckPatternPredicate5,
28909 OPC_CheckComplexPat1, /*#*/1,
28910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
28911 MVT::v16i8, 2, 0, 2,
28912 8,
28913 OPC_CheckPatternPredicate1,
28914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
28915 MVT::v16i8, 2, 0, 1,
28916 0,
28917 0,
28918 59|128,1,
28919 OPC_CheckChild0Type, MVT::v8i16,
28920 OPC_RecordChild1,
28921 OPC_CheckType, MVT::v8i16,
28922 OPC_Scope, 35,
28923 OPC_CheckChild2CondCode, ISD::SETEQ,
28924 OPC_Scope, 10,
28925 OPC_CheckPatternPredicate2,
28926 OPC_CheckComplexPat3, /*#*/1,
28927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
28928 MVT::v8i16, 2, 0, 2,
28929 10,
28930 OPC_CheckPatternPredicate5,
28931 OPC_CheckComplexPat3, /*#*/1,
28932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
28933 MVT::v8i16, 2, 0, 2,
28934 8,
28935 OPC_CheckPatternPredicate1,
28936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
28937 MVT::v8i16, 2, 0, 1,
28938 0,
28939 35,
28940 OPC_CheckChild2CondCode, ISD::SETLE,
28941 OPC_Scope, 10,
28942 OPC_CheckPatternPredicate2,
28943 OPC_CheckComplexPat3, /*#*/1,
28944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
28945 MVT::v8i16, 2, 0, 2,
28946 10,
28947 OPC_CheckPatternPredicate5,
28948 OPC_CheckComplexPat3, /*#*/1,
28949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
28950 MVT::v8i16, 2, 0, 2,
28951 8,
28952 OPC_CheckPatternPredicate1,
28953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
28954 MVT::v8i16, 2, 0, 1,
28955 0,
28956 35,
28957 OPC_CheckChild2CondCode, ISD::SETLT,
28958 OPC_Scope, 10,
28959 OPC_CheckPatternPredicate2,
28960 OPC_CheckComplexPat3, /*#*/1,
28961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
28962 MVT::v8i16, 2, 0, 2,
28963 10,
28964 OPC_CheckPatternPredicate5,
28965 OPC_CheckComplexPat3, /*#*/1,
28966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
28967 MVT::v8i16, 2, 0, 2,
28968 8,
28969 OPC_CheckPatternPredicate1,
28970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
28971 MVT::v8i16, 2, 0, 1,
28972 0,
28973 35,
28974 OPC_CheckChild2CondCode, ISD::SETULE,
28975 OPC_Scope, 10,
28976 OPC_CheckPatternPredicate2,
28977 OPC_CheckComplexPat1, /*#*/1,
28978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
28979 MVT::v8i16, 2, 0, 2,
28980 10,
28981 OPC_CheckPatternPredicate5,
28982 OPC_CheckComplexPat1, /*#*/1,
28983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
28984 MVT::v8i16, 2, 0, 2,
28985 8,
28986 OPC_CheckPatternPredicate1,
28987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
28988 MVT::v8i16, 2, 0, 1,
28989 0,
28990 35,
28991 OPC_CheckChild2CondCode, ISD::SETULT,
28992 OPC_Scope, 10,
28993 OPC_CheckPatternPredicate2,
28994 OPC_CheckComplexPat1, /*#*/1,
28995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
28996 MVT::v8i16, 2, 0, 2,
28997 10,
28998 OPC_CheckPatternPredicate5,
28999 OPC_CheckComplexPat1, /*#*/1,
29000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
29001 MVT::v8i16, 2, 0, 2,
29002 8,
29003 OPC_CheckPatternPredicate1,
29004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
29005 MVT::v8i16, 2, 0, 1,
29006 0,
29007 0,
29008 59|128,1,
29009 OPC_CheckChild0Type, MVT::v4i32,
29010 OPC_RecordChild1,
29011 OPC_CheckType, MVT::v4i32,
29012 OPC_Scope, 35,
29013 OPC_CheckChild2CondCode, ISD::SETEQ,
29014 OPC_Scope, 10,
29015 OPC_CheckPatternPredicate2,
29016 OPC_CheckComplexPat3, /*#*/1,
29017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
29018 MVT::v4i32, 2, 0, 2,
29019 10,
29020 OPC_CheckPatternPredicate5,
29021 OPC_CheckComplexPat3, /*#*/1,
29022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
29023 MVT::v4i32, 2, 0, 2,
29024 8,
29025 OPC_CheckPatternPredicate1,
29026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
29027 MVT::v4i32, 2, 0, 1,
29028 0,
29029 35,
29030 OPC_CheckChild2CondCode, ISD::SETLE,
29031 OPC_Scope, 10,
29032 OPC_CheckPatternPredicate2,
29033 OPC_CheckComplexPat3, /*#*/1,
29034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
29035 MVT::v4i32, 2, 0, 2,
29036 10,
29037 OPC_CheckPatternPredicate5,
29038 OPC_CheckComplexPat3, /*#*/1,
29039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
29040 MVT::v4i32, 2, 0, 2,
29041 8,
29042 OPC_CheckPatternPredicate1,
29043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
29044 MVT::v4i32, 2, 0, 1,
29045 0,
29046 35,
29047 OPC_CheckChild2CondCode, ISD::SETLT,
29048 OPC_Scope, 10,
29049 OPC_CheckPatternPredicate2,
29050 OPC_CheckComplexPat3, /*#*/1,
29051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
29052 MVT::v4i32, 2, 0, 2,
29053 10,
29054 OPC_CheckPatternPredicate5,
29055 OPC_CheckComplexPat3, /*#*/1,
29056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
29057 MVT::v4i32, 2, 0, 2,
29058 8,
29059 OPC_CheckPatternPredicate1,
29060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
29061 MVT::v4i32, 2, 0, 1,
29062 0,
29063 35,
29064 OPC_CheckChild2CondCode, ISD::SETULE,
29065 OPC_Scope, 10,
29066 OPC_CheckPatternPredicate2,
29067 OPC_CheckComplexPat1, /*#*/1,
29068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
29069 MVT::v4i32, 2, 0, 2,
29070 10,
29071 OPC_CheckPatternPredicate5,
29072 OPC_CheckComplexPat1, /*#*/1,
29073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
29074 MVT::v4i32, 2, 0, 2,
29075 8,
29076 OPC_CheckPatternPredicate1,
29077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
29078 MVT::v4i32, 2, 0, 1,
29079 0,
29080 35,
29081 OPC_CheckChild2CondCode, ISD::SETULT,
29082 OPC_Scope, 10,
29083 OPC_CheckPatternPredicate2,
29084 OPC_CheckComplexPat1, /*#*/1,
29085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
29086 MVT::v4i32, 2, 0, 2,
29087 10,
29088 OPC_CheckPatternPredicate5,
29089 OPC_CheckComplexPat1, /*#*/1,
29090 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
29091 MVT::v4i32, 2, 0, 2,
29092 8,
29093 OPC_CheckPatternPredicate1,
29094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
29095 MVT::v4i32, 2, 0, 1,
29096 0,
29097 0,
29098 59|128,1,
29099 OPC_CheckChild0Type, MVT::v2i64,
29100 OPC_RecordChild1,
29101 OPC_CheckType, MVT::v2i64,
29102 OPC_Scope, 35,
29103 OPC_CheckChild2CondCode, ISD::SETEQ,
29104 OPC_Scope, 10,
29105 OPC_CheckPatternPredicate2,
29106 OPC_CheckComplexPat3, /*#*/1,
29107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
29108 MVT::v2i64, 2, 0, 2,
29109 10,
29110 OPC_CheckPatternPredicate5,
29111 OPC_CheckComplexPat3, /*#*/1,
29112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
29113 MVT::v2i64, 2, 0, 2,
29114 8,
29115 OPC_CheckPatternPredicate1,
29116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
29117 MVT::v2i64, 2, 0, 1,
29118 0,
29119 35,
29120 OPC_CheckChild2CondCode, ISD::SETLE,
29121 OPC_Scope, 10,
29122 OPC_CheckPatternPredicate2,
29123 OPC_CheckComplexPat3, /*#*/1,
29124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
29125 MVT::v2i64, 2, 0, 2,
29126 10,
29127 OPC_CheckPatternPredicate5,
29128 OPC_CheckComplexPat3, /*#*/1,
29129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
29130 MVT::v2i64, 2, 0, 2,
29131 8,
29132 OPC_CheckPatternPredicate1,
29133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
29134 MVT::v2i64, 2, 0, 1,
29135 0,
29136 35,
29137 OPC_CheckChild2CondCode, ISD::SETLT,
29138 OPC_Scope, 10,
29139 OPC_CheckPatternPredicate2,
29140 OPC_CheckComplexPat3, /*#*/1,
29141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
29142 MVT::v2i64, 2, 0, 2,
29143 10,
29144 OPC_CheckPatternPredicate5,
29145 OPC_CheckComplexPat3, /*#*/1,
29146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
29147 MVT::v2i64, 2, 0, 2,
29148 8,
29149 OPC_CheckPatternPredicate1,
29150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
29151 MVT::v2i64, 2, 0, 1,
29152 0,
29153 35,
29154 OPC_CheckChild2CondCode, ISD::SETULE,
29155 OPC_Scope, 10,
29156 OPC_CheckPatternPredicate2,
29157 OPC_CheckComplexPat1, /*#*/1,
29158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
29159 MVT::v2i64, 2, 0, 2,
29160 10,
29161 OPC_CheckPatternPredicate5,
29162 OPC_CheckComplexPat1, /*#*/1,
29163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
29164 MVT::v2i64, 2, 0, 2,
29165 8,
29166 OPC_CheckPatternPredicate1,
29167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
29168 MVT::v2i64, 2, 0, 1,
29169 0,
29170 35,
29171 OPC_CheckChild2CondCode, ISD::SETULT,
29172 OPC_Scope, 10,
29173 OPC_CheckPatternPredicate2,
29174 OPC_CheckComplexPat1, /*#*/1,
29175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
29176 MVT::v2i64, 2, 0, 2,
29177 10,
29178 OPC_CheckPatternPredicate5,
29179 OPC_CheckComplexPat1, /*#*/1,
29180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
29181 MVT::v2i64, 2, 0, 2,
29182 8,
29183 OPC_CheckPatternPredicate1,
29184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
29185 MVT::v2i64, 2, 0, 1,
29186 0,
29187 0,
29188 59|128,1,
29189 OPC_CheckChild0Type, MVT::v32i8,
29190 OPC_RecordChild1,
29191 OPC_CheckType, MVT::v32i8,
29192 OPC_Scope, 35,
29193 OPC_CheckChild2CondCode, ISD::SETEQ,
29194 OPC_Scope, 10,
29195 OPC_CheckPatternPredicate3,
29196 OPC_CheckComplexPat3, /*#*/1,
29197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
29198 MVT::v32i8, 2, 0, 2,
29199 10,
29200 OPC_CheckPatternPredicate4,
29201 OPC_CheckComplexPat3, /*#*/1,
29202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
29203 MVT::v32i8, 2, 0, 2,
29204 8,
29205 OPC_CheckPatternPredicate0,
29206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
29207 MVT::v32i8, 2, 0, 1,
29208 0,
29209 35,
29210 OPC_CheckChild2CondCode, ISD::SETLE,
29211 OPC_Scope, 10,
29212 OPC_CheckPatternPredicate3,
29213 OPC_CheckComplexPat3, /*#*/1,
29214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
29215 MVT::v32i8, 2, 0, 2,
29216 10,
29217 OPC_CheckPatternPredicate4,
29218 OPC_CheckComplexPat3, /*#*/1,
29219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
29220 MVT::v32i8, 2, 0, 2,
29221 8,
29222 OPC_CheckPatternPredicate0,
29223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
29224 MVT::v32i8, 2, 0, 1,
29225 0,
29226 35,
29227 OPC_CheckChild2CondCode, ISD::SETLT,
29228 OPC_Scope, 10,
29229 OPC_CheckPatternPredicate3,
29230 OPC_CheckComplexPat3, /*#*/1,
29231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
29232 MVT::v32i8, 2, 0, 2,
29233 10,
29234 OPC_CheckPatternPredicate4,
29235 OPC_CheckComplexPat3, /*#*/1,
29236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
29237 MVT::v32i8, 2, 0, 2,
29238 8,
29239 OPC_CheckPatternPredicate0,
29240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
29241 MVT::v32i8, 2, 0, 1,
29242 0,
29243 35,
29244 OPC_CheckChild2CondCode, ISD::SETULE,
29245 OPC_Scope, 10,
29246 OPC_CheckPatternPredicate3,
29247 OPC_CheckComplexPat1, /*#*/1,
29248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
29249 MVT::v32i8, 2, 0, 2,
29250 10,
29251 OPC_CheckPatternPredicate4,
29252 OPC_CheckComplexPat1, /*#*/1,
29253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
29254 MVT::v32i8, 2, 0, 2,
29255 8,
29256 OPC_CheckPatternPredicate0,
29257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
29258 MVT::v32i8, 2, 0, 1,
29259 0,
29260 35,
29261 OPC_CheckChild2CondCode, ISD::SETULT,
29262 OPC_Scope, 10,
29263 OPC_CheckPatternPredicate3,
29264 OPC_CheckComplexPat1, /*#*/1,
29265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
29266 MVT::v32i8, 2, 0, 2,
29267 10,
29268 OPC_CheckPatternPredicate4,
29269 OPC_CheckComplexPat1, /*#*/1,
29270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
29271 MVT::v32i8, 2, 0, 2,
29272 8,
29273 OPC_CheckPatternPredicate0,
29274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
29275 MVT::v32i8, 2, 0, 1,
29276 0,
29277 0,
29278 59|128,1,
29279 OPC_CheckChild0Type, MVT::v16i16,
29280 OPC_RecordChild1,
29281 OPC_CheckType, MVT::v16i16,
29282 OPC_Scope, 35,
29283 OPC_CheckChild2CondCode, ISD::SETEQ,
29284 OPC_Scope, 10,
29285 OPC_CheckPatternPredicate3,
29286 OPC_CheckComplexPat3, /*#*/1,
29287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
29288 MVT::v16i16, 2, 0, 2,
29289 10,
29290 OPC_CheckPatternPredicate4,
29291 OPC_CheckComplexPat3, /*#*/1,
29292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
29293 MVT::v16i16, 2, 0, 2,
29294 8,
29295 OPC_CheckPatternPredicate0,
29296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
29297 MVT::v16i16, 2, 0, 1,
29298 0,
29299 35,
29300 OPC_CheckChild2CondCode, ISD::SETLE,
29301 OPC_Scope, 10,
29302 OPC_CheckPatternPredicate3,
29303 OPC_CheckComplexPat3, /*#*/1,
29304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
29305 MVT::v16i16, 2, 0, 2,
29306 10,
29307 OPC_CheckPatternPredicate4,
29308 OPC_CheckComplexPat3, /*#*/1,
29309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
29310 MVT::v16i16, 2, 0, 2,
29311 8,
29312 OPC_CheckPatternPredicate0,
29313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
29314 MVT::v16i16, 2, 0, 1,
29315 0,
29316 35,
29317 OPC_CheckChild2CondCode, ISD::SETLT,
29318 OPC_Scope, 10,
29319 OPC_CheckPatternPredicate3,
29320 OPC_CheckComplexPat3, /*#*/1,
29321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
29322 MVT::v16i16, 2, 0, 2,
29323 10,
29324 OPC_CheckPatternPredicate4,
29325 OPC_CheckComplexPat3, /*#*/1,
29326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
29327 MVT::v16i16, 2, 0, 2,
29328 8,
29329 OPC_CheckPatternPredicate0,
29330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
29331 MVT::v16i16, 2, 0, 1,
29332 0,
29333 35,
29334 OPC_CheckChild2CondCode, ISD::SETULE,
29335 OPC_Scope, 10,
29336 OPC_CheckPatternPredicate3,
29337 OPC_CheckComplexPat1, /*#*/1,
29338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
29339 MVT::v16i16, 2, 0, 2,
29340 10,
29341 OPC_CheckPatternPredicate4,
29342 OPC_CheckComplexPat1, /*#*/1,
29343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
29344 MVT::v16i16, 2, 0, 2,
29345 8,
29346 OPC_CheckPatternPredicate0,
29347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
29348 MVT::v16i16, 2, 0, 1,
29349 0,
29350 35,
29351 OPC_CheckChild2CondCode, ISD::SETULT,
29352 OPC_Scope, 10,
29353 OPC_CheckPatternPredicate3,
29354 OPC_CheckComplexPat1, /*#*/1,
29355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
29356 MVT::v16i16, 2, 0, 2,
29357 10,
29358 OPC_CheckPatternPredicate4,
29359 OPC_CheckComplexPat1, /*#*/1,
29360 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
29361 MVT::v16i16, 2, 0, 2,
29362 8,
29363 OPC_CheckPatternPredicate0,
29364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
29365 MVT::v16i16, 2, 0, 1,
29366 0,
29367 0,
29368 59|128,1,
29369 OPC_CheckChild0Type, MVT::v8i32,
29370 OPC_RecordChild1,
29371 OPC_CheckType, MVT::v8i32,
29372 OPC_Scope, 35,
29373 OPC_CheckChild2CondCode, ISD::SETEQ,
29374 OPC_Scope, 10,
29375 OPC_CheckPatternPredicate3,
29376 OPC_CheckComplexPat3, /*#*/1,
29377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
29378 MVT::v8i32, 2, 0, 2,
29379 10,
29380 OPC_CheckPatternPredicate4,
29381 OPC_CheckComplexPat3, /*#*/1,
29382 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
29383 MVT::v8i32, 2, 0, 2,
29384 8,
29385 OPC_CheckPatternPredicate0,
29386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
29387 MVT::v8i32, 2, 0, 1,
29388 0,
29389 35,
29390 OPC_CheckChild2CondCode, ISD::SETLE,
29391 OPC_Scope, 10,
29392 OPC_CheckPatternPredicate3,
29393 OPC_CheckComplexPat3, /*#*/1,
29394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
29395 MVT::v8i32, 2, 0, 2,
29396 10,
29397 OPC_CheckPatternPredicate4,
29398 OPC_CheckComplexPat3, /*#*/1,
29399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
29400 MVT::v8i32, 2, 0, 2,
29401 8,
29402 OPC_CheckPatternPredicate0,
29403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
29404 MVT::v8i32, 2, 0, 1,
29405 0,
29406 35,
29407 OPC_CheckChild2CondCode, ISD::SETLT,
29408 OPC_Scope, 10,
29409 OPC_CheckPatternPredicate3,
29410 OPC_CheckComplexPat3, /*#*/1,
29411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
29412 MVT::v8i32, 2, 0, 2,
29413 10,
29414 OPC_CheckPatternPredicate4,
29415 OPC_CheckComplexPat3, /*#*/1,
29416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
29417 MVT::v8i32, 2, 0, 2,
29418 8,
29419 OPC_CheckPatternPredicate0,
29420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
29421 MVT::v8i32, 2, 0, 1,
29422 0,
29423 35,
29424 OPC_CheckChild2CondCode, ISD::SETULE,
29425 OPC_Scope, 10,
29426 OPC_CheckPatternPredicate3,
29427 OPC_CheckComplexPat1, /*#*/1,
29428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
29429 MVT::v8i32, 2, 0, 2,
29430 10,
29431 OPC_CheckPatternPredicate4,
29432 OPC_CheckComplexPat1, /*#*/1,
29433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
29434 MVT::v8i32, 2, 0, 2,
29435 8,
29436 OPC_CheckPatternPredicate0,
29437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
29438 MVT::v8i32, 2, 0, 1,
29439 0,
29440 35,
29441 OPC_CheckChild2CondCode, ISD::SETULT,
29442 OPC_Scope, 10,
29443 OPC_CheckPatternPredicate3,
29444 OPC_CheckComplexPat1, /*#*/1,
29445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
29446 MVT::v8i32, 2, 0, 2,
29447 10,
29448 OPC_CheckPatternPredicate4,
29449 OPC_CheckComplexPat1, /*#*/1,
29450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
29451 MVT::v8i32, 2, 0, 2,
29452 8,
29453 OPC_CheckPatternPredicate0,
29454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
29455 MVT::v8i32, 2, 0, 1,
29456 0,
29457 0,
29458 59|128,1,
29459 OPC_CheckChild0Type, MVT::v4i64,
29460 OPC_RecordChild1,
29461 OPC_CheckType, MVT::v4i64,
29462 OPC_Scope, 35,
29463 OPC_CheckChild2CondCode, ISD::SETEQ,
29464 OPC_Scope, 10,
29465 OPC_CheckPatternPredicate3,
29466 OPC_CheckComplexPat3, /*#*/1,
29467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
29468 MVT::v4i64, 2, 0, 2,
29469 10,
29470 OPC_CheckPatternPredicate4,
29471 OPC_CheckComplexPat3, /*#*/1,
29472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
29473 MVT::v4i64, 2, 0, 2,
29474 8,
29475 OPC_CheckPatternPredicate0,
29476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
29477 MVT::v4i64, 2, 0, 1,
29478 0,
29479 35,
29480 OPC_CheckChild2CondCode, ISD::SETLE,
29481 OPC_Scope, 10,
29482 OPC_CheckPatternPredicate3,
29483 OPC_CheckComplexPat3, /*#*/1,
29484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
29485 MVT::v4i64, 2, 0, 2,
29486 10,
29487 OPC_CheckPatternPredicate4,
29488 OPC_CheckComplexPat3, /*#*/1,
29489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
29490 MVT::v4i64, 2, 0, 2,
29491 8,
29492 OPC_CheckPatternPredicate0,
29493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
29494 MVT::v4i64, 2, 0, 1,
29495 0,
29496 35,
29497 OPC_CheckChild2CondCode, ISD::SETLT,
29498 OPC_Scope, 10,
29499 OPC_CheckPatternPredicate3,
29500 OPC_CheckComplexPat3, /*#*/1,
29501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
29502 MVT::v4i64, 2, 0, 2,
29503 10,
29504 OPC_CheckPatternPredicate4,
29505 OPC_CheckComplexPat3, /*#*/1,
29506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
29507 MVT::v4i64, 2, 0, 2,
29508 8,
29509 OPC_CheckPatternPredicate0,
29510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
29511 MVT::v4i64, 2, 0, 1,
29512 0,
29513 35,
29514 OPC_CheckChild2CondCode, ISD::SETULE,
29515 OPC_Scope, 10,
29516 OPC_CheckPatternPredicate3,
29517 OPC_CheckComplexPat1, /*#*/1,
29518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
29519 MVT::v4i64, 2, 0, 2,
29520 10,
29521 OPC_CheckPatternPredicate4,
29522 OPC_CheckComplexPat1, /*#*/1,
29523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
29524 MVT::v4i64, 2, 0, 2,
29525 8,
29526 OPC_CheckPatternPredicate0,
29527 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
29528 MVT::v4i64, 2, 0, 1,
29529 0,
29530 35,
29531 OPC_CheckChild2CondCode, ISD::SETULT,
29532 OPC_Scope, 10,
29533 OPC_CheckPatternPredicate3,
29534 OPC_CheckComplexPat1, /*#*/1,
29535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
29536 MVT::v4i64, 2, 0, 2,
29537 10,
29538 OPC_CheckPatternPredicate4,
29539 OPC_CheckComplexPat1, /*#*/1,
29540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
29541 MVT::v4i64, 2, 0, 2,
29542 8,
29543 OPC_CheckPatternPredicate0,
29544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
29545 MVT::v4i64, 2, 0, 1,
29546 0,
29547 0,
29548 33|128,1,
29549 OPC_CheckChild0Type, MVT::v4f32,
29550 OPC_RecordChild1,
29551 OPC_CheckType, MVT::v4i32,
29552 OPC_Scope, 10,
29553 OPC_CheckChild2CondCode, ISD::SETEQ,
29554 OPC_CheckPatternPredicate1,
29555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
29556 MVT::v4i32, 2, 0, 1,
29557 10,
29558 OPC_CheckChild2CondCode, ISD::SETOEQ,
29559 OPC_CheckPatternPredicate1,
29560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
29561 MVT::v4i32, 2, 0, 1,
29562 10,
29563 OPC_CheckChild2CondCode, ISD::SETUEQ,
29564 OPC_CheckPatternPredicate1,
29565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
29566 MVT::v4i32, 2, 0, 1,
29567 10,
29568 OPC_CheckChild2CondCode, ISD::SETLE,
29569 OPC_CheckPatternPredicate1,
29570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
29571 MVT::v4i32, 2, 0, 1,
29572 10,
29573 OPC_CheckChild2CondCode, ISD::SETOLE,
29574 OPC_CheckPatternPredicate1,
29575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
29576 MVT::v4i32, 2, 0, 1,
29577 10,
29578 OPC_CheckChild2CondCode, ISD::SETULE,
29579 OPC_CheckPatternPredicate1,
29580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
29581 MVT::v4i32, 2, 0, 1,
29582 10,
29583 OPC_CheckChild2CondCode, ISD::SETLT,
29584 OPC_CheckPatternPredicate1,
29585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
29586 MVT::v4i32, 2, 0, 1,
29587 10,
29588 OPC_CheckChild2CondCode, ISD::SETOLT,
29589 OPC_CheckPatternPredicate1,
29590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
29591 MVT::v4i32, 2, 0, 1,
29592 10,
29593 OPC_CheckChild2CondCode, ISD::SETULT,
29594 OPC_CheckPatternPredicate1,
29595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
29596 MVT::v4i32, 2, 0, 1,
29597 10,
29598 OPC_CheckChild2CondCode, ISD::SETNE,
29599 OPC_CheckPatternPredicate1,
29600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
29601 MVT::v4i32, 2, 0, 1,
29602 10,
29603 OPC_CheckChild2CondCode, ISD::SETONE,
29604 OPC_CheckPatternPredicate1,
29605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
29606 MVT::v4i32, 2, 0, 1,
29607 10,
29608 OPC_CheckChild2CondCode, ISD::SETUNE,
29609 OPC_CheckPatternPredicate1,
29610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
29611 MVT::v4i32, 2, 0, 1,
29612 10,
29613 OPC_CheckChild2CondCode, ISD::SETO,
29614 OPC_CheckPatternPredicate1,
29615 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
29616 MVT::v4i32, 2, 0, 1,
29617 10,
29618 OPC_CheckChild2CondCode, ISD::SETUO,
29619 OPC_CheckPatternPredicate1,
29620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
29621 MVT::v4i32, 2, 0, 1,
29622 0,
29623 33|128,1,
29624 OPC_CheckChild0Type, MVT::v2f64,
29625 OPC_RecordChild1,
29626 OPC_CheckType, MVT::v2i64,
29627 OPC_Scope, 10,
29628 OPC_CheckChild2CondCode, ISD::SETEQ,
29629 OPC_CheckPatternPredicate1,
29630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
29631 MVT::v2i64, 2, 0, 1,
29632 10,
29633 OPC_CheckChild2CondCode, ISD::SETOEQ,
29634 OPC_CheckPatternPredicate1,
29635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
29636 MVT::v2i64, 2, 0, 1,
29637 10,
29638 OPC_CheckChild2CondCode, ISD::SETUEQ,
29639 OPC_CheckPatternPredicate1,
29640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
29641 MVT::v2i64, 2, 0, 1,
29642 10,
29643 OPC_CheckChild2CondCode, ISD::SETLE,
29644 OPC_CheckPatternPredicate1,
29645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
29646 MVT::v2i64, 2, 0, 1,
29647 10,
29648 OPC_CheckChild2CondCode, ISD::SETOLE,
29649 OPC_CheckPatternPredicate1,
29650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
29651 MVT::v2i64, 2, 0, 1,
29652 10,
29653 OPC_CheckChild2CondCode, ISD::SETULE,
29654 OPC_CheckPatternPredicate1,
29655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
29656 MVT::v2i64, 2, 0, 1,
29657 10,
29658 OPC_CheckChild2CondCode, ISD::SETLT,
29659 OPC_CheckPatternPredicate1,
29660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
29661 MVT::v2i64, 2, 0, 1,
29662 10,
29663 OPC_CheckChild2CondCode, ISD::SETOLT,
29664 OPC_CheckPatternPredicate1,
29665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
29666 MVT::v2i64, 2, 0, 1,
29667 10,
29668 OPC_CheckChild2CondCode, ISD::SETULT,
29669 OPC_CheckPatternPredicate1,
29670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
29671 MVT::v2i64, 2, 0, 1,
29672 10,
29673 OPC_CheckChild2CondCode, ISD::SETNE,
29674 OPC_CheckPatternPredicate1,
29675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
29676 MVT::v2i64, 2, 0, 1,
29677 10,
29678 OPC_CheckChild2CondCode, ISD::SETONE,
29679 OPC_CheckPatternPredicate1,
29680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
29681 MVT::v2i64, 2, 0, 1,
29682 10,
29683 OPC_CheckChild2CondCode, ISD::SETUNE,
29684 OPC_CheckPatternPredicate1,
29685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
29686 MVT::v2i64, 2, 0, 1,
29687 10,
29688 OPC_CheckChild2CondCode, ISD::SETO,
29689 OPC_CheckPatternPredicate1,
29690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
29691 MVT::v2i64, 2, 0, 1,
29692 10,
29693 OPC_CheckChild2CondCode, ISD::SETUO,
29694 OPC_CheckPatternPredicate1,
29695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
29696 MVT::v2i64, 2, 0, 1,
29697 0,
29698 33|128,1,
29699 OPC_CheckChild0Type, MVT::v8f32,
29700 OPC_RecordChild1,
29701 OPC_CheckType, MVT::v8i32,
29702 OPC_Scope, 10,
29703 OPC_CheckChild2CondCode, ISD::SETEQ,
29704 OPC_CheckPatternPredicate0,
29705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
29706 MVT::v8i32, 2, 0, 1,
29707 10,
29708 OPC_CheckChild2CondCode, ISD::SETOEQ,
29709 OPC_CheckPatternPredicate0,
29710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
29711 MVT::v8i32, 2, 0, 1,
29712 10,
29713 OPC_CheckChild2CondCode, ISD::SETUEQ,
29714 OPC_CheckPatternPredicate0,
29715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
29716 MVT::v8i32, 2, 0, 1,
29717 10,
29718 OPC_CheckChild2CondCode, ISD::SETLE,
29719 OPC_CheckPatternPredicate0,
29720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
29721 MVT::v8i32, 2, 0, 1,
29722 10,
29723 OPC_CheckChild2CondCode, ISD::SETOLE,
29724 OPC_CheckPatternPredicate0,
29725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
29726 MVT::v8i32, 2, 0, 1,
29727 10,
29728 OPC_CheckChild2CondCode, ISD::SETULE,
29729 OPC_CheckPatternPredicate0,
29730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
29731 MVT::v8i32, 2, 0, 1,
29732 10,
29733 OPC_CheckChild2CondCode, ISD::SETLT,
29734 OPC_CheckPatternPredicate0,
29735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
29736 MVT::v8i32, 2, 0, 1,
29737 10,
29738 OPC_CheckChild2CondCode, ISD::SETOLT,
29739 OPC_CheckPatternPredicate0,
29740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
29741 MVT::v8i32, 2, 0, 1,
29742 10,
29743 OPC_CheckChild2CondCode, ISD::SETULT,
29744 OPC_CheckPatternPredicate0,
29745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
29746 MVT::v8i32, 2, 0, 1,
29747 10,
29748 OPC_CheckChild2CondCode, ISD::SETNE,
29749 OPC_CheckPatternPredicate0,
29750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
29751 MVT::v8i32, 2, 0, 1,
29752 10,
29753 OPC_CheckChild2CondCode, ISD::SETONE,
29754 OPC_CheckPatternPredicate0,
29755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
29756 MVT::v8i32, 2, 0, 1,
29757 10,
29758 OPC_CheckChild2CondCode, ISD::SETUNE,
29759 OPC_CheckPatternPredicate0,
29760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
29761 MVT::v8i32, 2, 0, 1,
29762 10,
29763 OPC_CheckChild2CondCode, ISD::SETO,
29764 OPC_CheckPatternPredicate0,
29765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
29766 MVT::v8i32, 2, 0, 1,
29767 10,
29768 OPC_CheckChild2CondCode, ISD::SETUO,
29769 OPC_CheckPatternPredicate0,
29770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
29771 MVT::v8i32, 2, 0, 1,
29772 0,
29773 33|128,1,
29774 OPC_CheckChild0Type, MVT::v4f64,
29775 OPC_RecordChild1,
29776 OPC_CheckType, MVT::v4i64,
29777 OPC_Scope, 10,
29778 OPC_CheckChild2CondCode, ISD::SETEQ,
29779 OPC_CheckPatternPredicate0,
29780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
29781 MVT::v4i64, 2, 0, 1,
29782 10,
29783 OPC_CheckChild2CondCode, ISD::SETOEQ,
29784 OPC_CheckPatternPredicate0,
29785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
29786 MVT::v4i64, 2, 0, 1,
29787 10,
29788 OPC_CheckChild2CondCode, ISD::SETUEQ,
29789 OPC_CheckPatternPredicate0,
29790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
29791 MVT::v4i64, 2, 0, 1,
29792 10,
29793 OPC_CheckChild2CondCode, ISD::SETLE,
29794 OPC_CheckPatternPredicate0,
29795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
29796 MVT::v4i64, 2, 0, 1,
29797 10,
29798 OPC_CheckChild2CondCode, ISD::SETOLE,
29799 OPC_CheckPatternPredicate0,
29800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
29801 MVT::v4i64, 2, 0, 1,
29802 10,
29803 OPC_CheckChild2CondCode, ISD::SETULE,
29804 OPC_CheckPatternPredicate0,
29805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
29806 MVT::v4i64, 2, 0, 1,
29807 10,
29808 OPC_CheckChild2CondCode, ISD::SETLT,
29809 OPC_CheckPatternPredicate0,
29810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
29811 MVT::v4i64, 2, 0, 1,
29812 10,
29813 OPC_CheckChild2CondCode, ISD::SETOLT,
29814 OPC_CheckPatternPredicate0,
29815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
29816 MVT::v4i64, 2, 0, 1,
29817 10,
29818 OPC_CheckChild2CondCode, ISD::SETULT,
29819 OPC_CheckPatternPredicate0,
29820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
29821 MVT::v4i64, 2, 0, 1,
29822 10,
29823 OPC_CheckChild2CondCode, ISD::SETNE,
29824 OPC_CheckPatternPredicate0,
29825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
29826 MVT::v4i64, 2, 0, 1,
29827 10,
29828 OPC_CheckChild2CondCode, ISD::SETONE,
29829 OPC_CheckPatternPredicate0,
29830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
29831 MVT::v4i64, 2, 0, 1,
29832 10,
29833 OPC_CheckChild2CondCode, ISD::SETUNE,
29834 OPC_CheckPatternPredicate0,
29835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
29836 MVT::v4i64, 2, 0, 1,
29837 10,
29838 OPC_CheckChild2CondCode, ISD::SETO,
29839 OPC_CheckPatternPredicate0,
29840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
29841 MVT::v4i64, 2, 0, 1,
29842 10,
29843 OPC_CheckChild2CondCode, ISD::SETUO,
29844 OPC_CheckPatternPredicate0,
29845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
29846 MVT::v4i64, 2, 0, 1,
29847 0,
29848 0,
29849 112|128,9, TARGET_VAL(ISD::SELECT),
29850 OPC_Scope, 114,
29851 OPC_RecordChild0,
29852 OPC_SwitchType , 52, MVT::i64,
29853 OPC_CheckChild0TypeI64,
29854 OPC_Scope, 11,
29855 OPC_RecordChild1,
29856 OPC_CheckChild2Integer, 0,
29857 OPC_CheckPatternPredicate7,
29858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
29859 MVT::i64, 2, 1, 0,
29860 11,
29861 OPC_CheckChild1Integer, 0,
29862 OPC_RecordChild2,
29863 OPC_CheckPatternPredicate7,
29864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
29865 MVT::i64, 2, 1, 0,
29866 24,
29867 OPC_RecordChild1,
29868 OPC_RecordChild2,
29869 OPC_CheckPatternPredicate7,
29870 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
29871 MVT::i64, 2, 1, 0,
29872 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
29873 MVT::i64, 2, 2, 0,
29874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
29875 MVT::i64, 2, 3, 4,
29876 0,
29877 55, MVT::i32,
29878 OPC_CheckChild0TypeI32,
29879 OPC_Scope, 12,
29880 OPC_RecordChild1,
29881 OPC_CheckChild2Integer, 0,
29882 OPC_CheckPatternPredicate, 8,
29883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
29884 MVT::i32, 2, 1, 0,
29885 12,
29886 OPC_CheckChild1Integer, 0,
29887 OPC_RecordChild2,
29888 OPC_CheckPatternPredicate, 8,
29889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
29890 MVT::i32, 2, 1, 0,
29891 25,
29892 OPC_RecordChild1,
29893 OPC_RecordChild2,
29894 OPC_CheckPatternPredicate, 8,
29895 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
29896 MVT::i32, 2, 1, 0,
29897 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
29898 MVT::i32, 2, 2, 0,
29899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
29900 MVT::i32, 2, 3, 4,
29901 0,
29902 0,
29903 57|128,8,
29904 OPC_MoveChild0,
29905 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
29906 OPC_RecordChild0,
29907 OPC_Scope, 23|128,4,
29908 OPC_CheckChild0Type, MVT::f32,
29909 OPC_RecordChild1,
29910 OPC_Scope, 52,
29911 OPC_CheckChild2CondCode, ISD::SETOEQ,
29912 OPC_SwitchType , 22, MVT::i64,
29913 OPC_MoveParent,
29914 OPC_RecordChild1,
29915 OPC_RecordChild2,
29916 OPC_CheckType, MVT::f32,
29917 OPC_CheckPatternPredicate, 11,
29918 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
29919 MVT::i64, 2, 0, 1,
29920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29921 MVT::f32, 3, 3, 2, 4,
29922 22, MVT::i32,
29923 OPC_MoveParent,
29924 OPC_RecordChild1,
29925 OPC_RecordChild2,
29926 OPC_CheckType, MVT::f32,
29927 OPC_CheckPatternPredicate, 12,
29928 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
29929 MVT::i32, 2, 0, 1,
29930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29931 MVT::f32, 3, 3, 2, 4,
29932 0,
29933 52,
29934 OPC_CheckChild2CondCode, ISD::SETOLT,
29935 OPC_SwitchType , 22, MVT::i64,
29936 OPC_MoveParent,
29937 OPC_RecordChild1,
29938 OPC_RecordChild2,
29939 OPC_CheckType, MVT::f32,
29940 OPC_CheckPatternPredicate, 11,
29941 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
29942 MVT::i64, 2, 0, 1,
29943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29944 MVT::f32, 3, 3, 2, 4,
29945 22, MVT::i32,
29946 OPC_MoveParent,
29947 OPC_RecordChild1,
29948 OPC_RecordChild2,
29949 OPC_CheckType, MVT::f32,
29950 OPC_CheckPatternPredicate, 12,
29951 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
29952 MVT::i32, 2, 0, 1,
29953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29954 MVT::f32, 3, 3, 2, 4,
29955 0,
29956 52,
29957 OPC_CheckChild2CondCode, ISD::SETOLE,
29958 OPC_SwitchType , 22, MVT::i64,
29959 OPC_MoveParent,
29960 OPC_RecordChild1,
29961 OPC_RecordChild2,
29962 OPC_CheckType, MVT::f32,
29963 OPC_CheckPatternPredicate, 11,
29964 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
29965 MVT::i64, 2, 0, 1,
29966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29967 MVT::f32, 3, 3, 2, 4,
29968 22, MVT::i32,
29969 OPC_MoveParent,
29970 OPC_RecordChild1,
29971 OPC_RecordChild2,
29972 OPC_CheckType, MVT::f32,
29973 OPC_CheckPatternPredicate, 12,
29974 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
29975 MVT::i32, 2, 0, 1,
29976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29977 MVT::f32, 3, 3, 2, 4,
29978 0,
29979 52,
29980 OPC_CheckChild2CondCode, ISD::SETONE,
29981 OPC_SwitchType , 22, MVT::i64,
29982 OPC_MoveParent,
29983 OPC_RecordChild1,
29984 OPC_RecordChild2,
29985 OPC_CheckType, MVT::f32,
29986 OPC_CheckPatternPredicate, 11,
29987 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
29988 MVT::i64, 2, 0, 1,
29989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29990 MVT::f32, 3, 3, 2, 4,
29991 22, MVT::i32,
29992 OPC_MoveParent,
29993 OPC_RecordChild1,
29994 OPC_RecordChild2,
29995 OPC_CheckType, MVT::f32,
29996 OPC_CheckPatternPredicate, 12,
29997 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
29998 MVT::i32, 2, 0, 1,
29999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30000 MVT::f32, 3, 3, 2, 4,
30001 0,
30002 52,
30003 OPC_CheckChild2CondCode, ISD::SETO,
30004 OPC_SwitchType , 22, MVT::i64,
30005 OPC_MoveParent,
30006 OPC_RecordChild1,
30007 OPC_RecordChild2,
30008 OPC_CheckType, MVT::f32,
30009 OPC_CheckPatternPredicate, 11,
30010 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
30011 MVT::i64, 2, 0, 1,
30012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30013 MVT::f32, 3, 3, 2, 4,
30014 22, MVT::i32,
30015 OPC_MoveParent,
30016 OPC_RecordChild1,
30017 OPC_RecordChild2,
30018 OPC_CheckType, MVT::f32,
30019 OPC_CheckPatternPredicate, 12,
30020 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
30021 MVT::i32, 2, 0, 1,
30022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30023 MVT::f32, 3, 3, 2, 4,
30024 0,
30025 52,
30026 OPC_CheckChild2CondCode, ISD::SETUEQ,
30027 OPC_SwitchType , 22, MVT::i64,
30028 OPC_MoveParent,
30029 OPC_RecordChild1,
30030 OPC_RecordChild2,
30031 OPC_CheckType, MVT::f32,
30032 OPC_CheckPatternPredicate, 11,
30033 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
30034 MVT::i64, 2, 0, 1,
30035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30036 MVT::f32, 3, 3, 2, 4,
30037 22, MVT::i32,
30038 OPC_MoveParent,
30039 OPC_RecordChild1,
30040 OPC_RecordChild2,
30041 OPC_CheckType, MVT::f32,
30042 OPC_CheckPatternPredicate, 12,
30043 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
30044 MVT::i32, 2, 0, 1,
30045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30046 MVT::f32, 3, 3, 2, 4,
30047 0,
30048 52,
30049 OPC_CheckChild2CondCode, ISD::SETULT,
30050 OPC_SwitchType , 22, MVT::i64,
30051 OPC_MoveParent,
30052 OPC_RecordChild1,
30053 OPC_RecordChild2,
30054 OPC_CheckType, MVT::f32,
30055 OPC_CheckPatternPredicate, 11,
30056 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
30057 MVT::i64, 2, 0, 1,
30058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30059 MVT::f32, 3, 3, 2, 4,
30060 22, MVT::i32,
30061 OPC_MoveParent,
30062 OPC_RecordChild1,
30063 OPC_RecordChild2,
30064 OPC_CheckType, MVT::f32,
30065 OPC_CheckPatternPredicate, 12,
30066 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
30067 MVT::i32, 2, 0, 1,
30068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30069 MVT::f32, 3, 3, 2, 4,
30070 0,
30071 52,
30072 OPC_CheckChild2CondCode, ISD::SETULE,
30073 OPC_SwitchType , 22, MVT::i64,
30074 OPC_MoveParent,
30075 OPC_RecordChild1,
30076 OPC_RecordChild2,
30077 OPC_CheckType, MVT::f32,
30078 OPC_CheckPatternPredicate, 11,
30079 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
30080 MVT::i64, 2, 0, 1,
30081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30082 MVT::f32, 3, 3, 2, 4,
30083 22, MVT::i32,
30084 OPC_MoveParent,
30085 OPC_RecordChild1,
30086 OPC_RecordChild2,
30087 OPC_CheckType, MVT::f32,
30088 OPC_CheckPatternPredicate, 12,
30089 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
30090 MVT::i32, 2, 0, 1,
30091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30092 MVT::f32, 3, 3, 2, 4,
30093 0,
30094 52,
30095 OPC_CheckChild2CondCode, ISD::SETUNE,
30096 OPC_SwitchType , 22, MVT::i64,
30097 OPC_MoveParent,
30098 OPC_RecordChild1,
30099 OPC_RecordChild2,
30100 OPC_CheckType, MVT::f32,
30101 OPC_CheckPatternPredicate, 11,
30102 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
30103 MVT::i64, 2, 0, 1,
30104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30105 MVT::f32, 3, 3, 2, 4,
30106 22, MVT::i32,
30107 OPC_MoveParent,
30108 OPC_RecordChild1,
30109 OPC_RecordChild2,
30110 OPC_CheckType, MVT::f32,
30111 OPC_CheckPatternPredicate, 12,
30112 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
30113 MVT::i32, 2, 0, 1,
30114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30115 MVT::f32, 3, 3, 2, 4,
30116 0,
30117 52,
30118 OPC_CheckChild2CondCode, ISD::SETUO,
30119 OPC_SwitchType , 22, MVT::i64,
30120 OPC_MoveParent,
30121 OPC_RecordChild1,
30122 OPC_RecordChild2,
30123 OPC_CheckType, MVT::f32,
30124 OPC_CheckPatternPredicate, 11,
30125 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
30126 MVT::i64, 2, 0, 1,
30127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30128 MVT::f32, 3, 3, 2, 4,
30129 22, MVT::i32,
30130 OPC_MoveParent,
30131 OPC_RecordChild1,
30132 OPC_RecordChild2,
30133 OPC_CheckType, MVT::f32,
30134 OPC_CheckPatternPredicate, 12,
30135 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
30136 MVT::i32, 2, 0, 1,
30137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30138 MVT::f32, 3, 3, 2, 4,
30139 0,
30140 0,
30141 23|128,4,
30142 OPC_CheckChild0Type, MVT::f64,
30143 OPC_RecordChild1,
30144 OPC_Scope, 52,
30145 OPC_CheckChild2CondCode, ISD::SETOEQ,
30146 OPC_SwitchType , 22, MVT::i64,
30147 OPC_MoveParent,
30148 OPC_RecordChild1,
30149 OPC_RecordChild2,
30150 OPC_CheckType, MVT::f64,
30151 OPC_CheckPatternPredicate, 13,
30152 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
30153 MVT::i64, 2, 0, 1,
30154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30155 MVT::f64, 3, 3, 2, 4,
30156 22, MVT::i32,
30157 OPC_MoveParent,
30158 OPC_RecordChild1,
30159 OPC_RecordChild2,
30160 OPC_CheckType, MVT::f64,
30161 OPC_CheckPatternPredicate, 14,
30162 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
30163 MVT::i32, 2, 0, 1,
30164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30165 MVT::f64, 3, 3, 2, 4,
30166 0,
30167 52,
30168 OPC_CheckChild2CondCode, ISD::SETOLT,
30169 OPC_SwitchType , 22, MVT::i64,
30170 OPC_MoveParent,
30171 OPC_RecordChild1,
30172 OPC_RecordChild2,
30173 OPC_CheckType, MVT::f64,
30174 OPC_CheckPatternPredicate, 13,
30175 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
30176 MVT::i64, 2, 0, 1,
30177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30178 MVT::f64, 3, 3, 2, 4,
30179 22, MVT::i32,
30180 OPC_MoveParent,
30181 OPC_RecordChild1,
30182 OPC_RecordChild2,
30183 OPC_CheckType, MVT::f64,
30184 OPC_CheckPatternPredicate, 14,
30185 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
30186 MVT::i32, 2, 0, 1,
30187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30188 MVT::f64, 3, 3, 2, 4,
30189 0,
30190 52,
30191 OPC_CheckChild2CondCode, ISD::SETOLE,
30192 OPC_SwitchType , 22, MVT::i64,
30193 OPC_MoveParent,
30194 OPC_RecordChild1,
30195 OPC_RecordChild2,
30196 OPC_CheckType, MVT::f64,
30197 OPC_CheckPatternPredicate, 13,
30198 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
30199 MVT::i64, 2, 0, 1,
30200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30201 MVT::f64, 3, 3, 2, 4,
30202 22, MVT::i32,
30203 OPC_MoveParent,
30204 OPC_RecordChild1,
30205 OPC_RecordChild2,
30206 OPC_CheckType, MVT::f64,
30207 OPC_CheckPatternPredicate, 14,
30208 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
30209 MVT::i32, 2, 0, 1,
30210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30211 MVT::f64, 3, 3, 2, 4,
30212 0,
30213 52,
30214 OPC_CheckChild2CondCode, ISD::SETONE,
30215 OPC_SwitchType , 22, MVT::i64,
30216 OPC_MoveParent,
30217 OPC_RecordChild1,
30218 OPC_RecordChild2,
30219 OPC_CheckType, MVT::f64,
30220 OPC_CheckPatternPredicate, 13,
30221 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
30222 MVT::i64, 2, 0, 1,
30223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30224 MVT::f64, 3, 3, 2, 4,
30225 22, MVT::i32,
30226 OPC_MoveParent,
30227 OPC_RecordChild1,
30228 OPC_RecordChild2,
30229 OPC_CheckType, MVT::f64,
30230 OPC_CheckPatternPredicate, 14,
30231 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
30232 MVT::i32, 2, 0, 1,
30233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30234 MVT::f64, 3, 3, 2, 4,
30235 0,
30236 52,
30237 OPC_CheckChild2CondCode, ISD::SETO,
30238 OPC_SwitchType , 22, MVT::i64,
30239 OPC_MoveParent,
30240 OPC_RecordChild1,
30241 OPC_RecordChild2,
30242 OPC_CheckType, MVT::f64,
30243 OPC_CheckPatternPredicate, 13,
30244 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
30245 MVT::i64, 2, 0, 1,
30246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30247 MVT::f64, 3, 3, 2, 4,
30248 22, MVT::i32,
30249 OPC_MoveParent,
30250 OPC_RecordChild1,
30251 OPC_RecordChild2,
30252 OPC_CheckType, MVT::f64,
30253 OPC_CheckPatternPredicate, 14,
30254 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
30255 MVT::i32, 2, 0, 1,
30256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30257 MVT::f64, 3, 3, 2, 4,
30258 0,
30259 52,
30260 OPC_CheckChild2CondCode, ISD::SETUEQ,
30261 OPC_SwitchType , 22, MVT::i64,
30262 OPC_MoveParent,
30263 OPC_RecordChild1,
30264 OPC_RecordChild2,
30265 OPC_CheckType, MVT::f64,
30266 OPC_CheckPatternPredicate, 13,
30267 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
30268 MVT::i64, 2, 0, 1,
30269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30270 MVT::f64, 3, 3, 2, 4,
30271 22, MVT::i32,
30272 OPC_MoveParent,
30273 OPC_RecordChild1,
30274 OPC_RecordChild2,
30275 OPC_CheckType, MVT::f64,
30276 OPC_CheckPatternPredicate, 14,
30277 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
30278 MVT::i32, 2, 0, 1,
30279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30280 MVT::f64, 3, 3, 2, 4,
30281 0,
30282 52,
30283 OPC_CheckChild2CondCode, ISD::SETULT,
30284 OPC_SwitchType , 22, MVT::i64,
30285 OPC_MoveParent,
30286 OPC_RecordChild1,
30287 OPC_RecordChild2,
30288 OPC_CheckType, MVT::f64,
30289 OPC_CheckPatternPredicate, 13,
30290 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
30291 MVT::i64, 2, 0, 1,
30292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30293 MVT::f64, 3, 3, 2, 4,
30294 22, MVT::i32,
30295 OPC_MoveParent,
30296 OPC_RecordChild1,
30297 OPC_RecordChild2,
30298 OPC_CheckType, MVT::f64,
30299 OPC_CheckPatternPredicate, 14,
30300 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
30301 MVT::i32, 2, 0, 1,
30302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30303 MVT::f64, 3, 3, 2, 4,
30304 0,
30305 52,
30306 OPC_CheckChild2CondCode, ISD::SETULE,
30307 OPC_SwitchType , 22, MVT::i64,
30308 OPC_MoveParent,
30309 OPC_RecordChild1,
30310 OPC_RecordChild2,
30311 OPC_CheckType, MVT::f64,
30312 OPC_CheckPatternPredicate, 13,
30313 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
30314 MVT::i64, 2, 0, 1,
30315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30316 MVT::f64, 3, 3, 2, 4,
30317 22, MVT::i32,
30318 OPC_MoveParent,
30319 OPC_RecordChild1,
30320 OPC_RecordChild2,
30321 OPC_CheckType, MVT::f64,
30322 OPC_CheckPatternPredicate, 14,
30323 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
30324 MVT::i32, 2, 0, 1,
30325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30326 MVT::f64, 3, 3, 2, 4,
30327 0,
30328 52,
30329 OPC_CheckChild2CondCode, ISD::SETUNE,
30330 OPC_SwitchType , 22, MVT::i64,
30331 OPC_MoveParent,
30332 OPC_RecordChild1,
30333 OPC_RecordChild2,
30334 OPC_CheckType, MVT::f64,
30335 OPC_CheckPatternPredicate, 13,
30336 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
30337 MVT::i64, 2, 0, 1,
30338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30339 MVT::f64, 3, 3, 2, 4,
30340 22, MVT::i32,
30341 OPC_MoveParent,
30342 OPC_RecordChild1,
30343 OPC_RecordChild2,
30344 OPC_CheckType, MVT::f64,
30345 OPC_CheckPatternPredicate, 14,
30346 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
30347 MVT::i32, 2, 0, 1,
30348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30349 MVT::f64, 3, 3, 2, 4,
30350 0,
30351 52,
30352 OPC_CheckChild2CondCode, ISD::SETUO,
30353 OPC_SwitchType , 22, MVT::i64,
30354 OPC_MoveParent,
30355 OPC_RecordChild1,
30356 OPC_RecordChild2,
30357 OPC_CheckType, MVT::f64,
30358 OPC_CheckPatternPredicate, 13,
30359 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
30360 MVT::i64, 2, 0, 1,
30361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30362 MVT::f64, 3, 3, 2, 4,
30363 22, MVT::i32,
30364 OPC_MoveParent,
30365 OPC_RecordChild1,
30366 OPC_RecordChild2,
30367 OPC_CheckType, MVT::f64,
30368 OPC_CheckPatternPredicate, 14,
30369 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
30370 MVT::i32, 2, 0, 1,
30371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30372 MVT::f64, 3, 3, 2, 4,
30373 0,
30374 0,
30375 0,
30376 63,
30377 OPC_RecordChild0,
30378 OPC_Scope, 29,
30379 OPC_CheckChild0TypeI64,
30380 OPC_RecordChild1,
30381 OPC_RecordChild2,
30382 OPC_SwitchType , 10, MVT::f32,
30383 OPC_CheckPatternPredicate, 11,
30384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30385 MVT::f32, 3, 2, 1, 0,
30386 10, MVT::f64,
30387 OPC_CheckPatternPredicate, 13,
30388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30389 MVT::f64, 3, 2, 1, 0,
30390 0,
30391 29,
30392 OPC_CheckChild0TypeI32,
30393 OPC_RecordChild1,
30394 OPC_RecordChild2,
30395 OPC_SwitchType , 10, MVT::f32,
30396 OPC_CheckPatternPredicate, 12,
30397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30398 MVT::f32, 3, 2, 1, 0,
30399 10, MVT::f64,
30400 OPC_CheckPatternPredicate, 14,
30401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30402 MVT::f64, 3, 2, 1, 0,
30403 0,
30404 0,
30405 0,
30406 125, TARGET_VAL(ISD::ROTR),
30407 OPC_RecordChild0,
30408 OPC_RecordChild1,
30409 OPC_Scope, 71,
30410 OPC_MoveChild1,
30411 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30412 OPC_Scope, 32,
30413 OPC_CheckPredicate, 26,
30414 OPC_SwitchType , 12, MVT::i64,
30415 OPC_MoveParent,
30416 OPC_CheckTypeI64,
30417 OPC_CheckPatternPredicate, 15,
30418 OPC_EmitConvertToTarget1,
30419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30420 MVT::i64, 2, 0, 2,
30421 12, MVT::i32,
30422 OPC_MoveParent,
30423 OPC_CheckTypeI32,
30424 OPC_CheckPatternPredicate, 9,
30425 OPC_EmitConvertToTarget1,
30426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30427 MVT::i32, 2, 0, 2,
30428 0,
30429 31,
30430 OPC_CheckPredicate, 29,
30431 OPC_SwitchType , 11, MVT::i64,
30432 OPC_MoveParent,
30433 OPC_CheckTypeI64,
30434 OPC_CheckPatternPredicate6,
30435 OPC_EmitConvertToTarget1,
30436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
30437 MVT::i64, 2, 0, 2,
30438 12, MVT::i32,
30439 OPC_MoveParent,
30440 OPC_CheckTypeI32,
30441 OPC_CheckPatternPredicate, 10,
30442 OPC_EmitConvertToTarget1,
30443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
30444 MVT::i32, 2, 0, 2,
30445 0,
30446 0,
30447 23,
30448 OPC_CheckChild1TypeI64,
30449 OPC_CheckTypeI64,
30450 OPC_Scope, 9,
30451 OPC_CheckPatternPredicate, 15,
30452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30453 MVT::i64, 2, 0, 1,
30454 8,
30455 OPC_CheckPatternPredicate6,
30456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
30457 MVT::i64, 2, 0, 1,
30458 0,
30459 24,
30460 OPC_CheckChild1TypeI32,
30461 OPC_CheckTypeI32,
30462 OPC_Scope, 9,
30463 OPC_CheckPatternPredicate, 9,
30464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30465 MVT::i32, 2, 0, 1,
30466 9,
30467 OPC_CheckPatternPredicate, 10,
30468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
30469 MVT::i32, 2, 0, 1,
30470 0,
30471 0,
30472 30, TARGET_VAL(LoongArchISD::ROTR_W),
30473 OPC_RecordChild0,
30474 OPC_RecordChild1,
30475 OPC_Scope, 16,
30476 OPC_MoveChild1,
30477 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30478 OPC_CheckPredicate, 26,
30479 OPC_MoveParent,
30480 OPC_CheckPatternPredicate6,
30481 OPC_EmitConvertToTarget1,
30482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30483 MVT::i64, 2, 0, 2,
30484 8,
30485 OPC_CheckPatternPredicate6,
30486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30487 MVT::i64, 2, 0, 1,
30488 0,
30489 69|128,6, TARGET_VAL(ISD::SHL),
30490 OPC_RecordChild0,
30491 OPC_Scope, 8|128,1,
30492 OPC_RecordChild1,
30493 OPC_Scope, 71,
30494 OPC_MoveChild1,
30495 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30496 OPC_Scope, 32,
30497 OPC_CheckPredicate, 26,
30498 OPC_SwitchType , 12, MVT::i64,
30499 OPC_MoveParent,
30500 OPC_CheckTypeI64,
30501 OPC_CheckPatternPredicate, 15,
30502 OPC_EmitConvertToTarget1,
30503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
30504 MVT::i64, 2, 0, 2,
30505 12, MVT::i32,
30506 OPC_MoveParent,
30507 OPC_CheckTypeI32,
30508 OPC_CheckPatternPredicate, 9,
30509 OPC_EmitConvertToTarget1,
30510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
30511 MVT::i32, 2, 0, 2,
30512 0,
30513 31,
30514 OPC_CheckPredicate, 29,
30515 OPC_SwitchType , 11, MVT::i64,
30516 OPC_MoveParent,
30517 OPC_CheckTypeI64,
30518 OPC_CheckPatternPredicate6,
30519 OPC_EmitConvertToTarget1,
30520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
30521 MVT::i64, 2, 0, 2,
30522 12, MVT::i32,
30523 OPC_MoveParent,
30524 OPC_CheckTypeI32,
30525 OPC_CheckPatternPredicate, 10,
30526 OPC_EmitConvertToTarget1,
30527 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
30528 MVT::i32, 2, 0, 2,
30529 0,
30530 0,
30531 29,
30532 OPC_CheckChild1TypeI64,
30533 OPC_CheckTypeI64,
30534 OPC_Scope, 12,
30535 OPC_CheckPatternPredicate, 15,
30536 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
30538 MVT::i64, 2, 0, 2,
30539 11,
30540 OPC_CheckPatternPredicate6,
30541 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
30543 MVT::i64, 2, 0, 2,
30544 0,
30545 30,
30546 OPC_CheckChild1TypeI32,
30547 OPC_CheckTypeI32,
30548 OPC_Scope, 12,
30549 OPC_CheckPatternPredicate, 9,
30550 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
30552 MVT::i32, 2, 0, 2,
30553 12,
30554 OPC_CheckPatternPredicate, 10,
30555 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
30557 MVT::i32, 2, 0, 2,
30558 0,
30559 0,
30560 125|128,2,
30561 OPC_MoveChild1,
30562 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
30563 OPC_Scope, 42,
30564 OPC_MoveChild0,
30565 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30566 OPC_MoveChild0,
30567 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30568 OPC_CheckType, MVT::v4i32,
30569 OPC_MoveParent,
30570 OPC_CheckPredicate3,
30571 OPC_MoveParent,
30572 OPC_RecordChild1,
30573 OPC_SwitchType , 11, MVT::v2i64,
30574 OPC_MoveParent,
30575 OPC_CheckType, MVT::v2i64,
30576 OPC_CheckPatternPredicate1,
30577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30578 MVT::v2i64, 2, 0, 1,
30579 11, MVT::v4i64,
30580 OPC_MoveParent,
30581 OPC_CheckType, MVT::v4i64,
30582 OPC_CheckPatternPredicate0,
30583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30584 MVT::v4i64, 2, 0, 1,
30585 0,
30586 42,
30587 OPC_RecordChild0,
30588 OPC_MoveChild1,
30589 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30590 OPC_MoveChild0,
30591 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30592 OPC_CheckType, MVT::v4i32,
30593 OPC_MoveParent,
30594 OPC_CheckPredicate3,
30595 OPC_MoveParent,
30596 OPC_SwitchType , 11, MVT::v2i64,
30597 OPC_MoveParent,
30598 OPC_CheckType, MVT::v2i64,
30599 OPC_CheckPatternPredicate1,
30600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30601 MVT::v2i64, 2, 0, 1,
30602 11, MVT::v4i64,
30603 OPC_MoveParent,
30604 OPC_CheckType, MVT::v4i64,
30605 OPC_CheckPatternPredicate0,
30606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30607 MVT::v4i64, 2, 0, 1,
30608 0,
30609 18|128,1,
30610 OPC_MoveChild0,
30611 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30612 OPC_Scope, 16,
30613 OPC_CheckPredicate7,
30614 OPC_MoveParent,
30615 OPC_RecordChild1,
30616 OPC_CheckType, MVT::v16i8,
30617 OPC_MoveParent,
30618 OPC_CheckType, MVT::v16i8,
30619 OPC_CheckPatternPredicate1,
30620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30621 MVT::v16i8, 2, 0, 1,
30622 17,
30623 OPC_CheckPredicate, 8,
30624 OPC_MoveParent,
30625 OPC_RecordChild1,
30626 OPC_CheckType, MVT::v8i16,
30627 OPC_MoveParent,
30628 OPC_CheckType, MVT::v8i16,
30629 OPC_CheckPatternPredicate1,
30630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30631 MVT::v8i16, 2, 0, 1,
30632 17,
30633 OPC_CheckPredicate, 9,
30634 OPC_MoveParent,
30635 OPC_RecordChild1,
30636 OPC_CheckType, MVT::v4i32,
30637 OPC_MoveParent,
30638 OPC_CheckType, MVT::v4i32,
30639 OPC_CheckPatternPredicate1,
30640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30641 MVT::v4i32, 2, 0, 1,
30642 16,
30643 OPC_CheckPredicate3,
30644 OPC_MoveParent,
30645 OPC_RecordChild1,
30646 OPC_CheckType, MVT::v2i64,
30647 OPC_MoveParent,
30648 OPC_CheckType, MVT::v2i64,
30649 OPC_CheckPatternPredicate1,
30650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30651 MVT::v2i64, 2, 0, 1,
30652 16,
30653 OPC_CheckPredicate7,
30654 OPC_MoveParent,
30655 OPC_RecordChild1,
30656 OPC_CheckType, MVT::v32i8,
30657 OPC_MoveParent,
30658 OPC_CheckType, MVT::v32i8,
30659 OPC_CheckPatternPredicate0,
30660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30661 MVT::v32i8, 2, 0, 1,
30662 17,
30663 OPC_CheckPredicate, 8,
30664 OPC_MoveParent,
30665 OPC_RecordChild1,
30666 OPC_CheckType, MVT::v16i16,
30667 OPC_MoveParent,
30668 OPC_CheckType, MVT::v16i16,
30669 OPC_CheckPatternPredicate0,
30670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30671 MVT::v16i16, 2, 0, 1,
30672 17,
30673 OPC_CheckPredicate, 9,
30674 OPC_MoveParent,
30675 OPC_RecordChild1,
30676 OPC_CheckType, MVT::v8i32,
30677 OPC_MoveParent,
30678 OPC_CheckType, MVT::v8i32,
30679 OPC_CheckPatternPredicate0,
30680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30681 MVT::v8i32, 2, 0, 1,
30682 16,
30683 OPC_CheckPredicate3,
30684 OPC_MoveParent,
30685 OPC_RecordChild1,
30686 OPC_CheckType, MVT::v4i64,
30687 OPC_MoveParent,
30688 OPC_CheckType, MVT::v4i64,
30689 OPC_CheckPatternPredicate0,
30690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30691 MVT::v4i64, 2, 0, 1,
30692 0,
30693 11|128,1,
30694 OPC_RecordChild0,
30695 OPC_MoveChild1,
30696 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30697 OPC_Scope, 15,
30698 OPC_CheckPredicate7,
30699 OPC_MoveParent,
30700 OPC_CheckType, MVT::v16i8,
30701 OPC_MoveParent,
30702 OPC_CheckType, MVT::v16i8,
30703 OPC_CheckPatternPredicate1,
30704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30705 MVT::v16i8, 2, 0, 1,
30706 16,
30707 OPC_CheckPredicate, 8,
30708 OPC_MoveParent,
30709 OPC_CheckType, MVT::v8i16,
30710 OPC_MoveParent,
30711 OPC_CheckType, MVT::v8i16,
30712 OPC_CheckPatternPredicate1,
30713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30714 MVT::v8i16, 2, 0, 1,
30715 16,
30716 OPC_CheckPredicate, 9,
30717 OPC_MoveParent,
30718 OPC_CheckType, MVT::v4i32,
30719 OPC_MoveParent,
30720 OPC_CheckType, MVT::v4i32,
30721 OPC_CheckPatternPredicate1,
30722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30723 MVT::v4i32, 2, 0, 1,
30724 15,
30725 OPC_CheckPredicate3,
30726 OPC_MoveParent,
30727 OPC_CheckType, MVT::v2i64,
30728 OPC_MoveParent,
30729 OPC_CheckType, MVT::v2i64,
30730 OPC_CheckPatternPredicate1,
30731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30732 MVT::v2i64, 2, 0, 1,
30733 15,
30734 OPC_CheckPredicate7,
30735 OPC_MoveParent,
30736 OPC_CheckType, MVT::v32i8,
30737 OPC_MoveParent,
30738 OPC_CheckType, MVT::v32i8,
30739 OPC_CheckPatternPredicate0,
30740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30741 MVT::v32i8, 2, 0, 1,
30742 16,
30743 OPC_CheckPredicate, 8,
30744 OPC_MoveParent,
30745 OPC_CheckType, MVT::v16i16,
30746 OPC_MoveParent,
30747 OPC_CheckType, MVT::v16i16,
30748 OPC_CheckPatternPredicate0,
30749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30750 MVT::v16i16, 2, 0, 1,
30751 16,
30752 OPC_CheckPredicate, 9,
30753 OPC_MoveParent,
30754 OPC_CheckType, MVT::v8i32,
30755 OPC_MoveParent,
30756 OPC_CheckType, MVT::v8i32,
30757 OPC_CheckPatternPredicate0,
30758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30759 MVT::v8i32, 2, 0, 1,
30760 15,
30761 OPC_CheckPredicate3,
30762 OPC_MoveParent,
30763 OPC_CheckType, MVT::v4i64,
30764 OPC_MoveParent,
30765 OPC_CheckType, MVT::v4i64,
30766 OPC_CheckPatternPredicate0,
30767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30768 MVT::v4i64, 2, 0, 1,
30769 0,
30770 0,
30771 55|128,2,
30772 OPC_RecordChild1,
30773 OPC_SwitchType , 37, MVT::v16i8,
30774 OPC_CheckChild1Type, MVT::v16i8,
30775 OPC_Scope, 11,
30776 OPC_CheckPatternPredicate2,
30777 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
30779 MVT::v16i8, 2, 0, 2,
30780 11,
30781 OPC_CheckPatternPredicate5,
30782 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
30784 MVT::v16i8, 2, 0, 2,
30785 8,
30786 OPC_CheckPatternPredicate1,
30787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30788 MVT::v16i8, 2, 0, 1,
30789 0,
30790 37, MVT::v8i16,
30791 OPC_CheckChild1Type, MVT::v8i16,
30792 OPC_Scope, 11,
30793 OPC_CheckPatternPredicate2,
30794 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
30796 MVT::v8i16, 2, 0, 2,
30797 11,
30798 OPC_CheckPatternPredicate5,
30799 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
30801 MVT::v8i16, 2, 0, 2,
30802 8,
30803 OPC_CheckPatternPredicate1,
30804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30805 MVT::v8i16, 2, 0, 1,
30806 0,
30807 35, MVT::v4i32,
30808 OPC_CheckChild1Type, MVT::v4i32,
30809 OPC_Scope, 10,
30810 OPC_CheckPatternPredicate2,
30811 OPC_CheckComplexPat1, /*#*/1,
30812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
30813 MVT::v4i32, 2, 0, 2,
30814 10,
30815 OPC_CheckPatternPredicate5,
30816 OPC_CheckComplexPat1, /*#*/1,
30817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
30818 MVT::v4i32, 2, 0, 2,
30819 8,
30820 OPC_CheckPatternPredicate1,
30821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30822 MVT::v4i32, 2, 0, 1,
30823 0,
30824 37, MVT::v2i64,
30825 OPC_CheckChild1Type, MVT::v2i64,
30826 OPC_Scope, 11,
30827 OPC_CheckPatternPredicate2,
30828 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
30830 MVT::v2i64, 2, 0, 2,
30831 11,
30832 OPC_CheckPatternPredicate5,
30833 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
30835 MVT::v2i64, 2, 0, 2,
30836 8,
30837 OPC_CheckPatternPredicate1,
30838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30839 MVT::v2i64, 2, 0, 1,
30840 0,
30841 37, MVT::v32i8,
30842 OPC_CheckChild1Type, MVT::v32i8,
30843 OPC_Scope, 11,
30844 OPC_CheckPatternPredicate3,
30845 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
30847 MVT::v32i8, 2, 0, 2,
30848 11,
30849 OPC_CheckPatternPredicate4,
30850 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
30852 MVT::v32i8, 2, 0, 2,
30853 8,
30854 OPC_CheckPatternPredicate0,
30855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30856 MVT::v32i8, 2, 0, 1,
30857 0,
30858 37, MVT::v16i16,
30859 OPC_CheckChild1Type, MVT::v16i16,
30860 OPC_Scope, 11,
30861 OPC_CheckPatternPredicate3,
30862 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
30864 MVT::v16i16, 2, 0, 2,
30865 11,
30866 OPC_CheckPatternPredicate4,
30867 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
30869 MVT::v16i16, 2, 0, 2,
30870 8,
30871 OPC_CheckPatternPredicate0,
30872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30873 MVT::v16i16, 2, 0, 1,
30874 0,
30875 35, MVT::v8i32,
30876 OPC_CheckChild1Type, MVT::v8i32,
30877 OPC_Scope, 10,
30878 OPC_CheckPatternPredicate3,
30879 OPC_CheckComplexPat1, /*#*/1,
30880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
30881 MVT::v8i32, 2, 0, 2,
30882 10,
30883 OPC_CheckPatternPredicate4,
30884 OPC_CheckComplexPat1, /*#*/1,
30885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
30886 MVT::v8i32, 2, 0, 2,
30887 8,
30888 OPC_CheckPatternPredicate0,
30889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30890 MVT::v8i32, 2, 0, 1,
30891 0,
30892 37, MVT::v4i64,
30893 OPC_CheckChild1Type, MVT::v4i64,
30894 OPC_Scope, 11,
30895 OPC_CheckPatternPredicate3,
30896 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
30898 MVT::v4i64, 2, 0, 2,
30899 11,
30900 OPC_CheckPatternPredicate4,
30901 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
30903 MVT::v4i64, 2, 0, 2,
30904 8,
30905 OPC_CheckPatternPredicate0,
30906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30907 MVT::v4i64, 2, 0, 1,
30908 0,
30909 0,
30910 0,
30911 69|128,6, TARGET_VAL(ISD::SRA),
30912 OPC_RecordChild0,
30913 OPC_Scope, 8|128,1,
30914 OPC_RecordChild1,
30915 OPC_Scope, 71,
30916 OPC_MoveChild1,
30917 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30918 OPC_Scope, 32,
30919 OPC_CheckPredicate, 26,
30920 OPC_SwitchType , 12, MVT::i64,
30921 OPC_MoveParent,
30922 OPC_CheckTypeI64,
30923 OPC_CheckPatternPredicate, 15,
30924 OPC_EmitConvertToTarget1,
30925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
30926 MVT::i64, 2, 0, 2,
30927 12, MVT::i32,
30928 OPC_MoveParent,
30929 OPC_CheckTypeI32,
30930 OPC_CheckPatternPredicate, 9,
30931 OPC_EmitConvertToTarget1,
30932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
30933 MVT::i32, 2, 0, 2,
30934 0,
30935 31,
30936 OPC_CheckPredicate, 29,
30937 OPC_SwitchType , 11, MVT::i64,
30938 OPC_MoveParent,
30939 OPC_CheckTypeI64,
30940 OPC_CheckPatternPredicate6,
30941 OPC_EmitConvertToTarget1,
30942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
30943 MVT::i64, 2, 0, 2,
30944 12, MVT::i32,
30945 OPC_MoveParent,
30946 OPC_CheckTypeI32,
30947 OPC_CheckPatternPredicate, 10,
30948 OPC_EmitConvertToTarget1,
30949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
30950 MVT::i32, 2, 0, 2,
30951 0,
30952 0,
30953 29,
30954 OPC_CheckChild1TypeI64,
30955 OPC_CheckTypeI64,
30956 OPC_Scope, 12,
30957 OPC_CheckPatternPredicate, 15,
30958 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
30960 MVT::i64, 2, 0, 2,
30961 11,
30962 OPC_CheckPatternPredicate6,
30963 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
30965 MVT::i64, 2, 0, 2,
30966 0,
30967 30,
30968 OPC_CheckChild1TypeI32,
30969 OPC_CheckTypeI32,
30970 OPC_Scope, 12,
30971 OPC_CheckPatternPredicate, 9,
30972 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
30974 MVT::i32, 2, 0, 2,
30975 12,
30976 OPC_CheckPatternPredicate, 10,
30977 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
30979 MVT::i32, 2, 0, 2,
30980 0,
30981 0,
30982 125|128,2,
30983 OPC_MoveChild1,
30984 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
30985 OPC_Scope, 42,
30986 OPC_MoveChild0,
30987 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30988 OPC_MoveChild0,
30989 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30990 OPC_CheckType, MVT::v4i32,
30991 OPC_MoveParent,
30992 OPC_CheckPredicate3,
30993 OPC_MoveParent,
30994 OPC_RecordChild1,
30995 OPC_SwitchType , 11, MVT::v2i64,
30996 OPC_MoveParent,
30997 OPC_CheckType, MVT::v2i64,
30998 OPC_CheckPatternPredicate1,
30999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31000 MVT::v2i64, 2, 0, 1,
31001 11, MVT::v4i64,
31002 OPC_MoveParent,
31003 OPC_CheckType, MVT::v4i64,
31004 OPC_CheckPatternPredicate0,
31005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31006 MVT::v4i64, 2, 0, 1,
31007 0,
31008 42,
31009 OPC_RecordChild0,
31010 OPC_MoveChild1,
31011 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31012 OPC_MoveChild0,
31013 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31014 OPC_CheckType, MVT::v4i32,
31015 OPC_MoveParent,
31016 OPC_CheckPredicate3,
31017 OPC_MoveParent,
31018 OPC_SwitchType , 11, MVT::v2i64,
31019 OPC_MoveParent,
31020 OPC_CheckType, MVT::v2i64,
31021 OPC_CheckPatternPredicate1,
31022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31023 MVT::v2i64, 2, 0, 1,
31024 11, MVT::v4i64,
31025 OPC_MoveParent,
31026 OPC_CheckType, MVT::v4i64,
31027 OPC_CheckPatternPredicate0,
31028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31029 MVT::v4i64, 2, 0, 1,
31030 0,
31031 18|128,1,
31032 OPC_MoveChild0,
31033 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31034 OPC_Scope, 16,
31035 OPC_CheckPredicate7,
31036 OPC_MoveParent,
31037 OPC_RecordChild1,
31038 OPC_CheckType, MVT::v16i8,
31039 OPC_MoveParent,
31040 OPC_CheckType, MVT::v16i8,
31041 OPC_CheckPatternPredicate1,
31042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31043 MVT::v16i8, 2, 0, 1,
31044 17,
31045 OPC_CheckPredicate, 8,
31046 OPC_MoveParent,
31047 OPC_RecordChild1,
31048 OPC_CheckType, MVT::v8i16,
31049 OPC_MoveParent,
31050 OPC_CheckType, MVT::v8i16,
31051 OPC_CheckPatternPredicate1,
31052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31053 MVT::v8i16, 2, 0, 1,
31054 17,
31055 OPC_CheckPredicate, 9,
31056 OPC_MoveParent,
31057 OPC_RecordChild1,
31058 OPC_CheckType, MVT::v4i32,
31059 OPC_MoveParent,
31060 OPC_CheckType, MVT::v4i32,
31061 OPC_CheckPatternPredicate1,
31062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31063 MVT::v4i32, 2, 0, 1,
31064 16,
31065 OPC_CheckPredicate3,
31066 OPC_MoveParent,
31067 OPC_RecordChild1,
31068 OPC_CheckType, MVT::v2i64,
31069 OPC_MoveParent,
31070 OPC_CheckType, MVT::v2i64,
31071 OPC_CheckPatternPredicate1,
31072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31073 MVT::v2i64, 2, 0, 1,
31074 16,
31075 OPC_CheckPredicate7,
31076 OPC_MoveParent,
31077 OPC_RecordChild1,
31078 OPC_CheckType, MVT::v32i8,
31079 OPC_MoveParent,
31080 OPC_CheckType, MVT::v32i8,
31081 OPC_CheckPatternPredicate0,
31082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31083 MVT::v32i8, 2, 0, 1,
31084 17,
31085 OPC_CheckPredicate, 8,
31086 OPC_MoveParent,
31087 OPC_RecordChild1,
31088 OPC_CheckType, MVT::v16i16,
31089 OPC_MoveParent,
31090 OPC_CheckType, MVT::v16i16,
31091 OPC_CheckPatternPredicate0,
31092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31093 MVT::v16i16, 2, 0, 1,
31094 17,
31095 OPC_CheckPredicate, 9,
31096 OPC_MoveParent,
31097 OPC_RecordChild1,
31098 OPC_CheckType, MVT::v8i32,
31099 OPC_MoveParent,
31100 OPC_CheckType, MVT::v8i32,
31101 OPC_CheckPatternPredicate0,
31102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31103 MVT::v8i32, 2, 0, 1,
31104 16,
31105 OPC_CheckPredicate3,
31106 OPC_MoveParent,
31107 OPC_RecordChild1,
31108 OPC_CheckType, MVT::v4i64,
31109 OPC_MoveParent,
31110 OPC_CheckType, MVT::v4i64,
31111 OPC_CheckPatternPredicate0,
31112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31113 MVT::v4i64, 2, 0, 1,
31114 0,
31115 11|128,1,
31116 OPC_RecordChild0,
31117 OPC_MoveChild1,
31118 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31119 OPC_Scope, 15,
31120 OPC_CheckPredicate7,
31121 OPC_MoveParent,
31122 OPC_CheckType, MVT::v16i8,
31123 OPC_MoveParent,
31124 OPC_CheckType, MVT::v16i8,
31125 OPC_CheckPatternPredicate1,
31126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31127 MVT::v16i8, 2, 0, 1,
31128 16,
31129 OPC_CheckPredicate, 8,
31130 OPC_MoveParent,
31131 OPC_CheckType, MVT::v8i16,
31132 OPC_MoveParent,
31133 OPC_CheckType, MVT::v8i16,
31134 OPC_CheckPatternPredicate1,
31135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31136 MVT::v8i16, 2, 0, 1,
31137 16,
31138 OPC_CheckPredicate, 9,
31139 OPC_MoveParent,
31140 OPC_CheckType, MVT::v4i32,
31141 OPC_MoveParent,
31142 OPC_CheckType, MVT::v4i32,
31143 OPC_CheckPatternPredicate1,
31144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31145 MVT::v4i32, 2, 0, 1,
31146 15,
31147 OPC_CheckPredicate3,
31148 OPC_MoveParent,
31149 OPC_CheckType, MVT::v2i64,
31150 OPC_MoveParent,
31151 OPC_CheckType, MVT::v2i64,
31152 OPC_CheckPatternPredicate1,
31153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31154 MVT::v2i64, 2, 0, 1,
31155 15,
31156 OPC_CheckPredicate7,
31157 OPC_MoveParent,
31158 OPC_CheckType, MVT::v32i8,
31159 OPC_MoveParent,
31160 OPC_CheckType, MVT::v32i8,
31161 OPC_CheckPatternPredicate0,
31162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31163 MVT::v32i8, 2, 0, 1,
31164 16,
31165 OPC_CheckPredicate, 8,
31166 OPC_MoveParent,
31167 OPC_CheckType, MVT::v16i16,
31168 OPC_MoveParent,
31169 OPC_CheckType, MVT::v16i16,
31170 OPC_CheckPatternPredicate0,
31171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31172 MVT::v16i16, 2, 0, 1,
31173 16,
31174 OPC_CheckPredicate, 9,
31175 OPC_MoveParent,
31176 OPC_CheckType, MVT::v8i32,
31177 OPC_MoveParent,
31178 OPC_CheckType, MVT::v8i32,
31179 OPC_CheckPatternPredicate0,
31180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31181 MVT::v8i32, 2, 0, 1,
31182 15,
31183 OPC_CheckPredicate3,
31184 OPC_MoveParent,
31185 OPC_CheckType, MVT::v4i64,
31186 OPC_MoveParent,
31187 OPC_CheckType, MVT::v4i64,
31188 OPC_CheckPatternPredicate0,
31189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31190 MVT::v4i64, 2, 0, 1,
31191 0,
31192 0,
31193 55|128,2,
31194 OPC_RecordChild1,
31195 OPC_SwitchType , 37, MVT::v16i8,
31196 OPC_CheckChild1Type, MVT::v16i8,
31197 OPC_Scope, 11,
31198 OPC_CheckPatternPredicate2,
31199 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
31201 MVT::v16i8, 2, 0, 2,
31202 11,
31203 OPC_CheckPatternPredicate5,
31204 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
31206 MVT::v16i8, 2, 0, 2,
31207 8,
31208 OPC_CheckPatternPredicate1,
31209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31210 MVT::v16i8, 2, 0, 1,
31211 0,
31212 37, MVT::v8i16,
31213 OPC_CheckChild1Type, MVT::v8i16,
31214 OPC_Scope, 11,
31215 OPC_CheckPatternPredicate2,
31216 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
31218 MVT::v8i16, 2, 0, 2,
31219 11,
31220 OPC_CheckPatternPredicate5,
31221 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
31223 MVT::v8i16, 2, 0, 2,
31224 8,
31225 OPC_CheckPatternPredicate1,
31226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31227 MVT::v8i16, 2, 0, 1,
31228 0,
31229 35, MVT::v4i32,
31230 OPC_CheckChild1Type, MVT::v4i32,
31231 OPC_Scope, 10,
31232 OPC_CheckPatternPredicate2,
31233 OPC_CheckComplexPat1, /*#*/1,
31234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
31235 MVT::v4i32, 2, 0, 2,
31236 10,
31237 OPC_CheckPatternPredicate5,
31238 OPC_CheckComplexPat1, /*#*/1,
31239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
31240 MVT::v4i32, 2, 0, 2,
31241 8,
31242 OPC_CheckPatternPredicate1,
31243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31244 MVT::v4i32, 2, 0, 1,
31245 0,
31246 37, MVT::v2i64,
31247 OPC_CheckChild1Type, MVT::v2i64,
31248 OPC_Scope, 11,
31249 OPC_CheckPatternPredicate2,
31250 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
31252 MVT::v2i64, 2, 0, 2,
31253 11,
31254 OPC_CheckPatternPredicate5,
31255 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
31257 MVT::v2i64, 2, 0, 2,
31258 8,
31259 OPC_CheckPatternPredicate1,
31260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31261 MVT::v2i64, 2, 0, 1,
31262 0,
31263 37, MVT::v32i8,
31264 OPC_CheckChild1Type, MVT::v32i8,
31265 OPC_Scope, 11,
31266 OPC_CheckPatternPredicate3,
31267 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
31269 MVT::v32i8, 2, 0, 2,
31270 11,
31271 OPC_CheckPatternPredicate4,
31272 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
31274 MVT::v32i8, 2, 0, 2,
31275 8,
31276 OPC_CheckPatternPredicate0,
31277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31278 MVT::v32i8, 2, 0, 1,
31279 0,
31280 37, MVT::v16i16,
31281 OPC_CheckChild1Type, MVT::v16i16,
31282 OPC_Scope, 11,
31283 OPC_CheckPatternPredicate3,
31284 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
31286 MVT::v16i16, 2, 0, 2,
31287 11,
31288 OPC_CheckPatternPredicate4,
31289 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31290 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
31291 MVT::v16i16, 2, 0, 2,
31292 8,
31293 OPC_CheckPatternPredicate0,
31294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31295 MVT::v16i16, 2, 0, 1,
31296 0,
31297 35, MVT::v8i32,
31298 OPC_CheckChild1Type, MVT::v8i32,
31299 OPC_Scope, 10,
31300 OPC_CheckPatternPredicate3,
31301 OPC_CheckComplexPat1, /*#*/1,
31302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
31303 MVT::v8i32, 2, 0, 2,
31304 10,
31305 OPC_CheckPatternPredicate4,
31306 OPC_CheckComplexPat1, /*#*/1,
31307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
31308 MVT::v8i32, 2, 0, 2,
31309 8,
31310 OPC_CheckPatternPredicate0,
31311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31312 MVT::v8i32, 2, 0, 1,
31313 0,
31314 37, MVT::v4i64,
31315 OPC_CheckChild1Type, MVT::v4i64,
31316 OPC_Scope, 11,
31317 OPC_CheckPatternPredicate3,
31318 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
31320 MVT::v4i64, 2, 0, 2,
31321 11,
31322 OPC_CheckPatternPredicate4,
31323 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
31325 MVT::v4i64, 2, 0, 2,
31326 8,
31327 OPC_CheckPatternPredicate0,
31328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31329 MVT::v4i64, 2, 0, 1,
31330 0,
31331 0,
31332 0,
31333 69|128,6, TARGET_VAL(ISD::SRL),
31334 OPC_RecordChild0,
31335 OPC_Scope, 8|128,1,
31336 OPC_RecordChild1,
31337 OPC_Scope, 71,
31338 OPC_MoveChild1,
31339 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31340 OPC_Scope, 32,
31341 OPC_CheckPredicate, 26,
31342 OPC_SwitchType , 12, MVT::i64,
31343 OPC_MoveParent,
31344 OPC_CheckTypeI64,
31345 OPC_CheckPatternPredicate, 15,
31346 OPC_EmitConvertToTarget1,
31347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
31348 MVT::i64, 2, 0, 2,
31349 12, MVT::i32,
31350 OPC_MoveParent,
31351 OPC_CheckTypeI32,
31352 OPC_CheckPatternPredicate, 9,
31353 OPC_EmitConvertToTarget1,
31354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
31355 MVT::i32, 2, 0, 2,
31356 0,
31357 31,
31358 OPC_CheckPredicate, 29,
31359 OPC_SwitchType , 11, MVT::i64,
31360 OPC_MoveParent,
31361 OPC_CheckTypeI64,
31362 OPC_CheckPatternPredicate6,
31363 OPC_EmitConvertToTarget1,
31364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
31365 MVT::i64, 2, 0, 2,
31366 12, MVT::i32,
31367 OPC_MoveParent,
31368 OPC_CheckTypeI32,
31369 OPC_CheckPatternPredicate, 10,
31370 OPC_EmitConvertToTarget1,
31371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
31372 MVT::i32, 2, 0, 2,
31373 0,
31374 0,
31375 29,
31376 OPC_CheckChild1TypeI64,
31377 OPC_CheckTypeI64,
31378 OPC_Scope, 12,
31379 OPC_CheckPatternPredicate, 15,
31380 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
31382 MVT::i64, 2, 0, 2,
31383 11,
31384 OPC_CheckPatternPredicate6,
31385 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
31387 MVT::i64, 2, 0, 2,
31388 0,
31389 30,
31390 OPC_CheckChild1TypeI32,
31391 OPC_CheckTypeI32,
31392 OPC_Scope, 12,
31393 OPC_CheckPatternPredicate, 9,
31394 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
31396 MVT::i32, 2, 0, 2,
31397 12,
31398 OPC_CheckPatternPredicate, 10,
31399 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
31401 MVT::i32, 2, 0, 2,
31402 0,
31403 0,
31404 125|128,2,
31405 OPC_MoveChild1,
31406 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
31407 OPC_Scope, 42,
31408 OPC_MoveChild0,
31409 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31410 OPC_MoveChild0,
31411 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31412 OPC_CheckType, MVT::v4i32,
31413 OPC_MoveParent,
31414 OPC_CheckPredicate3,
31415 OPC_MoveParent,
31416 OPC_RecordChild1,
31417 OPC_SwitchType , 11, MVT::v2i64,
31418 OPC_MoveParent,
31419 OPC_CheckType, MVT::v2i64,
31420 OPC_CheckPatternPredicate1,
31421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31422 MVT::v2i64, 2, 0, 1,
31423 11, MVT::v4i64,
31424 OPC_MoveParent,
31425 OPC_CheckType, MVT::v4i64,
31426 OPC_CheckPatternPredicate0,
31427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31428 MVT::v4i64, 2, 0, 1,
31429 0,
31430 42,
31431 OPC_RecordChild0,
31432 OPC_MoveChild1,
31433 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31434 OPC_MoveChild0,
31435 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31436 OPC_CheckType, MVT::v4i32,
31437 OPC_MoveParent,
31438 OPC_CheckPredicate3,
31439 OPC_MoveParent,
31440 OPC_SwitchType , 11, MVT::v2i64,
31441 OPC_MoveParent,
31442 OPC_CheckType, MVT::v2i64,
31443 OPC_CheckPatternPredicate1,
31444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31445 MVT::v2i64, 2, 0, 1,
31446 11, MVT::v4i64,
31447 OPC_MoveParent,
31448 OPC_CheckType, MVT::v4i64,
31449 OPC_CheckPatternPredicate0,
31450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31451 MVT::v4i64, 2, 0, 1,
31452 0,
31453 18|128,1,
31454 OPC_MoveChild0,
31455 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31456 OPC_Scope, 16,
31457 OPC_CheckPredicate7,
31458 OPC_MoveParent,
31459 OPC_RecordChild1,
31460 OPC_CheckType, MVT::v16i8,
31461 OPC_MoveParent,
31462 OPC_CheckType, MVT::v16i8,
31463 OPC_CheckPatternPredicate1,
31464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31465 MVT::v16i8, 2, 0, 1,
31466 17,
31467 OPC_CheckPredicate, 8,
31468 OPC_MoveParent,
31469 OPC_RecordChild1,
31470 OPC_CheckType, MVT::v8i16,
31471 OPC_MoveParent,
31472 OPC_CheckType, MVT::v8i16,
31473 OPC_CheckPatternPredicate1,
31474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31475 MVT::v8i16, 2, 0, 1,
31476 17,
31477 OPC_CheckPredicate, 9,
31478 OPC_MoveParent,
31479 OPC_RecordChild1,
31480 OPC_CheckType, MVT::v4i32,
31481 OPC_MoveParent,
31482 OPC_CheckType, MVT::v4i32,
31483 OPC_CheckPatternPredicate1,
31484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31485 MVT::v4i32, 2, 0, 1,
31486 16,
31487 OPC_CheckPredicate3,
31488 OPC_MoveParent,
31489 OPC_RecordChild1,
31490 OPC_CheckType, MVT::v2i64,
31491 OPC_MoveParent,
31492 OPC_CheckType, MVT::v2i64,
31493 OPC_CheckPatternPredicate1,
31494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31495 MVT::v2i64, 2, 0, 1,
31496 16,
31497 OPC_CheckPredicate7,
31498 OPC_MoveParent,
31499 OPC_RecordChild1,
31500 OPC_CheckType, MVT::v32i8,
31501 OPC_MoveParent,
31502 OPC_CheckType, MVT::v32i8,
31503 OPC_CheckPatternPredicate0,
31504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31505 MVT::v32i8, 2, 0, 1,
31506 17,
31507 OPC_CheckPredicate, 8,
31508 OPC_MoveParent,
31509 OPC_RecordChild1,
31510 OPC_CheckType, MVT::v16i16,
31511 OPC_MoveParent,
31512 OPC_CheckType, MVT::v16i16,
31513 OPC_CheckPatternPredicate0,
31514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31515 MVT::v16i16, 2, 0, 1,
31516 17,
31517 OPC_CheckPredicate, 9,
31518 OPC_MoveParent,
31519 OPC_RecordChild1,
31520 OPC_CheckType, MVT::v8i32,
31521 OPC_MoveParent,
31522 OPC_CheckType, MVT::v8i32,
31523 OPC_CheckPatternPredicate0,
31524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31525 MVT::v8i32, 2, 0, 1,
31526 16,
31527 OPC_CheckPredicate3,
31528 OPC_MoveParent,
31529 OPC_RecordChild1,
31530 OPC_CheckType, MVT::v4i64,
31531 OPC_MoveParent,
31532 OPC_CheckType, MVT::v4i64,
31533 OPC_CheckPatternPredicate0,
31534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31535 MVT::v4i64, 2, 0, 1,
31536 0,
31537 11|128,1,
31538 OPC_RecordChild0,
31539 OPC_MoveChild1,
31540 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31541 OPC_Scope, 15,
31542 OPC_CheckPredicate7,
31543 OPC_MoveParent,
31544 OPC_CheckType, MVT::v16i8,
31545 OPC_MoveParent,
31546 OPC_CheckType, MVT::v16i8,
31547 OPC_CheckPatternPredicate1,
31548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31549 MVT::v16i8, 2, 0, 1,
31550 16,
31551 OPC_CheckPredicate, 8,
31552 OPC_MoveParent,
31553 OPC_CheckType, MVT::v8i16,
31554 OPC_MoveParent,
31555 OPC_CheckType, MVT::v8i16,
31556 OPC_CheckPatternPredicate1,
31557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31558 MVT::v8i16, 2, 0, 1,
31559 16,
31560 OPC_CheckPredicate, 9,
31561 OPC_MoveParent,
31562 OPC_CheckType, MVT::v4i32,
31563 OPC_MoveParent,
31564 OPC_CheckType, MVT::v4i32,
31565 OPC_CheckPatternPredicate1,
31566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31567 MVT::v4i32, 2, 0, 1,
31568 15,
31569 OPC_CheckPredicate3,
31570 OPC_MoveParent,
31571 OPC_CheckType, MVT::v2i64,
31572 OPC_MoveParent,
31573 OPC_CheckType, MVT::v2i64,
31574 OPC_CheckPatternPredicate1,
31575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31576 MVT::v2i64, 2, 0, 1,
31577 15,
31578 OPC_CheckPredicate7,
31579 OPC_MoveParent,
31580 OPC_CheckType, MVT::v32i8,
31581 OPC_MoveParent,
31582 OPC_CheckType, MVT::v32i8,
31583 OPC_CheckPatternPredicate0,
31584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31585 MVT::v32i8, 2, 0, 1,
31586 16,
31587 OPC_CheckPredicate, 8,
31588 OPC_MoveParent,
31589 OPC_CheckType, MVT::v16i16,
31590 OPC_MoveParent,
31591 OPC_CheckType, MVT::v16i16,
31592 OPC_CheckPatternPredicate0,
31593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31594 MVT::v16i16, 2, 0, 1,
31595 16,
31596 OPC_CheckPredicate, 9,
31597 OPC_MoveParent,
31598 OPC_CheckType, MVT::v8i32,
31599 OPC_MoveParent,
31600 OPC_CheckType, MVT::v8i32,
31601 OPC_CheckPatternPredicate0,
31602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31603 MVT::v8i32, 2, 0, 1,
31604 15,
31605 OPC_CheckPredicate3,
31606 OPC_MoveParent,
31607 OPC_CheckType, MVT::v4i64,
31608 OPC_MoveParent,
31609 OPC_CheckType, MVT::v4i64,
31610 OPC_CheckPatternPredicate0,
31611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31612 MVT::v4i64, 2, 0, 1,
31613 0,
31614 0,
31615 55|128,2,
31616 OPC_RecordChild1,
31617 OPC_SwitchType , 37, MVT::v16i8,
31618 OPC_CheckChild1Type, MVT::v16i8,
31619 OPC_Scope, 11,
31620 OPC_CheckPatternPredicate2,
31621 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
31623 MVT::v16i8, 2, 0, 2,
31624 11,
31625 OPC_CheckPatternPredicate5,
31626 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
31628 MVT::v16i8, 2, 0, 2,
31629 8,
31630 OPC_CheckPatternPredicate1,
31631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31632 MVT::v16i8, 2, 0, 1,
31633 0,
31634 37, MVT::v8i16,
31635 OPC_CheckChild1Type, MVT::v8i16,
31636 OPC_Scope, 11,
31637 OPC_CheckPatternPredicate2,
31638 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
31640 MVT::v8i16, 2, 0, 2,
31641 11,
31642 OPC_CheckPatternPredicate5,
31643 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
31645 MVT::v8i16, 2, 0, 2,
31646 8,
31647 OPC_CheckPatternPredicate1,
31648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31649 MVT::v8i16, 2, 0, 1,
31650 0,
31651 35, MVT::v4i32,
31652 OPC_CheckChild1Type, MVT::v4i32,
31653 OPC_Scope, 10,
31654 OPC_CheckPatternPredicate2,
31655 OPC_CheckComplexPat1, /*#*/1,
31656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
31657 MVT::v4i32, 2, 0, 2,
31658 10,
31659 OPC_CheckPatternPredicate5,
31660 OPC_CheckComplexPat1, /*#*/1,
31661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
31662 MVT::v4i32, 2, 0, 2,
31663 8,
31664 OPC_CheckPatternPredicate1,
31665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31666 MVT::v4i32, 2, 0, 1,
31667 0,
31668 37, MVT::v2i64,
31669 OPC_CheckChild1Type, MVT::v2i64,
31670 OPC_Scope, 11,
31671 OPC_CheckPatternPredicate2,
31672 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
31674 MVT::v2i64, 2, 0, 2,
31675 11,
31676 OPC_CheckPatternPredicate5,
31677 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
31679 MVT::v2i64, 2, 0, 2,
31680 8,
31681 OPC_CheckPatternPredicate1,
31682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31683 MVT::v2i64, 2, 0, 1,
31684 0,
31685 37, MVT::v32i8,
31686 OPC_CheckChild1Type, MVT::v32i8,
31687 OPC_Scope, 11,
31688 OPC_CheckPatternPredicate3,
31689 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
31691 MVT::v32i8, 2, 0, 2,
31692 11,
31693 OPC_CheckPatternPredicate4,
31694 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
31696 MVT::v32i8, 2, 0, 2,
31697 8,
31698 OPC_CheckPatternPredicate0,
31699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31700 MVT::v32i8, 2, 0, 1,
31701 0,
31702 37, MVT::v16i16,
31703 OPC_CheckChild1Type, MVT::v16i16,
31704 OPC_Scope, 11,
31705 OPC_CheckPatternPredicate3,
31706 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
31708 MVT::v16i16, 2, 0, 2,
31709 11,
31710 OPC_CheckPatternPredicate4,
31711 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
31713 MVT::v16i16, 2, 0, 2,
31714 8,
31715 OPC_CheckPatternPredicate0,
31716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31717 MVT::v16i16, 2, 0, 1,
31718 0,
31719 35, MVT::v8i32,
31720 OPC_CheckChild1Type, MVT::v8i32,
31721 OPC_Scope, 10,
31722 OPC_CheckPatternPredicate3,
31723 OPC_CheckComplexPat1, /*#*/1,
31724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
31725 MVT::v8i32, 2, 0, 2,
31726 10,
31727 OPC_CheckPatternPredicate4,
31728 OPC_CheckComplexPat1, /*#*/1,
31729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
31730 MVT::v8i32, 2, 0, 2,
31731 8,
31732 OPC_CheckPatternPredicate0,
31733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31734 MVT::v8i32, 2, 0, 1,
31735 0,
31736 37, MVT::v4i64,
31737 OPC_CheckChild1Type, MVT::v4i64,
31738 OPC_Scope, 11,
31739 OPC_CheckPatternPredicate3,
31740 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
31742 MVT::v4i64, 2, 0, 2,
31743 11,
31744 OPC_CheckPatternPredicate4,
31745 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
31747 MVT::v4i64, 2, 0, 2,
31748 8,
31749 OPC_CheckPatternPredicate0,
31750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31751 MVT::v4i64, 2, 0, 1,
31752 0,
31753 0,
31754 0,
31755 33, TARGET_VAL(LoongArchISD::DBAR),
31756 OPC_RecordNode,
31757 OPC_RecordChild1,
31758 OPC_MoveChild1,
31759 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31760 OPC_CheckPredicate, 39,
31761 OPC_SwitchType , 9, MVT::i64,
31762 OPC_MoveParent,
31763 OPC_CheckPatternPredicate7,
31764 OPC_EmitMergeInputChains1_0,
31765 OPC_EmitConvertToTarget1,
31766 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
31767 1, 2,
31768 10, MVT::i32,
31769 OPC_MoveParent,
31770 OPC_CheckPatternPredicate, 8,
31771 OPC_EmitMergeInputChains1_0,
31772 OPC_EmitConvertToTarget1,
31773 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
31774 1, 2,
31775 0,
31776 33, TARGET_VAL(LoongArchISD::IBAR),
31777 OPC_RecordNode,
31778 OPC_RecordChild1,
31779 OPC_MoveChild1,
31780 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31781 OPC_CheckPredicate, 39,
31782 OPC_SwitchType , 9, MVT::i64,
31783 OPC_MoveParent,
31784 OPC_CheckPatternPredicate7,
31785 OPC_EmitMergeInputChains1_0,
31786 OPC_EmitConvertToTarget1,
31787 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
31788 1, 2,
31789 10, MVT::i32,
31790 OPC_MoveParent,
31791 OPC_CheckPatternPredicate, 8,
31792 OPC_EmitMergeInputChains1_0,
31793 OPC_EmitConvertToTarget1,
31794 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
31795 1, 2,
31796 0,
31797 33, TARGET_VAL(LoongArchISD::BREAK),
31798 OPC_RecordNode,
31799 OPC_RecordChild1,
31800 OPC_MoveChild1,
31801 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31802 OPC_CheckPredicate, 39,
31803 OPC_SwitchType , 9, MVT::i64,
31804 OPC_MoveParent,
31805 OPC_CheckPatternPredicate7,
31806 OPC_EmitMergeInputChains1_0,
31807 OPC_EmitConvertToTarget1,
31808 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
31809 1, 2,
31810 10, MVT::i32,
31811 OPC_MoveParent,
31812 OPC_CheckPatternPredicate, 8,
31813 OPC_EmitMergeInputChains1_0,
31814 OPC_EmitConvertToTarget1,
31815 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
31816 1, 2,
31817 0,
31818 33, TARGET_VAL(LoongArchISD::SYSCALL),
31819 OPC_RecordNode,
31820 OPC_RecordChild1,
31821 OPC_MoveChild1,
31822 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31823 OPC_CheckPredicate, 39,
31824 OPC_SwitchType , 9, MVT::i64,
31825 OPC_MoveParent,
31826 OPC_CheckPatternPredicate7,
31827 OPC_EmitMergeInputChains1_0,
31828 OPC_EmitConvertToTarget1,
31829 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
31830 1, 2,
31831 10, MVT::i32,
31832 OPC_MoveParent,
31833 OPC_CheckPatternPredicate, 8,
31834 OPC_EmitMergeInputChains1_0,
31835 OPC_EmitConvertToTarget1,
31836 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
31837 1, 2,
31838 0,
31839 37, TARGET_VAL(LoongArchISD::CSRRD),
31840 OPC_RecordNode,
31841 OPC_RecordChild1,
31842 OPC_MoveChild1,
31843 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31844 OPC_CheckPredicate, 41,
31845 OPC_SwitchType , 11, MVT::i64,
31846 OPC_MoveParent,
31847 OPC_CheckTypeI64,
31848 OPC_CheckPatternPredicate7,
31849 OPC_EmitMergeInputChains1_0,
31850 OPC_EmitConvertToTarget1,
31851 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
31852 MVT::i64, 1, 2,
31853 12, MVT::i32,
31854 OPC_MoveParent,
31855 OPC_CheckTypeI32,
31856 OPC_CheckPatternPredicate, 8,
31857 OPC_EmitMergeInputChains1_0,
31858 OPC_EmitConvertToTarget1,
31859 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
31860 MVT::i32, 1, 2,
31861 0,
31862 40, TARGET_VAL(LoongArchISD::CSRWR),
31863 OPC_RecordNode,
31864 OPC_RecordChild1,
31865 OPC_RecordChild2,
31866 OPC_MoveChild2,
31867 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31868 OPC_CheckPredicate, 41,
31869 OPC_SwitchType , 12, MVT::i64,
31870 OPC_MoveParent,
31871 OPC_CheckTypeI64,
31872 OPC_CheckPatternPredicate7,
31873 OPC_EmitMergeInputChains1_0,
31874 OPC_EmitConvertToTarget2,
31875 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
31876 MVT::i64, 2, 1, 3,
31877 13, MVT::i32,
31878 OPC_MoveParent,
31879 OPC_CheckTypeI32,
31880 OPC_CheckPatternPredicate, 8,
31881 OPC_EmitMergeInputChains1_0,
31882 OPC_EmitConvertToTarget2,
31883 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
31884 MVT::i32, 2, 1, 3,
31885 0,
31886 43, TARGET_VAL(LoongArchISD::CSRXCHG),
31887 OPC_RecordNode,
31888 OPC_RecordChild1,
31889 OPC_RecordChild2,
31890 OPC_RecordChild3,
31891 OPC_MoveChild3,
31892 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31893 OPC_CheckPredicate, 41,
31894 OPC_SwitchType , 13, MVT::i64,
31895 OPC_MoveParent,
31896 OPC_CheckTypeI64,
31897 OPC_CheckPatternPredicate7,
31898 OPC_EmitMergeInputChains1_0,
31899 OPC_EmitConvertToTarget3,
31900 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
31901 MVT::i64, 3, 1, 2, 4,
31902 14, MVT::i32,
31903 OPC_MoveParent,
31904 OPC_CheckTypeI32,
31905 OPC_CheckPatternPredicate, 8,
31906 OPC_EmitMergeInputChains1_0,
31907 OPC_EmitConvertToTarget3,
31908 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
31909 MVT::i32, 3, 1, 2, 4,
31910 0,
31911 51|128,1, TARGET_VAL(LoongArchISD::VPICK_SEXT_ELT),
31912 OPC_RecordChild0,
31913 OPC_Scope, 43,
31914 OPC_CheckChild0Type, MVT::v16i8,
31915 OPC_RecordChild1,
31916 OPC_MoveChild1,
31917 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31918 OPC_CheckPredicate, 32,
31919 OPC_SwitchType , 14, MVT::i64,
31920 OPC_MoveSibling2,
31921 OPC_CheckValueType, MVT::i8,
31922 OPC_MoveParent,
31923 OPC_CheckTypeI64,
31924 OPC_CheckPatternPredicate2,
31925 OPC_EmitConvertToTarget1,
31926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
31927 MVT::i64, 2, 0, 2,
31928 14, MVT::i32,
31929 OPC_MoveSibling2,
31930 OPC_CheckValueType, MVT::i8,
31931 OPC_MoveParent,
31932 OPC_CheckTypeI32,
31933 OPC_CheckPatternPredicate5,
31934 OPC_EmitConvertToTarget1,
31935 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
31936 MVT::i32, 2, 0, 2,
31937 0,
31938 43,
31939 OPC_CheckChild0Type, MVT::v8i16,
31940 OPC_RecordChild1,
31941 OPC_MoveChild1,
31942 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31943 OPC_CheckPredicate, 25,
31944 OPC_SwitchType , 14, MVT::i64,
31945 OPC_MoveSibling2,
31946 OPC_CheckValueType, MVT::i16,
31947 OPC_MoveParent,
31948 OPC_CheckTypeI64,
31949 OPC_CheckPatternPredicate2,
31950 OPC_EmitConvertToTarget1,
31951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
31952 MVT::i64, 2, 0, 2,
31953 14, MVT::i32,
31954 OPC_MoveSibling2,
31955 OPC_CheckValueType, MVT::i16,
31956 OPC_MoveParent,
31957 OPC_CheckTypeI32,
31958 OPC_CheckPatternPredicate5,
31959 OPC_EmitConvertToTarget1,
31960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
31961 MVT::i32, 2, 0, 2,
31962 0,
31963 43,
31964 OPC_CheckChild0Type, MVT::v4i32,
31965 OPC_RecordChild1,
31966 OPC_MoveChild1,
31967 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31968 OPC_CheckPredicate, 18,
31969 OPC_SwitchType , 14, MVT::i64,
31970 OPC_MoveSibling2,
31971 OPC_CheckValueType, MVT::i32,
31972 OPC_MoveParent,
31973 OPC_CheckTypeI64,
31974 OPC_CheckPatternPredicate2,
31975 OPC_EmitConvertToTarget1,
31976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
31977 MVT::i64, 2, 0, 2,
31978 14, MVT::i32,
31979 OPC_MoveSibling2,
31980 OPC_CheckValueType, MVT::i32,
31981 OPC_MoveParent,
31982 OPC_CheckTypeI32,
31983 OPC_CheckPatternPredicate5,
31984 OPC_EmitConvertToTarget1,
31985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
31986 MVT::i32, 2, 0, 2,
31987 0,
31988 43,
31989 OPC_CheckChild0Type, MVT::v8i32,
31990 OPC_RecordChild1,
31991 OPC_MoveChild1,
31992 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31993 OPC_CheckPredicate, 25,
31994 OPC_SwitchType , 14, MVT::i64,
31995 OPC_MoveSibling2,
31996 OPC_CheckValueType, MVT::i32,
31997 OPC_MoveParent,
31998 OPC_CheckTypeI64,
31999 OPC_CheckPatternPredicate3,
32000 OPC_EmitConvertToTarget1,
32001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32002 MVT::i64, 2, 0, 2,
32003 14, MVT::i32,
32004 OPC_MoveSibling2,
32005 OPC_CheckValueType, MVT::i32,
32006 OPC_MoveParent,
32007 OPC_CheckTypeI32,
32008 OPC_CheckPatternPredicate4,
32009 OPC_EmitConvertToTarget1,
32010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32011 MVT::i32, 2, 0, 2,
32012 0,
32013 0,
32014 51|128,1, TARGET_VAL(LoongArchISD::VPICK_ZEXT_ELT),
32015 OPC_RecordChild0,
32016 OPC_Scope, 43,
32017 OPC_CheckChild0Type, MVT::v16i8,
32018 OPC_RecordChild1,
32019 OPC_MoveChild1,
32020 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32021 OPC_CheckPredicate, 32,
32022 OPC_SwitchType , 14, MVT::i64,
32023 OPC_MoveSibling2,
32024 OPC_CheckValueType, MVT::i8,
32025 OPC_MoveParent,
32026 OPC_CheckTypeI64,
32027 OPC_CheckPatternPredicate2,
32028 OPC_EmitConvertToTarget1,
32029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
32030 MVT::i64, 2, 0, 2,
32031 14, MVT::i32,
32032 OPC_MoveSibling2,
32033 OPC_CheckValueType, MVT::i8,
32034 OPC_MoveParent,
32035 OPC_CheckTypeI32,
32036 OPC_CheckPatternPredicate5,
32037 OPC_EmitConvertToTarget1,
32038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
32039 MVT::i32, 2, 0, 2,
32040 0,
32041 43,
32042 OPC_CheckChild0Type, MVT::v8i16,
32043 OPC_RecordChild1,
32044 OPC_MoveChild1,
32045 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32046 OPC_CheckPredicate, 25,
32047 OPC_SwitchType , 14, MVT::i64,
32048 OPC_MoveSibling2,
32049 OPC_CheckValueType, MVT::i16,
32050 OPC_MoveParent,
32051 OPC_CheckTypeI64,
32052 OPC_CheckPatternPredicate2,
32053 OPC_EmitConvertToTarget1,
32054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
32055 MVT::i64, 2, 0, 2,
32056 14, MVT::i32,
32057 OPC_MoveSibling2,
32058 OPC_CheckValueType, MVT::i16,
32059 OPC_MoveParent,
32060 OPC_CheckTypeI32,
32061 OPC_CheckPatternPredicate5,
32062 OPC_EmitConvertToTarget1,
32063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
32064 MVT::i32, 2, 0, 2,
32065 0,
32066 43,
32067 OPC_CheckChild0Type, MVT::v4i32,
32068 OPC_RecordChild1,
32069 OPC_MoveChild1,
32070 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32071 OPC_CheckPredicate, 18,
32072 OPC_SwitchType , 14, MVT::i64,
32073 OPC_MoveSibling2,
32074 OPC_CheckValueType, MVT::i32,
32075 OPC_MoveParent,
32076 OPC_CheckTypeI64,
32077 OPC_CheckPatternPredicate2,
32078 OPC_EmitConvertToTarget1,
32079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
32080 MVT::i64, 2, 0, 2,
32081 14, MVT::i32,
32082 OPC_MoveSibling2,
32083 OPC_CheckValueType, MVT::i32,
32084 OPC_MoveParent,
32085 OPC_CheckTypeI32,
32086 OPC_CheckPatternPredicate5,
32087 OPC_EmitConvertToTarget1,
32088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
32089 MVT::i32, 2, 0, 2,
32090 0,
32091 43,
32092 OPC_CheckChild0Type, MVT::v8i32,
32093 OPC_RecordChild1,
32094 OPC_MoveChild1,
32095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32096 OPC_CheckPredicate, 25,
32097 OPC_SwitchType , 14, MVT::i64,
32098 OPC_MoveSibling2,
32099 OPC_CheckValueType, MVT::i32,
32100 OPC_MoveParent,
32101 OPC_CheckTypeI64,
32102 OPC_CheckPatternPredicate3,
32103 OPC_EmitConvertToTarget1,
32104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
32105 MVT::i64, 2, 0, 2,
32106 14, MVT::i32,
32107 OPC_MoveSibling2,
32108 OPC_CheckValueType, MVT::i32,
32109 OPC_MoveParent,
32110 OPC_CheckTypeI32,
32111 OPC_CheckPatternPredicate4,
32112 OPC_EmitConvertToTarget1,
32113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
32114 MVT::i32, 2, 0, 2,
32115 0,
32116 0,
32117 99|128,4, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32118 OPC_RecordChild0,
32119 OPC_Scope, 62,
32120 OPC_CheckChild0Type, MVT::v16i8,
32121 OPC_RecordChild1,
32122 OPC_Scope, 18,
32123 OPC_MoveChild1,
32124 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32125 OPC_CheckPredicate, 32,
32126 OPC_CheckTypeI64,
32127 OPC_MoveParent,
32128 OPC_CheckTypeI64,
32129 OPC_CheckPatternPredicate2,
32130 OPC_EmitConvertToTarget1,
32131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
32132 MVT::i64, 2, 0, 2,
32133 37,
32134 OPC_CheckChild1TypeI64,
32135 OPC_CheckTypeI64,
32136 OPC_CheckPatternPredicate2,
32137 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_B),
32138 MVT::v16i8, 2, 0, 1,
32139 OPC_EmitStringInteger32, LoongArch::sub_32,
32140 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32141 MVT::f32, 2, 2, 3,
32142 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32143 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32144 MVT::i64, 2, 4, 5,
32145 OPC_EmitInteger64, 48,
32146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
32147 MVT::i64, 2, 6, 7,
32148 0,
32149 62,
32150 OPC_CheckChild0Type, MVT::v8i16,
32151 OPC_RecordChild1,
32152 OPC_Scope, 18,
32153 OPC_MoveChild1,
32154 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32155 OPC_CheckPredicate, 25,
32156 OPC_CheckTypeI64,
32157 OPC_MoveParent,
32158 OPC_CheckTypeI64,
32159 OPC_CheckPatternPredicate2,
32160 OPC_EmitConvertToTarget1,
32161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
32162 MVT::i64, 2, 0, 2,
32163 37,
32164 OPC_CheckChild1TypeI64,
32165 OPC_CheckTypeI64,
32166 OPC_CheckPatternPredicate2,
32167 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_H),
32168 MVT::v16i8, 2, 0, 1,
32169 OPC_EmitStringInteger32, LoongArch::sub_32,
32170 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32171 MVT::f32, 2, 2, 3,
32172 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32173 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32174 MVT::i64, 2, 4, 5,
32175 OPC_EmitInteger64, 32,
32176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
32177 MVT::i64, 2, 6, 7,
32178 0,
32179 53,
32180 OPC_CheckChild0Type, MVT::v4i32,
32181 OPC_RecordChild1,
32182 OPC_Scope, 18,
32183 OPC_MoveChild1,
32184 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32185 OPC_CheckPredicate, 18,
32186 OPC_CheckTypeI64,
32187 OPC_MoveParent,
32188 OPC_CheckTypeI64,
32189 OPC_CheckPatternPredicate2,
32190 OPC_EmitConvertToTarget1,
32191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
32192 MVT::i64, 2, 0, 2,
32193 28,
32194 OPC_CheckChild1TypeI64,
32195 OPC_CheckTypeI64,
32196 OPC_CheckPatternPredicate2,
32197 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
32198 MVT::v16i8, 2, 0, 1,
32199 OPC_EmitStringInteger32, LoongArch::sub_32,
32200 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32201 MVT::f32, 2, 2, 3,
32202 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32203 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32204 MVT::i64, 2, 4, 5,
32205 0,
32206 53,
32207 OPC_CheckChild0Type, MVT::v2i64,
32208 OPC_RecordChild1,
32209 OPC_Scope, 18,
32210 OPC_MoveChild1,
32211 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32212 OPC_CheckPredicate, 33,
32213 OPC_CheckTypeI64,
32214 OPC_MoveParent,
32215 OPC_CheckTypeI64,
32216 OPC_CheckPatternPredicate2,
32217 OPC_EmitConvertToTarget1,
32218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
32219 MVT::i64, 2, 0, 2,
32220 28,
32221 OPC_CheckChild1TypeI64,
32222 OPC_CheckTypeI64,
32223 OPC_CheckPatternPredicate2,
32224 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
32225 MVT::v16i8, 2, 0, 1,
32226 OPC_EmitStringInteger32, LoongArch::sub_64,
32227 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32228 MVT::f64, 2, 2, 3,
32229 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32230 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32231 MVT::i64, 2, 4, 5,
32232 0,
32233 21,
32234 OPC_CheckChild0Type, MVT::v8i32,
32235 OPC_RecordChild1,
32236 OPC_MoveChild1,
32237 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32238 OPC_CheckPredicate, 25,
32239 OPC_CheckTypeI64,
32240 OPC_MoveParent,
32241 OPC_CheckTypeI64,
32242 OPC_CheckPatternPredicate3,
32243 OPC_EmitConvertToTarget1,
32244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32245 MVT::i64, 2, 0, 2,
32246 21,
32247 OPC_CheckChild0Type, MVT::v4i64,
32248 OPC_RecordChild1,
32249 OPC_MoveChild1,
32250 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32251 OPC_CheckPredicate, 18,
32252 OPC_CheckTypeI64,
32253 OPC_MoveParent,
32254 OPC_CheckTypeI64,
32255 OPC_CheckPatternPredicate3,
32256 OPC_EmitConvertToTarget1,
32257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32258 MVT::i64, 2, 0, 2,
32259 30,
32260 OPC_CheckChild0Type, MVT::v32i8,
32261 OPC_RecordChild1,
32262 OPC_MoveChild1,
32263 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32264 OPC_CheckPredicate, 32,
32265 OPC_CheckTypeI64,
32266 OPC_MoveParent,
32267 OPC_CheckTypeI64,
32268 OPC_CheckPatternPredicate3,
32269 OPC_EmitStringInteger32, LoongArch::sub_128,
32270 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32271 MVT::v16i8, 2, 0, 2,
32272 OPC_EmitConvertToTarget1,
32273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
32274 MVT::i64, 2, 3, 4,
32275 30,
32276 OPC_CheckChild0Type, MVT::v16i16,
32277 OPC_RecordChild1,
32278 OPC_MoveChild1,
32279 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32280 OPC_CheckPredicate, 25,
32281 OPC_CheckTypeI64,
32282 OPC_MoveParent,
32283 OPC_CheckTypeI64,
32284 OPC_CheckPatternPredicate3,
32285 OPC_EmitStringInteger32, LoongArch::sub_128,
32286 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32287 MVT::v16i8, 2, 0, 2,
32288 OPC_EmitConvertToTarget1,
32289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
32290 MVT::i64, 2, 3, 4,
32291 81,
32292 OPC_CheckChild0Type, MVT::v4f32,
32293 OPC_RecordChild1,
32294 OPC_Scope, 54,
32295 OPC_MoveChild1,
32296 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32297 OPC_CheckPredicate, 18,
32298 OPC_SwitchType , 21, MVT::i64,
32299 OPC_MoveParent,
32300 OPC_CheckType, MVT::f32,
32301 OPC_CheckPatternPredicate2,
32302 OPC_EmitConvertToTarget1,
32303 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
32304 MVT::v16i8, 2, 0, 2,
32305 OPC_EmitStringInteger32, LoongArch::sub_32,
32306 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32307 MVT::f32, 2, 3, 4,
32308 21, MVT::i32,
32309 OPC_MoveParent,
32310 OPC_CheckType, MVT::f32,
32311 OPC_CheckPatternPredicate5,
32312 OPC_EmitConvertToTarget1,
32313 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
32314 MVT::v16i8, 2, 0, 2,
32315 OPC_EmitStringInteger32, LoongArch::sub_32,
32316 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32317 MVT::f32, 2, 3, 4,
32318 0,
32319 20,
32320 OPC_CheckChild1TypeI64,
32321 OPC_CheckType, MVT::f32,
32322 OPC_CheckPatternPredicate2,
32323 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
32324 MVT::v16i8, 2, 0, 1,
32325 OPC_EmitStringInteger32, LoongArch::sub_32,
32326 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32327 MVT::f32, 2, 2, 3,
32328 0,
32329 81,
32330 OPC_CheckChild0Type, MVT::v2f64,
32331 OPC_RecordChild1,
32332 OPC_Scope, 54,
32333 OPC_MoveChild1,
32334 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32335 OPC_CheckPredicate, 33,
32336 OPC_SwitchType , 21, MVT::i64,
32337 OPC_MoveParent,
32338 OPC_CheckType, MVT::f64,
32339 OPC_CheckPatternPredicate2,
32340 OPC_EmitConvertToTarget1,
32341 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
32342 MVT::v16i8, 2, 0, 2,
32343 OPC_EmitStringInteger32, LoongArch::sub_64,
32344 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32345 MVT::f64, 2, 3, 4,
32346 21, MVT::i32,
32347 OPC_MoveParent,
32348 OPC_CheckType, MVT::f64,
32349 OPC_CheckPatternPredicate5,
32350 OPC_EmitConvertToTarget1,
32351 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
32352 MVT::v16i8, 2, 0, 2,
32353 OPC_EmitStringInteger32, LoongArch::sub_64,
32354 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32355 MVT::f64, 2, 3, 4,
32356 0,
32357 20,
32358 OPC_CheckChild1TypeI64,
32359 OPC_CheckType, MVT::f64,
32360 OPC_CheckPatternPredicate2,
32361 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
32362 MVT::v16i8, 2, 0, 1,
32363 OPC_EmitStringInteger32, LoongArch::sub_64,
32364 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32365 MVT::f64, 2, 2, 3,
32366 0,
32367 51,
32368 OPC_CheckChild0Type, MVT::v8f32,
32369 OPC_RecordChild1,
32370 OPC_MoveChild1,
32371 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32372 OPC_CheckPredicate, 25,
32373 OPC_SwitchType , 18, MVT::i64,
32374 OPC_MoveParent,
32375 OPC_CheckType, MVT::f32,
32376 OPC_CheckPatternPredicate3,
32377 OPC_EmitConvertToTarget1,
32378 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32379 MVT::i64, 2, 0, 2,
32380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
32381 MVT::f32, 1, 3,
32382 18, MVT::i32,
32383 OPC_MoveParent,
32384 OPC_CheckType, MVT::f32,
32385 OPC_CheckPatternPredicate4,
32386 OPC_EmitConvertToTarget1,
32387 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32388 MVT::i32, 2, 0, 2,
32389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
32390 MVT::f32, 1, 3,
32391 0,
32392 51,
32393 OPC_CheckChild0Type, MVT::v4f64,
32394 OPC_RecordChild1,
32395 OPC_MoveChild1,
32396 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32397 OPC_CheckPredicate, 18,
32398 OPC_SwitchType , 18, MVT::i64,
32399 OPC_MoveParent,
32400 OPC_CheckType, MVT::f64,
32401 OPC_CheckPatternPredicate3,
32402 OPC_EmitConvertToTarget1,
32403 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32404 MVT::i64, 2, 0, 2,
32405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
32406 MVT::f64, 1, 3,
32407 18, MVT::i32,
32408 OPC_MoveParent,
32409 OPC_CheckType, MVT::f64,
32410 OPC_CheckPatternPredicate4,
32411 OPC_EmitConvertToTarget1,
32412 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32413 MVT::i32, 2, 0, 2,
32414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
32415 MVT::f64, 1, 3,
32416 0,
32417 0,
32418 40, TARGET_VAL(LoongArchISD::MOVGR2FCSR),
32419 OPC_RecordNode,
32420 OPC_RecordChild1,
32421 OPC_MoveChild1,
32422 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32423 OPC_CheckPredicate, 18,
32424 OPC_SwitchType , 13, MVT::i64,
32425 OPC_MoveParent,
32426 OPC_RecordChild2,
32427 OPC_CheckChild2TypeI64,
32428 OPC_CheckPatternPredicate, 11,
32429 OPC_EmitMergeInputChains1_0,
32430 OPC_EmitConvertToTarget1,
32431 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
32432 2, 3, 2,
32433 13, MVT::i32,
32434 OPC_MoveParent,
32435 OPC_RecordChild2,
32436 OPC_CheckChild2TypeI32,
32437 OPC_CheckPatternPredicate, 12,
32438 OPC_EmitMergeInputChains1_0,
32439 OPC_EmitConvertToTarget1,
32440 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
32441 2, 3, 2,
32442 0,
32443 38, TARGET_VAL(LoongArchISD::MOVFCSR2GR),
32444 OPC_RecordNode,
32445 OPC_RecordChild1,
32446 OPC_MoveChild1,
32447 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32448 OPC_CheckPredicate, 18,
32449 OPC_SwitchType , 12, MVT::i64,
32450 OPC_MoveParent,
32451 OPC_CheckTypeI64,
32452 OPC_CheckPatternPredicate, 11,
32453 OPC_EmitMergeInputChains1_0,
32454 OPC_EmitConvertToTarget1,
32455 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
32456 MVT::i64, 1, 2,
32457 12, MVT::i32,
32458 OPC_MoveParent,
32459 OPC_CheckTypeI32,
32460 OPC_CheckPatternPredicate, 12,
32461 OPC_EmitMergeInputChains1_0,
32462 OPC_EmitConvertToTarget1,
32463 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
32464 MVT::i32, 1, 2,
32465 0,
32466 13, TARGET_VAL(LoongArchISD::SLL_W),
32467 OPC_RecordChild0,
32468 OPC_RecordChild1,
32469 OPC_CheckPatternPredicate6,
32470 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
32472 MVT::i64, 2, 0, 2,
32473 13, TARGET_VAL(LoongArchISD::SRA_W),
32474 OPC_RecordChild0,
32475 OPC_RecordChild1,
32476 OPC_CheckPatternPredicate6,
32477 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
32479 MVT::i64, 2, 0, 2,
32480 13, TARGET_VAL(LoongArchISD::SRL_W),
32481 OPC_RecordChild0,
32482 OPC_RecordChild1,
32483 OPC_CheckPatternPredicate6,
32484 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
32486 MVT::i64, 2, 0, 2,
32487 86, TARGET_VAL(LoongArchISD::CALL),
32488 OPC_RecordNode,
32489 OPC_CaptureGlueInput,
32490 OPC_RecordChild1,
32491 OPC_Scope, 59,
32492 OPC_MoveChild1,
32493 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32494 OPC_SwitchType , 9, MVT::i64,
32495 OPC_MoveParent,
32496 OPC_CheckPatternPredicate7,
32497 OPC_EmitMergeInputChains1_0,
32498 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32499 1, 1,
32500 10, MVT::i32,
32501 OPC_MoveParent,
32502 OPC_CheckPatternPredicate, 8,
32503 OPC_EmitMergeInputChains1_0,
32504 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32505 1, 1,
32506 0,
32507 25, TARGET_VAL(ISD::TargetExternalSymbol),
32508 OPC_SwitchType , 9, MVT::i64,
32509 OPC_MoveParent,
32510 OPC_CheckPatternPredicate7,
32511 OPC_EmitMergeInputChains1_0,
32512 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32513 1, 1,
32514 10, MVT::i32,
32515 OPC_MoveParent,
32516 OPC_CheckPatternPredicate, 8,
32517 OPC_EmitMergeInputChains1_0,
32518 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32519 1, 1,
32520 0,
32521 0,
32522 9,
32523 OPC_CheckChild1TypeI64,
32524 OPC_CheckPatternPredicate7,
32525 OPC_EmitMergeInputChains1_0,
32526 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32527 1, 1,
32528 10,
32529 OPC_CheckChild1TypeI32,
32530 OPC_CheckPatternPredicate, 8,
32531 OPC_EmitMergeInputChains1_0,
32532 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32533 1, 1,
32534 0,
32535 86, TARGET_VAL(LoongArchISD::CALL_MEDIUM),
32536 OPC_RecordNode,
32537 OPC_CaptureGlueInput,
32538 OPC_RecordChild1,
32539 OPC_Scope, 59,
32540 OPC_MoveChild1,
32541 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32542 OPC_SwitchType , 9, MVT::i64,
32543 OPC_MoveParent,
32544 OPC_CheckPatternPredicate6,
32545 OPC_EmitMergeInputChains1_0,
32546 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32547 1, 1,
32548 10, MVT::i32,
32549 OPC_MoveParent,
32550 OPC_CheckPatternPredicate, 10,
32551 OPC_EmitMergeInputChains1_0,
32552 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32553 1, 1,
32554 0,
32555 25, TARGET_VAL(ISD::TargetExternalSymbol),
32556 OPC_SwitchType , 9, MVT::i64,
32557 OPC_MoveParent,
32558 OPC_CheckPatternPredicate6,
32559 OPC_EmitMergeInputChains1_0,
32560 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32561 1, 1,
32562 10, MVT::i32,
32563 OPC_MoveParent,
32564 OPC_CheckPatternPredicate, 10,
32565 OPC_EmitMergeInputChains1_0,
32566 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32567 1, 1,
32568 0,
32569 0,
32570 9,
32571 OPC_CheckChild1TypeI64,
32572 OPC_CheckPatternPredicate6,
32573 OPC_EmitMergeInputChains1_0,
32574 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32575 1, 1,
32576 10,
32577 OPC_CheckChild1TypeI32,
32578 OPC_CheckPatternPredicate, 10,
32579 OPC_EmitMergeInputChains1_0,
32580 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32581 1, 1,
32582 0,
32583 86, TARGET_VAL(LoongArchISD::CALL_LARGE),
32584 OPC_RecordNode,
32585 OPC_CaptureGlueInput,
32586 OPC_RecordChild1,
32587 OPC_Scope, 59,
32588 OPC_MoveChild1,
32589 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32590 OPC_SwitchType , 9, MVT::i64,
32591 OPC_MoveParent,
32592 OPC_CheckPatternPredicate6,
32593 OPC_EmitMergeInputChains1_0,
32594 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32595 1, 1,
32596 10, MVT::i32,
32597 OPC_MoveParent,
32598 OPC_CheckPatternPredicate, 10,
32599 OPC_EmitMergeInputChains1_0,
32600 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32601 1, 1,
32602 0,
32603 25, TARGET_VAL(ISD::TargetExternalSymbol),
32604 OPC_SwitchType , 9, MVT::i64,
32605 OPC_MoveParent,
32606 OPC_CheckPatternPredicate6,
32607 OPC_EmitMergeInputChains1_0,
32608 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32609 1, 1,
32610 10, MVT::i32,
32611 OPC_MoveParent,
32612 OPC_CheckPatternPredicate, 10,
32613 OPC_EmitMergeInputChains1_0,
32614 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32615 1, 1,
32616 0,
32617 0,
32618 9,
32619 OPC_CheckChild1TypeI64,
32620 OPC_CheckPatternPredicate6,
32621 OPC_EmitMergeInputChains1_0,
32622 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32623 1, 1,
32624 10,
32625 OPC_CheckChild1TypeI32,
32626 OPC_CheckPatternPredicate, 10,
32627 OPC_EmitMergeInputChains1_0,
32628 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32629 1, 1,
32630 0,
32631 86, TARGET_VAL(LoongArchISD::TAIL),
32632 OPC_RecordNode,
32633 OPC_CaptureGlueInput,
32634 OPC_RecordChild1,
32635 OPC_Scope, 59,
32636 OPC_MoveChild1,
32637 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32638 OPC_SwitchType , 9, MVT::i64,
32639 OPC_MoveParent,
32640 OPC_CheckPatternPredicate7,
32641 OPC_EmitMergeInputChains1_0,
32642 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32643 1, 1,
32644 10, MVT::i32,
32645 OPC_MoveParent,
32646 OPC_CheckPatternPredicate, 8,
32647 OPC_EmitMergeInputChains1_0,
32648 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32649 1, 1,
32650 0,
32651 25, TARGET_VAL(ISD::TargetExternalSymbol),
32652 OPC_SwitchType , 9, MVT::i64,
32653 OPC_MoveParent,
32654 OPC_CheckPatternPredicate7,
32655 OPC_EmitMergeInputChains1_0,
32656 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32657 1, 1,
32658 10, MVT::i32,
32659 OPC_MoveParent,
32660 OPC_CheckPatternPredicate, 8,
32661 OPC_EmitMergeInputChains1_0,
32662 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32663 1, 1,
32664 0,
32665 0,
32666 9,
32667 OPC_CheckChild1TypeI64,
32668 OPC_CheckPatternPredicate7,
32669 OPC_EmitMergeInputChains1_0,
32670 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32671 1, 1,
32672 10,
32673 OPC_CheckChild1TypeI32,
32674 OPC_CheckPatternPredicate, 8,
32675 OPC_EmitMergeInputChains1_0,
32676 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32677 1, 1,
32678 0,
32679 86, TARGET_VAL(LoongArchISD::TAIL_MEDIUM),
32680 OPC_RecordNode,
32681 OPC_CaptureGlueInput,
32682 OPC_RecordChild1,
32683 OPC_Scope, 59,
32684 OPC_MoveChild1,
32685 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32686 OPC_SwitchType , 9, MVT::i64,
32687 OPC_MoveParent,
32688 OPC_CheckPatternPredicate6,
32689 OPC_EmitMergeInputChains1_0,
32690 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32691 1, 1,
32692 10, MVT::i32,
32693 OPC_MoveParent,
32694 OPC_CheckPatternPredicate, 10,
32695 OPC_EmitMergeInputChains1_0,
32696 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32697 1, 1,
32698 0,
32699 25, TARGET_VAL(ISD::TargetExternalSymbol),
32700 OPC_SwitchType , 9, MVT::i64,
32701 OPC_MoveParent,
32702 OPC_CheckPatternPredicate6,
32703 OPC_EmitMergeInputChains1_0,
32704 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32705 1, 1,
32706 10, MVT::i32,
32707 OPC_MoveParent,
32708 OPC_CheckPatternPredicate, 10,
32709 OPC_EmitMergeInputChains1_0,
32710 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32711 1, 1,
32712 0,
32713 0,
32714 9,
32715 OPC_CheckChild1TypeI64,
32716 OPC_CheckPatternPredicate6,
32717 OPC_EmitMergeInputChains1_0,
32718 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32719 1, 1,
32720 10,
32721 OPC_CheckChild1TypeI32,
32722 OPC_CheckPatternPredicate, 10,
32723 OPC_EmitMergeInputChains1_0,
32724 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32725 1, 1,
32726 0,
32727 86, TARGET_VAL(LoongArchISD::TAIL_LARGE),
32728 OPC_RecordNode,
32729 OPC_CaptureGlueInput,
32730 OPC_RecordChild1,
32731 OPC_Scope, 59,
32732 OPC_MoveChild1,
32733 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
32734 OPC_SwitchType , 9, MVT::i64,
32735 OPC_MoveParent,
32736 OPC_CheckPatternPredicate6,
32737 OPC_EmitMergeInputChains1_0,
32738 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32739 1, 1,
32740 10, MVT::i32,
32741 OPC_MoveParent,
32742 OPC_CheckPatternPredicate, 10,
32743 OPC_EmitMergeInputChains1_0,
32744 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32745 1, 1,
32746 0,
32747 25, TARGET_VAL(ISD::TargetExternalSymbol),
32748 OPC_SwitchType , 9, MVT::i64,
32749 OPC_MoveParent,
32750 OPC_CheckPatternPredicate6,
32751 OPC_EmitMergeInputChains1_0,
32752 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32753 1, 1,
32754 10, MVT::i32,
32755 OPC_MoveParent,
32756 OPC_CheckPatternPredicate, 10,
32757 OPC_EmitMergeInputChains1_0,
32758 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32759 1, 1,
32760 0,
32761 0,
32762 9,
32763 OPC_CheckChild1TypeI64,
32764 OPC_CheckPatternPredicate6,
32765 OPC_EmitMergeInputChains1_0,
32766 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32767 1, 1,
32768 10,
32769 OPC_CheckChild1TypeI32,
32770 OPC_CheckPatternPredicate, 10,
32771 OPC_EmitMergeInputChains1_0,
32772 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32773 1, 1,
32774 0,
32775 119, TARGET_VAL(ISD::BSWAP),
32776 OPC_Scope, 51,
32777 OPC_MoveChild0,
32778 OPC_CheckOpcode, TARGET_VAL(ISD::BITREVERSE),
32779 OPC_RecordChild0,
32780 OPC_MoveParent,
32781 OPC_SwitchType , 19, MVT::i64,
32782 OPC_Scope, 8,
32783 OPC_CheckPatternPredicate, 15,
32784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32785 MVT::i64, 1, 0,
32786 7,
32787 OPC_CheckPatternPredicate6,
32788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32789 MVT::i64, 1, 0,
32790 0,
32791 20, MVT::i32,
32792 OPC_Scope, 8,
32793 OPC_CheckPatternPredicate, 9,
32794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32795 MVT::i32, 1, 0,
32796 8,
32797 OPC_CheckPatternPredicate, 10,
32798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32799 MVT::i32, 1, 0,
32800 0,
32801 0,
32802 64,
32803 OPC_RecordChild0,
32804 OPC_SwitchType , 28, MVT::i64,
32805 OPC_Scope, 7,
32806 OPC_CheckPatternPredicate6,
32807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
32808 MVT::i64, 1, 0,
32809 17,
32810 OPC_CheckPatternPredicate, 15,
32811 OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
32812 MVT::i64, 1, 0,
32813 OPC_EmitInteger64, 32,
32814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
32815 MVT::i64, 2, 1, 2,
32816 0,
32817 29, MVT::i32,
32818 OPC_Scope, 8,
32819 OPC_CheckPatternPredicate, 10,
32820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
32821 MVT::i32, 1, 0,
32822 17,
32823 OPC_CheckPatternPredicate, 9,
32824 OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
32825 MVT::i32, 1, 0,
32826 OPC_EmitInteger32, 32,
32827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
32828 MVT::i32, 2, 1, 2,
32829 0,
32830 0,
32831 0,
32832 101, TARGET_VAL(ISD::BITREVERSE),
32833 OPC_Scope, 51,
32834 OPC_MoveChild0,
32835 OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
32836 OPC_RecordChild0,
32837 OPC_MoveParent,
32838 OPC_SwitchType , 19, MVT::i64,
32839 OPC_Scope, 8,
32840 OPC_CheckPatternPredicate, 15,
32841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32842 MVT::i64, 1, 0,
32843 7,
32844 OPC_CheckPatternPredicate6,
32845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32846 MVT::i64, 1, 0,
32847 0,
32848 20, MVT::i32,
32849 OPC_Scope, 8,
32850 OPC_CheckPatternPredicate, 9,
32851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32852 MVT::i32, 1, 0,
32853 8,
32854 OPC_CheckPatternPredicate, 10,
32855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32856 MVT::i32, 1, 0,
32857 0,
32858 0,
32859 46,
32860 OPC_RecordChild0,
32861 OPC_SwitchType , 19, MVT::i64,
32862 OPC_Scope, 8,
32863 OPC_CheckPatternPredicate, 15,
32864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
32865 MVT::i64, 1, 0,
32866 7,
32867 OPC_CheckPatternPredicate6,
32868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
32869 MVT::i64, 1, 0,
32870 0,
32871 20, MVT::i32,
32872 OPC_Scope, 8,
32873 OPC_CheckPatternPredicate, 9,
32874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
32875 MVT::i32, 1, 0,
32876 8,
32877 OPC_CheckPatternPredicate, 10,
32878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
32879 MVT::i32, 1, 0,
32880 0,
32881 0,
32882 0,
32883 113|128,1, TARGET_VAL(ISD::IS_FPCLASS),
32884 OPC_RecordChild0,
32885 OPC_Scope, 81,
32886 OPC_CheckChild0Type, MVT::f32,
32887 OPC_RecordChild1,
32888 OPC_MoveChild1,
32889 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
32890 OPC_CheckTypeI32,
32891 OPC_MoveParent,
32892 OPC_SwitchType , 33, MVT::i64,
32893 OPC_CheckPatternPredicate, 11,
32894 OPC_EmitRegisterI64, LoongArch::R0,
32895 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
32896 MVT::f32, 1, 0,
32897 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
32898 MVT::i64, 1, 3,
32899 OPC_EmitNodeXForm, 11, 1,
32900 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32901 MVT::i64, 2, 4, 5,
32902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32903 MVT::i64, 2, 2, 6,
32904 33, MVT::i32,
32905 OPC_CheckPatternPredicate, 12,
32906 OPC_EmitRegisterI32, LoongArch::R0,
32907 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
32908 MVT::f32, 1, 0,
32909 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
32910 MVT::i32, 1, 3,
32911 OPC_EmitNodeXForm, 11, 1,
32912 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32913 MVT::i32, 2, 4, 5,
32914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32915 MVT::i32, 2, 2, 6,
32916 0,
32917 26|128,1,
32918 OPC_CheckChild0Type, MVT::f64,
32919 OPC_RecordChild1,
32920 OPC_MoveChild1,
32921 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
32922 OPC_CheckTypeI32,
32923 OPC_MoveParent,
32924 OPC_SwitchType , 69, MVT::i64,
32925 OPC_Scope, 33,
32926 OPC_CheckPatternPredicate, 15,
32927 OPC_EmitRegisterI64, LoongArch::R0,
32928 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32929 MVT::f64, 1, 0,
32930 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
32931 MVT::i64, 1, 3,
32932 OPC_EmitNodeXForm, 11, 1,
32933 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32934 MVT::i64, 2, 4, 5,
32935 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32936 MVT::i64, 2, 2, 6,
32937 32,
32938 OPC_CheckPatternPredicate6,
32939 OPC_EmitRegisterI64, LoongArch::R0,
32940 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32941 MVT::f64, 1, 0,
32942 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
32943 MVT::i64, 1, 3,
32944 OPC_EmitNodeXForm, 11, 1,
32945 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32946 MVT::i64, 2, 4, 5,
32947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32948 MVT::i64, 2, 2, 6,
32949 0,
32950 70, MVT::i32,
32951 OPC_Scope, 33,
32952 OPC_CheckPatternPredicate, 9,
32953 OPC_EmitRegisterI32, LoongArch::R0,
32954 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32955 MVT::f64, 1, 0,
32956 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
32957 MVT::i32, 1, 3,
32958 OPC_EmitNodeXForm, 11, 1,
32959 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32960 MVT::i32, 2, 4, 5,
32961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32962 MVT::i32, 2, 2, 6,
32963 33,
32964 OPC_CheckPatternPredicate, 10,
32965 OPC_EmitRegisterI32, LoongArch::R0,
32966 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32967 MVT::f64, 1, 0,
32968 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
32969 MVT::i32, 1, 3,
32970 OPC_EmitNodeXForm, 11, 1,
32971 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32972 MVT::i32, 2, 4, 5,
32973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32974 MVT::i32, 2, 2, 6,
32975 0,
32976 0,
32977 0,
32978 3|128,3, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
32979 OPC_RecordMemRef,
32980 OPC_RecordNode,
32981 OPC_RecordChild1,
32982 OPC_SwitchType , 55|128,1, MVT::i64,
32983 OPC_CheckChild1TypeI64,
32984 OPC_RecordChild2,
32985 OPC_Scope, 89,
32986 OPC_CheckPredicate, 15,
32987 OPC_Scope, 16,
32988 OPC_CheckPredicate, 20,
32989 OPC_CheckPatternPredicate6,
32990 OPC_EmitMergeInputChains1_0,
32991 OPC_EmitInteger64, 4,
32992 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
32993 MVT::i64, MVT::i64, 3, 1, 2, 3,
32994 16,
32995 OPC_CheckPredicate, 21,
32996 OPC_CheckPatternPredicate6,
32997 OPC_EmitMergeInputChains1_0,
32998 OPC_EmitInteger64, 8,
32999 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33000 MVT::i64, MVT::i64, 3, 1, 2, 3,
33001 16,
33002 OPC_CheckPredicate, 22,
33003 OPC_CheckPatternPredicate6,
33004 OPC_EmitMergeInputChains1_0,
33005 OPC_EmitInteger64, 10,
33006 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33007 MVT::i64, MVT::i64, 3, 1, 2, 3,
33008 16,
33009 OPC_CheckPredicate, 23,
33010 OPC_CheckPatternPredicate6,
33011 OPC_EmitMergeInputChains1_0,
33012 OPC_EmitInteger64, 12,
33013 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33014 MVT::i64, MVT::i64, 3, 1, 2, 3,
33015 16,
33016 OPC_CheckPredicate, 24,
33017 OPC_CheckPatternPredicate6,
33018 OPC_EmitMergeInputChains1_0,
33019 OPC_EmitInteger64, 14,
33020 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33021 MVT::i64, MVT::i64, 3, 1, 2, 3,
33022 0,
33023 88,
33024 OPC_CheckPredicate5,
33025 OPC_Scope, 16,
33026 OPC_CheckPredicate, 20,
33027 OPC_CheckPatternPredicate7,
33028 OPC_EmitMergeInputChains1_0,
33029 OPC_EmitInteger64, 4,
33030 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33031 MVT::i64, MVT::i64, 3, 1, 2, 3,
33032 16,
33033 OPC_CheckPredicate, 21,
33034 OPC_CheckPatternPredicate7,
33035 OPC_EmitMergeInputChains1_0,
33036 OPC_EmitInteger64, 8,
33037 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33038 MVT::i64, MVT::i64, 3, 1, 2, 3,
33039 16,
33040 OPC_CheckPredicate, 22,
33041 OPC_CheckPatternPredicate7,
33042 OPC_EmitMergeInputChains1_0,
33043 OPC_EmitInteger64, 10,
33044 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33045 MVT::i64, MVT::i64, 3, 1, 2, 3,
33046 16,
33047 OPC_CheckPredicate, 23,
33048 OPC_CheckPatternPredicate7,
33049 OPC_EmitMergeInputChains1_0,
33050 OPC_EmitInteger64, 12,
33051 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33052 MVT::i64, MVT::i64, 3, 1, 2, 3,
33053 16,
33054 OPC_CheckPredicate, 24,
33055 OPC_CheckPatternPredicate7,
33056 OPC_EmitMergeInputChains1_0,
33057 OPC_EmitInteger64, 14,
33058 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33059 MVT::i64, MVT::i64, 3, 1, 2, 3,
33060 0,
33061 0,
33062 65|128,1, MVT::i32,
33063 OPC_CheckChild1TypeI32,
33064 OPC_RecordChild2,
33065 OPC_Scope, 94,
33066 OPC_CheckPredicate, 15,
33067 OPC_Scope, 17,
33068 OPC_CheckPredicate, 20,
33069 OPC_CheckPatternPredicate, 10,
33070 OPC_EmitMergeInputChains1_0,
33071 OPC_EmitInteger32, 4,
33072 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33073 MVT::i32, MVT::i32, 3, 1, 2, 3,
33074 17,
33075 OPC_CheckPredicate, 21,
33076 OPC_CheckPatternPredicate, 10,
33077 OPC_EmitMergeInputChains1_0,
33078 OPC_EmitInteger32, 8,
33079 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33080 MVT::i32, MVT::i32, 3, 1, 2, 3,
33081 17,
33082 OPC_CheckPredicate, 22,
33083 OPC_CheckPatternPredicate, 10,
33084 OPC_EmitMergeInputChains1_0,
33085 OPC_EmitInteger32, 10,
33086 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33087 MVT::i32, MVT::i32, 3, 1, 2, 3,
33088 17,
33089 OPC_CheckPredicate, 23,
33090 OPC_CheckPatternPredicate, 10,
33091 OPC_EmitMergeInputChains1_0,
33092 OPC_EmitInteger32, 12,
33093 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33094 MVT::i32, MVT::i32, 3, 1, 2, 3,
33095 17,
33096 OPC_CheckPredicate, 24,
33097 OPC_CheckPatternPredicate, 10,
33098 OPC_EmitMergeInputChains1_0,
33099 OPC_EmitInteger32, 14,
33100 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33101 MVT::i32, MVT::i32, 3, 1, 2, 3,
33102 0,
33103 93,
33104 OPC_CheckPredicate5,
33105 OPC_Scope, 17,
33106 OPC_CheckPredicate, 20,
33107 OPC_CheckPatternPredicate, 8,
33108 OPC_EmitMergeInputChains1_0,
33109 OPC_EmitInteger32, 4,
33110 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33111 MVT::i32, MVT::i32, 3, 1, 2, 3,
33112 17,
33113 OPC_CheckPredicate, 21,
33114 OPC_CheckPatternPredicate, 8,
33115 OPC_EmitMergeInputChains1_0,
33116 OPC_EmitInteger32, 8,
33117 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33118 MVT::i32, MVT::i32, 3, 1, 2, 3,
33119 17,
33120 OPC_CheckPredicate, 22,
33121 OPC_CheckPatternPredicate, 8,
33122 OPC_EmitMergeInputChains1_0,
33123 OPC_EmitInteger32, 10,
33124 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33125 MVT::i32, MVT::i32, 3, 1, 2, 3,
33126 17,
33127 OPC_CheckPredicate, 23,
33128 OPC_CheckPatternPredicate, 8,
33129 OPC_EmitMergeInputChains1_0,
33130 OPC_EmitInteger32, 12,
33131 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33132 MVT::i32, MVT::i32, 3, 1, 2, 3,
33133 17,
33134 OPC_CheckPredicate, 24,
33135 OPC_CheckPatternPredicate, 8,
33136 OPC_EmitMergeInputChains1_0,
33137 OPC_EmitInteger32, 14,
33138 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33139 MVT::i32, MVT::i32, 3, 1, 2, 3,
33140 0,
33141 0,
33142 0,
33143 1|128,2, TARGET_VAL(ISD::ATOMIC_SWAP),
33144 OPC_RecordMemRef,
33145 OPC_RecordNode,
33146 OPC_RecordChild1,
33147 OPC_SwitchType , 123, MVT::i64,
33148 OPC_CheckChild1TypeI64,
33149 OPC_RecordChild2,
33150 OPC_Scope, 11,
33151 OPC_CheckPredicate5,
33152 OPC_CheckPatternPredicate6,
33153 OPC_EmitMergeInputChains1_0,
33154 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33155 MVT::i64, 2, 2, 1,
33156 12,
33157 OPC_CheckPredicate, 15,
33158 OPC_CheckPatternPredicate6,
33159 OPC_EmitMergeInputChains1_0,
33160 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33161 MVT::i64, 2, 2, 1,
33162 93,
33163 OPC_CheckPredicate5,
33164 OPC_Scope, 17,
33165 OPC_CheckPredicate, 20,
33166 OPC_CheckPatternPredicate, 15,
33167 OPC_EmitMergeInputChains1_0,
33168 OPC_EmitInteger64, 4,
33169 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33170 MVT::i64, MVT::i64, 3, 1, 2, 3,
33171 17,
33172 OPC_CheckPredicate, 21,
33173 OPC_CheckPatternPredicate, 15,
33174 OPC_EmitMergeInputChains1_0,
33175 OPC_EmitInteger64, 8,
33176 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33177 MVT::i64, MVT::i64, 3, 1, 2, 3,
33178 17,
33179 OPC_CheckPredicate, 22,
33180 OPC_CheckPatternPredicate, 15,
33181 OPC_EmitMergeInputChains1_0,
33182 OPC_EmitInteger64, 10,
33183 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33184 MVT::i64, MVT::i64, 3, 1, 2, 3,
33185 17,
33186 OPC_CheckPredicate, 23,
33187 OPC_CheckPatternPredicate, 15,
33188 OPC_EmitMergeInputChains1_0,
33189 OPC_EmitInteger64, 12,
33190 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33191 MVT::i64, MVT::i64, 3, 1, 2, 3,
33192 17,
33193 OPC_CheckPredicate, 24,
33194 OPC_CheckPatternPredicate, 15,
33195 OPC_EmitMergeInputChains1_0,
33196 OPC_EmitInteger64, 14,
33197 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33198 MVT::i64, MVT::i64, 3, 1, 2, 3,
33199 0,
33200 0,
33201 125, MVT::i32,
33202 OPC_CheckChild1TypeI32,
33203 OPC_RecordChild2,
33204 OPC_Scope, 12,
33205 OPC_CheckPredicate5,
33206 OPC_CheckPatternPredicate, 10,
33207 OPC_EmitMergeInputChains1_0,
33208 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33209 MVT::i32, 2, 2, 1,
33210 13,
33211 OPC_CheckPredicate, 15,
33212 OPC_CheckPatternPredicate, 10,
33213 OPC_EmitMergeInputChains1_0,
33214 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33215 MVT::i32, 2, 2, 1,
33216 93,
33217 OPC_CheckPredicate5,
33218 OPC_Scope, 17,
33219 OPC_CheckPredicate, 20,
33220 OPC_CheckPatternPredicate, 9,
33221 OPC_EmitMergeInputChains1_0,
33222 OPC_EmitInteger32, 4,
33223 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33224 MVT::i32, MVT::i32, 3, 1, 2, 3,
33225 17,
33226 OPC_CheckPredicate, 21,
33227 OPC_CheckPatternPredicate, 9,
33228 OPC_EmitMergeInputChains1_0,
33229 OPC_EmitInteger32, 8,
33230 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33231 MVT::i32, MVT::i32, 3, 1, 2, 3,
33232 17,
33233 OPC_CheckPredicate, 22,
33234 OPC_CheckPatternPredicate, 9,
33235 OPC_EmitMergeInputChains1_0,
33236 OPC_EmitInteger32, 10,
33237 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33238 MVT::i32, MVT::i32, 3, 1, 2, 3,
33239 17,
33240 OPC_CheckPredicate, 23,
33241 OPC_CheckPatternPredicate, 9,
33242 OPC_EmitMergeInputChains1_0,
33243 OPC_EmitInteger32, 12,
33244 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33245 MVT::i32, MVT::i32, 3, 1, 2, 3,
33246 17,
33247 OPC_CheckPredicate, 24,
33248 OPC_CheckPatternPredicate, 9,
33249 OPC_EmitMergeInputChains1_0,
33250 OPC_EmitInteger32, 14,
33251 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33252 MVT::i32, MVT::i32, 3, 1, 2, 3,
33253 0,
33254 0,
33255 0,
33256 127|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
33257 OPC_RecordMemRef,
33258 OPC_RecordNode,
33259 OPC_RecordChild1,
33260 OPC_SwitchType , 122, MVT::i64,
33261 OPC_CheckChild1TypeI64,
33262 OPC_RecordChild2,
33263 OPC_Scope, 12,
33264 OPC_CheckPredicate, 15,
33265 OPC_CheckPatternPredicate6,
33266 OPC_EmitMergeInputChains1_0,
33267 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33268 MVT::i64, 2, 2, 1,
33269 104,
33270 OPC_CheckPredicate5,
33271 OPC_Scope, 10,
33272 OPC_CheckPatternPredicate6,
33273 OPC_EmitMergeInputChains1_0,
33274 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33275 MVT::i64, 2, 2, 1,
33276 17,
33277 OPC_CheckPredicate, 20,
33278 OPC_CheckPatternPredicate, 15,
33279 OPC_EmitMergeInputChains1_0,
33280 OPC_EmitInteger64, 4,
33281 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33282 MVT::i64, MVT::i64, 3, 1, 2, 3,
33283 17,
33284 OPC_CheckPredicate, 21,
33285 OPC_CheckPatternPredicate, 15,
33286 OPC_EmitMergeInputChains1_0,
33287 OPC_EmitInteger64, 8,
33288 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33289 MVT::i64, MVT::i64, 3, 1, 2, 3,
33290 17,
33291 OPC_CheckPredicate, 22,
33292 OPC_CheckPatternPredicate, 15,
33293 OPC_EmitMergeInputChains1_0,
33294 OPC_EmitInteger64, 10,
33295 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33296 MVT::i64, MVT::i64, 3, 1, 2, 3,
33297 17,
33298 OPC_CheckPredicate, 23,
33299 OPC_CheckPatternPredicate, 15,
33300 OPC_EmitMergeInputChains1_0,
33301 OPC_EmitInteger64, 12,
33302 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33303 MVT::i64, MVT::i64, 3, 1, 2, 3,
33304 17,
33305 OPC_CheckPredicate, 24,
33306 OPC_CheckPatternPredicate, 15,
33307 OPC_EmitMergeInputChains1_0,
33308 OPC_EmitInteger64, 14,
33309 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33310 MVT::i64, MVT::i64, 3, 1, 2, 3,
33311 0,
33312 0,
33313 124, MVT::i32,
33314 OPC_CheckChild1TypeI32,
33315 OPC_RecordChild2,
33316 OPC_Scope, 13,
33317 OPC_CheckPredicate, 15,
33318 OPC_CheckPatternPredicate, 10,
33319 OPC_EmitMergeInputChains1_0,
33320 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33321 MVT::i32, 2, 2, 1,
33322 105,
33323 OPC_CheckPredicate5,
33324 OPC_Scope, 11,
33325 OPC_CheckPatternPredicate, 10,
33326 OPC_EmitMergeInputChains1_0,
33327 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33328 MVT::i32, 2, 2, 1,
33329 17,
33330 OPC_CheckPredicate, 20,
33331 OPC_CheckPatternPredicate, 9,
33332 OPC_EmitMergeInputChains1_0,
33333 OPC_EmitInteger32, 4,
33334 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33335 MVT::i32, MVT::i32, 3, 1, 2, 3,
33336 17,
33337 OPC_CheckPredicate, 21,
33338 OPC_CheckPatternPredicate, 9,
33339 OPC_EmitMergeInputChains1_0,
33340 OPC_EmitInteger32, 8,
33341 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33342 MVT::i32, MVT::i32, 3, 1, 2, 3,
33343 17,
33344 OPC_CheckPredicate, 22,
33345 OPC_CheckPatternPredicate, 9,
33346 OPC_EmitMergeInputChains1_0,
33347 OPC_EmitInteger32, 10,
33348 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33349 MVT::i32, MVT::i32, 3, 1, 2, 3,
33350 17,
33351 OPC_CheckPredicate, 23,
33352 OPC_CheckPatternPredicate, 9,
33353 OPC_EmitMergeInputChains1_0,
33354 OPC_EmitInteger32, 12,
33355 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33356 MVT::i32, MVT::i32, 3, 1, 2, 3,
33357 17,
33358 OPC_CheckPredicate, 24,
33359 OPC_CheckPatternPredicate, 9,
33360 OPC_EmitMergeInputChains1_0,
33361 OPC_EmitInteger32, 14,
33362 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33363 MVT::i32, MVT::i32, 3, 1, 2, 3,
33364 0,
33365 0,
33366 0,
33367 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
33368 OPC_RecordMemRef,
33369 OPC_RecordNode,
33370 OPC_RecordChild1,
33371 OPC_SwitchType , 123, MVT::i64,
33372 OPC_CheckChild1TypeI64,
33373 OPC_RecordChild2,
33374 OPC_Scope, 11,
33375 OPC_CheckPredicate5,
33376 OPC_CheckPatternPredicate6,
33377 OPC_EmitMergeInputChains1_0,
33378 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33379 MVT::i64, 2, 2, 1,
33380 12,
33381 OPC_CheckPredicate, 15,
33382 OPC_CheckPatternPredicate6,
33383 OPC_EmitMergeInputChains1_0,
33384 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33385 MVT::i64, 2, 2, 1,
33386 93,
33387 OPC_CheckPredicate5,
33388 OPC_Scope, 17,
33389 OPC_CheckPredicate, 20,
33390 OPC_CheckPatternPredicate, 15,
33391 OPC_EmitMergeInputChains1_0,
33392 OPC_EmitInteger64, 4,
33393 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33394 MVT::i64, MVT::i64, 3, 1, 2, 3,
33395 17,
33396 OPC_CheckPredicate, 21,
33397 OPC_CheckPatternPredicate, 15,
33398 OPC_EmitMergeInputChains1_0,
33399 OPC_EmitInteger64, 8,
33400 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33401 MVT::i64, MVT::i64, 3, 1, 2, 3,
33402 17,
33403 OPC_CheckPredicate, 22,
33404 OPC_CheckPatternPredicate, 15,
33405 OPC_EmitMergeInputChains1_0,
33406 OPC_EmitInteger64, 10,
33407 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33408 MVT::i64, MVT::i64, 3, 1, 2, 3,
33409 17,
33410 OPC_CheckPredicate, 23,
33411 OPC_CheckPatternPredicate, 15,
33412 OPC_EmitMergeInputChains1_0,
33413 OPC_EmitInteger64, 12,
33414 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33415 MVT::i64, MVT::i64, 3, 1, 2, 3,
33416 17,
33417 OPC_CheckPredicate, 24,
33418 OPC_CheckPatternPredicate, 15,
33419 OPC_EmitMergeInputChains1_0,
33420 OPC_EmitInteger64, 14,
33421 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33422 MVT::i64, MVT::i64, 3, 1, 2, 3,
33423 0,
33424 0,
33425 125, MVT::i32,
33426 OPC_CheckChild1TypeI32,
33427 OPC_RecordChild2,
33428 OPC_Scope, 12,
33429 OPC_CheckPredicate5,
33430 OPC_CheckPatternPredicate, 10,
33431 OPC_EmitMergeInputChains1_0,
33432 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33433 MVT::i32, 2, 2, 1,
33434 13,
33435 OPC_CheckPredicate, 15,
33436 OPC_CheckPatternPredicate, 10,
33437 OPC_EmitMergeInputChains1_0,
33438 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33439 MVT::i32, 2, 2, 1,
33440 93,
33441 OPC_CheckPredicate5,
33442 OPC_Scope, 17,
33443 OPC_CheckPredicate, 20,
33444 OPC_CheckPatternPredicate, 9,
33445 OPC_EmitMergeInputChains1_0,
33446 OPC_EmitInteger32, 4,
33447 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33448 MVT::i32, MVT::i32, 3, 1, 2, 3,
33449 17,
33450 OPC_CheckPredicate, 21,
33451 OPC_CheckPatternPredicate, 9,
33452 OPC_EmitMergeInputChains1_0,
33453 OPC_EmitInteger32, 8,
33454 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33455 MVT::i32, MVT::i32, 3, 1, 2, 3,
33456 17,
33457 OPC_CheckPredicate, 22,
33458 OPC_CheckPatternPredicate, 9,
33459 OPC_EmitMergeInputChains1_0,
33460 OPC_EmitInteger32, 10,
33461 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33462 MVT::i32, MVT::i32, 3, 1, 2, 3,
33463 17,
33464 OPC_CheckPredicate, 23,
33465 OPC_CheckPatternPredicate, 9,
33466 OPC_EmitMergeInputChains1_0,
33467 OPC_EmitInteger32, 12,
33468 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33469 MVT::i32, MVT::i32, 3, 1, 2, 3,
33470 17,
33471 OPC_CheckPredicate, 24,
33472 OPC_CheckPatternPredicate, 9,
33473 OPC_EmitMergeInputChains1_0,
33474 OPC_EmitInteger32, 14,
33475 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33476 MVT::i32, MVT::i32, 3, 1, 2, 3,
33477 0,
33478 0,
33479 0,
33480 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
33481 OPC_RecordMemRef,
33482 OPC_RecordNode,
33483 OPC_RecordChild1,
33484 OPC_SwitchType , 123, MVT::i64,
33485 OPC_CheckChild1TypeI64,
33486 OPC_RecordChild2,
33487 OPC_Scope, 11,
33488 OPC_CheckPredicate5,
33489 OPC_CheckPatternPredicate6,
33490 OPC_EmitMergeInputChains1_0,
33491 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33492 MVT::i64, 2, 2, 1,
33493 12,
33494 OPC_CheckPredicate, 15,
33495 OPC_CheckPatternPredicate6,
33496 OPC_EmitMergeInputChains1_0,
33497 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33498 MVT::i64, 2, 2, 1,
33499 93,
33500 OPC_CheckPredicate5,
33501 OPC_Scope, 17,
33502 OPC_CheckPredicate, 20,
33503 OPC_CheckPatternPredicate, 15,
33504 OPC_EmitMergeInputChains1_0,
33505 OPC_EmitInteger64, 4,
33506 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33507 MVT::i64, MVT::i64, 3, 1, 2, 3,
33508 17,
33509 OPC_CheckPredicate, 21,
33510 OPC_CheckPatternPredicate, 15,
33511 OPC_EmitMergeInputChains1_0,
33512 OPC_EmitInteger64, 8,
33513 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33514 MVT::i64, MVT::i64, 3, 1, 2, 3,
33515 17,
33516 OPC_CheckPredicate, 22,
33517 OPC_CheckPatternPredicate, 15,
33518 OPC_EmitMergeInputChains1_0,
33519 OPC_EmitInteger64, 10,
33520 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33521 MVT::i64, MVT::i64, 3, 1, 2, 3,
33522 17,
33523 OPC_CheckPredicate, 23,
33524 OPC_CheckPatternPredicate, 15,
33525 OPC_EmitMergeInputChains1_0,
33526 OPC_EmitInteger64, 12,
33527 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33528 MVT::i64, MVT::i64, 3, 1, 2, 3,
33529 17,
33530 OPC_CheckPredicate, 24,
33531 OPC_CheckPatternPredicate, 15,
33532 OPC_EmitMergeInputChains1_0,
33533 OPC_EmitInteger64, 14,
33534 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33535 MVT::i64, MVT::i64, 3, 1, 2, 3,
33536 0,
33537 0,
33538 125, MVT::i32,
33539 OPC_CheckChild1TypeI32,
33540 OPC_RecordChild2,
33541 OPC_Scope, 12,
33542 OPC_CheckPredicate5,
33543 OPC_CheckPatternPredicate, 10,
33544 OPC_EmitMergeInputChains1_0,
33545 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33546 MVT::i32, 2, 2, 1,
33547 13,
33548 OPC_CheckPredicate, 15,
33549 OPC_CheckPatternPredicate, 10,
33550 OPC_EmitMergeInputChains1_0,
33551 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33552 MVT::i32, 2, 2, 1,
33553 93,
33554 OPC_CheckPredicate5,
33555 OPC_Scope, 17,
33556 OPC_CheckPredicate, 20,
33557 OPC_CheckPatternPredicate, 9,
33558 OPC_EmitMergeInputChains1_0,
33559 OPC_EmitInteger32, 4,
33560 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33561 MVT::i32, MVT::i32, 3, 1, 2, 3,
33562 17,
33563 OPC_CheckPredicate, 21,
33564 OPC_CheckPatternPredicate, 9,
33565 OPC_EmitMergeInputChains1_0,
33566 OPC_EmitInteger32, 8,
33567 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33568 MVT::i32, MVT::i32, 3, 1, 2, 3,
33569 17,
33570 OPC_CheckPredicate, 22,
33571 OPC_CheckPatternPredicate, 9,
33572 OPC_EmitMergeInputChains1_0,
33573 OPC_EmitInteger32, 10,
33574 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33575 MVT::i32, MVT::i32, 3, 1, 2, 3,
33576 17,
33577 OPC_CheckPredicate, 23,
33578 OPC_CheckPatternPredicate, 9,
33579 OPC_EmitMergeInputChains1_0,
33580 OPC_EmitInteger32, 12,
33581 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33582 MVT::i32, MVT::i32, 3, 1, 2, 3,
33583 17,
33584 OPC_CheckPredicate, 24,
33585 OPC_CheckPatternPredicate, 9,
33586 OPC_EmitMergeInputChains1_0,
33587 OPC_EmitInteger32, 14,
33588 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33589 MVT::i32, MVT::i32, 3, 1, 2, 3,
33590 0,
33591 0,
33592 0,
33593 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
33594 OPC_RecordMemRef,
33595 OPC_RecordNode,
33596 OPC_RecordChild1,
33597 OPC_SwitchType , 123, MVT::i64,
33598 OPC_CheckChild1TypeI64,
33599 OPC_RecordChild2,
33600 OPC_Scope, 11,
33601 OPC_CheckPredicate5,
33602 OPC_CheckPatternPredicate6,
33603 OPC_EmitMergeInputChains1_0,
33604 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33605 MVT::i64, 2, 2, 1,
33606 12,
33607 OPC_CheckPredicate, 15,
33608 OPC_CheckPatternPredicate6,
33609 OPC_EmitMergeInputChains1_0,
33610 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33611 MVT::i64, 2, 2, 1,
33612 93,
33613 OPC_CheckPredicate5,
33614 OPC_Scope, 17,
33615 OPC_CheckPredicate, 20,
33616 OPC_CheckPatternPredicate, 15,
33617 OPC_EmitMergeInputChains1_0,
33618 OPC_EmitInteger64, 4,
33619 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33620 MVT::i64, MVT::i64, 3, 1, 2, 3,
33621 17,
33622 OPC_CheckPredicate, 21,
33623 OPC_CheckPatternPredicate, 15,
33624 OPC_EmitMergeInputChains1_0,
33625 OPC_EmitInteger64, 8,
33626 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33627 MVT::i64, MVT::i64, 3, 1, 2, 3,
33628 17,
33629 OPC_CheckPredicate, 22,
33630 OPC_CheckPatternPredicate, 15,
33631 OPC_EmitMergeInputChains1_0,
33632 OPC_EmitInteger64, 10,
33633 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33634 MVT::i64, MVT::i64, 3, 1, 2, 3,
33635 17,
33636 OPC_CheckPredicate, 23,
33637 OPC_CheckPatternPredicate, 15,
33638 OPC_EmitMergeInputChains1_0,
33639 OPC_EmitInteger64, 12,
33640 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33641 MVT::i64, MVT::i64, 3, 1, 2, 3,
33642 17,
33643 OPC_CheckPredicate, 24,
33644 OPC_CheckPatternPredicate, 15,
33645 OPC_EmitMergeInputChains1_0,
33646 OPC_EmitInteger64, 14,
33647 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33648 MVT::i64, MVT::i64, 3, 1, 2, 3,
33649 0,
33650 0,
33651 125, MVT::i32,
33652 OPC_CheckChild1TypeI32,
33653 OPC_RecordChild2,
33654 OPC_Scope, 12,
33655 OPC_CheckPredicate5,
33656 OPC_CheckPatternPredicate, 10,
33657 OPC_EmitMergeInputChains1_0,
33658 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33659 MVT::i32, 2, 2, 1,
33660 13,
33661 OPC_CheckPredicate, 15,
33662 OPC_CheckPatternPredicate, 10,
33663 OPC_EmitMergeInputChains1_0,
33664 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33665 MVT::i32, 2, 2, 1,
33666 93,
33667 OPC_CheckPredicate5,
33668 OPC_Scope, 17,
33669 OPC_CheckPredicate, 20,
33670 OPC_CheckPatternPredicate, 9,
33671 OPC_EmitMergeInputChains1_0,
33672 OPC_EmitInteger32, 4,
33673 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33674 MVT::i32, MVT::i32, 3, 1, 2, 3,
33675 17,
33676 OPC_CheckPredicate, 21,
33677 OPC_CheckPatternPredicate, 9,
33678 OPC_EmitMergeInputChains1_0,
33679 OPC_EmitInteger32, 8,
33680 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33681 MVT::i32, MVT::i32, 3, 1, 2, 3,
33682 17,
33683 OPC_CheckPredicate, 22,
33684 OPC_CheckPatternPredicate, 9,
33685 OPC_EmitMergeInputChains1_0,
33686 OPC_EmitInteger32, 10,
33687 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33688 MVT::i32, MVT::i32, 3, 1, 2, 3,
33689 17,
33690 OPC_CheckPredicate, 23,
33691 OPC_CheckPatternPredicate, 9,
33692 OPC_EmitMergeInputChains1_0,
33693 OPC_EmitInteger32, 12,
33694 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33695 MVT::i32, MVT::i32, 3, 1, 2, 3,
33696 17,
33697 OPC_CheckPredicate, 24,
33698 OPC_CheckPatternPredicate, 9,
33699 OPC_EmitMergeInputChains1_0,
33700 OPC_EmitInteger32, 14,
33701 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33702 MVT::i32, MVT::i32, 3, 1, 2, 3,
33703 0,
33704 0,
33705 0,
33706 69, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
33707 OPC_RecordMemRef,
33708 OPC_RecordNode,
33709 OPC_RecordChild1,
33710 OPC_SwitchType , 29, MVT::i64,
33711 OPC_CheckChild1TypeI64,
33712 OPC_RecordChild2,
33713 OPC_Scope, 11,
33714 OPC_CheckPredicate5,
33715 OPC_CheckPatternPredicate6,
33716 OPC_EmitMergeInputChains1_0,
33717 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33718 MVT::i64, 2, 2, 1,
33719 12,
33720 OPC_CheckPredicate, 15,
33721 OPC_CheckPatternPredicate6,
33722 OPC_EmitMergeInputChains1_0,
33723 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33724 MVT::i64, 2, 2, 1,
33725 0,
33726 31, MVT::i32,
33727 OPC_CheckChild1TypeI32,
33728 OPC_RecordChild2,
33729 OPC_Scope, 12,
33730 OPC_CheckPredicate5,
33731 OPC_CheckPatternPredicate, 10,
33732 OPC_EmitMergeInputChains1_0,
33733 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33734 MVT::i32, 2, 2, 1,
33735 13,
33736 OPC_CheckPredicate, 15,
33737 OPC_CheckPatternPredicate, 10,
33738 OPC_EmitMergeInputChains1_0,
33739 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33740 MVT::i32, 2, 2, 1,
33741 0,
33742 0,
33743 69, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
33744 OPC_RecordMemRef,
33745 OPC_RecordNode,
33746 OPC_RecordChild1,
33747 OPC_SwitchType , 29, MVT::i64,
33748 OPC_CheckChild1TypeI64,
33749 OPC_RecordChild2,
33750 OPC_Scope, 11,
33751 OPC_CheckPredicate5,
33752 OPC_CheckPatternPredicate6,
33753 OPC_EmitMergeInputChains1_0,
33754 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33755 MVT::i64, 2, 2, 1,
33756 12,
33757 OPC_CheckPredicate, 15,
33758 OPC_CheckPatternPredicate6,
33759 OPC_EmitMergeInputChains1_0,
33760 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33761 MVT::i64, 2, 2, 1,
33762 0,
33763 31, MVT::i32,
33764 OPC_CheckChild1TypeI32,
33765 OPC_RecordChild2,
33766 OPC_Scope, 12,
33767 OPC_CheckPredicate5,
33768 OPC_CheckPatternPredicate, 10,
33769 OPC_EmitMergeInputChains1_0,
33770 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33771 MVT::i32, 2, 2, 1,
33772 13,
33773 OPC_CheckPredicate, 15,
33774 OPC_CheckPatternPredicate, 10,
33775 OPC_EmitMergeInputChains1_0,
33776 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33777 MVT::i32, 2, 2, 1,
33778 0,
33779 0,
33780 69, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
33781 OPC_RecordMemRef,
33782 OPC_RecordNode,
33783 OPC_RecordChild1,
33784 OPC_SwitchType , 29, MVT::i64,
33785 OPC_CheckChild1TypeI64,
33786 OPC_RecordChild2,
33787 OPC_Scope, 11,
33788 OPC_CheckPredicate5,
33789 OPC_CheckPatternPredicate6,
33790 OPC_EmitMergeInputChains1_0,
33791 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33792 MVT::i64, 2, 2, 1,
33793 12,
33794 OPC_CheckPredicate, 15,
33795 OPC_CheckPatternPredicate6,
33796 OPC_EmitMergeInputChains1_0,
33797 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33798 MVT::i64, 2, 2, 1,
33799 0,
33800 31, MVT::i32,
33801 OPC_CheckChild1TypeI32,
33802 OPC_RecordChild2,
33803 OPC_Scope, 12,
33804 OPC_CheckPredicate5,
33805 OPC_CheckPatternPredicate, 10,
33806 OPC_EmitMergeInputChains1_0,
33807 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33808 MVT::i32, 2, 2, 1,
33809 13,
33810 OPC_CheckPredicate, 15,
33811 OPC_CheckPatternPredicate, 10,
33812 OPC_EmitMergeInputChains1_0,
33813 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33814 MVT::i32, 2, 2, 1,
33815 0,
33816 0,
33817 69, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
33818 OPC_RecordMemRef,
33819 OPC_RecordNode,
33820 OPC_RecordChild1,
33821 OPC_SwitchType , 29, MVT::i64,
33822 OPC_CheckChild1TypeI64,
33823 OPC_RecordChild2,
33824 OPC_Scope, 11,
33825 OPC_CheckPredicate5,
33826 OPC_CheckPatternPredicate6,
33827 OPC_EmitMergeInputChains1_0,
33828 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33829 MVT::i64, 2, 2, 1,
33830 12,
33831 OPC_CheckPredicate, 15,
33832 OPC_CheckPatternPredicate6,
33833 OPC_EmitMergeInputChains1_0,
33834 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33835 MVT::i64, 2, 2, 1,
33836 0,
33837 31, MVT::i32,
33838 OPC_CheckChild1TypeI32,
33839 OPC_RecordChild2,
33840 OPC_Scope, 12,
33841 OPC_CheckPredicate5,
33842 OPC_CheckPatternPredicate, 10,
33843 OPC_EmitMergeInputChains1_0,
33844 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33845 MVT::i32, 2, 2, 1,
33846 13,
33847 OPC_CheckPredicate, 15,
33848 OPC_CheckPatternPredicate, 10,
33849 OPC_EmitMergeInputChains1_0,
33850 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33851 MVT::i32, 2, 2, 1,
33852 0,
33853 0,
33854 49|128,2, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
33855 OPC_RecordMemRef,
33856 OPC_RecordNode,
33857 OPC_RecordChild1,
33858 OPC_SwitchType , 66|128,1, MVT::i64,
33859 OPC_CheckChild1TypeI64,
33860 OPC_RecordChild2,
33861 OPC_RecordChild3,
33862 OPC_Scope, 93,
33863 OPC_CheckPredicate5,
33864 OPC_Scope, 17,
33865 OPC_CheckPredicate, 42,
33866 OPC_CheckPatternPredicate6,
33867 OPC_EmitMergeInputChains1_0,
33868 OPC_EmitInteger64, 4,
33869 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33870 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33871 17,
33872 OPC_CheckPredicate, 43,
33873 OPC_CheckPatternPredicate6,
33874 OPC_EmitMergeInputChains1_0,
33875 OPC_EmitInteger64, 8,
33876 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33877 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33878 17,
33879 OPC_CheckPredicate, 44,
33880 OPC_CheckPatternPredicate6,
33881 OPC_EmitMergeInputChains1_0,
33882 OPC_EmitInteger64, 10,
33883 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33884 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33885 17,
33886 OPC_CheckPredicate, 45,
33887 OPC_CheckPatternPredicate6,
33888 OPC_EmitMergeInputChains1_0,
33889 OPC_EmitInteger64, 12,
33890 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33891 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33892 17,
33893 OPC_CheckPredicate, 46,
33894 OPC_CheckPatternPredicate6,
33895 OPC_EmitMergeInputChains1_0,
33896 OPC_EmitInteger64, 14,
33897 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33898 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33899 0,
33900 94,
33901 OPC_CheckPredicate, 15,
33902 OPC_Scope, 17,
33903 OPC_CheckPredicate, 42,
33904 OPC_CheckPatternPredicate6,
33905 OPC_EmitMergeInputChains1_0,
33906 OPC_EmitInteger64, 4,
33907 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33908 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33909 17,
33910 OPC_CheckPredicate, 43,
33911 OPC_CheckPatternPredicate6,
33912 OPC_EmitMergeInputChains1_0,
33913 OPC_EmitInteger64, 8,
33914 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33915 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33916 17,
33917 OPC_CheckPredicate, 44,
33918 OPC_CheckPatternPredicate6,
33919 OPC_EmitMergeInputChains1_0,
33920 OPC_EmitInteger64, 10,
33921 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33922 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33923 17,
33924 OPC_CheckPredicate, 45,
33925 OPC_CheckPatternPredicate6,
33926 OPC_EmitMergeInputChains1_0,
33927 OPC_EmitInteger64, 12,
33928 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33929 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33930 17,
33931 OPC_CheckPredicate, 46,
33932 OPC_CheckPatternPredicate6,
33933 OPC_EmitMergeInputChains1_0,
33934 OPC_EmitInteger64, 14,
33935 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33936 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33937 0,
33938 0,
33939 101, MVT::i32,
33940 OPC_CheckChild1TypeI32,
33941 OPC_RecordChild2,
33942 OPC_RecordChild3,
33943 OPC_CheckPredicate5,
33944 OPC_Scope, 18,
33945 OPC_CheckPredicate, 42,
33946 OPC_CheckPatternPredicate, 10,
33947 OPC_EmitMergeInputChains1_0,
33948 OPC_EmitInteger32, 4,
33949 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33950 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33951 18,
33952 OPC_CheckPredicate, 43,
33953 OPC_CheckPatternPredicate, 10,
33954 OPC_EmitMergeInputChains1_0,
33955 OPC_EmitInteger32, 8,
33956 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33957 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33958 18,
33959 OPC_CheckPredicate, 44,
33960 OPC_CheckPatternPredicate, 10,
33961 OPC_EmitMergeInputChains1_0,
33962 OPC_EmitInteger32, 10,
33963 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33964 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33965 18,
33966 OPC_CheckPredicate, 45,
33967 OPC_CheckPatternPredicate, 10,
33968 OPC_EmitMergeInputChains1_0,
33969 OPC_EmitInteger32, 12,
33970 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33971 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33972 18,
33973 OPC_CheckPredicate, 46,
33974 OPC_CheckPatternPredicate, 10,
33975 OPC_EmitMergeInputChains1_0,
33976 OPC_EmitInteger32, 14,
33977 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33978 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33979 0,
33980 0,
33981 37|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
33982 OPC_RecordMemRef,
33983 OPC_RecordNode,
33984 OPC_RecordChild1,
33985 OPC_SwitchType , 12|128,1, MVT::i64,
33986 OPC_CheckChild1TypeI64,
33987 OPC_RecordChild2,
33988 OPC_Scope, 113,
33989 OPC_CheckPredicate5,
33990 OPC_Scope, 17,
33991 OPC_CheckPredicate, 20,
33992 OPC_CheckPatternPredicate, 15,
33993 OPC_EmitMergeInputChains1_0,
33994 OPC_EmitInteger64, 4,
33995 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
33996 MVT::i64, MVT::i64, 3, 1, 2, 3,
33997 17,
33998 OPC_CheckPredicate, 21,
33999 OPC_CheckPatternPredicate, 15,
34000 OPC_EmitMergeInputChains1_0,
34001 OPC_EmitInteger64, 8,
34002 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34003 MVT::i64, MVT::i64, 3, 1, 2, 3,
34004 17,
34005 OPC_CheckPredicate, 22,
34006 OPC_CheckPatternPredicate, 15,
34007 OPC_EmitMergeInputChains1_0,
34008 OPC_EmitInteger64, 10,
34009 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34010 MVT::i64, MVT::i64, 3, 1, 2, 3,
34011 17,
34012 OPC_CheckPredicate, 23,
34013 OPC_CheckPatternPredicate, 15,
34014 OPC_EmitMergeInputChains1_0,
34015 OPC_EmitInteger64, 12,
34016 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34017 MVT::i64, MVT::i64, 3, 1, 2, 3,
34018 17,
34019 OPC_CheckPredicate, 24,
34020 OPC_CheckPatternPredicate, 15,
34021 OPC_EmitMergeInputChains1_0,
34022 OPC_EmitInteger64, 14,
34023 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34024 MVT::i64, MVT::i64, 3, 1, 2, 3,
34025 19,
34026 OPC_CheckPatternPredicate6,
34027 OPC_EmitMergeInputChains1_0,
34028 OPC_EmitRegisterI64, LoongArch::R0,
34029 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
34030 MVT::i64, 2, 3, 2,
34031 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
34032 MVT::i64, 2, 4, 1,
34033 0,
34034 21,
34035 OPC_CheckPredicate, 15,
34036 OPC_CheckPatternPredicate6,
34037 OPC_EmitMergeInputChains1_0,
34038 OPC_EmitRegisterI64, LoongArch::R0,
34039 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
34040 MVT::i64, 2, 3, 2,
34041 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
34042 MVT::i64, 2, 4, 1,
34043 0,
34044 14|128,1, MVT::i32,
34045 OPC_CheckChild1TypeI32,
34046 OPC_RecordChild2,
34047 OPC_Scope, 114,
34048 OPC_CheckPredicate5,
34049 OPC_Scope, 17,
34050 OPC_CheckPredicate, 20,
34051 OPC_CheckPatternPredicate, 9,
34052 OPC_EmitMergeInputChains1_0,
34053 OPC_EmitInteger32, 4,
34054 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34055 MVT::i32, MVT::i32, 3, 1, 2, 3,
34056 17,
34057 OPC_CheckPredicate, 21,
34058 OPC_CheckPatternPredicate, 9,
34059 OPC_EmitMergeInputChains1_0,
34060 OPC_EmitInteger32, 8,
34061 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34062 MVT::i32, MVT::i32, 3, 1, 2, 3,
34063 17,
34064 OPC_CheckPredicate, 22,
34065 OPC_CheckPatternPredicate, 9,
34066 OPC_EmitMergeInputChains1_0,
34067 OPC_EmitInteger32, 10,
34068 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34069 MVT::i32, MVT::i32, 3, 1, 2, 3,
34070 17,
34071 OPC_CheckPredicate, 23,
34072 OPC_CheckPatternPredicate, 9,
34073 OPC_EmitMergeInputChains1_0,
34074 OPC_EmitInteger32, 12,
34075 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34076 MVT::i32, MVT::i32, 3, 1, 2, 3,
34077 17,
34078 OPC_CheckPredicate, 24,
34079 OPC_CheckPatternPredicate, 9,
34080 OPC_EmitMergeInputChains1_0,
34081 OPC_EmitInteger32, 14,
34082 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34083 MVT::i32, MVT::i32, 3, 1, 2, 3,
34084 20,
34085 OPC_CheckPatternPredicate, 10,
34086 OPC_EmitMergeInputChains1_0,
34087 OPC_EmitRegisterI32, LoongArch::R0,
34088 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
34089 MVT::i32, 2, 3, 2,
34090 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
34091 MVT::i32, 2, 4, 1,
34092 0,
34093 22,
34094 OPC_CheckPredicate, 15,
34095 OPC_CheckPatternPredicate, 10,
34096 OPC_EmitMergeInputChains1_0,
34097 OPC_EmitRegisterI32, LoongArch::R0,
34098 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
34099 MVT::i32, 2, 3, 2,
34100 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
34101 MVT::i32, 2, 4, 1,
34102 0,
34103 0,
34104 6, TARGET_VAL(ISD::TRAP),
34105 OPC_RecordNode,
34106 OPC_EmitMergeInputChains1_0,
34107 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoUNIMP),
34108 0,
34109 13, TARGET_VAL(ISD::BR),
34110 OPC_RecordNode,
34111 OPC_RecordChild1,
34112 OPC_MoveChild1,
34113 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
34114 OPC_MoveParent,
34115 OPC_EmitMergeInputChains1_0,
34116 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBR),
34117 1, 1,
34118 8, TARGET_VAL(LoongArchISD::RET),
34119 OPC_RecordNode,
34120 OPC_CaptureGlueInput,
34121 OPC_EmitMergeInputChains1_0,
34122 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoRET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
34123 0,
34124 17|128,4, TARGET_VAL(ISD::SUB),
34125 OPC_Scope, 3|128,2,
34126 OPC_RecordChild0,
34127 OPC_RecordChild1,
34128 OPC_SwitchType , 21, MVT::i64,
34129 OPC_Scope, 9,
34130 OPC_CheckPatternPredicate, 15,
34131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
34132 MVT::i64, 2, 0, 1,
34133 8,
34134 OPC_CheckPatternPredicate6,
34135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
34136 MVT::i64, 2, 0, 1,
34137 0,
34138 22, MVT::i32,
34139 OPC_Scope, 9,
34140 OPC_CheckPatternPredicate, 9,
34141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
34142 MVT::i32, 2, 0, 1,
34143 9,
34144 OPC_CheckPatternPredicate, 10,
34145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
34146 MVT::i32, 2, 0, 1,
34147 0,
34148 24, MVT::v16i8,
34149 OPC_Scope, 10,
34150 OPC_CheckPatternPredicate2,
34151 OPC_CheckComplexPat1, /*#*/1,
34152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
34153 MVT::v16i8, 2, 0, 2,
34154 10,
34155 OPC_CheckPatternPredicate5,
34156 OPC_CheckComplexPat1, /*#*/1,
34157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
34158 MVT::v16i8, 2, 0, 2,
34159 0,
34160 24, MVT::v8i16,
34161 OPC_Scope, 10,
34162 OPC_CheckPatternPredicate2,
34163 OPC_CheckComplexPat1, /*#*/1,
34164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
34165 MVT::v8i16, 2, 0, 2,
34166 10,
34167 OPC_CheckPatternPredicate5,
34168 OPC_CheckComplexPat1, /*#*/1,
34169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
34170 MVT::v8i16, 2, 0, 2,
34171 0,
34172 24, MVT::v4i32,
34173 OPC_Scope, 10,
34174 OPC_CheckPatternPredicate2,
34175 OPC_CheckComplexPat1, /*#*/1,
34176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
34177 MVT::v4i32, 2, 0, 2,
34178 10,
34179 OPC_CheckPatternPredicate5,
34180 OPC_CheckComplexPat1, /*#*/1,
34181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
34182 MVT::v4i32, 2, 0, 2,
34183 0,
34184 24, MVT::v2i64,
34185 OPC_Scope, 10,
34186 OPC_CheckPatternPredicate2,
34187 OPC_CheckComplexPat1, /*#*/1,
34188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
34189 MVT::v2i64, 2, 0, 2,
34190 10,
34191 OPC_CheckPatternPredicate5,
34192 OPC_CheckComplexPat1, /*#*/1,
34193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
34194 MVT::v2i64, 2, 0, 2,
34195 0,
34196 24, MVT::v32i8,
34197 OPC_Scope, 10,
34198 OPC_CheckPatternPredicate3,
34199 OPC_CheckComplexPat1, /*#*/1,
34200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
34201 MVT::v32i8, 2, 0, 2,
34202 10,
34203 OPC_CheckPatternPredicate4,
34204 OPC_CheckComplexPat1, /*#*/1,
34205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
34206 MVT::v32i8, 2, 0, 2,
34207 0,
34208 24, MVT::v16i16,
34209 OPC_Scope, 10,
34210 OPC_CheckPatternPredicate3,
34211 OPC_CheckComplexPat1, /*#*/1,
34212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
34213 MVT::v16i16, 2, 0, 2,
34214 10,
34215 OPC_CheckPatternPredicate4,
34216 OPC_CheckComplexPat1, /*#*/1,
34217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
34218 MVT::v16i16, 2, 0, 2,
34219 0,
34220 24, MVT::v8i32,
34221 OPC_Scope, 10,
34222 OPC_CheckPatternPredicate3,
34223 OPC_CheckComplexPat1, /*#*/1,
34224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
34225 MVT::v8i32, 2, 0, 2,
34226 10,
34227 OPC_CheckPatternPredicate4,
34228 OPC_CheckComplexPat1, /*#*/1,
34229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
34230 MVT::v8i32, 2, 0, 2,
34231 0,
34232 24, MVT::v4i64,
34233 OPC_Scope, 10,
34234 OPC_CheckPatternPredicate3,
34235 OPC_CheckComplexPat1, /*#*/1,
34236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
34237 MVT::v4i64, 2, 0, 2,
34238 10,
34239 OPC_CheckPatternPredicate4,
34240 OPC_CheckComplexPat1, /*#*/1,
34241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
34242 MVT::v4i64, 2, 0, 2,
34243 0,
34244 0,
34245 78,
34246 OPC_MoveChild0,
34247 OPC_CheckImmAllZerosV,
34248 OPC_MoveParent,
34249 OPC_RecordChild1,
34250 OPC_SwitchType , 7, MVT::v16i8,
34251 OPC_CheckPatternPredicate1,
34252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_B),
34253 MVT::v16i8, 1, 0,
34254 7, MVT::v8i16,
34255 OPC_CheckPatternPredicate1,
34256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_H),
34257 MVT::v8i16, 1, 0,
34258 7, MVT::v4i32,
34259 OPC_CheckPatternPredicate1,
34260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_W),
34261 MVT::v4i32, 1, 0,
34262 7, MVT::v2i64,
34263 OPC_CheckPatternPredicate1,
34264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_D),
34265 MVT::v2i64, 1, 0,
34266 7, MVT::v32i8,
34267 OPC_CheckPatternPredicate0,
34268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_B),
34269 MVT::v32i8, 1, 0,
34270 7, MVT::v16i16,
34271 OPC_CheckPatternPredicate0,
34272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_H),
34273 MVT::v16i16, 1, 0,
34274 7, MVT::v8i32,
34275 OPC_CheckPatternPredicate0,
34276 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_W),
34277 MVT::v8i32, 1, 0,
34278 7, MVT::v4i64,
34279 OPC_CheckPatternPredicate0,
34280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_D),
34281 MVT::v4i64, 1, 0,
34282 0,
34283 57|128,1,
34284 OPC_RecordChild0,
34285 OPC_Scope, 97,
34286 OPC_MoveChild1,
34287 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
34288 OPC_RecordChild0,
34289 OPC_RecordChild1,
34290 OPC_MoveParent,
34291 OPC_SwitchType , 9, MVT::v16i8,
34292 OPC_CheckPatternPredicate1,
34293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_B),
34294 MVT::v16i8, 3, 0, 1, 2,
34295 9, MVT::v8i16,
34296 OPC_CheckPatternPredicate1,
34297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_H),
34298 MVT::v8i16, 3, 0, 1, 2,
34299 9, MVT::v4i32,
34300 OPC_CheckPatternPredicate1,
34301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_W),
34302 MVT::v4i32, 3, 0, 1, 2,
34303 9, MVT::v2i64,
34304 OPC_CheckPatternPredicate1,
34305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_D),
34306 MVT::v2i64, 3, 0, 1, 2,
34307 9, MVT::v32i8,
34308 OPC_CheckPatternPredicate0,
34309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_B),
34310 MVT::v32i8, 3, 0, 1, 2,
34311 9, MVT::v16i16,
34312 OPC_CheckPatternPredicate0,
34313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_H),
34314 MVT::v16i16, 3, 0, 1, 2,
34315 9, MVT::v8i32,
34316 OPC_CheckPatternPredicate0,
34317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_W),
34318 MVT::v8i32, 3, 0, 1, 2,
34319 9, MVT::v4i64,
34320 OPC_CheckPatternPredicate0,
34321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_D),
34322 MVT::v4i64, 3, 0, 1, 2,
34323 0,
34324 83,
34325 OPC_RecordChild1,
34326 OPC_SwitchType , 8, MVT::v16i8,
34327 OPC_CheckPatternPredicate1,
34328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_B),
34329 MVT::v16i8, 2, 0, 1,
34330 8, MVT::v8i16,
34331 OPC_CheckPatternPredicate1,
34332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_H),
34333 MVT::v8i16, 2, 0, 1,
34334 8, MVT::v4i32,
34335 OPC_CheckPatternPredicate1,
34336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_W),
34337 MVT::v4i32, 2, 0, 1,
34338 8, MVT::v2i64,
34339 OPC_CheckPatternPredicate1,
34340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_D),
34341 MVT::v2i64, 2, 0, 1,
34342 8, MVT::v32i8,
34343 OPC_CheckPatternPredicate0,
34344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_B),
34345 MVT::v32i8, 2, 0, 1,
34346 8, MVT::v16i16,
34347 OPC_CheckPatternPredicate0,
34348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_H),
34349 MVT::v16i16, 2, 0, 1,
34350 8, MVT::v8i32,
34351 OPC_CheckPatternPredicate0,
34352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_W),
34353 MVT::v8i32, 2, 0, 1,
34354 8, MVT::v4i64,
34355 OPC_CheckPatternPredicate0,
34356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_D),
34357 MVT::v4i64, 2, 0, 1,
34358 0,
34359 0,
34360 0,
34361 3|128,1, TARGET_VAL(ISD::MULHS),
34362 OPC_RecordChild0,
34363 OPC_RecordChild1,
34364 OPC_SwitchType , 21, MVT::i64,
34365 OPC_Scope, 9,
34366 OPC_CheckPatternPredicate, 15,
34367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
34368 MVT::i64, 2, 0, 1,
34369 8,
34370 OPC_CheckPatternPredicate6,
34371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
34372 MVT::i64, 2, 0, 1,
34373 0,
34374 22, MVT::i32,
34375 OPC_Scope, 9,
34376 OPC_CheckPatternPredicate, 9,
34377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
34378 MVT::i32, 2, 0, 1,
34379 9,
34380 OPC_CheckPatternPredicate, 10,
34381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
34382 MVT::i32, 2, 0, 1,
34383 0,
34384 8, MVT::v16i8,
34385 OPC_CheckPatternPredicate1,
34386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
34387 MVT::v16i8, 2, 0, 1,
34388 8, MVT::v8i16,
34389 OPC_CheckPatternPredicate1,
34390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
34391 MVT::v8i16, 2, 0, 1,
34392 8, MVT::v4i32,
34393 OPC_CheckPatternPredicate1,
34394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
34395 MVT::v4i32, 2, 0, 1,
34396 8, MVT::v2i64,
34397 OPC_CheckPatternPredicate1,
34398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
34399 MVT::v2i64, 2, 0, 1,
34400 8, MVT::v32i8,
34401 OPC_CheckPatternPredicate0,
34402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
34403 MVT::v32i8, 2, 0, 1,
34404 8, MVT::v16i16,
34405 OPC_CheckPatternPredicate0,
34406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
34407 MVT::v16i16, 2, 0, 1,
34408 8, MVT::v8i32,
34409 OPC_CheckPatternPredicate0,
34410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
34411 MVT::v8i32, 2, 0, 1,
34412 8, MVT::v4i64,
34413 OPC_CheckPatternPredicate0,
34414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
34415 MVT::v4i64, 2, 0, 1,
34416 0,
34417 3|128,1, TARGET_VAL(ISD::MULHU),
34418 OPC_RecordChild0,
34419 OPC_RecordChild1,
34420 OPC_SwitchType , 21, MVT::i64,
34421 OPC_Scope, 9,
34422 OPC_CheckPatternPredicate, 15,
34423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
34424 MVT::i64, 2, 0, 1,
34425 8,
34426 OPC_CheckPatternPredicate6,
34427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
34428 MVT::i64, 2, 0, 1,
34429 0,
34430 22, MVT::i32,
34431 OPC_Scope, 9,
34432 OPC_CheckPatternPredicate, 9,
34433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
34434 MVT::i32, 2, 0, 1,
34435 9,
34436 OPC_CheckPatternPredicate, 10,
34437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
34438 MVT::i32, 2, 0, 1,
34439 0,
34440 8, MVT::v16i8,
34441 OPC_CheckPatternPredicate1,
34442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
34443 MVT::v16i8, 2, 0, 1,
34444 8, MVT::v8i16,
34445 OPC_CheckPatternPredicate1,
34446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
34447 MVT::v8i16, 2, 0, 1,
34448 8, MVT::v4i32,
34449 OPC_CheckPatternPredicate1,
34450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
34451 MVT::v4i32, 2, 0, 1,
34452 8, MVT::v2i64,
34453 OPC_CheckPatternPredicate1,
34454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
34455 MVT::v2i64, 2, 0, 1,
34456 8, MVT::v32i8,
34457 OPC_CheckPatternPredicate0,
34458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
34459 MVT::v32i8, 2, 0, 1,
34460 8, MVT::v16i16,
34461 OPC_CheckPatternPredicate0,
34462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
34463 MVT::v16i16, 2, 0, 1,
34464 8, MVT::v8i32,
34465 OPC_CheckPatternPredicate0,
34466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
34467 MVT::v8i32, 2, 0, 1,
34468 8, MVT::v4i64,
34469 OPC_CheckPatternPredicate0,
34470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
34471 MVT::v4i64, 2, 0, 1,
34472 0,
34473 24, TARGET_VAL(ISD::DEBUGTRAP),
34474 OPC_RecordNode,
34475 OPC_Scope, 9,
34476 OPC_CheckPatternPredicate7,
34477 OPC_EmitMergeInputChains1_0,
34478 OPC_EmitInteger64, 0,
34479 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
34480 1, 1,
34481 10,
34482 OPC_CheckPatternPredicate, 8,
34483 OPC_EmitMergeInputChains1_0,
34484 OPC_EmitInteger32, 0,
34485 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
34486 1, 1,
34487 0,
34488 24, TARGET_VAL(LoongArchISD::REVB_2H),
34489 OPC_RecordChild0,
34490 OPC_SwitchType , 8, MVT::i64,
34491 OPC_CheckChild0TypeI64,
34492 OPC_CheckPatternPredicate7,
34493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
34494 MVT::i64, 1, 0,
34495 9, MVT::i32,
34496 OPC_CheckChild0TypeI32,
34497 OPC_CheckPatternPredicate, 8,
34498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
34499 MVT::i32, 1, 0,
34500 0,
34501 24, TARGET_VAL(LoongArchISD::BITREV_4B),
34502 OPC_RecordChild0,
34503 OPC_SwitchType , 8, MVT::i64,
34504 OPC_CheckChild0TypeI64,
34505 OPC_CheckPatternPredicate7,
34506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
34507 MVT::i64, 1, 0,
34508 9, MVT::i32,
34509 OPC_CheckChild0TypeI32,
34510 OPC_CheckPatternPredicate, 8,
34511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
34512 MVT::i32, 1, 0,
34513 0,
34514 24, TARGET_VAL(LoongArchISD::REVB_2W),
34515 OPC_RecordChild0,
34516 OPC_SwitchType , 8, MVT::i64,
34517 OPC_CheckChild0TypeI64,
34518 OPC_CheckPatternPredicate6,
34519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
34520 MVT::i64, 1, 0,
34521 9, MVT::i32,
34522 OPC_CheckChild0TypeI32,
34523 OPC_CheckPatternPredicate, 10,
34524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
34525 MVT::i32, 1, 0,
34526 0,
34527 24, TARGET_VAL(LoongArchISD::BITREV_W),
34528 OPC_RecordChild0,
34529 OPC_SwitchType , 8, MVT::i64,
34530 OPC_CheckChild0TypeI64,
34531 OPC_CheckPatternPredicate6,
34532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
34533 MVT::i64, 1, 0,
34534 9, MVT::i32,
34535 OPC_CheckChild0TypeI32,
34536 OPC_CheckPatternPredicate, 10,
34537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
34538 MVT::i32, 1, 0,
34539 0,
34540 12, TARGET_VAL(LoongArchISD::CRC_W_B_W),
34541 OPC_RecordNode,
34542 OPC_RecordChild1,
34543 OPC_RecordChild2,
34544 OPC_CheckPatternPredicate6,
34545 OPC_EmitMergeInputChains1_0,
34546 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_B_W),
34547 MVT::i64, 2, 1, 2,
34548 12, TARGET_VAL(LoongArchISD::CRC_W_H_W),
34549 OPC_RecordNode,
34550 OPC_RecordChild1,
34551 OPC_RecordChild2,
34552 OPC_CheckPatternPredicate6,
34553 OPC_EmitMergeInputChains1_0,
34554 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_H_W),
34555 MVT::i64, 2, 1, 2,
34556 12, TARGET_VAL(LoongArchISD::CRC_W_W_W),
34557 OPC_RecordNode,
34558 OPC_RecordChild1,
34559 OPC_RecordChild2,
34560 OPC_CheckPatternPredicate6,
34561 OPC_EmitMergeInputChains1_0,
34562 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_W_W),
34563 MVT::i64, 2, 1, 2,
34564 12, TARGET_VAL(LoongArchISD::CRC_W_D_W),
34565 OPC_RecordNode,
34566 OPC_RecordChild1,
34567 OPC_RecordChild2,
34568 OPC_CheckPatternPredicate6,
34569 OPC_EmitMergeInputChains1_0,
34570 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_D_W),
34571 MVT::i64, 2, 1, 2,
34572 12, TARGET_VAL(LoongArchISD::CRCC_W_B_W),
34573 OPC_RecordNode,
34574 OPC_RecordChild1,
34575 OPC_RecordChild2,
34576 OPC_CheckPatternPredicate6,
34577 OPC_EmitMergeInputChains1_0,
34578 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_B_W),
34579 MVT::i64, 2, 1, 2,
34580 12, TARGET_VAL(LoongArchISD::CRCC_W_H_W),
34581 OPC_RecordNode,
34582 OPC_RecordChild1,
34583 OPC_RecordChild2,
34584 OPC_CheckPatternPredicate6,
34585 OPC_EmitMergeInputChains1_0,
34586 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_H_W),
34587 MVT::i64, 2, 1, 2,
34588 12, TARGET_VAL(LoongArchISD::CRCC_W_W_W),
34589 OPC_RecordNode,
34590 OPC_RecordChild1,
34591 OPC_RecordChild2,
34592 OPC_CheckPatternPredicate6,
34593 OPC_EmitMergeInputChains1_0,
34594 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_W_W),
34595 MVT::i64, 2, 1, 2,
34596 12, TARGET_VAL(LoongArchISD::CRCC_W_D_W),
34597 OPC_RecordNode,
34598 OPC_RecordChild1,
34599 OPC_RecordChild2,
34600 OPC_CheckPatternPredicate6,
34601 OPC_EmitMergeInputChains1_0,
34602 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_D_W),
34603 MVT::i64, 2, 1, 2,
34604 32|128,6, TARGET_VAL(ISD::STRICT_FSETCC),
34605 OPC_RecordNode,
34606 OPC_RecordChild1,
34607 OPC_Scope, 12|128,3,
34608 OPC_CheckChild1Type, MVT::f32,
34609 OPC_RecordChild2,
34610 OPC_MoveChild3,
34611 OPC_Scope, 29,
34612 OPC_CheckCondCode, ISD::SETOEQ,
34613 OPC_MoveParent,
34614 OPC_SwitchType , 10, MVT::i64,
34615 OPC_CheckPatternPredicate, 11,
34616 OPC_EmitMergeInputChains1_0,
34617 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34618 MVT::i64, 2, 1, 2,
34619 10, MVT::i32,
34620 OPC_CheckPatternPredicate, 12,
34621 OPC_EmitMergeInputChains1_0,
34622 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34623 MVT::i32, 2, 1, 2,
34624 0,
34625 29,
34626 OPC_CheckCondCode, ISD::SETEQ,
34627 OPC_MoveParent,
34628 OPC_SwitchType , 10, MVT::i64,
34629 OPC_CheckPatternPredicate, 11,
34630 OPC_EmitMergeInputChains1_0,
34631 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34632 MVT::i64, 2, 1, 2,
34633 10, MVT::i32,
34634 OPC_CheckPatternPredicate, 12,
34635 OPC_EmitMergeInputChains1_0,
34636 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_S),
34637 MVT::i32, 2, 1, 2,
34638 0,
34639 29,
34640 OPC_CheckCondCode, ISD::SETOLT,
34641 OPC_MoveParent,
34642 OPC_SwitchType , 10, MVT::i64,
34643 OPC_CheckPatternPredicate, 11,
34644 OPC_EmitMergeInputChains1_0,
34645 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34646 MVT::i64, 2, 1, 2,
34647 10, MVT::i32,
34648 OPC_CheckPatternPredicate, 12,
34649 OPC_EmitMergeInputChains1_0,
34650 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34651 MVT::i32, 2, 1, 2,
34652 0,
34653 29,
34654 OPC_CheckCondCode, ISD::SETOLE,
34655 OPC_MoveParent,
34656 OPC_SwitchType , 10, MVT::i64,
34657 OPC_CheckPatternPredicate, 11,
34658 OPC_EmitMergeInputChains1_0,
34659 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34660 MVT::i64, 2, 1, 2,
34661 10, MVT::i32,
34662 OPC_CheckPatternPredicate, 12,
34663 OPC_EmitMergeInputChains1_0,
34664 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34665 MVT::i32, 2, 1, 2,
34666 0,
34667 29,
34668 OPC_CheckCondCode, ISD::SETLE,
34669 OPC_MoveParent,
34670 OPC_SwitchType , 10, MVT::i64,
34671 OPC_CheckPatternPredicate, 11,
34672 OPC_EmitMergeInputChains1_0,
34673 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34674 MVT::i64, 2, 1, 2,
34675 10, MVT::i32,
34676 OPC_CheckPatternPredicate, 12,
34677 OPC_EmitMergeInputChains1_0,
34678 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_S),
34679 MVT::i32, 2, 1, 2,
34680 0,
34681 29,
34682 OPC_CheckCondCode, ISD::SETONE,
34683 OPC_MoveParent,
34684 OPC_SwitchType , 10, MVT::i64,
34685 OPC_CheckPatternPredicate, 11,
34686 OPC_EmitMergeInputChains1_0,
34687 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_S),
34688 MVT::i64, 2, 1, 2,
34689 10, MVT::i32,
34690 OPC_CheckPatternPredicate, 12,
34691 OPC_EmitMergeInputChains1_0,
34692 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_S),
34693 MVT::i32, 2, 1, 2,
34694 0,
34695 29,
34696 OPC_CheckCondCode, ISD::SETO,
34697 OPC_MoveParent,
34698 OPC_SwitchType , 10, MVT::i64,
34699 OPC_CheckPatternPredicate, 11,
34700 OPC_EmitMergeInputChains1_0,
34701 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_S),
34702 MVT::i64, 2, 1, 2,
34703 10, MVT::i32,
34704 OPC_CheckPatternPredicate, 12,
34705 OPC_EmitMergeInputChains1_0,
34706 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_S),
34707 MVT::i32, 2, 1, 2,
34708 0,
34709 29,
34710 OPC_CheckCondCode, ISD::SETUEQ,
34711 OPC_MoveParent,
34712 OPC_SwitchType , 10, MVT::i64,
34713 OPC_CheckPatternPredicate, 11,
34714 OPC_EmitMergeInputChains1_0,
34715 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
34716 MVT::i64, 2, 1, 2,
34717 10, MVT::i32,
34718 OPC_CheckPatternPredicate, 12,
34719 OPC_EmitMergeInputChains1_0,
34720 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
34721 MVT::i32, 2, 1, 2,
34722 0,
34723 29,
34724 OPC_CheckCondCode, ISD::SETULT,
34725 OPC_MoveParent,
34726 OPC_SwitchType , 10, MVT::i64,
34727 OPC_CheckPatternPredicate, 11,
34728 OPC_EmitMergeInputChains1_0,
34729 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_S),
34730 MVT::i64, 2, 1, 2,
34731 10, MVT::i32,
34732 OPC_CheckPatternPredicate, 12,
34733 OPC_EmitMergeInputChains1_0,
34734 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_S),
34735 MVT::i32, 2, 1, 2,
34736 0,
34737 29,
34738 OPC_CheckCondCode, ISD::SETULE,
34739 OPC_MoveParent,
34740 OPC_SwitchType , 10, MVT::i64,
34741 OPC_CheckPatternPredicate, 11,
34742 OPC_EmitMergeInputChains1_0,
34743 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_S),
34744 MVT::i64, 2, 1, 2,
34745 10, MVT::i32,
34746 OPC_CheckPatternPredicate, 12,
34747 OPC_EmitMergeInputChains1_0,
34748 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_S),
34749 MVT::i32, 2, 1, 2,
34750 0,
34751 29,
34752 OPC_CheckCondCode, ISD::SETUNE,
34753 OPC_MoveParent,
34754 OPC_SwitchType , 10, MVT::i64,
34755 OPC_CheckPatternPredicate, 11,
34756 OPC_EmitMergeInputChains1_0,
34757 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_S),
34758 MVT::i64, 2, 1, 2,
34759 10, MVT::i32,
34760 OPC_CheckPatternPredicate, 12,
34761 OPC_EmitMergeInputChains1_0,
34762 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_S),
34763 MVT::i32, 2, 1, 2,
34764 0,
34765 29,
34766 OPC_CheckCondCode, ISD::SETUO,
34767 OPC_MoveParent,
34768 OPC_SwitchType , 10, MVT::i64,
34769 OPC_CheckPatternPredicate, 11,
34770 OPC_EmitMergeInputChains1_0,
34771 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_S),
34772 MVT::i64, 2, 1, 2,
34773 10, MVT::i32,
34774 OPC_CheckPatternPredicate, 12,
34775 OPC_EmitMergeInputChains1_0,
34776 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_S),
34777 MVT::i32, 2, 1, 2,
34778 0,
34779 29,
34780 OPC_CheckCondCode, ISD::SETLT,
34781 OPC_MoveParent,
34782 OPC_SwitchType , 10, MVT::i64,
34783 OPC_CheckPatternPredicate, 11,
34784 OPC_EmitMergeInputChains1_0,
34785 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34786 MVT::i64, 2, 1, 2,
34787 10, MVT::i32,
34788 OPC_CheckPatternPredicate, 12,
34789 OPC_EmitMergeInputChains1_0,
34790 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34791 MVT::i32, 2, 1, 2,
34792 0,
34793 0,
34794 12|128,3,
34795 OPC_CheckChild1Type, MVT::f64,
34796 OPC_RecordChild2,
34797 OPC_MoveChild3,
34798 OPC_Scope, 29,
34799 OPC_CheckCondCode, ISD::SETOEQ,
34800 OPC_MoveParent,
34801 OPC_SwitchType , 10, MVT::i64,
34802 OPC_CheckPatternPredicate, 13,
34803 OPC_EmitMergeInputChains1_0,
34804 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34805 MVT::i64, 2, 1, 2,
34806 10, MVT::i32,
34807 OPC_CheckPatternPredicate, 14,
34808 OPC_EmitMergeInputChains1_0,
34809 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34810 MVT::i32, 2, 1, 2,
34811 0,
34812 29,
34813 OPC_CheckCondCode, ISD::SETEQ,
34814 OPC_MoveParent,
34815 OPC_SwitchType , 10, MVT::i64,
34816 OPC_CheckPatternPredicate, 13,
34817 OPC_EmitMergeInputChains1_0,
34818 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34819 MVT::i64, 2, 1, 2,
34820 10, MVT::i32,
34821 OPC_CheckPatternPredicate, 14,
34822 OPC_EmitMergeInputChains1_0,
34823 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_D),
34824 MVT::i32, 2, 1, 2,
34825 0,
34826 29,
34827 OPC_CheckCondCode, ISD::SETOLT,
34828 OPC_MoveParent,
34829 OPC_SwitchType , 10, MVT::i64,
34830 OPC_CheckPatternPredicate, 13,
34831 OPC_EmitMergeInputChains1_0,
34832 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34833 MVT::i64, 2, 1, 2,
34834 10, MVT::i32,
34835 OPC_CheckPatternPredicate, 14,
34836 OPC_EmitMergeInputChains1_0,
34837 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34838 MVT::i32, 2, 1, 2,
34839 0,
34840 29,
34841 OPC_CheckCondCode, ISD::SETOLE,
34842 OPC_MoveParent,
34843 OPC_SwitchType , 10, MVT::i64,
34844 OPC_CheckPatternPredicate, 13,
34845 OPC_EmitMergeInputChains1_0,
34846 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34847 MVT::i64, 2, 1, 2,
34848 10, MVT::i32,
34849 OPC_CheckPatternPredicate, 14,
34850 OPC_EmitMergeInputChains1_0,
34851 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34852 MVT::i32, 2, 1, 2,
34853 0,
34854 29,
34855 OPC_CheckCondCode, ISD::SETLE,
34856 OPC_MoveParent,
34857 OPC_SwitchType , 10, MVT::i64,
34858 OPC_CheckPatternPredicate, 13,
34859 OPC_EmitMergeInputChains1_0,
34860 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34861 MVT::i64, 2, 1, 2,
34862 10, MVT::i32,
34863 OPC_CheckPatternPredicate, 14,
34864 OPC_EmitMergeInputChains1_0,
34865 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_D),
34866 MVT::i32, 2, 1, 2,
34867 0,
34868 29,
34869 OPC_CheckCondCode, ISD::SETONE,
34870 OPC_MoveParent,
34871 OPC_SwitchType , 10, MVT::i64,
34872 OPC_CheckPatternPredicate, 13,
34873 OPC_EmitMergeInputChains1_0,
34874 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_D),
34875 MVT::i64, 2, 1, 2,
34876 10, MVT::i32,
34877 OPC_CheckPatternPredicate, 14,
34878 OPC_EmitMergeInputChains1_0,
34879 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_D),
34880 MVT::i32, 2, 1, 2,
34881 0,
34882 29,
34883 OPC_CheckCondCode, ISD::SETO,
34884 OPC_MoveParent,
34885 OPC_SwitchType , 10, MVT::i64,
34886 OPC_CheckPatternPredicate, 13,
34887 OPC_EmitMergeInputChains1_0,
34888 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_D),
34889 MVT::i64, 2, 1, 2,
34890 10, MVT::i32,
34891 OPC_CheckPatternPredicate, 14,
34892 OPC_EmitMergeInputChains1_0,
34893 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_D),
34894 MVT::i32, 2, 1, 2,
34895 0,
34896 29,
34897 OPC_CheckCondCode, ISD::SETUEQ,
34898 OPC_MoveParent,
34899 OPC_SwitchType , 10, MVT::i64,
34900 OPC_CheckPatternPredicate, 13,
34901 OPC_EmitMergeInputChains1_0,
34902 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
34903 MVT::i64, 2, 1, 2,
34904 10, MVT::i32,
34905 OPC_CheckPatternPredicate, 14,
34906 OPC_EmitMergeInputChains1_0,
34907 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
34908 MVT::i32, 2, 1, 2,
34909 0,
34910 29,
34911 OPC_CheckCondCode, ISD::SETULT,
34912 OPC_MoveParent,
34913 OPC_SwitchType , 10, MVT::i64,
34914 OPC_CheckPatternPredicate, 13,
34915 OPC_EmitMergeInputChains1_0,
34916 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_D),
34917 MVT::i64, 2, 1, 2,
34918 10, MVT::i32,
34919 OPC_CheckPatternPredicate, 14,
34920 OPC_EmitMergeInputChains1_0,
34921 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_D),
34922 MVT::i32, 2, 1, 2,
34923 0,
34924 29,
34925 OPC_CheckCondCode, ISD::SETULE,
34926 OPC_MoveParent,
34927 OPC_SwitchType , 10, MVT::i64,
34928 OPC_CheckPatternPredicate, 13,
34929 OPC_EmitMergeInputChains1_0,
34930 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_D),
34931 MVT::i64, 2, 1, 2,
34932 10, MVT::i32,
34933 OPC_CheckPatternPredicate, 14,
34934 OPC_EmitMergeInputChains1_0,
34935 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_D),
34936 MVT::i32, 2, 1, 2,
34937 0,
34938 29,
34939 OPC_CheckCondCode, ISD::SETUNE,
34940 OPC_MoveParent,
34941 OPC_SwitchType , 10, MVT::i64,
34942 OPC_CheckPatternPredicate, 13,
34943 OPC_EmitMergeInputChains1_0,
34944 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_D),
34945 MVT::i64, 2, 1, 2,
34946 10, MVT::i32,
34947 OPC_CheckPatternPredicate, 14,
34948 OPC_EmitMergeInputChains1_0,
34949 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_D),
34950 MVT::i32, 2, 1, 2,
34951 0,
34952 29,
34953 OPC_CheckCondCode, ISD::SETUO,
34954 OPC_MoveParent,
34955 OPC_SwitchType , 10, MVT::i64,
34956 OPC_CheckPatternPredicate, 13,
34957 OPC_EmitMergeInputChains1_0,
34958 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_D),
34959 MVT::i64, 2, 1, 2,
34960 10, MVT::i32,
34961 OPC_CheckPatternPredicate, 14,
34962 OPC_EmitMergeInputChains1_0,
34963 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_D),
34964 MVT::i32, 2, 1, 2,
34965 0,
34966 29,
34967 OPC_CheckCondCode, ISD::SETLT,
34968 OPC_MoveParent,
34969 OPC_SwitchType , 10, MVT::i64,
34970 OPC_CheckPatternPredicate, 13,
34971 OPC_EmitMergeInputChains1_0,
34972 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34973 MVT::i64, 2, 1, 2,
34974 10, MVT::i32,
34975 OPC_CheckPatternPredicate, 14,
34976 OPC_EmitMergeInputChains1_0,
34977 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34978 MVT::i32, 2, 1, 2,
34979 0,
34980 0,
34981 0,
34982 40|128,5, TARGET_VAL(ISD::STRICT_FSETCCS),
34983 OPC_RecordNode,
34984 OPC_RecordChild1,
34985 OPC_Scope, 80|128,2,
34986 OPC_CheckChild1Type, MVT::f32,
34987 OPC_RecordChild2,
34988 OPC_MoveChild3,
34989 OPC_Scope, 29,
34990 OPC_CheckCondCode, ISD::SETOEQ,
34991 OPC_MoveParent,
34992 OPC_SwitchType , 10, MVT::i64,
34993 OPC_CheckPatternPredicate, 11,
34994 OPC_EmitMergeInputChains1_0,
34995 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_S),
34996 MVT::i64, 2, 1, 2,
34997 10, MVT::i32,
34998 OPC_CheckPatternPredicate, 12,
34999 OPC_EmitMergeInputChains1_0,
35000 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_S),
35001 MVT::i32, 2, 1, 2,
35002 0,
35003 29,
35004 OPC_CheckCondCode, ISD::SETOLT,
35005 OPC_MoveParent,
35006 OPC_SwitchType , 10, MVT::i64,
35007 OPC_CheckPatternPredicate, 11,
35008 OPC_EmitMergeInputChains1_0,
35009 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35010 MVT::i64, 2, 1, 2,
35011 10, MVT::i32,
35012 OPC_CheckPatternPredicate, 12,
35013 OPC_EmitMergeInputChains1_0,
35014 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35015 MVT::i32, 2, 1, 2,
35016 0,
35017 29,
35018 OPC_CheckCondCode, ISD::SETOLE,
35019 OPC_MoveParent,
35020 OPC_SwitchType , 10, MVT::i64,
35021 OPC_CheckPatternPredicate, 11,
35022 OPC_EmitMergeInputChains1_0,
35023 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_S),
35024 MVT::i64, 2, 1, 2,
35025 10, MVT::i32,
35026 OPC_CheckPatternPredicate, 12,
35027 OPC_EmitMergeInputChains1_0,
35028 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_S),
35029 MVT::i32, 2, 1, 2,
35030 0,
35031 29,
35032 OPC_CheckCondCode, ISD::SETONE,
35033 OPC_MoveParent,
35034 OPC_SwitchType , 10, MVT::i64,
35035 OPC_CheckPatternPredicate, 11,
35036 OPC_EmitMergeInputChains1_0,
35037 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_S),
35038 MVT::i64, 2, 1, 2,
35039 10, MVT::i32,
35040 OPC_CheckPatternPredicate, 12,
35041 OPC_EmitMergeInputChains1_0,
35042 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_S),
35043 MVT::i32, 2, 1, 2,
35044 0,
35045 29,
35046 OPC_CheckCondCode, ISD::SETO,
35047 OPC_MoveParent,
35048 OPC_SwitchType , 10, MVT::i64,
35049 OPC_CheckPatternPredicate, 11,
35050 OPC_EmitMergeInputChains1_0,
35051 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_S),
35052 MVT::i64, 2, 1, 2,
35053 10, MVT::i32,
35054 OPC_CheckPatternPredicate, 12,
35055 OPC_EmitMergeInputChains1_0,
35056 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_S),
35057 MVT::i32, 2, 1, 2,
35058 0,
35059 29,
35060 OPC_CheckCondCode, ISD::SETUEQ,
35061 OPC_MoveParent,
35062 OPC_SwitchType , 10, MVT::i64,
35063 OPC_CheckPatternPredicate, 11,
35064 OPC_EmitMergeInputChains1_0,
35065 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_S),
35066 MVT::i64, 2, 1, 2,
35067 10, MVT::i32,
35068 OPC_CheckPatternPredicate, 12,
35069 OPC_EmitMergeInputChains1_0,
35070 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_S),
35071 MVT::i32, 2, 1, 2,
35072 0,
35073 29,
35074 OPC_CheckCondCode, ISD::SETULT,
35075 OPC_MoveParent,
35076 OPC_SwitchType , 10, MVT::i64,
35077 OPC_CheckPatternPredicate, 11,
35078 OPC_EmitMergeInputChains1_0,
35079 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_S),
35080 MVT::i64, 2, 1, 2,
35081 10, MVT::i32,
35082 OPC_CheckPatternPredicate, 12,
35083 OPC_EmitMergeInputChains1_0,
35084 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_S),
35085 MVT::i32, 2, 1, 2,
35086 0,
35087 29,
35088 OPC_CheckCondCode, ISD::SETULE,
35089 OPC_MoveParent,
35090 OPC_SwitchType , 10, MVT::i64,
35091 OPC_CheckPatternPredicate, 11,
35092 OPC_EmitMergeInputChains1_0,
35093 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_S),
35094 MVT::i64, 2, 1, 2,
35095 10, MVT::i32,
35096 OPC_CheckPatternPredicate, 12,
35097 OPC_EmitMergeInputChains1_0,
35098 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_S),
35099 MVT::i32, 2, 1, 2,
35100 0,
35101 29,
35102 OPC_CheckCondCode, ISD::SETUNE,
35103 OPC_MoveParent,
35104 OPC_SwitchType , 10, MVT::i64,
35105 OPC_CheckPatternPredicate, 11,
35106 OPC_EmitMergeInputChains1_0,
35107 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_S),
35108 MVT::i64, 2, 1, 2,
35109 10, MVT::i32,
35110 OPC_CheckPatternPredicate, 12,
35111 OPC_EmitMergeInputChains1_0,
35112 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_S),
35113 MVT::i32, 2, 1, 2,
35114 0,
35115 29,
35116 OPC_CheckCondCode, ISD::SETUO,
35117 OPC_MoveParent,
35118 OPC_SwitchType , 10, MVT::i64,
35119 OPC_CheckPatternPredicate, 11,
35120 OPC_EmitMergeInputChains1_0,
35121 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_S),
35122 MVT::i64, 2, 1, 2,
35123 10, MVT::i32,
35124 OPC_CheckPatternPredicate, 12,
35125 OPC_EmitMergeInputChains1_0,
35126 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_S),
35127 MVT::i32, 2, 1, 2,
35128 0,
35129 29,
35130 OPC_CheckCondCode, ISD::SETLT,
35131 OPC_MoveParent,
35132 OPC_SwitchType , 10, MVT::i64,
35133 OPC_CheckPatternPredicate, 11,
35134 OPC_EmitMergeInputChains1_0,
35135 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35136 MVT::i64, 2, 1, 2,
35137 10, MVT::i32,
35138 OPC_CheckPatternPredicate, 12,
35139 OPC_EmitMergeInputChains1_0,
35140 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35141 MVT::i32, 2, 1, 2,
35142 0,
35143 0,
35144 80|128,2,
35145 OPC_CheckChild1Type, MVT::f64,
35146 OPC_RecordChild2,
35147 OPC_MoveChild3,
35148 OPC_Scope, 29,
35149 OPC_CheckCondCode, ISD::SETOEQ,
35150 OPC_MoveParent,
35151 OPC_SwitchType , 10, MVT::i64,
35152 OPC_CheckPatternPredicate, 13,
35153 OPC_EmitMergeInputChains1_0,
35154 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_D),
35155 MVT::i64, 2, 1, 2,
35156 10, MVT::i32,
35157 OPC_CheckPatternPredicate, 14,
35158 OPC_EmitMergeInputChains1_0,
35159 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_D),
35160 MVT::i32, 2, 1, 2,
35161 0,
35162 29,
35163 OPC_CheckCondCode, ISD::SETOLT,
35164 OPC_MoveParent,
35165 OPC_SwitchType , 10, MVT::i64,
35166 OPC_CheckPatternPredicate, 13,
35167 OPC_EmitMergeInputChains1_0,
35168 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35169 MVT::i64, 2, 1, 2,
35170 10, MVT::i32,
35171 OPC_CheckPatternPredicate, 14,
35172 OPC_EmitMergeInputChains1_0,
35173 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35174 MVT::i32, 2, 1, 2,
35175 0,
35176 29,
35177 OPC_CheckCondCode, ISD::SETOLE,
35178 OPC_MoveParent,
35179 OPC_SwitchType , 10, MVT::i64,
35180 OPC_CheckPatternPredicate, 13,
35181 OPC_EmitMergeInputChains1_0,
35182 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_D),
35183 MVT::i64, 2, 1, 2,
35184 10, MVT::i32,
35185 OPC_CheckPatternPredicate, 14,
35186 OPC_EmitMergeInputChains1_0,
35187 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_D),
35188 MVT::i32, 2, 1, 2,
35189 0,
35190 29,
35191 OPC_CheckCondCode, ISD::SETONE,
35192 OPC_MoveParent,
35193 OPC_SwitchType , 10, MVT::i64,
35194 OPC_CheckPatternPredicate, 13,
35195 OPC_EmitMergeInputChains1_0,
35196 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_D),
35197 MVT::i64, 2, 1, 2,
35198 10, MVT::i32,
35199 OPC_CheckPatternPredicate, 14,
35200 OPC_EmitMergeInputChains1_0,
35201 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_D),
35202 MVT::i32, 2, 1, 2,
35203 0,
35204 29,
35205 OPC_CheckCondCode, ISD::SETO,
35206 OPC_MoveParent,
35207 OPC_SwitchType , 10, MVT::i64,
35208 OPC_CheckPatternPredicate, 13,
35209 OPC_EmitMergeInputChains1_0,
35210 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_D),
35211 MVT::i64, 2, 1, 2,
35212 10, MVT::i32,
35213 OPC_CheckPatternPredicate, 14,
35214 OPC_EmitMergeInputChains1_0,
35215 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_D),
35216 MVT::i32, 2, 1, 2,
35217 0,
35218 29,
35219 OPC_CheckCondCode, ISD::SETUEQ,
35220 OPC_MoveParent,
35221 OPC_SwitchType , 10, MVT::i64,
35222 OPC_CheckPatternPredicate, 13,
35223 OPC_EmitMergeInputChains1_0,
35224 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_D),
35225 MVT::i64, 2, 1, 2,
35226 10, MVT::i32,
35227 OPC_CheckPatternPredicate, 14,
35228 OPC_EmitMergeInputChains1_0,
35229 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_D),
35230 MVT::i32, 2, 1, 2,
35231 0,
35232 29,
35233 OPC_CheckCondCode, ISD::SETULT,
35234 OPC_MoveParent,
35235 OPC_SwitchType , 10, MVT::i64,
35236 OPC_CheckPatternPredicate, 13,
35237 OPC_EmitMergeInputChains1_0,
35238 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_D),
35239 MVT::i64, 2, 1, 2,
35240 10, MVT::i32,
35241 OPC_CheckPatternPredicate, 14,
35242 OPC_EmitMergeInputChains1_0,
35243 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_D),
35244 MVT::i32, 2, 1, 2,
35245 0,
35246 29,
35247 OPC_CheckCondCode, ISD::SETULE,
35248 OPC_MoveParent,
35249 OPC_SwitchType , 10, MVT::i64,
35250 OPC_CheckPatternPredicate, 13,
35251 OPC_EmitMergeInputChains1_0,
35252 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_D),
35253 MVT::i64, 2, 1, 2,
35254 10, MVT::i32,
35255 OPC_CheckPatternPredicate, 14,
35256 OPC_EmitMergeInputChains1_0,
35257 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_D),
35258 MVT::i32, 2, 1, 2,
35259 0,
35260 29,
35261 OPC_CheckCondCode, ISD::SETUNE,
35262 OPC_MoveParent,
35263 OPC_SwitchType , 10, MVT::i64,
35264 OPC_CheckPatternPredicate, 13,
35265 OPC_EmitMergeInputChains1_0,
35266 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_D),
35267 MVT::i64, 2, 1, 2,
35268 10, MVT::i32,
35269 OPC_CheckPatternPredicate, 14,
35270 OPC_EmitMergeInputChains1_0,
35271 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_D),
35272 MVT::i32, 2, 1, 2,
35273 0,
35274 29,
35275 OPC_CheckCondCode, ISD::SETUO,
35276 OPC_MoveParent,
35277 OPC_SwitchType , 10, MVT::i64,
35278 OPC_CheckPatternPredicate, 13,
35279 OPC_EmitMergeInputChains1_0,
35280 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_D),
35281 MVT::i64, 2, 1, 2,
35282 10, MVT::i32,
35283 OPC_CheckPatternPredicate, 14,
35284 OPC_EmitMergeInputChains1_0,
35285 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_D),
35286 MVT::i32, 2, 1, 2,
35287 0,
35288 29,
35289 OPC_CheckCondCode, ISD::SETLT,
35290 OPC_MoveParent,
35291 OPC_SwitchType , 10, MVT::i64,
35292 OPC_CheckPatternPredicate, 13,
35293 OPC_EmitMergeInputChains1_0,
35294 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35295 MVT::i64, 2, 1, 2,
35296 10, MVT::i32,
35297 OPC_CheckPatternPredicate, 14,
35298 OPC_EmitMergeInputChains1_0,
35299 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35300 MVT::i32, 2, 1, 2,
35301 0,
35302 0,
35303 0,
35304 9, TARGET_VAL(LoongArchISD::MOVFR2GR_S_LA64),
35305 OPC_RecordChild0,
35306 OPC_CheckPatternPredicate, 21,
35307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
35308 MVT::i64, 1, 0,
35309 76, TARGET_VAL(ISD::BITCAST),
35310 OPC_RecordChild0,
35311 OPC_Scope, 11,
35312 OPC_CheckChild0Type, MVT::f32,
35313 OPC_CheckTypeI32,
35314 OPC_CheckPatternPredicate, 23,
35315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
35316 MVT::i32, 1, 0,
35317 24,
35318 OPC_CheckChild0Type, MVT::f64,
35319 OPC_SwitchType , 8, MVT::i64,
35320 OPC_CheckPatternPredicate, 19,
35321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
35322 MVT::i64, 1, 0,
35323 8, MVT::i32,
35324 OPC_CheckPatternPredicate, 20,
35325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
35326 MVT::i32, 1, 0,
35327 0,
35328 23,
35329 OPC_CheckChild0TypeI32,
35330 OPC_SwitchType , 8, MVT::f32,
35331 OPC_CheckPatternPredicate, 23,
35332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
35333 MVT::f32, 1, 0,
35334 8, MVT::f64,
35335 OPC_CheckPatternPredicate, 20,
35336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
35337 MVT::f64, 1, 0,
35338 0,
35339 11,
35340 OPC_CheckChild0TypeI64,
35341 OPC_CheckType, MVT::f64,
35342 OPC_CheckPatternPredicate, 19,
35343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
35344 MVT::f64, 1, 0,
35345 0,
35346 27, TARGET_VAL(LoongArchISD::IOCSRRD_B),
35347 OPC_RecordNode,
35348 OPC_RecordChild1,
35349 OPC_SwitchType , 9, MVT::i64,
35350 OPC_CheckChild1TypeI64,
35351 OPC_CheckPatternPredicate7,
35352 OPC_EmitMergeInputChains1_0,
35353 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
35354 MVT::i64, 1, 1,
35355 10, MVT::i32,
35356 OPC_CheckChild1TypeI32,
35357 OPC_CheckPatternPredicate, 8,
35358 OPC_EmitMergeInputChains1_0,
35359 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
35360 MVT::i32, 1, 1,
35361 0,
35362 27, TARGET_VAL(LoongArchISD::IOCSRRD_H),
35363 OPC_RecordNode,
35364 OPC_RecordChild1,
35365 OPC_SwitchType , 9, MVT::i64,
35366 OPC_CheckChild1TypeI64,
35367 OPC_CheckPatternPredicate7,
35368 OPC_EmitMergeInputChains1_0,
35369 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
35370 MVT::i64, 1, 1,
35371 10, MVT::i32,
35372 OPC_CheckChild1TypeI32,
35373 OPC_CheckPatternPredicate, 8,
35374 OPC_EmitMergeInputChains1_0,
35375 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
35376 MVT::i32, 1, 1,
35377 0,
35378 27, TARGET_VAL(LoongArchISD::IOCSRRD_W),
35379 OPC_RecordNode,
35380 OPC_RecordChild1,
35381 OPC_SwitchType , 9, MVT::i64,
35382 OPC_CheckChild1TypeI64,
35383 OPC_CheckPatternPredicate7,
35384 OPC_EmitMergeInputChains1_0,
35385 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
35386 MVT::i64, 1, 1,
35387 10, MVT::i32,
35388 OPC_CheckChild1TypeI32,
35389 OPC_CheckPatternPredicate, 8,
35390 OPC_EmitMergeInputChains1_0,
35391 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
35392 MVT::i32, 1, 1,
35393 0,
35394 27, TARGET_VAL(LoongArchISD::IOCSRWR_B),
35395 OPC_RecordNode,
35396 OPC_RecordChild1,
35397 OPC_Scope, 10,
35398 OPC_CheckChild1TypeI64,
35399 OPC_RecordChild2,
35400 OPC_CheckPatternPredicate7,
35401 OPC_EmitMergeInputChains1_0,
35402 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
35403 2, 1, 2,
35404 11,
35405 OPC_CheckChild1TypeI32,
35406 OPC_RecordChild2,
35407 OPC_CheckPatternPredicate, 8,
35408 OPC_EmitMergeInputChains1_0,
35409 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
35410 2, 1, 2,
35411 0,
35412 27, TARGET_VAL(LoongArchISD::IOCSRWR_H),
35413 OPC_RecordNode,
35414 OPC_RecordChild1,
35415 OPC_Scope, 10,
35416 OPC_CheckChild1TypeI64,
35417 OPC_RecordChild2,
35418 OPC_CheckPatternPredicate7,
35419 OPC_EmitMergeInputChains1_0,
35420 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
35421 2, 1, 2,
35422 11,
35423 OPC_CheckChild1TypeI32,
35424 OPC_RecordChild2,
35425 OPC_CheckPatternPredicate, 8,
35426 OPC_EmitMergeInputChains1_0,
35427 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
35428 2, 1, 2,
35429 0,
35430 27, TARGET_VAL(LoongArchISD::IOCSRWR_W),
35431 OPC_RecordNode,
35432 OPC_RecordChild1,
35433 OPC_Scope, 10,
35434 OPC_CheckChild1TypeI64,
35435 OPC_RecordChild2,
35436 OPC_CheckPatternPredicate7,
35437 OPC_EmitMergeInputChains1_0,
35438 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
35439 2, 1, 2,
35440 11,
35441 OPC_CheckChild1TypeI32,
35442 OPC_RecordChild2,
35443 OPC_CheckPatternPredicate, 8,
35444 OPC_EmitMergeInputChains1_0,
35445 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
35446 2, 1, 2,
35447 0,
35448 27, TARGET_VAL(LoongArchISD::CPUCFG),
35449 OPC_RecordNode,
35450 OPC_RecordChild1,
35451 OPC_SwitchType , 9, MVT::i64,
35452 OPC_CheckChild1TypeI64,
35453 OPC_CheckPatternPredicate7,
35454 OPC_EmitMergeInputChains1_0,
35455 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
35456 MVT::i64, 1, 1,
35457 10, MVT::i32,
35458 OPC_CheckChild1TypeI32,
35459 OPC_CheckPatternPredicate, 8,
35460 OPC_EmitMergeInputChains1_0,
35461 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
35462 MVT::i32, 1, 1,
35463 0,
35464 27, TARGET_VAL(LoongArchISD::IOCSRRD_D),
35465 OPC_RecordNode,
35466 OPC_RecordChild1,
35467 OPC_SwitchType , 9, MVT::i64,
35468 OPC_CheckChild1TypeI64,
35469 OPC_CheckPatternPredicate6,
35470 OPC_EmitMergeInputChains1_0,
35471 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
35472 MVT::i64, 1, 1,
35473 10, MVT::i32,
35474 OPC_CheckChild1TypeI32,
35475 OPC_CheckPatternPredicate, 10,
35476 OPC_EmitMergeInputChains1_0,
35477 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
35478 MVT::i32, 1, 1,
35479 0,
35480 27, TARGET_VAL(LoongArchISD::IOCSRWR_D),
35481 OPC_RecordNode,
35482 OPC_RecordChild1,
35483 OPC_Scope, 10,
35484 OPC_CheckChild1TypeI64,
35485 OPC_RecordChild2,
35486 OPC_CheckPatternPredicate6,
35487 OPC_EmitMergeInputChains1_0,
35488 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
35489 2, 1, 2,
35490 11,
35491 OPC_CheckChild1TypeI32,
35492 OPC_RecordChild2,
35493 OPC_CheckPatternPredicate, 10,
35494 OPC_EmitMergeInputChains1_0,
35495 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
35496 2, 1, 2,
35497 0,
35498 59|128,1, TARGET_VAL(LoongArchISD::VALL_NONZERO),
35499 OPC_RecordChild0,
35500 OPC_Scope, 22,
35501 OPC_CheckChild0Type, MVT::v16i8,
35502 OPC_SwitchType , 7, MVT::i64,
35503 OPC_CheckPatternPredicate2,
35504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
35505 MVT::i64, 1, 0,
35506 7, MVT::i32,
35507 OPC_CheckPatternPredicate5,
35508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
35509 MVT::i32, 1, 0,
35510 0,
35511 22,
35512 OPC_CheckChild0Type, MVT::v8i16,
35513 OPC_SwitchType , 7, MVT::i64,
35514 OPC_CheckPatternPredicate2,
35515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
35516 MVT::i64, 1, 0,
35517 7, MVT::i32,
35518 OPC_CheckPatternPredicate5,
35519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
35520 MVT::i32, 1, 0,
35521 0,
35522 22,
35523 OPC_CheckChild0Type, MVT::v4i32,
35524 OPC_SwitchType , 7, MVT::i64,
35525 OPC_CheckPatternPredicate2,
35526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
35527 MVT::i64, 1, 0,
35528 7, MVT::i32,
35529 OPC_CheckPatternPredicate5,
35530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
35531 MVT::i32, 1, 0,
35532 0,
35533 22,
35534 OPC_CheckChild0Type, MVT::v2i64,
35535 OPC_SwitchType , 7, MVT::i64,
35536 OPC_CheckPatternPredicate2,
35537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
35538 MVT::i64, 1, 0,
35539 7, MVT::i32,
35540 OPC_CheckPatternPredicate5,
35541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
35542 MVT::i32, 1, 0,
35543 0,
35544 22,
35545 OPC_CheckChild0Type, MVT::v32i8,
35546 OPC_SwitchType , 7, MVT::i64,
35547 OPC_CheckPatternPredicate3,
35548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
35549 MVT::i64, 1, 0,
35550 7, MVT::i32,
35551 OPC_CheckPatternPredicate4,
35552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
35553 MVT::i32, 1, 0,
35554 0,
35555 22,
35556 OPC_CheckChild0Type, MVT::v16i16,
35557 OPC_SwitchType , 7, MVT::i64,
35558 OPC_CheckPatternPredicate3,
35559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
35560 MVT::i64, 1, 0,
35561 7, MVT::i32,
35562 OPC_CheckPatternPredicate4,
35563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
35564 MVT::i32, 1, 0,
35565 0,
35566 22,
35567 OPC_CheckChild0Type, MVT::v8i32,
35568 OPC_SwitchType , 7, MVT::i64,
35569 OPC_CheckPatternPredicate3,
35570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
35571 MVT::i64, 1, 0,
35572 7, MVT::i32,
35573 OPC_CheckPatternPredicate4,
35574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
35575 MVT::i32, 1, 0,
35576 0,
35577 22,
35578 OPC_CheckChild0Type, MVT::v4i64,
35579 OPC_SwitchType , 7, MVT::i64,
35580 OPC_CheckPatternPredicate3,
35581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
35582 MVT::i64, 1, 0,
35583 7, MVT::i32,
35584 OPC_CheckPatternPredicate4,
35585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
35586 MVT::i32, 1, 0,
35587 0,
35588 0,
35589 49, TARGET_VAL(LoongArchISD::VANY_NONZERO),
35590 OPC_RecordChild0,
35591 OPC_Scope, 22,
35592 OPC_CheckChild0Type, MVT::v16i8,
35593 OPC_SwitchType , 7, MVT::i64,
35594 OPC_CheckPatternPredicate2,
35595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
35596 MVT::i64, 1, 0,
35597 7, MVT::i32,
35598 OPC_CheckPatternPredicate5,
35599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
35600 MVT::i32, 1, 0,
35601 0,
35602 22,
35603 OPC_CheckChild0Type, MVT::v32i8,
35604 OPC_SwitchType , 7, MVT::i64,
35605 OPC_CheckPatternPredicate3,
35606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
35607 MVT::i64, 1, 0,
35608 7, MVT::i32,
35609 OPC_CheckPatternPredicate4,
35610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
35611 MVT::i32, 1, 0,
35612 0,
35613 0,
35614 59|128,1, TARGET_VAL(LoongArchISD::VALL_ZERO),
35615 OPC_RecordChild0,
35616 OPC_Scope, 22,
35617 OPC_CheckChild0Type, MVT::v16i8,
35618 OPC_SwitchType , 7, MVT::i64,
35619 OPC_CheckPatternPredicate2,
35620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
35621 MVT::i64, 1, 0,
35622 7, MVT::i32,
35623 OPC_CheckPatternPredicate5,
35624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
35625 MVT::i32, 1, 0,
35626 0,
35627 22,
35628 OPC_CheckChild0Type, MVT::v8i16,
35629 OPC_SwitchType , 7, MVT::i64,
35630 OPC_CheckPatternPredicate2,
35631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
35632 MVT::i64, 1, 0,
35633 7, MVT::i32,
35634 OPC_CheckPatternPredicate5,
35635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
35636 MVT::i32, 1, 0,
35637 0,
35638 22,
35639 OPC_CheckChild0Type, MVT::v4i32,
35640 OPC_SwitchType , 7, MVT::i64,
35641 OPC_CheckPatternPredicate2,
35642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
35643 MVT::i64, 1, 0,
35644 7, MVT::i32,
35645 OPC_CheckPatternPredicate5,
35646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
35647 MVT::i32, 1, 0,
35648 0,
35649 22,
35650 OPC_CheckChild0Type, MVT::v2i64,
35651 OPC_SwitchType , 7, MVT::i64,
35652 OPC_CheckPatternPredicate2,
35653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
35654 MVT::i64, 1, 0,
35655 7, MVT::i32,
35656 OPC_CheckPatternPredicate5,
35657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
35658 MVT::i32, 1, 0,
35659 0,
35660 22,
35661 OPC_CheckChild0Type, MVT::v32i8,
35662 OPC_SwitchType , 7, MVT::i64,
35663 OPC_CheckPatternPredicate3,
35664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
35665 MVT::i64, 1, 0,
35666 7, MVT::i32,
35667 OPC_CheckPatternPredicate4,
35668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
35669 MVT::i32, 1, 0,
35670 0,
35671 22,
35672 OPC_CheckChild0Type, MVT::v16i16,
35673 OPC_SwitchType , 7, MVT::i64,
35674 OPC_CheckPatternPredicate3,
35675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
35676 MVT::i64, 1, 0,
35677 7, MVT::i32,
35678 OPC_CheckPatternPredicate4,
35679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
35680 MVT::i32, 1, 0,
35681 0,
35682 22,
35683 OPC_CheckChild0Type, MVT::v8i32,
35684 OPC_SwitchType , 7, MVT::i64,
35685 OPC_CheckPatternPredicate3,
35686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
35687 MVT::i64, 1, 0,
35688 7, MVT::i32,
35689 OPC_CheckPatternPredicate4,
35690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
35691 MVT::i32, 1, 0,
35692 0,
35693 22,
35694 OPC_CheckChild0Type, MVT::v4i64,
35695 OPC_SwitchType , 7, MVT::i64,
35696 OPC_CheckPatternPredicate3,
35697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
35698 MVT::i64, 1, 0,
35699 7, MVT::i32,
35700 OPC_CheckPatternPredicate4,
35701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
35702 MVT::i32, 1, 0,
35703 0,
35704 0,
35705 49, TARGET_VAL(LoongArchISD::VANY_ZERO),
35706 OPC_RecordChild0,
35707 OPC_Scope, 22,
35708 OPC_CheckChild0Type, MVT::v16i8,
35709 OPC_SwitchType , 7, MVT::i64,
35710 OPC_CheckPatternPredicate2,
35711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
35712 MVT::i64, 1, 0,
35713 7, MVT::i32,
35714 OPC_CheckPatternPredicate5,
35715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
35716 MVT::i32, 1, 0,
35717 0,
35718 22,
35719 OPC_CheckChild0Type, MVT::v32i8,
35720 OPC_SwitchType , 7, MVT::i64,
35721 OPC_CheckPatternPredicate3,
35722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
35723 MVT::i64, 1, 0,
35724 7, MVT::i32,
35725 OPC_CheckPatternPredicate4,
35726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
35727 MVT::i32, 1, 0,
35728 0,
35729 0,
35730 3|128,1, TARGET_VAL(ISD::SDIV),
35731 OPC_RecordChild0,
35732 OPC_RecordChild1,
35733 OPC_SwitchType , 21, MVT::i64,
35734 OPC_Scope, 9,
35735 OPC_CheckPatternPredicate, 15,
35736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
35737 MVT::i64, 2, 0, 1,
35738 8,
35739 OPC_CheckPatternPredicate6,
35740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
35741 MVT::i64, 2, 0, 1,
35742 0,
35743 22, MVT::i32,
35744 OPC_Scope, 9,
35745 OPC_CheckPatternPredicate, 9,
35746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
35747 MVT::i32, 2, 0, 1,
35748 9,
35749 OPC_CheckPatternPredicate, 10,
35750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
35751 MVT::i32, 2, 0, 1,
35752 0,
35753 8, MVT::v16i8,
35754 OPC_CheckPatternPredicate1,
35755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_B),
35756 MVT::v16i8, 2, 0, 1,
35757 8, MVT::v8i16,
35758 OPC_CheckPatternPredicate1,
35759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_H),
35760 MVT::v8i16, 2, 0, 1,
35761 8, MVT::v4i32,
35762 OPC_CheckPatternPredicate1,
35763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_W),
35764 MVT::v4i32, 2, 0, 1,
35765 8, MVT::v2i64,
35766 OPC_CheckPatternPredicate1,
35767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_D),
35768 MVT::v2i64, 2, 0, 1,
35769 8, MVT::v32i8,
35770 OPC_CheckPatternPredicate0,
35771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_B),
35772 MVT::v32i8, 2, 0, 1,
35773 8, MVT::v16i16,
35774 OPC_CheckPatternPredicate0,
35775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_H),
35776 MVT::v16i16, 2, 0, 1,
35777 8, MVT::v8i32,
35778 OPC_CheckPatternPredicate0,
35779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_W),
35780 MVT::v8i32, 2, 0, 1,
35781 8, MVT::v4i64,
35782 OPC_CheckPatternPredicate0,
35783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_D),
35784 MVT::v4i64, 2, 0, 1,
35785 0,
35786 3|128,1, TARGET_VAL(ISD::UDIV),
35787 OPC_RecordChild0,
35788 OPC_RecordChild1,
35789 OPC_SwitchType , 21, MVT::i64,
35790 OPC_Scope, 9,
35791 OPC_CheckPatternPredicate, 15,
35792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35793 MVT::i64, 2, 0, 1,
35794 8,
35795 OPC_CheckPatternPredicate6,
35796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
35797 MVT::i64, 2, 0, 1,
35798 0,
35799 22, MVT::i32,
35800 OPC_Scope, 9,
35801 OPC_CheckPatternPredicate, 9,
35802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35803 MVT::i32, 2, 0, 1,
35804 9,
35805 OPC_CheckPatternPredicate, 10,
35806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
35807 MVT::i32, 2, 0, 1,
35808 0,
35809 8, MVT::v16i8,
35810 OPC_CheckPatternPredicate1,
35811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_BU),
35812 MVT::v16i8, 2, 0, 1,
35813 8, MVT::v8i16,
35814 OPC_CheckPatternPredicate1,
35815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_HU),
35816 MVT::v8i16, 2, 0, 1,
35817 8, MVT::v4i32,
35818 OPC_CheckPatternPredicate1,
35819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_WU),
35820 MVT::v4i32, 2, 0, 1,
35821 8, MVT::v2i64,
35822 OPC_CheckPatternPredicate1,
35823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_DU),
35824 MVT::v2i64, 2, 0, 1,
35825 8, MVT::v32i8,
35826 OPC_CheckPatternPredicate0,
35827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_BU),
35828 MVT::v32i8, 2, 0, 1,
35829 8, MVT::v16i16,
35830 OPC_CheckPatternPredicate0,
35831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_HU),
35832 MVT::v16i16, 2, 0, 1,
35833 8, MVT::v8i32,
35834 OPC_CheckPatternPredicate0,
35835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_WU),
35836 MVT::v8i32, 2, 0, 1,
35837 8, MVT::v4i64,
35838 OPC_CheckPatternPredicate0,
35839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_DU),
35840 MVT::v4i64, 2, 0, 1,
35841 0,
35842 3|128,1, TARGET_VAL(ISD::SREM),
35843 OPC_RecordChild0,
35844 OPC_RecordChild1,
35845 OPC_SwitchType , 21, MVT::i64,
35846 OPC_Scope, 9,
35847 OPC_CheckPatternPredicate, 15,
35848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
35849 MVT::i64, 2, 0, 1,
35850 8,
35851 OPC_CheckPatternPredicate6,
35852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
35853 MVT::i64, 2, 0, 1,
35854 0,
35855 22, MVT::i32,
35856 OPC_Scope, 9,
35857 OPC_CheckPatternPredicate, 9,
35858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
35859 MVT::i32, 2, 0, 1,
35860 9,
35861 OPC_CheckPatternPredicate, 10,
35862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
35863 MVT::i32, 2, 0, 1,
35864 0,
35865 8, MVT::v16i8,
35866 OPC_CheckPatternPredicate1,
35867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_B),
35868 MVT::v16i8, 2, 0, 1,
35869 8, MVT::v8i16,
35870 OPC_CheckPatternPredicate1,
35871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_H),
35872 MVT::v8i16, 2, 0, 1,
35873 8, MVT::v4i32,
35874 OPC_CheckPatternPredicate1,
35875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_W),
35876 MVT::v4i32, 2, 0, 1,
35877 8, MVT::v2i64,
35878 OPC_CheckPatternPredicate1,
35879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_D),
35880 MVT::v2i64, 2, 0, 1,
35881 8, MVT::v32i8,
35882 OPC_CheckPatternPredicate0,
35883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_B),
35884 MVT::v32i8, 2, 0, 1,
35885 8, MVT::v16i16,
35886 OPC_CheckPatternPredicate0,
35887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_H),
35888 MVT::v16i16, 2, 0, 1,
35889 8, MVT::v8i32,
35890 OPC_CheckPatternPredicate0,
35891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_W),
35892 MVT::v8i32, 2, 0, 1,
35893 8, MVT::v4i64,
35894 OPC_CheckPatternPredicate0,
35895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_D),
35896 MVT::v4i64, 2, 0, 1,
35897 0,
35898 3|128,1, TARGET_VAL(ISD::UREM),
35899 OPC_RecordChild0,
35900 OPC_RecordChild1,
35901 OPC_SwitchType , 21, MVT::i64,
35902 OPC_Scope, 9,
35903 OPC_CheckPatternPredicate, 15,
35904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35905 MVT::i64, 2, 0, 1,
35906 8,
35907 OPC_CheckPatternPredicate6,
35908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
35909 MVT::i64, 2, 0, 1,
35910 0,
35911 22, MVT::i32,
35912 OPC_Scope, 9,
35913 OPC_CheckPatternPredicate, 9,
35914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35915 MVT::i32, 2, 0, 1,
35916 9,
35917 OPC_CheckPatternPredicate, 10,
35918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
35919 MVT::i32, 2, 0, 1,
35920 0,
35921 8, MVT::v16i8,
35922 OPC_CheckPatternPredicate1,
35923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_BU),
35924 MVT::v16i8, 2, 0, 1,
35925 8, MVT::v8i16,
35926 OPC_CheckPatternPredicate1,
35927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_HU),
35928 MVT::v8i16, 2, 0, 1,
35929 8, MVT::v4i32,
35930 OPC_CheckPatternPredicate1,
35931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_WU),
35932 MVT::v4i32, 2, 0, 1,
35933 8, MVT::v2i64,
35934 OPC_CheckPatternPredicate1,
35935 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_DU),
35936 MVT::v2i64, 2, 0, 1,
35937 8, MVT::v32i8,
35938 OPC_CheckPatternPredicate0,
35939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_BU),
35940 MVT::v32i8, 2, 0, 1,
35941 8, MVT::v16i16,
35942 OPC_CheckPatternPredicate0,
35943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_HU),
35944 MVT::v16i16, 2, 0, 1,
35945 8, MVT::v8i32,
35946 OPC_CheckPatternPredicate0,
35947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_WU),
35948 MVT::v8i32, 2, 0, 1,
35949 8, MVT::v4i64,
35950 OPC_CheckPatternPredicate0,
35951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_DU),
35952 MVT::v4i64, 2, 0, 1,
35953 0,
35954 10, TARGET_VAL(LoongArchISD::DIV_WU),
35955 OPC_RecordChild0,
35956 OPC_RecordChild1,
35957 OPC_CheckPatternPredicate6,
35958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35959 MVT::i64, 2, 0, 1,
35960 10, TARGET_VAL(LoongArchISD::MOD_WU),
35961 OPC_RecordChild0,
35962 OPC_RecordChild1,
35963 OPC_CheckPatternPredicate6,
35964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35965 MVT::i64, 2, 0, 1,
35966 121|128,2, TARGET_VAL(ISD::FDIV),
35967 OPC_Scope, 62,
35968 OPC_MoveChild0,
35969 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
35970 OPC_CheckPredicate, 47,
35971 OPC_Scope, 28,
35972 OPC_MoveSibling1,
35973 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
35974 OPC_RecordChild0,
35975 OPC_MoveParent,
35976 OPC_SwitchType , 8, MVT::f32,
35977 OPC_CheckPatternPredicate, 17,
35978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
35979 MVT::f32, 1, 0,
35980 8, MVT::f64,
35981 OPC_CheckPatternPredicate, 16,
35982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
35983 MVT::f64, 1, 0,
35984 0,
35985 24,
35986 OPC_MoveParent,
35987 OPC_RecordChild1,
35988 OPC_SwitchType , 8, MVT::f32,
35989 OPC_CheckPatternPredicate, 17,
35990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
35991 MVT::f32, 1, 0,
35992 8, MVT::f64,
35993 OPC_CheckPatternPredicate, 16,
35994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
35995 MVT::f64, 1, 0,
35996 0,
35997 0,
35998 26,
35999 OPC_RecordChild0,
36000 OPC_RecordChild1,
36001 OPC_SwitchType , 9, MVT::f32,
36002 OPC_CheckPatternPredicate, 17,
36003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_S),
36004 MVT::f32, 2, 0, 1,
36005 9, MVT::f64,
36006 OPC_CheckPatternPredicate, 16,
36007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_D),
36008 MVT::f64, 2, 0, 1,
36009 0,
36010 110|128,1,
36011 OPC_MoveChild0,
36012 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
36013 OPC_MoveChild0,
36014 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
36015 OPC_SwitchType , 55, MVT::v4i32,
36016 OPC_MoveParent,
36017 OPC_CheckPredicate, 52,
36018 OPC_Scope, 26,
36019 OPC_MoveSibling1,
36020 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36021 OPC_RecordChild0,
36022 OPC_MoveParent,
36023 OPC_SwitchType , 7, MVT::v4f32,
36024 OPC_CheckPatternPredicate1,
36025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
36026 MVT::v4f32, 1, 0,
36027 7, MVT::v8f32,
36028 OPC_CheckPatternPredicate0,
36029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
36030 MVT::v8f32, 1, 0,
36031 0,
36032 22,
36033 OPC_MoveParent,
36034 OPC_RecordChild1,
36035 OPC_SwitchType , 7, MVT::v4f32,
36036 OPC_CheckPatternPredicate1,
36037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
36038 MVT::v4f32, 1, 0,
36039 7, MVT::v8f32,
36040 OPC_CheckPatternPredicate0,
36041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
36042 MVT::v8f32, 1, 0,
36043 0,
36044 0,
36045 55, MVT::v8i32,
36046 OPC_MoveParent,
36047 OPC_CheckPredicate, 52,
36048 OPC_Scope, 26,
36049 OPC_MoveSibling1,
36050 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36051 OPC_RecordChild0,
36052 OPC_MoveParent,
36053 OPC_SwitchType , 7, MVT::v4f32,
36054 OPC_CheckPatternPredicate1,
36055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
36056 MVT::v4f32, 1, 0,
36057 7, MVT::v8f32,
36058 OPC_CheckPatternPredicate0,
36059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
36060 MVT::v8f32, 1, 0,
36061 0,
36062 22,
36063 OPC_MoveParent,
36064 OPC_RecordChild1,
36065 OPC_SwitchType , 7, MVT::v4f32,
36066 OPC_CheckPatternPredicate1,
36067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
36068 MVT::v4f32, 1, 0,
36069 7, MVT::v8f32,
36070 OPC_CheckPatternPredicate0,
36071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
36072 MVT::v8f32, 1, 0,
36073 0,
36074 0,
36075 55, MVT::v2i64,
36076 OPC_MoveParent,
36077 OPC_CheckPredicate, 53,
36078 OPC_Scope, 26,
36079 OPC_MoveSibling1,
36080 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36081 OPC_RecordChild0,
36082 OPC_MoveParent,
36083 OPC_SwitchType , 7, MVT::v2f64,
36084 OPC_CheckPatternPredicate1,
36085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
36086 MVT::v2f64, 1, 0,
36087 7, MVT::v4f64,
36088 OPC_CheckPatternPredicate0,
36089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
36090 MVT::v4f64, 1, 0,
36091 0,
36092 22,
36093 OPC_MoveParent,
36094 OPC_RecordChild1,
36095 OPC_SwitchType , 7, MVT::v2f64,
36096 OPC_CheckPatternPredicate1,
36097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
36098 MVT::v2f64, 1, 0,
36099 7, MVT::v4f64,
36100 OPC_CheckPatternPredicate0,
36101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
36102 MVT::v4f64, 1, 0,
36103 0,
36104 0,
36105 55, MVT::v4i64,
36106 OPC_MoveParent,
36107 OPC_CheckPredicate, 53,
36108 OPC_Scope, 26,
36109 OPC_MoveSibling1,
36110 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36111 OPC_RecordChild0,
36112 OPC_MoveParent,
36113 OPC_SwitchType , 7, MVT::v2f64,
36114 OPC_CheckPatternPredicate1,
36115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
36116 MVT::v2f64, 1, 0,
36117 7, MVT::v4f64,
36118 OPC_CheckPatternPredicate0,
36119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
36120 MVT::v4f64, 1, 0,
36121 0,
36122 22,
36123 OPC_MoveParent,
36124 OPC_RecordChild1,
36125 OPC_SwitchType , 7, MVT::v2f64,
36126 OPC_CheckPatternPredicate1,
36127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
36128 MVT::v2f64, 1, 0,
36129 7, MVT::v4f64,
36130 OPC_CheckPatternPredicate0,
36131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
36132 MVT::v4f64, 1, 0,
36133 0,
36134 0,
36135 0,
36136 44,
36137 OPC_RecordChild0,
36138 OPC_RecordChild1,
36139 OPC_SwitchType , 8, MVT::v4f32,
36140 OPC_CheckPatternPredicate1,
36141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_S),
36142 MVT::v4f32, 2, 0, 1,
36143 8, MVT::v2f64,
36144 OPC_CheckPatternPredicate1,
36145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_D),
36146 MVT::v2f64, 2, 0, 1,
36147 8, MVT::v8f32,
36148 OPC_CheckPatternPredicate0,
36149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_S),
36150 MVT::v8f32, 2, 0, 1,
36151 8, MVT::v4f64,
36152 OPC_CheckPatternPredicate0,
36153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_D),
36154 MVT::v4f64, 2, 0, 1,
36155 0,
36156 0,
36157 61|128,4, TARGET_VAL(ISD::FMA),
36158 OPC_Scope, 41,
36159 OPC_MoveChild0,
36160 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36161 OPC_RecordChild0,
36162 OPC_MoveParent,
36163 OPC_RecordChild1,
36164 OPC_MoveChild2,
36165 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36166 OPC_RecordChild0,
36167 OPC_MoveParent,
36168 OPC_CheckPredicate, 35,
36169 OPC_SwitchType , 10, MVT::f32,
36170 OPC_CheckPatternPredicate, 17,
36171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36172 MVT::f32, 3, 0, 1, 2,
36173 10, MVT::f64,
36174 OPC_CheckPatternPredicate, 16,
36175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36176 MVT::f64, 3, 0, 1, 2,
36177 0,
36178 40,
36179 OPC_RecordChild0,
36180 OPC_MoveChild1,
36181 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36182 OPC_RecordChild0,
36183 OPC_MoveSibling2,
36184 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36185 OPC_RecordChild0,
36186 OPC_MoveParent,
36187 OPC_CheckPredicate, 35,
36188 OPC_SwitchType , 10, MVT::f32,
36189 OPC_CheckPatternPredicate, 17,
36190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36191 MVT::f32, 3, 1, 0, 2,
36192 10, MVT::f64,
36193 OPC_CheckPatternPredicate, 16,
36194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36195 MVT::f64, 3, 1, 0, 2,
36196 0,
36197 36,
36198 OPC_MoveChild0,
36199 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36200 OPC_RecordChild0,
36201 OPC_MoveParent,
36202 OPC_RecordChild1,
36203 OPC_RecordChild2,
36204 OPC_CheckPredicate, 35,
36205 OPC_SwitchType , 10, MVT::f32,
36206 OPC_CheckPatternPredicate, 17,
36207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36208 MVT::f32, 3, 0, 1, 2,
36209 10, MVT::f64,
36210 OPC_CheckPatternPredicate, 16,
36211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36212 MVT::f64, 3, 0, 1, 2,
36213 0,
36214 104,
36215 OPC_RecordChild0,
36216 OPC_Scope, 35,
36217 OPC_MoveChild1,
36218 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36219 OPC_RecordChild0,
36220 OPC_MoveParent,
36221 OPC_RecordChild2,
36222 OPC_CheckPredicate, 35,
36223 OPC_SwitchType , 10, MVT::f32,
36224 OPC_CheckPatternPredicate, 17,
36225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36226 MVT::f32, 3, 1, 0, 2,
36227 10, MVT::f64,
36228 OPC_CheckPatternPredicate, 16,
36229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36230 MVT::f64, 3, 1, 0, 2,
36231 0,
36232 64,
36233 OPC_RecordChild1,
36234 OPC_Scope, 32,
36235 OPC_MoveChild2,
36236 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36237 OPC_RecordChild0,
36238 OPC_MoveParent,
36239 OPC_SwitchType , 10, MVT::f32,
36240 OPC_CheckPatternPredicate, 17,
36241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_S),
36242 MVT::f32, 3, 0, 1, 2,
36243 10, MVT::f64,
36244 OPC_CheckPatternPredicate, 16,
36245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_D),
36246 MVT::f64, 3, 0, 1, 2,
36247 0,
36248 27,
36249 OPC_RecordChild2,
36250 OPC_SwitchType , 10, MVT::f32,
36251 OPC_CheckPatternPredicate, 17,
36252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_S),
36253 MVT::f32, 3, 0, 1, 2,
36254 10, MVT::f64,
36255 OPC_CheckPatternPredicate, 16,
36256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_D),
36257 MVT::f64, 3, 0, 1, 2,
36258 0,
36259 0,
36260 0,
36261 61,
36262 OPC_MoveChild0,
36263 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36264 OPC_RecordChild0,
36265 OPC_MoveParent,
36266 OPC_RecordChild1,
36267 OPC_MoveChild2,
36268 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36269 OPC_RecordChild0,
36270 OPC_MoveParent,
36271 OPC_CheckPredicate, 35,
36272 OPC_SwitchType , 9, MVT::v4f32,
36273 OPC_CheckPatternPredicate1,
36274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36275 MVT::v4f32, 3, 0, 1, 2,
36276 9, MVT::v2f64,
36277 OPC_CheckPatternPredicate1,
36278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36279 MVT::v2f64, 3, 0, 1, 2,
36280 9, MVT::v8f32,
36281 OPC_CheckPatternPredicate0,
36282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36283 MVT::v8f32, 3, 0, 1, 2,
36284 9, MVT::v4f64,
36285 OPC_CheckPatternPredicate0,
36286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36287 MVT::v4f64, 3, 0, 1, 2,
36288 0,
36289 60,
36290 OPC_RecordChild0,
36291 OPC_MoveChild1,
36292 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36293 OPC_RecordChild0,
36294 OPC_MoveSibling2,
36295 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36296 OPC_RecordChild0,
36297 OPC_MoveParent,
36298 OPC_CheckPredicate, 35,
36299 OPC_SwitchType , 9, MVT::v4f32,
36300 OPC_CheckPatternPredicate1,
36301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36302 MVT::v4f32, 3, 1, 0, 2,
36303 9, MVT::v2f64,
36304 OPC_CheckPatternPredicate1,
36305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36306 MVT::v2f64, 3, 1, 0, 2,
36307 9, MVT::v8f32,
36308 OPC_CheckPatternPredicate0,
36309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36310 MVT::v8f32, 3, 1, 0, 2,
36311 9, MVT::v4f64,
36312 OPC_CheckPatternPredicate0,
36313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36314 MVT::v4f64, 3, 1, 0, 2,
36315 0,
36316 56,
36317 OPC_MoveChild0,
36318 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36319 OPC_RecordChild0,
36320 OPC_MoveParent,
36321 OPC_RecordChild1,
36322 OPC_RecordChild2,
36323 OPC_CheckPredicate, 35,
36324 OPC_SwitchType , 9, MVT::v4f32,
36325 OPC_CheckPatternPredicate1,
36326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36327 MVT::v4f32, 3, 0, 1, 2,
36328 9, MVT::v2f64,
36329 OPC_CheckPatternPredicate1,
36330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36331 MVT::v2f64, 3, 0, 1, 2,
36332 9, MVT::v8f32,
36333 OPC_CheckPatternPredicate0,
36334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36335 MVT::v8f32, 3, 0, 1, 2,
36336 9, MVT::v4f64,
36337 OPC_CheckPatternPredicate0,
36338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36339 MVT::v4f64, 3, 0, 1, 2,
36340 0,
36341 36|128,1,
36342 OPC_RecordChild0,
36343 OPC_Scope, 55,
36344 OPC_MoveChild1,
36345 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36346 OPC_RecordChild0,
36347 OPC_MoveParent,
36348 OPC_RecordChild2,
36349 OPC_CheckPredicate, 35,
36350 OPC_SwitchType , 9, MVT::v4f32,
36351 OPC_CheckPatternPredicate1,
36352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36353 MVT::v4f32, 3, 1, 0, 2,
36354 9, MVT::v2f64,
36355 OPC_CheckPatternPredicate1,
36356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36357 MVT::v2f64, 3, 1, 0, 2,
36358 9, MVT::v8f32,
36359 OPC_CheckPatternPredicate0,
36360 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36361 MVT::v8f32, 3, 1, 0, 2,
36362 9, MVT::v4f64,
36363 OPC_CheckPatternPredicate0,
36364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36365 MVT::v4f64, 3, 1, 0, 2,
36366 0,
36367 104,
36368 OPC_RecordChild1,
36369 OPC_Scope, 52,
36370 OPC_MoveChild2,
36371 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36372 OPC_RecordChild0,
36373 OPC_MoveParent,
36374 OPC_SwitchType , 9, MVT::v4f32,
36375 OPC_CheckPatternPredicate1,
36376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
36377 MVT::v4f32, 3, 0, 1, 2,
36378 9, MVT::v2f64,
36379 OPC_CheckPatternPredicate1,
36380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
36381 MVT::v2f64, 3, 0, 1, 2,
36382 9, MVT::v8f32,
36383 OPC_CheckPatternPredicate0,
36384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
36385 MVT::v8f32, 3, 0, 1, 2,
36386 9, MVT::v4f64,
36387 OPC_CheckPatternPredicate0,
36388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
36389 MVT::v4f64, 3, 0, 1, 2,
36390 0,
36391 47,
36392 OPC_RecordChild2,
36393 OPC_SwitchType , 9, MVT::v4f32,
36394 OPC_CheckPatternPredicate1,
36395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_S),
36396 MVT::v4f32, 3, 0, 1, 2,
36397 9, MVT::v2f64,
36398 OPC_CheckPatternPredicate1,
36399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_D),
36400 MVT::v2f64, 3, 0, 1, 2,
36401 9, MVT::v8f32,
36402 OPC_CheckPatternPredicate0,
36403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_S),
36404 MVT::v8f32, 3, 0, 1, 2,
36405 9, MVT::v4f64,
36406 OPC_CheckPatternPredicate0,
36407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_D),
36408 MVT::v4f64, 3, 0, 1, 2,
36409 0,
36410 0,
36411 0,
36412 0,
36413 62|128,2, TARGET_VAL(ISD::FNEG),
36414 OPC_Scope, 71,
36415 OPC_MoveChild0,
36416 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
36417 OPC_RecordChild0,
36418 OPC_RecordChild1,
36419 OPC_Scope, 33,
36420 OPC_MoveChild2,
36421 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36422 OPC_RecordChild0,
36423 OPC_MoveParent,
36424 OPC_MoveParent,
36425 OPC_SwitchType , 10, MVT::f32,
36426 OPC_CheckPatternPredicate, 17,
36427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36428 MVT::f32, 3, 0, 1, 2,
36429 10, MVT::f64,
36430 OPC_CheckPatternPredicate, 16,
36431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36432 MVT::f64, 3, 0, 1, 2,
36433 0,
36434 28,
36435 OPC_RecordChild2,
36436 OPC_MoveParent,
36437 OPC_SwitchType , 10, MVT::f32,
36438 OPC_CheckPatternPredicate, 17,
36439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36440 MVT::f32, 3, 0, 1, 2,
36441 10, MVT::f64,
36442 OPC_CheckPatternPredicate, 16,
36443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36444 MVT::f64, 3, 0, 1, 2,
36445 0,
36446 0,
36447 23,
36448 OPC_RecordChild0,
36449 OPC_SwitchType , 8, MVT::f32,
36450 OPC_CheckPatternPredicate, 17,
36451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36452 MVT::f32, 1, 0,
36453 8, MVT::f64,
36454 OPC_CheckPatternPredicate, 16,
36455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36456 MVT::f64, 1, 0,
36457 0,
36458 111,
36459 OPC_MoveChild0,
36460 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
36461 OPC_RecordChild0,
36462 OPC_RecordChild1,
36463 OPC_Scope, 53,
36464 OPC_MoveChild2,
36465 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36466 OPC_RecordChild0,
36467 OPC_MoveParent,
36468 OPC_MoveParent,
36469 OPC_SwitchType , 9, MVT::v4f32,
36470 OPC_CheckPatternPredicate1,
36471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36472 MVT::v4f32, 3, 0, 1, 2,
36473 9, MVT::v2f64,
36474 OPC_CheckPatternPredicate1,
36475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36476 MVT::v2f64, 3, 0, 1, 2,
36477 9, MVT::v8f32,
36478 OPC_CheckPatternPredicate0,
36479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36480 MVT::v8f32, 3, 0, 1, 2,
36481 9, MVT::v4f64,
36482 OPC_CheckPatternPredicate0,
36483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36484 MVT::v4f64, 3, 0, 1, 2,
36485 0,
36486 48,
36487 OPC_RecordChild2,
36488 OPC_MoveParent,
36489 OPC_SwitchType , 9, MVT::v4f32,
36490 OPC_CheckPatternPredicate1,
36491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36492 MVT::v4f32, 3, 0, 1, 2,
36493 9, MVT::v2f64,
36494 OPC_CheckPatternPredicate1,
36495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36496 MVT::v2f64, 3, 0, 1, 2,
36497 9, MVT::v8f32,
36498 OPC_CheckPatternPredicate0,
36499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36500 MVT::v8f32, 3, 0, 1, 2,
36501 9, MVT::v4f64,
36502 OPC_CheckPatternPredicate0,
36503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36504 MVT::v4f64, 3, 0, 1, 2,
36505 0,
36506 0,
36507 107,
36508 OPC_RecordChild0,
36509 OPC_SwitchType , 24, MVT::v4f32,
36510 OPC_Scope, 10,
36511 OPC_CheckPatternPredicate2,
36512 OPC_EmitInteger64, 62,
36513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
36514 MVT::v4f32, 2, 0, 1,
36515 10,
36516 OPC_CheckPatternPredicate5,
36517 OPC_EmitInteger32, 62,
36518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
36519 MVT::v4f32, 2, 0, 1,
36520 0,
36521 24, MVT::v2f64,
36522 OPC_Scope, 10,
36523 OPC_CheckPatternPredicate2,
36524 OPC_EmitInteger64, 126,
36525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
36526 MVT::v2f64, 2, 0, 1,
36527 10,
36528 OPC_CheckPatternPredicate5,
36529 OPC_EmitInteger32, 126,
36530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
36531 MVT::v2f64, 2, 0, 1,
36532 0,
36533 24, MVT::v8f32,
36534 OPC_Scope, 10,
36535 OPC_CheckPatternPredicate3,
36536 OPC_EmitInteger64, 62,
36537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
36538 MVT::v8f32, 2, 0, 1,
36539 10,
36540 OPC_CheckPatternPredicate4,
36541 OPC_EmitInteger32, 62,
36542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
36543 MVT::v8f32, 2, 0, 1,
36544 0,
36545 24, MVT::v4f64,
36546 OPC_Scope, 10,
36547 OPC_CheckPatternPredicate3,
36548 OPC_EmitInteger64, 126,
36549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
36550 MVT::v4f64, 2, 0, 1,
36551 10,
36552 OPC_CheckPatternPredicate4,
36553 OPC_EmitInteger32, 126,
36554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
36555 MVT::v4f64, 2, 0, 1,
36556 0,
36557 0,
36558 0,
36559 59|128,2, TARGET_VAL(ISD::SINT_TO_FP),
36560 OPC_RecordChild0,
36561 OPC_Scope, 75,
36562 OPC_CheckChild0TypeI64,
36563 OPC_SwitchType , 35, MVT::f32,
36564 OPC_Scope, 17,
36565 OPC_CheckPatternPredicate, 21,
36566 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36567 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36568 MVT::f32, 1, 1,
36569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36570 MVT::f32, 1, 2,
36571 14,
36572 OPC_CheckPatternPredicate, 19,
36573 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36574 MVT::f64, 1, 0,
36575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
36576 MVT::f32, 1, 1,
36577 0,
36578 33, MVT::f64,
36579 OPC_CheckPatternPredicate, 19,
36580 OPC_Scope, 15,
36581 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36582 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36583 MVT::f32, 1, 1,
36584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
36585 MVT::f64, 1, 2,
36586 12,
36587 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36588 MVT::f64, 1, 0,
36589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36590 MVT::f64, 1, 1,
36591 0,
36592 0,
36593 71,
36594 OPC_CheckChild0TypeI32,
36595 OPC_SwitchType , 32, MVT::f32,
36596 OPC_Scope, 14,
36597 OPC_CheckPatternPredicate, 23,
36598 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36599 MVT::f32, 1, 0,
36600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36601 MVT::f32, 1, 1,
36602 14,
36603 OPC_CheckPatternPredicate, 20,
36604 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36605 MVT::f64, 1, 0,
36606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
36607 MVT::f32, 1, 1,
36608 0,
36609 32, MVT::f64,
36610 OPC_Scope, 14,
36611 OPC_CheckPatternPredicate, 20,
36612 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36613 MVT::f64, 1, 0,
36614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36615 MVT::f64, 1, 1,
36616 14,
36617 OPC_CheckPatternPredicate, 22,
36618 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36619 MVT::f32, 1, 0,
36620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
36621 MVT::f64, 1, 1,
36622 0,
36623 0,
36624 11,
36625 OPC_CheckChild0Type, MVT::v4i32,
36626 OPC_CheckType, MVT::v4f32,
36627 OPC_CheckPatternPredicate1,
36628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
36629 MVT::v4f32, 1, 0,
36630 9,
36631 OPC_CheckType, MVT::v2f64,
36632 OPC_CheckPatternPredicate1,
36633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
36634 MVT::v2f64, 1, 0,
36635 11,
36636 OPC_CheckType, MVT::v8f32,
36637 OPC_CheckChild0Type, MVT::v8i32,
36638 OPC_CheckPatternPredicate0,
36639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
36640 MVT::v8f32, 1, 0,
36641 42,
36642 OPC_CheckType, MVT::v4f64,
36643 OPC_Scope, 9,
36644 OPC_CheckChild0Type, MVT::v4i64,
36645 OPC_CheckPatternPredicate0,
36646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36647 MVT::v4f64, 1, 0,
36648 27,
36649 OPC_CheckChild0Type, MVT::v4i32,
36650 OPC_CheckPatternPredicate0,
36651 OPC_EmitInteger64, 0,
36652 OPC_EmitStringInteger32, LoongArch::sub_128,
36653 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
36654 MVT::v32i8, 3, 1, 0, 2,
36655 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
36656 MVT::v32i8, 1, 3,
36657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36658 MVT::v4f64, 1, 4,
36659 0,
36660 86,
36661 OPC_CheckType, MVT::v4f32,
36662 OPC_CheckChild0Type, MVT::v4i64,
36663 OPC_Scope, 39,
36664 OPC_CheckPatternPredicate3,
36665 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36666 MVT::v32i8, 1, 0,
36667 OPC_EmitInteger64, 92|128,3,
36668 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
36669 MVT::v32i8, 2, 1, 2,
36670 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36671 MVT::v32i8, 1, 0,
36672 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
36673 MVT::v32i8, 2, 3, 4,
36674 OPC_EmitStringInteger32, LoongArch::sub_128,
36675 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
36676 MVT::v4f32, 2, 5, 6,
36677 39,
36678 OPC_CheckPatternPredicate4,
36679 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36680 MVT::v32i8, 1, 0,
36681 OPC_EmitInteger32, 92|128,3,
36682 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
36683 MVT::v32i8, 2, 1, 2,
36684 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36685 MVT::v32i8, 1, 0,
36686 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
36687 MVT::v32i8, 2, 3, 4,
36688 OPC_EmitStringInteger32, LoongArch::sub_128,
36689 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
36690 MVT::v4f32, 2, 5, 6,
36691 0,
36692 0,
36693 56|128,1, TARGET_VAL(ISD::UINT_TO_FP),
36694 OPC_RecordChild0,
36695 OPC_SwitchType , 18, MVT::f32,
36696 OPC_CheckChild0TypeI64,
36697 OPC_CheckPatternPredicate, 21,
36698 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36699 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36700 MVT::f32, 1, 1,
36701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36702 MVT::f32, 1, 2,
36703 97, MVT::v4f32,
36704 OPC_Scope, 9,
36705 OPC_CheckChild0Type, MVT::v4i32,
36706 OPC_CheckPatternPredicate1,
36707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
36708 MVT::v4f32, 1, 0,
36709 84,
36710 OPC_CheckChild0Type, MVT::v4i64,
36711 OPC_Scope, 39,
36712 OPC_CheckPatternPredicate3,
36713 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36714 MVT::v32i8, 1, 0,
36715 OPC_EmitInteger64, 92|128,3,
36716 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
36717 MVT::v32i8, 2, 1, 2,
36718 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36719 MVT::v32i8, 1, 0,
36720 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
36721 MVT::v32i8, 2, 3, 4,
36722 OPC_EmitStringInteger32, LoongArch::sub_128,
36723 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
36724 MVT::v4f32, 2, 5, 6,
36725 39,
36726 OPC_CheckPatternPredicate4,
36727 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36728 MVT::v32i8, 1, 0,
36729 OPC_EmitInteger32, 92|128,3,
36730 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
36731 MVT::v32i8, 2, 1, 2,
36732 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36733 MVT::v32i8, 1, 0,
36734 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
36735 MVT::v32i8, 2, 3, 4,
36736 OPC_EmitStringInteger32, LoongArch::sub_128,
36737 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
36738 MVT::v4f32, 2, 5, 6,
36739 0,
36740 0,
36741 7, MVT::v2f64,
36742 OPC_CheckPatternPredicate1,
36743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
36744 MVT::v2f64, 1, 0,
36745 9, MVT::v8f32,
36746 OPC_CheckChild0Type, MVT::v8i32,
36747 OPC_CheckPatternPredicate0,
36748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
36749 MVT::v8f32, 1, 0,
36750 40, MVT::v4f64,
36751 OPC_Scope, 9,
36752 OPC_CheckChild0Type, MVT::v4i64,
36753 OPC_CheckPatternPredicate0,
36754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36755 MVT::v4f64, 1, 0,
36756 27,
36757 OPC_CheckChild0Type, MVT::v4i32,
36758 OPC_CheckPatternPredicate0,
36759 OPC_EmitInteger64, 0,
36760 OPC_EmitStringInteger32, LoongArch::sub_128,
36761 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
36762 MVT::v32i8, 3, 1, 0, 2,
36763 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
36764 MVT::v32i8, 1, 3,
36765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36766 MVT::v4f64, 1, 4,
36767 0,
36768 0,
36769 50|128,3, TARGET_VAL(ISD::ConstantFP),
36770 OPC_Scope, 56,
36771 OPC_CheckPredicate, 54,
36772 OPC_SwitchType , 24, MVT::f32,
36773 OPC_Scope, 10,
36774 OPC_CheckPatternPredicate, 11,
36775 OPC_EmitRegisterI64, LoongArch::R0,
36776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36777 MVT::f32, 1, 0,
36778 10,
36779 OPC_CheckPatternPredicate, 12,
36780 OPC_EmitRegisterI32, LoongArch::R0,
36781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36782 MVT::f32, 1, 0,
36783 0,
36784 24, MVT::f64,
36785 OPC_Scope, 10,
36786 OPC_CheckPatternPredicate, 19,
36787 OPC_EmitRegisterI64, LoongArch::R0,
36788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36789 MVT::f64, 1, 0,
36790 10,
36791 OPC_CheckPatternPredicate, 20,
36792 OPC_EmitRegisterI32, LoongArch::R0,
36793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36794 MVT::f64, 1, 0,
36795 0,
36796 0,
36797 80,
36798 OPC_CheckPredicate, 55,
36799 OPC_SwitchType , 36, MVT::f32,
36800 OPC_Scope, 16,
36801 OPC_CheckPatternPredicate, 11,
36802 OPC_EmitRegisterI64, LoongArch::R0,
36803 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36804 MVT::f32, 1, 0,
36805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36806 MVT::f32, 1, 1,
36807 16,
36808 OPC_CheckPatternPredicate, 12,
36809 OPC_EmitRegisterI32, LoongArch::R0,
36810 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36811 MVT::f32, 1, 0,
36812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36813 MVT::f32, 1, 1,
36814 0,
36815 36, MVT::f64,
36816 OPC_Scope, 16,
36817 OPC_CheckPatternPredicate, 19,
36818 OPC_EmitRegisterI64, LoongArch::R0,
36819 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36820 MVT::f64, 1, 0,
36821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36822 MVT::f64, 1, 1,
36823 16,
36824 OPC_CheckPatternPredicate, 20,
36825 OPC_EmitRegisterI32, LoongArch::R0,
36826 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36827 MVT::f64, 1, 0,
36828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36829 MVT::f64, 1, 1,
36830 0,
36831 0,
36832 46,
36833 OPC_CheckPredicate, 54,
36834 OPC_CheckType, MVT::f64,
36835 OPC_Scope, 19,
36836 OPC_CheckPatternPredicate, 24,
36837 OPC_EmitRegisterI64, LoongArch::R0,
36838 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36839 MVT::f64, 1, 0,
36840 OPC_EmitRegisterI64, LoongArch::R0,
36841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36842 MVT::f64, 2, 1, 2,
36843 19,
36844 OPC_CheckPatternPredicate, 22,
36845 OPC_EmitRegisterI32, LoongArch::R0,
36846 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36847 MVT::f64, 1, 0,
36848 OPC_EmitRegisterI32, LoongArch::R0,
36849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36850 MVT::f64, 2, 1, 2,
36851 0,
36852 116,
36853 OPC_CheckPredicate, 47,
36854 OPC_SwitchType , 54, MVT::f32,
36855 OPC_Scope, 25,
36856 OPC_CheckPatternPredicate, 11,
36857 OPC_EmitRegisterI64, LoongArch::R0,
36858 OPC_EmitInteger64, 2,
36859 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36860 MVT::i64, 2, 0, 1,
36861 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36862 MVT::f32, 1, 2,
36863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36864 MVT::f32, 1, 3,
36865 25,
36866 OPC_CheckPatternPredicate, 12,
36867 OPC_EmitRegisterI32, LoongArch::R0,
36868 OPC_EmitInteger32, 2,
36869 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36870 MVT::i32, 2, 0, 1,
36871 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36872 MVT::f32, 1, 2,
36873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36874 MVT::f32, 1, 3,
36875 0,
36876 54, MVT::f64,
36877 OPC_Scope, 25,
36878 OPC_CheckPatternPredicate, 19,
36879 OPC_EmitRegisterI64, LoongArch::R0,
36880 OPC_EmitInteger64, 2,
36881 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
36882 MVT::i64, 2, 0, 1,
36883 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36884 MVT::f64, 1, 2,
36885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36886 MVT::f64, 1, 3,
36887 25,
36888 OPC_CheckPatternPredicate, 20,
36889 OPC_EmitRegisterI32, LoongArch::R0,
36890 OPC_EmitInteger32, 2,
36891 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
36892 MVT::i32, 2, 0, 1,
36893 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36894 MVT::f64, 1, 2,
36895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36896 MVT::f64, 1, 3,
36897 0,
36898 0,
36899 58,
36900 OPC_CheckPredicate, 55,
36901 OPC_CheckType, MVT::f64,
36902 OPC_Scope, 25,
36903 OPC_CheckPatternPredicate, 24,
36904 OPC_EmitRegisterI64, LoongArch::R0,
36905 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36906 MVT::f64, 1, 0,
36907 OPC_EmitRegisterI64, LoongArch::R0,
36908 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36909 MVT::f64, 2, 1, 2,
36910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36911 MVT::f64, 1, 3,
36912 25,
36913 OPC_CheckPatternPredicate, 22,
36914 OPC_EmitRegisterI32, LoongArch::R0,
36915 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36916 MVT::f64, 1, 0,
36917 OPC_EmitRegisterI32, LoongArch::R0,
36918 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36919 MVT::f64, 2, 1, 2,
36920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36921 MVT::f64, 1, 3,
36922 0,
36923 70,
36924 OPC_CheckPredicate, 47,
36925 OPC_CheckType, MVT::f64,
36926 OPC_Scope, 31,
36927 OPC_CheckPatternPredicate, 24,
36928 OPC_EmitRegisterI64, LoongArch::R0,
36929 OPC_EmitInteger64, 2,
36930 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36931 MVT::i64, 2, 0, 1,
36932 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36933 MVT::f32, 1, 2,
36934 OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
36935 MVT::f32, 1, 3,
36936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
36937 MVT::f64, 1, 4,
36938 31,
36939 OPC_CheckPatternPredicate, 22,
36940 OPC_EmitRegisterI32, LoongArch::R0,
36941 OPC_EmitInteger32, 2,
36942 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36943 MVT::i32, 2, 0, 1,
36944 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36945 MVT::f32, 1, 2,
36946 OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
36947 MVT::f32, 1, 3,
36948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
36949 MVT::f64, 1, 4,
36950 0,
36951 0,
36952 66, TARGET_VAL(ISD::FADD),
36953 OPC_RecordChild0,
36954 OPC_RecordChild1,
36955 OPC_SwitchType , 9, MVT::f32,
36956 OPC_CheckPatternPredicate, 17,
36957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_S),
36958 MVT::f32, 2, 0, 1,
36959 9, MVT::f64,
36960 OPC_CheckPatternPredicate, 16,
36961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_D),
36962 MVT::f64, 2, 0, 1,
36963 8, MVT::v4f32,
36964 OPC_CheckPatternPredicate1,
36965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_S),
36966 MVT::v4f32, 2, 0, 1,
36967 8, MVT::v2f64,
36968 OPC_CheckPatternPredicate1,
36969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_D),
36970 MVT::v2f64, 2, 0, 1,
36971 8, MVT::v8f32,
36972 OPC_CheckPatternPredicate0,
36973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_S),
36974 MVT::v8f32, 2, 0, 1,
36975 8, MVT::v4f64,
36976 OPC_CheckPatternPredicate0,
36977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_D),
36978 MVT::v4f64, 2, 0, 1,
36979 0,
36980 66, TARGET_VAL(ISD::FSUB),
36981 OPC_RecordChild0,
36982 OPC_RecordChild1,
36983 OPC_SwitchType , 9, MVT::f32,
36984 OPC_CheckPatternPredicate, 17,
36985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_S),
36986 MVT::f32, 2, 0, 1,
36987 9, MVT::f64,
36988 OPC_CheckPatternPredicate, 16,
36989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_D),
36990 MVT::f64, 2, 0, 1,
36991 8, MVT::v4f32,
36992 OPC_CheckPatternPredicate1,
36993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_S),
36994 MVT::v4f32, 2, 0, 1,
36995 8, MVT::v2f64,
36996 OPC_CheckPatternPredicate1,
36997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_D),
36998 MVT::v2f64, 2, 0, 1,
36999 8, MVT::v8f32,
37000 OPC_CheckPatternPredicate0,
37001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_S),
37002 MVT::v8f32, 2, 0, 1,
37003 8, MVT::v4f64,
37004 OPC_CheckPatternPredicate0,
37005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_D),
37006 MVT::v4f64, 2, 0, 1,
37007 0,
37008 66, TARGET_VAL(ISD::FMUL),
37009 OPC_RecordChild0,
37010 OPC_RecordChild1,
37011 OPC_SwitchType , 9, MVT::f32,
37012 OPC_CheckPatternPredicate, 17,
37013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_S),
37014 MVT::f32, 2, 0, 1,
37015 9, MVT::f64,
37016 OPC_CheckPatternPredicate, 16,
37017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_D),
37018 MVT::f64, 2, 0, 1,
37019 8, MVT::v4f32,
37020 OPC_CheckPatternPredicate1,
37021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_S),
37022 MVT::v4f32, 2, 0, 1,
37023 8, MVT::v2f64,
37024 OPC_CheckPatternPredicate1,
37025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_D),
37026 MVT::v2f64, 2, 0, 1,
37027 8, MVT::v8f32,
37028 OPC_CheckPatternPredicate0,
37029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_S),
37030 MVT::v8f32, 2, 0, 1,
37031 8, MVT::v4f64,
37032 OPC_CheckPatternPredicate0,
37033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_D),
37034 MVT::v4f64, 2, 0, 1,
37035 0,
37036 70, TARGET_VAL(ISD::FCOPYSIGN),
37037 OPC_RecordChild0,
37038 OPC_RecordChild1,
37039 OPC_Scope, 32,
37040 OPC_CheckChild1Type, MVT::f32,
37041 OPC_SwitchType , 9, MVT::f32,
37042 OPC_CheckPatternPredicate, 17,
37043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
37044 MVT::f32, 2, 0, 1,
37045 15, MVT::f64,
37046 OPC_CheckPatternPredicate, 16,
37047 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_D_S),
37048 MVT::f64, 1, 1,
37049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
37050 MVT::f64, 2, 0, 2,
37051 0,
37052 32,
37053 OPC_CheckChild1Type, MVT::f64,
37054 OPC_SwitchType , 9, MVT::f64,
37055 OPC_CheckPatternPredicate, 16,
37056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
37057 MVT::f64, 2, 0, 1,
37058 15, MVT::f32,
37059 OPC_CheckPatternPredicate, 16,
37060 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_S_D),
37061 MVT::f32, 1, 1,
37062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
37063 MVT::f32, 2, 0, 2,
37064 0,
37065 0,
37066 26, TARGET_VAL(ISD::FMAXNUM_IEEE),
37067 OPC_RecordChild0,
37068 OPC_RecordChild1,
37069 OPC_SwitchType , 9, MVT::f32,
37070 OPC_CheckPatternPredicate, 17,
37071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
37072 MVT::f32, 2, 0, 1,
37073 9, MVT::f64,
37074 OPC_CheckPatternPredicate, 16,
37075 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
37076 MVT::f64, 2, 0, 1,
37077 0,
37078 26, TARGET_VAL(ISD::FMINNUM_IEEE),
37079 OPC_RecordChild0,
37080 OPC_RecordChild1,
37081 OPC_SwitchType , 9, MVT::f32,
37082 OPC_CheckPatternPredicate, 17,
37083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
37084 MVT::f32, 2, 0, 1,
37085 9, MVT::f64,
37086 OPC_CheckPatternPredicate, 16,
37087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
37088 MVT::f64, 2, 0, 1,
37089 0,
37090 23, TARGET_VAL(ISD::FABS),
37091 OPC_RecordChild0,
37092 OPC_SwitchType , 8, MVT::f32,
37093 OPC_CheckPatternPredicate, 17,
37094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_S),
37095 MVT::f32, 1, 0,
37096 8, MVT::f64,
37097 OPC_CheckPatternPredicate, 16,
37098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_D),
37099 MVT::f64, 1, 0,
37100 0,
37101 59, TARGET_VAL(ISD::FSQRT),
37102 OPC_RecordChild0,
37103 OPC_SwitchType , 8, MVT::f32,
37104 OPC_CheckPatternPredicate, 17,
37105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_S),
37106 MVT::f32, 1, 0,
37107 8, MVT::f64,
37108 OPC_CheckPatternPredicate, 16,
37109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_D),
37110 MVT::f64, 1, 0,
37111 7, MVT::v4f32,
37112 OPC_CheckPatternPredicate1,
37113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
37114 MVT::v4f32, 1, 0,
37115 7, MVT::v2f64,
37116 OPC_CheckPatternPredicate1,
37117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
37118 MVT::v2f64, 1, 0,
37119 7, MVT::v8f32,
37120 OPC_CheckPatternPredicate0,
37121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
37122 MVT::v8f32, 1, 0,
37123 7, MVT::v4f64,
37124 OPC_CheckPatternPredicate0,
37125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
37126 MVT::v4f64, 1, 0,
37127 0,
37128 25, TARGET_VAL(ISD::FCANONICALIZE),
37129 OPC_RecordChild0,
37130 OPC_SwitchType , 9, MVT::f32,
37131 OPC_CheckPatternPredicate, 17,
37132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
37133 MVT::f32, 2, 0, 0,
37134 9, MVT::f64,
37135 OPC_CheckPatternPredicate, 16,
37136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
37137 MVT::f64, 2, 0, 0,
37138 0,
37139 53, TARGET_VAL(LoongArchISD::FTINT),
37140 OPC_RecordChild0,
37141 OPC_Scope, 24,
37142 OPC_CheckChild0Type, MVT::f32,
37143 OPC_SwitchType , 8, MVT::f32,
37144 OPC_CheckPatternPredicate, 17,
37145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_S),
37146 MVT::f32, 1, 0,
37147 8, MVT::f64,
37148 OPC_CheckPatternPredicate, 16,
37149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_S),
37150 MVT::f64, 1, 0,
37151 0,
37152 24,
37153 OPC_CheckChild0Type, MVT::f64,
37154 OPC_SwitchType , 8, MVT::f32,
37155 OPC_CheckPatternPredicate, 16,
37156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_D),
37157 MVT::f32, 1, 0,
37158 8, MVT::f64,
37159 OPC_CheckPatternPredicate, 16,
37160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_D),
37161 MVT::f64, 1, 0,
37162 0,
37163 0,
37164 23, TARGET_VAL(ISD::FRINT),
37165 OPC_RecordChild0,
37166 OPC_SwitchType , 8, MVT::f32,
37167 OPC_CheckPatternPredicate, 11,
37168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_S),
37169 MVT::f32, 1, 0,
37170 8, MVT::f64,
37171 OPC_CheckPatternPredicate, 13,
37172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_D),
37173 MVT::f64, 1, 0,
37174 0,
37175 11, TARGET_VAL(ISD::FP_ROUND),
37176 OPC_RecordChild0,
37177 OPC_CheckType, MVT::f32,
37178 OPC_CheckPatternPredicate, 16,
37179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_S_D),
37180 MVT::f32, 1, 0,
37181 11, TARGET_VAL(ISD::FP_EXTEND),
37182 OPC_RecordChild0,
37183 OPC_CheckType, MVT::f64,
37184 OPC_CheckPatternPredicate, 16,
37185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
37186 MVT::f64, 1, 0,
37187 9, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
37188 OPC_RecordChild0,
37189 OPC_CheckPatternPredicate, 21,
37190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
37191 MVT::f32, 1, 0,
37192 76|128,3, TARGET_VAL(ISD::SMAX),
37193 OPC_RecordChild0,
37194 OPC_RecordChild1,
37195 OPC_SwitchType , 55, MVT::v16i8,
37196 OPC_Scope, 10,
37197 OPC_CheckPatternPredicate2,
37198 OPC_CheckComplexPat3, /*#*/1,
37199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37200 MVT::v16i8, 2, 0, 2,
37201 10,
37202 OPC_CheckPatternPredicate5,
37203 OPC_CheckComplexPat3, /*#*/1,
37204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37205 MVT::v16i8, 2, 0, 2,
37206 10,
37207 OPC_CheckPatternPredicate2,
37208 OPC_CheckComplexPat3, /*#*/0,
37209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37210 MVT::v16i8, 2, 1, 2,
37211 10,
37212 OPC_CheckPatternPredicate5,
37213 OPC_CheckComplexPat3, /*#*/0,
37214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37215 MVT::v16i8, 2, 1, 2,
37216 8,
37217 OPC_CheckPatternPredicate1,
37218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_B),
37219 MVT::v16i8, 2, 0, 1,
37220 0,
37221 55, MVT::v8i16,
37222 OPC_Scope, 10,
37223 OPC_CheckPatternPredicate2,
37224 OPC_CheckComplexPat3, /*#*/1,
37225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37226 MVT::v8i16, 2, 0, 2,
37227 10,
37228 OPC_CheckPatternPredicate5,
37229 OPC_CheckComplexPat3, /*#*/1,
37230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37231 MVT::v8i16, 2, 0, 2,
37232 10,
37233 OPC_CheckPatternPredicate2,
37234 OPC_CheckComplexPat3, /*#*/0,
37235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37236 MVT::v8i16, 2, 1, 2,
37237 10,
37238 OPC_CheckPatternPredicate5,
37239 OPC_CheckComplexPat3, /*#*/0,
37240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37241 MVT::v8i16, 2, 1, 2,
37242 8,
37243 OPC_CheckPatternPredicate1,
37244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_H),
37245 MVT::v8i16, 2, 0, 1,
37246 0,
37247 55, MVT::v4i32,
37248 OPC_Scope, 10,
37249 OPC_CheckPatternPredicate2,
37250 OPC_CheckComplexPat3, /*#*/1,
37251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37252 MVT::v4i32, 2, 0, 2,
37253 10,
37254 OPC_CheckPatternPredicate5,
37255 OPC_CheckComplexPat3, /*#*/1,
37256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37257 MVT::v4i32, 2, 0, 2,
37258 10,
37259 OPC_CheckPatternPredicate2,
37260 OPC_CheckComplexPat3, /*#*/0,
37261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37262 MVT::v4i32, 2, 1, 2,
37263 10,
37264 OPC_CheckPatternPredicate5,
37265 OPC_CheckComplexPat3, /*#*/0,
37266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37267 MVT::v4i32, 2, 1, 2,
37268 8,
37269 OPC_CheckPatternPredicate1,
37270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_W),
37271 MVT::v4i32, 2, 0, 1,
37272 0,
37273 55, MVT::v2i64,
37274 OPC_Scope, 10,
37275 OPC_CheckPatternPredicate2,
37276 OPC_CheckComplexPat3, /*#*/1,
37277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37278 MVT::v2i64, 2, 0, 2,
37279 10,
37280 OPC_CheckPatternPredicate5,
37281 OPC_CheckComplexPat3, /*#*/1,
37282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37283 MVT::v2i64, 2, 0, 2,
37284 10,
37285 OPC_CheckPatternPredicate2,
37286 OPC_CheckComplexPat3, /*#*/0,
37287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37288 MVT::v2i64, 2, 1, 2,
37289 10,
37290 OPC_CheckPatternPredicate5,
37291 OPC_CheckComplexPat3, /*#*/0,
37292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37293 MVT::v2i64, 2, 1, 2,
37294 8,
37295 OPC_CheckPatternPredicate1,
37296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_D),
37297 MVT::v2i64, 2, 0, 1,
37298 0,
37299 55, MVT::v32i8,
37300 OPC_Scope, 10,
37301 OPC_CheckPatternPredicate3,
37302 OPC_CheckComplexPat3, /*#*/1,
37303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37304 MVT::v32i8, 2, 0, 2,
37305 10,
37306 OPC_CheckPatternPredicate4,
37307 OPC_CheckComplexPat3, /*#*/1,
37308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37309 MVT::v32i8, 2, 0, 2,
37310 10,
37311 OPC_CheckPatternPredicate3,
37312 OPC_CheckComplexPat3, /*#*/0,
37313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37314 MVT::v32i8, 2, 1, 2,
37315 10,
37316 OPC_CheckPatternPredicate4,
37317 OPC_CheckComplexPat3, /*#*/0,
37318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37319 MVT::v32i8, 2, 1, 2,
37320 8,
37321 OPC_CheckPatternPredicate0,
37322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_B),
37323 MVT::v32i8, 2, 0, 1,
37324 0,
37325 55, MVT::v16i16,
37326 OPC_Scope, 10,
37327 OPC_CheckPatternPredicate3,
37328 OPC_CheckComplexPat3, /*#*/1,
37329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37330 MVT::v16i16, 2, 0, 2,
37331 10,
37332 OPC_CheckPatternPredicate4,
37333 OPC_CheckComplexPat3, /*#*/1,
37334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37335 MVT::v16i16, 2, 0, 2,
37336 10,
37337 OPC_CheckPatternPredicate3,
37338 OPC_CheckComplexPat3, /*#*/0,
37339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37340 MVT::v16i16, 2, 1, 2,
37341 10,
37342 OPC_CheckPatternPredicate4,
37343 OPC_CheckComplexPat3, /*#*/0,
37344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37345 MVT::v16i16, 2, 1, 2,
37346 8,
37347 OPC_CheckPatternPredicate0,
37348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_H),
37349 MVT::v16i16, 2, 0, 1,
37350 0,
37351 55, MVT::v8i32,
37352 OPC_Scope, 10,
37353 OPC_CheckPatternPredicate3,
37354 OPC_CheckComplexPat3, /*#*/1,
37355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37356 MVT::v8i32, 2, 0, 2,
37357 10,
37358 OPC_CheckPatternPredicate4,
37359 OPC_CheckComplexPat3, /*#*/1,
37360 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37361 MVT::v8i32, 2, 0, 2,
37362 10,
37363 OPC_CheckPatternPredicate3,
37364 OPC_CheckComplexPat3, /*#*/0,
37365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37366 MVT::v8i32, 2, 1, 2,
37367 10,
37368 OPC_CheckPatternPredicate4,
37369 OPC_CheckComplexPat3, /*#*/0,
37370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37371 MVT::v8i32, 2, 1, 2,
37372 8,
37373 OPC_CheckPatternPredicate0,
37374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_W),
37375 MVT::v8i32, 2, 0, 1,
37376 0,
37377 55, MVT::v4i64,
37378 OPC_Scope, 10,
37379 OPC_CheckPatternPredicate3,
37380 OPC_CheckComplexPat3, /*#*/1,
37381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37382 MVT::v4i64, 2, 0, 2,
37383 10,
37384 OPC_CheckPatternPredicate4,
37385 OPC_CheckComplexPat3, /*#*/1,
37386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37387 MVT::v4i64, 2, 0, 2,
37388 10,
37389 OPC_CheckPatternPredicate3,
37390 OPC_CheckComplexPat3, /*#*/0,
37391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37392 MVT::v4i64, 2, 1, 2,
37393 10,
37394 OPC_CheckPatternPredicate4,
37395 OPC_CheckComplexPat3, /*#*/0,
37396 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37397 MVT::v4i64, 2, 1, 2,
37398 8,
37399 OPC_CheckPatternPredicate0,
37400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_D),
37401 MVT::v4i64, 2, 0, 1,
37402 0,
37403 0,
37404 76|128,3, TARGET_VAL(ISD::SMIN),
37405 OPC_RecordChild0,
37406 OPC_RecordChild1,
37407 OPC_SwitchType , 55, MVT::v16i8,
37408 OPC_Scope, 10,
37409 OPC_CheckPatternPredicate2,
37410 OPC_CheckComplexPat3, /*#*/1,
37411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37412 MVT::v16i8, 2, 0, 2,
37413 10,
37414 OPC_CheckPatternPredicate5,
37415 OPC_CheckComplexPat3, /*#*/1,
37416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37417 MVT::v16i8, 2, 0, 2,
37418 10,
37419 OPC_CheckPatternPredicate2,
37420 OPC_CheckComplexPat3, /*#*/0,
37421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37422 MVT::v16i8, 2, 1, 2,
37423 10,
37424 OPC_CheckPatternPredicate5,
37425 OPC_CheckComplexPat3, /*#*/0,
37426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37427 MVT::v16i8, 2, 1, 2,
37428 8,
37429 OPC_CheckPatternPredicate1,
37430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_B),
37431 MVT::v16i8, 2, 0, 1,
37432 0,
37433 55, MVT::v8i16,
37434 OPC_Scope, 10,
37435 OPC_CheckPatternPredicate2,
37436 OPC_CheckComplexPat3, /*#*/1,
37437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37438 MVT::v8i16, 2, 0, 2,
37439 10,
37440 OPC_CheckPatternPredicate5,
37441 OPC_CheckComplexPat3, /*#*/1,
37442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37443 MVT::v8i16, 2, 0, 2,
37444 10,
37445 OPC_CheckPatternPredicate2,
37446 OPC_CheckComplexPat3, /*#*/0,
37447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37448 MVT::v8i16, 2, 1, 2,
37449 10,
37450 OPC_CheckPatternPredicate5,
37451 OPC_CheckComplexPat3, /*#*/0,
37452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37453 MVT::v8i16, 2, 1, 2,
37454 8,
37455 OPC_CheckPatternPredicate1,
37456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_H),
37457 MVT::v8i16, 2, 0, 1,
37458 0,
37459 55, MVT::v4i32,
37460 OPC_Scope, 10,
37461 OPC_CheckPatternPredicate2,
37462 OPC_CheckComplexPat3, /*#*/1,
37463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37464 MVT::v4i32, 2, 0, 2,
37465 10,
37466 OPC_CheckPatternPredicate5,
37467 OPC_CheckComplexPat3, /*#*/1,
37468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37469 MVT::v4i32, 2, 0, 2,
37470 10,
37471 OPC_CheckPatternPredicate2,
37472 OPC_CheckComplexPat3, /*#*/0,
37473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37474 MVT::v4i32, 2, 1, 2,
37475 10,
37476 OPC_CheckPatternPredicate5,
37477 OPC_CheckComplexPat3, /*#*/0,
37478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37479 MVT::v4i32, 2, 1, 2,
37480 8,
37481 OPC_CheckPatternPredicate1,
37482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_W),
37483 MVT::v4i32, 2, 0, 1,
37484 0,
37485 55, MVT::v2i64,
37486 OPC_Scope, 10,
37487 OPC_CheckPatternPredicate2,
37488 OPC_CheckComplexPat3, /*#*/1,
37489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37490 MVT::v2i64, 2, 0, 2,
37491 10,
37492 OPC_CheckPatternPredicate5,
37493 OPC_CheckComplexPat3, /*#*/1,
37494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37495 MVT::v2i64, 2, 0, 2,
37496 10,
37497 OPC_CheckPatternPredicate2,
37498 OPC_CheckComplexPat3, /*#*/0,
37499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37500 MVT::v2i64, 2, 1, 2,
37501 10,
37502 OPC_CheckPatternPredicate5,
37503 OPC_CheckComplexPat3, /*#*/0,
37504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37505 MVT::v2i64, 2, 1, 2,
37506 8,
37507 OPC_CheckPatternPredicate1,
37508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_D),
37509 MVT::v2i64, 2, 0, 1,
37510 0,
37511 55, MVT::v32i8,
37512 OPC_Scope, 10,
37513 OPC_CheckPatternPredicate3,
37514 OPC_CheckComplexPat3, /*#*/1,
37515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37516 MVT::v32i8, 2, 0, 2,
37517 10,
37518 OPC_CheckPatternPredicate4,
37519 OPC_CheckComplexPat3, /*#*/1,
37520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37521 MVT::v32i8, 2, 0, 2,
37522 10,
37523 OPC_CheckPatternPredicate3,
37524 OPC_CheckComplexPat3, /*#*/0,
37525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37526 MVT::v32i8, 2, 1, 2,
37527 10,
37528 OPC_CheckPatternPredicate4,
37529 OPC_CheckComplexPat3, /*#*/0,
37530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37531 MVT::v32i8, 2, 1, 2,
37532 8,
37533 OPC_CheckPatternPredicate0,
37534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_B),
37535 MVT::v32i8, 2, 0, 1,
37536 0,
37537 55, MVT::v16i16,
37538 OPC_Scope, 10,
37539 OPC_CheckPatternPredicate3,
37540 OPC_CheckComplexPat3, /*#*/1,
37541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37542 MVT::v16i16, 2, 0, 2,
37543 10,
37544 OPC_CheckPatternPredicate4,
37545 OPC_CheckComplexPat3, /*#*/1,
37546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37547 MVT::v16i16, 2, 0, 2,
37548 10,
37549 OPC_CheckPatternPredicate3,
37550 OPC_CheckComplexPat3, /*#*/0,
37551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37552 MVT::v16i16, 2, 1, 2,
37553 10,
37554 OPC_CheckPatternPredicate4,
37555 OPC_CheckComplexPat3, /*#*/0,
37556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37557 MVT::v16i16, 2, 1, 2,
37558 8,
37559 OPC_CheckPatternPredicate0,
37560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_H),
37561 MVT::v16i16, 2, 0, 1,
37562 0,
37563 55, MVT::v8i32,
37564 OPC_Scope, 10,
37565 OPC_CheckPatternPredicate3,
37566 OPC_CheckComplexPat3, /*#*/1,
37567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37568 MVT::v8i32, 2, 0, 2,
37569 10,
37570 OPC_CheckPatternPredicate4,
37571 OPC_CheckComplexPat3, /*#*/1,
37572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37573 MVT::v8i32, 2, 0, 2,
37574 10,
37575 OPC_CheckPatternPredicate3,
37576 OPC_CheckComplexPat3, /*#*/0,
37577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37578 MVT::v8i32, 2, 1, 2,
37579 10,
37580 OPC_CheckPatternPredicate4,
37581 OPC_CheckComplexPat3, /*#*/0,
37582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37583 MVT::v8i32, 2, 1, 2,
37584 8,
37585 OPC_CheckPatternPredicate0,
37586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_W),
37587 MVT::v8i32, 2, 0, 1,
37588 0,
37589 55, MVT::v4i64,
37590 OPC_Scope, 10,
37591 OPC_CheckPatternPredicate3,
37592 OPC_CheckComplexPat3, /*#*/1,
37593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37594 MVT::v4i64, 2, 0, 2,
37595 10,
37596 OPC_CheckPatternPredicate4,
37597 OPC_CheckComplexPat3, /*#*/1,
37598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37599 MVT::v4i64, 2, 0, 2,
37600 10,
37601 OPC_CheckPatternPredicate3,
37602 OPC_CheckComplexPat3, /*#*/0,
37603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37604 MVT::v4i64, 2, 1, 2,
37605 10,
37606 OPC_CheckPatternPredicate4,
37607 OPC_CheckComplexPat3, /*#*/0,
37608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37609 MVT::v4i64, 2, 1, 2,
37610 8,
37611 OPC_CheckPatternPredicate0,
37612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_D),
37613 MVT::v4i64, 2, 0, 1,
37614 0,
37615 0,
37616 76|128,3, TARGET_VAL(ISD::UMAX),
37617 OPC_RecordChild0,
37618 OPC_RecordChild1,
37619 OPC_SwitchType , 55, MVT::v16i8,
37620 OPC_Scope, 10,
37621 OPC_CheckPatternPredicate2,
37622 OPC_CheckComplexPat1, /*#*/1,
37623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37624 MVT::v16i8, 2, 0, 2,
37625 10,
37626 OPC_CheckPatternPredicate5,
37627 OPC_CheckComplexPat1, /*#*/1,
37628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37629 MVT::v16i8, 2, 0, 2,
37630 10,
37631 OPC_CheckPatternPredicate2,
37632 OPC_CheckComplexPat1, /*#*/0,
37633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37634 MVT::v16i8, 2, 1, 2,
37635 10,
37636 OPC_CheckPatternPredicate5,
37637 OPC_CheckComplexPat1, /*#*/0,
37638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37639 MVT::v16i8, 2, 1, 2,
37640 8,
37641 OPC_CheckPatternPredicate1,
37642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_BU),
37643 MVT::v16i8, 2, 0, 1,
37644 0,
37645 55, MVT::v8i16,
37646 OPC_Scope, 10,
37647 OPC_CheckPatternPredicate2,
37648 OPC_CheckComplexPat1, /*#*/1,
37649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37650 MVT::v8i16, 2, 0, 2,
37651 10,
37652 OPC_CheckPatternPredicate5,
37653 OPC_CheckComplexPat1, /*#*/1,
37654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37655 MVT::v8i16, 2, 0, 2,
37656 10,
37657 OPC_CheckPatternPredicate2,
37658 OPC_CheckComplexPat1, /*#*/0,
37659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37660 MVT::v8i16, 2, 1, 2,
37661 10,
37662 OPC_CheckPatternPredicate5,
37663 OPC_CheckComplexPat1, /*#*/0,
37664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37665 MVT::v8i16, 2, 1, 2,
37666 8,
37667 OPC_CheckPatternPredicate1,
37668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_HU),
37669 MVT::v8i16, 2, 0, 1,
37670 0,
37671 55, MVT::v4i32,
37672 OPC_Scope, 10,
37673 OPC_CheckPatternPredicate2,
37674 OPC_CheckComplexPat1, /*#*/1,
37675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37676 MVT::v4i32, 2, 0, 2,
37677 10,
37678 OPC_CheckPatternPredicate5,
37679 OPC_CheckComplexPat1, /*#*/1,
37680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37681 MVT::v4i32, 2, 0, 2,
37682 10,
37683 OPC_CheckPatternPredicate2,
37684 OPC_CheckComplexPat1, /*#*/0,
37685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37686 MVT::v4i32, 2, 1, 2,
37687 10,
37688 OPC_CheckPatternPredicate5,
37689 OPC_CheckComplexPat1, /*#*/0,
37690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37691 MVT::v4i32, 2, 1, 2,
37692 8,
37693 OPC_CheckPatternPredicate1,
37694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_WU),
37695 MVT::v4i32, 2, 0, 1,
37696 0,
37697 55, MVT::v2i64,
37698 OPC_Scope, 10,
37699 OPC_CheckPatternPredicate2,
37700 OPC_CheckComplexPat1, /*#*/1,
37701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37702 MVT::v2i64, 2, 0, 2,
37703 10,
37704 OPC_CheckPatternPredicate5,
37705 OPC_CheckComplexPat1, /*#*/1,
37706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37707 MVT::v2i64, 2, 0, 2,
37708 10,
37709 OPC_CheckPatternPredicate2,
37710 OPC_CheckComplexPat1, /*#*/0,
37711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37712 MVT::v2i64, 2, 1, 2,
37713 10,
37714 OPC_CheckPatternPredicate5,
37715 OPC_CheckComplexPat1, /*#*/0,
37716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37717 MVT::v2i64, 2, 1, 2,
37718 8,
37719 OPC_CheckPatternPredicate1,
37720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_DU),
37721 MVT::v2i64, 2, 0, 1,
37722 0,
37723 55, MVT::v32i8,
37724 OPC_Scope, 10,
37725 OPC_CheckPatternPredicate3,
37726 OPC_CheckComplexPat1, /*#*/1,
37727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37728 MVT::v32i8, 2, 0, 2,
37729 10,
37730 OPC_CheckPatternPredicate4,
37731 OPC_CheckComplexPat1, /*#*/1,
37732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37733 MVT::v32i8, 2, 0, 2,
37734 10,
37735 OPC_CheckPatternPredicate3,
37736 OPC_CheckComplexPat1, /*#*/0,
37737 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37738 MVT::v32i8, 2, 1, 2,
37739 10,
37740 OPC_CheckPatternPredicate4,
37741 OPC_CheckComplexPat1, /*#*/0,
37742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37743 MVT::v32i8, 2, 1, 2,
37744 8,
37745 OPC_CheckPatternPredicate0,
37746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_BU),
37747 MVT::v32i8, 2, 0, 1,
37748 0,
37749 55, MVT::v16i16,
37750 OPC_Scope, 10,
37751 OPC_CheckPatternPredicate3,
37752 OPC_CheckComplexPat1, /*#*/1,
37753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37754 MVT::v16i16, 2, 0, 2,
37755 10,
37756 OPC_CheckPatternPredicate4,
37757 OPC_CheckComplexPat1, /*#*/1,
37758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37759 MVT::v16i16, 2, 0, 2,
37760 10,
37761 OPC_CheckPatternPredicate3,
37762 OPC_CheckComplexPat1, /*#*/0,
37763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37764 MVT::v16i16, 2, 1, 2,
37765 10,
37766 OPC_CheckPatternPredicate4,
37767 OPC_CheckComplexPat1, /*#*/0,
37768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37769 MVT::v16i16, 2, 1, 2,
37770 8,
37771 OPC_CheckPatternPredicate0,
37772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_HU),
37773 MVT::v16i16, 2, 0, 1,
37774 0,
37775 55, MVT::v8i32,
37776 OPC_Scope, 10,
37777 OPC_CheckPatternPredicate3,
37778 OPC_CheckComplexPat1, /*#*/1,
37779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37780 MVT::v8i32, 2, 0, 2,
37781 10,
37782 OPC_CheckPatternPredicate4,
37783 OPC_CheckComplexPat1, /*#*/1,
37784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37785 MVT::v8i32, 2, 0, 2,
37786 10,
37787 OPC_CheckPatternPredicate3,
37788 OPC_CheckComplexPat1, /*#*/0,
37789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37790 MVT::v8i32, 2, 1, 2,
37791 10,
37792 OPC_CheckPatternPredicate4,
37793 OPC_CheckComplexPat1, /*#*/0,
37794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37795 MVT::v8i32, 2, 1, 2,
37796 8,
37797 OPC_CheckPatternPredicate0,
37798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_WU),
37799 MVT::v8i32, 2, 0, 1,
37800 0,
37801 55, MVT::v4i64,
37802 OPC_Scope, 10,
37803 OPC_CheckPatternPredicate3,
37804 OPC_CheckComplexPat1, /*#*/1,
37805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37806 MVT::v4i64, 2, 0, 2,
37807 10,
37808 OPC_CheckPatternPredicate4,
37809 OPC_CheckComplexPat1, /*#*/1,
37810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37811 MVT::v4i64, 2, 0, 2,
37812 10,
37813 OPC_CheckPatternPredicate3,
37814 OPC_CheckComplexPat1, /*#*/0,
37815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37816 MVT::v4i64, 2, 1, 2,
37817 10,
37818 OPC_CheckPatternPredicate4,
37819 OPC_CheckComplexPat1, /*#*/0,
37820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37821 MVT::v4i64, 2, 1, 2,
37822 8,
37823 OPC_CheckPatternPredicate0,
37824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_DU),
37825 MVT::v4i64, 2, 0, 1,
37826 0,
37827 0,
37828 76|128,3, TARGET_VAL(ISD::UMIN),
37829 OPC_RecordChild0,
37830 OPC_RecordChild1,
37831 OPC_SwitchType , 55, MVT::v16i8,
37832 OPC_Scope, 10,
37833 OPC_CheckPatternPredicate2,
37834 OPC_CheckComplexPat1, /*#*/1,
37835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37836 MVT::v16i8, 2, 0, 2,
37837 10,
37838 OPC_CheckPatternPredicate5,
37839 OPC_CheckComplexPat1, /*#*/1,
37840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37841 MVT::v16i8, 2, 0, 2,
37842 10,
37843 OPC_CheckPatternPredicate2,
37844 OPC_CheckComplexPat1, /*#*/0,
37845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37846 MVT::v16i8, 2, 1, 2,
37847 10,
37848 OPC_CheckPatternPredicate5,
37849 OPC_CheckComplexPat1, /*#*/0,
37850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37851 MVT::v16i8, 2, 1, 2,
37852 8,
37853 OPC_CheckPatternPredicate1,
37854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_BU),
37855 MVT::v16i8, 2, 0, 1,
37856 0,
37857 55, MVT::v8i16,
37858 OPC_Scope, 10,
37859 OPC_CheckPatternPredicate2,
37860 OPC_CheckComplexPat1, /*#*/1,
37861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37862 MVT::v8i16, 2, 0, 2,
37863 10,
37864 OPC_CheckPatternPredicate5,
37865 OPC_CheckComplexPat1, /*#*/1,
37866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37867 MVT::v8i16, 2, 0, 2,
37868 10,
37869 OPC_CheckPatternPredicate2,
37870 OPC_CheckComplexPat1, /*#*/0,
37871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37872 MVT::v8i16, 2, 1, 2,
37873 10,
37874 OPC_CheckPatternPredicate5,
37875 OPC_CheckComplexPat1, /*#*/0,
37876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37877 MVT::v8i16, 2, 1, 2,
37878 8,
37879 OPC_CheckPatternPredicate1,
37880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_HU),
37881 MVT::v8i16, 2, 0, 1,
37882 0,
37883 55, MVT::v4i32,
37884 OPC_Scope, 10,
37885 OPC_CheckPatternPredicate2,
37886 OPC_CheckComplexPat1, /*#*/1,
37887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37888 MVT::v4i32, 2, 0, 2,
37889 10,
37890 OPC_CheckPatternPredicate5,
37891 OPC_CheckComplexPat1, /*#*/1,
37892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37893 MVT::v4i32, 2, 0, 2,
37894 10,
37895 OPC_CheckPatternPredicate2,
37896 OPC_CheckComplexPat1, /*#*/0,
37897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37898 MVT::v4i32, 2, 1, 2,
37899 10,
37900 OPC_CheckPatternPredicate5,
37901 OPC_CheckComplexPat1, /*#*/0,
37902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37903 MVT::v4i32, 2, 1, 2,
37904 8,
37905 OPC_CheckPatternPredicate1,
37906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_WU),
37907 MVT::v4i32, 2, 0, 1,
37908 0,
37909 55, MVT::v2i64,
37910 OPC_Scope, 10,
37911 OPC_CheckPatternPredicate2,
37912 OPC_CheckComplexPat1, /*#*/1,
37913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37914 MVT::v2i64, 2, 0, 2,
37915 10,
37916 OPC_CheckPatternPredicate5,
37917 OPC_CheckComplexPat1, /*#*/1,
37918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37919 MVT::v2i64, 2, 0, 2,
37920 10,
37921 OPC_CheckPatternPredicate2,
37922 OPC_CheckComplexPat1, /*#*/0,
37923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37924 MVT::v2i64, 2, 1, 2,
37925 10,
37926 OPC_CheckPatternPredicate5,
37927 OPC_CheckComplexPat1, /*#*/0,
37928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37929 MVT::v2i64, 2, 1, 2,
37930 8,
37931 OPC_CheckPatternPredicate1,
37932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_DU),
37933 MVT::v2i64, 2, 0, 1,
37934 0,
37935 55, MVT::v32i8,
37936 OPC_Scope, 10,
37937 OPC_CheckPatternPredicate3,
37938 OPC_CheckComplexPat1, /*#*/1,
37939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37940 MVT::v32i8, 2, 0, 2,
37941 10,
37942 OPC_CheckPatternPredicate4,
37943 OPC_CheckComplexPat1, /*#*/1,
37944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37945 MVT::v32i8, 2, 0, 2,
37946 10,
37947 OPC_CheckPatternPredicate3,
37948 OPC_CheckComplexPat1, /*#*/0,
37949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37950 MVT::v32i8, 2, 1, 2,
37951 10,
37952 OPC_CheckPatternPredicate4,
37953 OPC_CheckComplexPat1, /*#*/0,
37954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37955 MVT::v32i8, 2, 1, 2,
37956 8,
37957 OPC_CheckPatternPredicate0,
37958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_BU),
37959 MVT::v32i8, 2, 0, 1,
37960 0,
37961 55, MVT::v16i16,
37962 OPC_Scope, 10,
37963 OPC_CheckPatternPredicate3,
37964 OPC_CheckComplexPat1, /*#*/1,
37965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37966 MVT::v16i16, 2, 0, 2,
37967 10,
37968 OPC_CheckPatternPredicate4,
37969 OPC_CheckComplexPat1, /*#*/1,
37970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37971 MVT::v16i16, 2, 0, 2,
37972 10,
37973 OPC_CheckPatternPredicate3,
37974 OPC_CheckComplexPat1, /*#*/0,
37975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37976 MVT::v16i16, 2, 1, 2,
37977 10,
37978 OPC_CheckPatternPredicate4,
37979 OPC_CheckComplexPat1, /*#*/0,
37980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37981 MVT::v16i16, 2, 1, 2,
37982 8,
37983 OPC_CheckPatternPredicate0,
37984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_HU),
37985 MVT::v16i16, 2, 0, 1,
37986 0,
37987 55, MVT::v8i32,
37988 OPC_Scope, 10,
37989 OPC_CheckPatternPredicate3,
37990 OPC_CheckComplexPat1, /*#*/1,
37991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
37992 MVT::v8i32, 2, 0, 2,
37993 10,
37994 OPC_CheckPatternPredicate4,
37995 OPC_CheckComplexPat1, /*#*/1,
37996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
37997 MVT::v8i32, 2, 0, 2,
37998 10,
37999 OPC_CheckPatternPredicate3,
38000 OPC_CheckComplexPat1, /*#*/0,
38001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
38002 MVT::v8i32, 2, 1, 2,
38003 10,
38004 OPC_CheckPatternPredicate4,
38005 OPC_CheckComplexPat1, /*#*/0,
38006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
38007 MVT::v8i32, 2, 1, 2,
38008 8,
38009 OPC_CheckPatternPredicate0,
38010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_WU),
38011 MVT::v8i32, 2, 0, 1,
38012 0,
38013 55, MVT::v4i64,
38014 OPC_Scope, 10,
38015 OPC_CheckPatternPredicate3,
38016 OPC_CheckComplexPat1, /*#*/1,
38017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38018 MVT::v4i64, 2, 0, 2,
38019 10,
38020 OPC_CheckPatternPredicate4,
38021 OPC_CheckComplexPat1, /*#*/1,
38022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38023 MVT::v4i64, 2, 0, 2,
38024 10,
38025 OPC_CheckPatternPredicate3,
38026 OPC_CheckComplexPat1, /*#*/0,
38027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38028 MVT::v4i64, 2, 1, 2,
38029 10,
38030 OPC_CheckPatternPredicate4,
38031 OPC_CheckComplexPat1, /*#*/0,
38032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38033 MVT::v4i64, 2, 1, 2,
38034 8,
38035 OPC_CheckPatternPredicate0,
38036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_DU),
38037 MVT::v4i64, 2, 0, 1,
38038 0,
38039 0,
38040 124|128,1, TARGET_VAL(ISD::VSELECT),
38041 OPC_RecordChild0,
38042 OPC_Scope, 32,
38043 OPC_CheckChild0Type, MVT::v16i8,
38044 OPC_RecordChild1,
38045 OPC_RecordChild2,
38046 OPC_CheckType, MVT::v16i8,
38047 OPC_Scope, 11,
38048 OPC_CheckPatternPredicate2,
38049 OPC_CheckComplexPat7, /*#*/1,
38050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
38051 MVT::v16i8, 3, 0, 2, 3,
38052 11,
38053 OPC_CheckPatternPredicate5,
38054 OPC_CheckComplexPat7, /*#*/1,
38055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
38056 MVT::v16i8, 3, 0, 2, 3,
38057 0,
38058 30,
38059 OPC_RecordChild1,
38060 OPC_RecordChild2,
38061 OPC_CheckType, MVT::v32i8,
38062 OPC_Scope, 11,
38063 OPC_CheckPatternPredicate3,
38064 OPC_CheckComplexPat7, /*#*/1,
38065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
38066 MVT::v32i8, 3, 0, 2, 3,
38067 11,
38068 OPC_CheckPatternPredicate4,
38069 OPC_CheckComplexPat7, /*#*/1,
38070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
38071 MVT::v32i8, 3, 0, 2, 3,
38072 0,
38073 15,
38074 OPC_CheckChild0Type, MVT::v16i8,
38075 OPC_RecordChild1,
38076 OPC_RecordChild2,
38077 OPC_CheckType, MVT::v16i8,
38078 OPC_CheckPatternPredicate1,
38079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38080 MVT::v16i8, 3, 2, 1, 0,
38081 15,
38082 OPC_CheckChild0Type, MVT::v8i16,
38083 OPC_RecordChild1,
38084 OPC_RecordChild2,
38085 OPC_CheckType, MVT::v8i16,
38086 OPC_CheckPatternPredicate1,
38087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38088 MVT::v8i16, 3, 2, 1, 0,
38089 15,
38090 OPC_CheckChild0Type, MVT::v4i32,
38091 OPC_RecordChild1,
38092 OPC_RecordChild2,
38093 OPC_CheckType, MVT::v4i32,
38094 OPC_CheckPatternPredicate1,
38095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38096 MVT::v4i32, 3, 2, 1, 0,
38097 26,
38098 OPC_RecordChild1,
38099 OPC_RecordChild2,
38100 OPC_SwitchType , 9, MVT::v2i64,
38101 OPC_CheckPatternPredicate1,
38102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38103 MVT::v2i64, 3, 2, 1, 0,
38104 9, MVT::v32i8,
38105 OPC_CheckPatternPredicate0,
38106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38107 MVT::v32i8, 3, 2, 1, 0,
38108 0,
38109 15,
38110 OPC_CheckChild0Type, MVT::v16i16,
38111 OPC_RecordChild1,
38112 OPC_RecordChild2,
38113 OPC_CheckType, MVT::v16i16,
38114 OPC_CheckPatternPredicate0,
38115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38116 MVT::v16i16, 3, 2, 1, 0,
38117 15,
38118 OPC_CheckChild0Type, MVT::v8i32,
38119 OPC_RecordChild1,
38120 OPC_RecordChild2,
38121 OPC_CheckType, MVT::v8i32,
38122 OPC_CheckPatternPredicate0,
38123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38124 MVT::v8i32, 3, 2, 1, 0,
38125 15,
38126 OPC_CheckChild0Type, MVT::v4i64,
38127 OPC_RecordChild1,
38128 OPC_RecordChild2,
38129 OPC_CheckType, MVT::v4i64,
38130 OPC_CheckPatternPredicate0,
38131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38132 MVT::v4i64, 3, 2, 1, 0,
38133 15,
38134 OPC_CheckChild0Type, MVT::v4i32,
38135 OPC_RecordChild1,
38136 OPC_RecordChild2,
38137 OPC_CheckType, MVT::v4f32,
38138 OPC_CheckPatternPredicate1,
38139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38140 MVT::v4f32, 3, 2, 1, 0,
38141 13,
38142 OPC_RecordChild1,
38143 OPC_RecordChild2,
38144 OPC_CheckType, MVT::v2f64,
38145 OPC_CheckPatternPredicate1,
38146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38147 MVT::v2f64, 3, 2, 1, 0,
38148 15,
38149 OPC_CheckChild0Type, MVT::v8i32,
38150 OPC_RecordChild1,
38151 OPC_RecordChild2,
38152 OPC_CheckType, MVT::v8f32,
38153 OPC_CheckPatternPredicate0,
38154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38155 MVT::v8f32, 3, 2, 1, 0,
38156 15,
38157 OPC_CheckChild0Type, MVT::v4i64,
38158 OPC_RecordChild1,
38159 OPC_RecordChild2,
38160 OPC_CheckType, MVT::v4f64,
38161 OPC_CheckPatternPredicate0,
38162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38163 MVT::v4f64, 3, 2, 1, 0,
38164 0,
38165 2|128,4, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
38166 OPC_RecordChild0,
38167 OPC_RecordChild1,
38168 OPC_Scope, 9|128,1,
38169 OPC_CheckChild1TypeI64,
38170 OPC_RecordChild2,
38171 OPC_MoveChild2,
38172 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38173 OPC_CheckTypeI64,
38174 OPC_Scope, 15,
38175 OPC_CheckPredicate, 32,
38176 OPC_MoveParent,
38177 OPC_CheckType, MVT::v16i8,
38178 OPC_CheckPatternPredicate2,
38179 OPC_EmitConvertToTarget2,
38180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
38181 MVT::v16i8, 3, 0, 1, 3,
38182 15,
38183 OPC_CheckPredicate, 25,
38184 OPC_MoveParent,
38185 OPC_CheckType, MVT::v8i16,
38186 OPC_CheckPatternPredicate2,
38187 OPC_EmitConvertToTarget2,
38188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
38189 MVT::v8i16, 3, 0, 1, 3,
38190 15,
38191 OPC_CheckPredicate, 18,
38192 OPC_MoveParent,
38193 OPC_CheckType, MVT::v4i32,
38194 OPC_CheckPatternPredicate2,
38195 OPC_EmitConvertToTarget2,
38196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38197 MVT::v4i32, 3, 0, 1, 3,
38198 15,
38199 OPC_CheckPredicate, 33,
38200 OPC_MoveParent,
38201 OPC_CheckType, MVT::v2i64,
38202 OPC_CheckPatternPredicate2,
38203 OPC_EmitConvertToTarget2,
38204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38205 MVT::v2i64, 3, 0, 1, 3,
38206 15,
38207 OPC_CheckPredicate, 25,
38208 OPC_MoveParent,
38209 OPC_CheckType, MVT::v8i32,
38210 OPC_CheckPatternPredicate3,
38211 OPC_EmitConvertToTarget2,
38212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38213 MVT::v8i32, 3, 0, 1, 3,
38214 15,
38215 OPC_CheckPredicate, 18,
38216 OPC_MoveParent,
38217 OPC_CheckType, MVT::v4i64,
38218 OPC_CheckPatternPredicate3,
38219 OPC_EmitConvertToTarget2,
38220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38221 MVT::v4i64, 3, 0, 1, 3,
38222 15,
38223 OPC_CheckPredicate, 26,
38224 OPC_MoveParent,
38225 OPC_CheckType, MVT::v32i8,
38226 OPC_CheckPatternPredicate3,
38227 OPC_EmitConvertToTarget2,
38228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
38229 MVT::v32i8, 3, 0, 1, 3,
38230 15,
38231 OPC_CheckPredicate, 32,
38232 OPC_MoveParent,
38233 OPC_CheckType, MVT::v16i16,
38234 OPC_CheckPatternPredicate3,
38235 OPC_EmitConvertToTarget2,
38236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
38237 MVT::v16i16, 3, 0, 1, 3,
38238 0,
38239 9|128,1,
38240 OPC_CheckChild1TypeI32,
38241 OPC_RecordChild2,
38242 OPC_MoveChild2,
38243 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38244 OPC_CheckTypeI32,
38245 OPC_Scope, 15,
38246 OPC_CheckPredicate, 32,
38247 OPC_MoveParent,
38248 OPC_CheckType, MVT::v16i8,
38249 OPC_CheckPatternPredicate5,
38250 OPC_EmitConvertToTarget2,
38251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
38252 MVT::v16i8, 3, 0, 1, 3,
38253 15,
38254 OPC_CheckPredicate, 25,
38255 OPC_MoveParent,
38256 OPC_CheckType, MVT::v8i16,
38257 OPC_CheckPatternPredicate5,
38258 OPC_EmitConvertToTarget2,
38259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
38260 MVT::v8i16, 3, 0, 1, 3,
38261 15,
38262 OPC_CheckPredicate, 18,
38263 OPC_MoveParent,
38264 OPC_CheckType, MVT::v4i32,
38265 OPC_CheckPatternPredicate5,
38266 OPC_EmitConvertToTarget2,
38267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38268 MVT::v4i32, 3, 0, 1, 3,
38269 15,
38270 OPC_CheckPredicate, 33,
38271 OPC_MoveParent,
38272 OPC_CheckType, MVT::v2i64,
38273 OPC_CheckPatternPredicate5,
38274 OPC_EmitConvertToTarget2,
38275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38276 MVT::v2i64, 3, 0, 1, 3,
38277 15,
38278 OPC_CheckPredicate, 25,
38279 OPC_MoveParent,
38280 OPC_CheckType, MVT::v8i32,
38281 OPC_CheckPatternPredicate4,
38282 OPC_EmitConvertToTarget2,
38283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38284 MVT::v8i32, 3, 0, 1, 3,
38285 15,
38286 OPC_CheckPredicate, 18,
38287 OPC_MoveParent,
38288 OPC_CheckType, MVT::v4i64,
38289 OPC_CheckPatternPredicate4,
38290 OPC_EmitConvertToTarget2,
38291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38292 MVT::v4i64, 3, 0, 1, 3,
38293 15,
38294 OPC_CheckPredicate, 26,
38295 OPC_MoveParent,
38296 OPC_CheckType, MVT::v32i8,
38297 OPC_CheckPatternPredicate4,
38298 OPC_EmitConvertToTarget2,
38299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
38300 MVT::v32i8, 3, 0, 1, 3,
38301 15,
38302 OPC_CheckPredicate, 32,
38303 OPC_MoveParent,
38304 OPC_CheckType, MVT::v16i16,
38305 OPC_CheckPatternPredicate4,
38306 OPC_EmitConvertToTarget2,
38307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
38308 MVT::v16i16, 3, 0, 1, 3,
38309 0,
38310 115,
38311 OPC_CheckChild1Type, MVT::f32,
38312 OPC_RecordChild2,
38313 OPC_MoveChild2,
38314 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38315 OPC_Scope, 52,
38316 OPC_CheckPredicate, 18,
38317 OPC_SwitchType , 22, MVT::i64,
38318 OPC_MoveParent,
38319 OPC_CheckType, MVT::v4f32,
38320 OPC_CheckPatternPredicate2,
38321 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38322 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38323 MVT::i64, 2, 1, 3,
38324 OPC_EmitConvertToTarget2,
38325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38326 MVT::v4f32, 3, 0, 4, 5,
38327 22, MVT::i32,
38328 OPC_MoveParent,
38329 OPC_CheckType, MVT::v4f32,
38330 OPC_CheckPatternPredicate5,
38331 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38332 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38333 MVT::i32, 2, 1, 3,
38334 OPC_EmitConvertToTarget2,
38335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38336 MVT::v4f32, 3, 0, 4, 5,
38337 0,
38338 52,
38339 OPC_CheckPredicate, 25,
38340 OPC_SwitchType , 22, MVT::i64,
38341 OPC_MoveParent,
38342 OPC_CheckType, MVT::v8f32,
38343 OPC_CheckPatternPredicate3,
38344 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38345 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38346 MVT::i64, 2, 1, 3,
38347 OPC_EmitConvertToTarget2,
38348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38349 MVT::v8f32, 3, 0, 4, 5,
38350 22, MVT::i32,
38351 OPC_MoveParent,
38352 OPC_CheckType, MVT::v8f32,
38353 OPC_CheckPatternPredicate4,
38354 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38355 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38356 MVT::i32, 2, 1, 3,
38357 OPC_EmitConvertToTarget2,
38358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38359 MVT::v8f32, 3, 0, 4, 5,
38360 0,
38361 0,
38362 115,
38363 OPC_CheckChild1Type, MVT::f64,
38364 OPC_RecordChild2,
38365 OPC_MoveChild2,
38366 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38367 OPC_Scope, 52,
38368 OPC_CheckPredicate, 33,
38369 OPC_SwitchType , 22, MVT::i64,
38370 OPC_MoveParent,
38371 OPC_CheckType, MVT::v2f64,
38372 OPC_CheckPatternPredicate2,
38373 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38374 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38375 MVT::i64, 2, 1, 3,
38376 OPC_EmitConvertToTarget2,
38377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38378 MVT::v2f64, 3, 0, 4, 5,
38379 22, MVT::i32,
38380 OPC_MoveParent,
38381 OPC_CheckType, MVT::v2f64,
38382 OPC_CheckPatternPredicate5,
38383 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38384 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38385 MVT::i32, 2, 1, 3,
38386 OPC_EmitConvertToTarget2,
38387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38388 MVT::v2f64, 3, 0, 4, 5,
38389 0,
38390 52,
38391 OPC_CheckPredicate, 18,
38392 OPC_SwitchType , 22, MVT::i64,
38393 OPC_MoveParent,
38394 OPC_CheckType, MVT::v4f64,
38395 OPC_CheckPatternPredicate3,
38396 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38397 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38398 MVT::i64, 2, 1, 3,
38399 OPC_EmitConvertToTarget2,
38400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38401 MVT::v4f64, 3, 0, 4, 5,
38402 22, MVT::i32,
38403 OPC_MoveParent,
38404 OPC_CheckType, MVT::v4f64,
38405 OPC_CheckPatternPredicate4,
38406 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38407 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38408 MVT::i32, 2, 1, 3,
38409 OPC_EmitConvertToTarget2,
38410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38411 MVT::v4f64, 3, 0, 4, 5,
38412 0,
38413 0,
38414 0,
38415 99, TARGET_VAL(LoongArchISD::VSHUF4I),
38416 OPC_RecordChild0,
38417 OPC_RecordChild1,
38418 OPC_MoveChild1,
38419 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38420 OPC_CheckPredicate, 56,
38421 OPC_MoveParent,
38422 OPC_SwitchType , 9, MVT::v16i8,
38423 OPC_CheckPatternPredicate2,
38424 OPC_EmitConvertToTarget1,
38425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
38426 MVT::v16i8, 2, 0, 2,
38427 9, MVT::v8i16,
38428 OPC_CheckPatternPredicate2,
38429 OPC_EmitConvertToTarget1,
38430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
38431 MVT::v8i16, 2, 0, 2,
38432 9, MVT::v4i32,
38433 OPC_CheckPatternPredicate2,
38434 OPC_EmitConvertToTarget1,
38435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
38436 MVT::v4i32, 2, 0, 2,
38437 9, MVT::v32i8,
38438 OPC_CheckPatternPredicate3,
38439 OPC_EmitConvertToTarget1,
38440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
38441 MVT::v32i8, 2, 0, 2,
38442 9, MVT::v16i16,
38443 OPC_CheckPatternPredicate3,
38444 OPC_EmitConvertToTarget1,
38445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
38446 MVT::v16i16, 2, 0, 2,
38447 9, MVT::v8i32,
38448 OPC_CheckPatternPredicate3,
38449 OPC_EmitConvertToTarget1,
38450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
38451 MVT::v8i32, 2, 0, 2,
38452 9, MVT::v4f32,
38453 OPC_CheckPatternPredicate2,
38454 OPC_EmitConvertToTarget1,
38455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
38456 MVT::v4f32, 2, 0, 2,
38457 9, MVT::v8f32,
38458 OPC_CheckPatternPredicate3,
38459 OPC_EmitConvertToTarget1,
38460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
38461 MVT::v8f32, 2, 0, 2,
38462 0,
38463 60|128,1, TARGET_VAL(LoongArchISD::VREPLVEI),
38464 OPC_RecordChild0,
38465 OPC_RecordChild1,
38466 OPC_MoveChild1,
38467 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38468 OPC_Scope, 14,
38469 OPC_CheckPredicate, 32,
38470 OPC_MoveParent,
38471 OPC_CheckType, MVT::v16i8,
38472 OPC_CheckPatternPredicate2,
38473 OPC_EmitConvertToTarget1,
38474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
38475 MVT::v16i8, 2, 0, 2,
38476 14,
38477 OPC_CheckPredicate, 25,
38478 OPC_MoveParent,
38479 OPC_CheckType, MVT::v8i16,
38480 OPC_CheckPatternPredicate2,
38481 OPC_EmitConvertToTarget1,
38482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
38483 MVT::v8i16, 2, 0, 2,
38484 14,
38485 OPC_CheckPredicate, 18,
38486 OPC_MoveParent,
38487 OPC_CheckType, MVT::v4i32,
38488 OPC_CheckPatternPredicate2,
38489 OPC_EmitConvertToTarget1,
38490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
38491 MVT::v4i32, 2, 0, 2,
38492 14,
38493 OPC_CheckPredicate, 33,
38494 OPC_MoveParent,
38495 OPC_CheckType, MVT::v2i64,
38496 OPC_CheckPatternPredicate2,
38497 OPC_EmitConvertToTarget1,
38498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
38499 MVT::v2i64, 2, 0, 2,
38500 14,
38501 OPC_CheckPredicate, 32,
38502 OPC_MoveParent,
38503 OPC_CheckType, MVT::v32i8,
38504 OPC_CheckPatternPredicate3,
38505 OPC_EmitConvertToTarget1,
38506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
38507 MVT::v32i8, 2, 0, 2,
38508 14,
38509 OPC_CheckPredicate, 25,
38510 OPC_MoveParent,
38511 OPC_CheckType, MVT::v16i16,
38512 OPC_CheckPatternPredicate3,
38513 OPC_EmitConvertToTarget1,
38514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
38515 MVT::v16i16, 2, 0, 2,
38516 14,
38517 OPC_CheckPredicate, 18,
38518 OPC_MoveParent,
38519 OPC_CheckType, MVT::v8i32,
38520 OPC_CheckPatternPredicate3,
38521 OPC_EmitConvertToTarget1,
38522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
38523 MVT::v8i32, 2, 0, 2,
38524 14,
38525 OPC_CheckPredicate, 33,
38526 OPC_MoveParent,
38527 OPC_CheckType, MVT::v4i64,
38528 OPC_CheckPatternPredicate3,
38529 OPC_EmitConvertToTarget1,
38530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
38531 MVT::v4i64, 2, 0, 2,
38532 14,
38533 OPC_CheckPredicate, 18,
38534 OPC_MoveParent,
38535 OPC_CheckType, MVT::v4f32,
38536 OPC_CheckPatternPredicate2,
38537 OPC_EmitConvertToTarget1,
38538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
38539 MVT::v4f32, 2, 0, 2,
38540 14,
38541 OPC_CheckPredicate, 33,
38542 OPC_MoveParent,
38543 OPC_CheckType, MVT::v2f64,
38544 OPC_CheckPatternPredicate2,
38545 OPC_EmitConvertToTarget1,
38546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
38547 MVT::v2f64, 2, 0, 2,
38548 14,
38549 OPC_CheckPredicate, 18,
38550 OPC_MoveParent,
38551 OPC_CheckType, MVT::v8f32,
38552 OPC_CheckPatternPredicate3,
38553 OPC_EmitConvertToTarget1,
38554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
38555 MVT::v8f32, 2, 0, 2,
38556 14,
38557 OPC_CheckPredicate, 33,
38558 OPC_MoveParent,
38559 OPC_CheckType, MVT::v4f64,
38560 OPC_CheckPatternPredicate3,
38561 OPC_EmitConvertToTarget1,
38562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
38563 MVT::v4f64, 2, 0, 2,
38564 0,
38565 33, TARGET_VAL(LoongArchISD::XVPERMI),
38566 OPC_RecordChild0,
38567 OPC_RecordChild1,
38568 OPC_MoveChild1,
38569 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38570 OPC_CheckPredicate, 56,
38571 OPC_MoveParent,
38572 OPC_SwitchType , 9, MVT::v4i64,
38573 OPC_CheckPatternPredicate3,
38574 OPC_EmitConvertToTarget1,
38575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
38576 MVT::v4i64, 2, 0, 2,
38577 9, MVT::v4f64,
38578 OPC_CheckPatternPredicate3,
38579 OPC_EmitConvertToTarget1,
38580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
38581 MVT::v4f64, 2, 0, 2,
38582 0,
38583 91, TARGET_VAL(ISD::CTPOP),
38584 OPC_RecordChild0,
38585 OPC_SwitchType , 9, MVT::v16i8,
38586 OPC_CheckChild0Type, MVT::v16i8,
38587 OPC_CheckPatternPredicate1,
38588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_B),
38589 MVT::v16i8, 1, 0,
38590 9, MVT::v8i16,
38591 OPC_CheckChild0Type, MVT::v8i16,
38592 OPC_CheckPatternPredicate1,
38593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_H),
38594 MVT::v8i16, 1, 0,
38595 9, MVT::v4i32,
38596 OPC_CheckChild0Type, MVT::v4i32,
38597 OPC_CheckPatternPredicate1,
38598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_W),
38599 MVT::v4i32, 1, 0,
38600 9, MVT::v2i64,
38601 OPC_CheckChild0Type, MVT::v2i64,
38602 OPC_CheckPatternPredicate1,
38603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_D),
38604 MVT::v2i64, 1, 0,
38605 9, MVT::v32i8,
38606 OPC_CheckChild0Type, MVT::v32i8,
38607 OPC_CheckPatternPredicate0,
38608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_B),
38609 MVT::v32i8, 1, 0,
38610 9, MVT::v16i16,
38611 OPC_CheckChild0Type, MVT::v16i16,
38612 OPC_CheckPatternPredicate0,
38613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_H),
38614 MVT::v16i16, 1, 0,
38615 9, MVT::v8i32,
38616 OPC_CheckChild0Type, MVT::v8i32,
38617 OPC_CheckPatternPredicate0,
38618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_W),
38619 MVT::v8i32, 1, 0,
38620 9, MVT::v4i64,
38621 OPC_CheckChild0Type, MVT::v4i64,
38622 OPC_CheckPatternPredicate0,
38623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_D),
38624 MVT::v4i64, 1, 0,
38625 0,
38626 55|128,1, TARGET_VAL(LoongArchISD::VSHUF),
38627 OPC_RecordChild0,
38628 OPC_Scope, 15,
38629 OPC_CheckChild0Type, MVT::v16i8,
38630 OPC_RecordChild1,
38631 OPC_RecordChild2,
38632 OPC_CheckType, MVT::v16i8,
38633 OPC_CheckPatternPredicate1,
38634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
38635 MVT::v16i8, 3, 1, 2, 0,
38636 15,
38637 OPC_CheckChild0Type, MVT::v8i16,
38638 OPC_RecordChild1,
38639 OPC_RecordChild2,
38640 OPC_CheckType, MVT::v8i16,
38641 OPC_CheckPatternPredicate1,
38642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
38643 MVT::v8i16, 3, 0, 1, 2,
38644 28,
38645 OPC_CheckChild0Type, MVT::v4i32,
38646 OPC_RecordChild1,
38647 OPC_RecordChild2,
38648 OPC_SwitchType , 9, MVT::v4i32,
38649 OPC_CheckPatternPredicate1,
38650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
38651 MVT::v4i32, 3, 0, 1, 2,
38652 9, MVT::v4f32,
38653 OPC_CheckPatternPredicate1,
38654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
38655 MVT::v4f32, 3, 0, 1, 2,
38656 0,
38657 28,
38658 OPC_CheckChild0Type, MVT::v2i64,
38659 OPC_RecordChild1,
38660 OPC_RecordChild2,
38661 OPC_SwitchType , 9, MVT::v2i64,
38662 OPC_CheckPatternPredicate1,
38663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
38664 MVT::v2i64, 3, 0, 1, 2,
38665 9, MVT::v2f64,
38666 OPC_CheckPatternPredicate1,
38667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
38668 MVT::v2f64, 3, 0, 1, 2,
38669 0,
38670 15,
38671 OPC_CheckChild0Type, MVT::v32i8,
38672 OPC_RecordChild1,
38673 OPC_RecordChild2,
38674 OPC_CheckType, MVT::v32i8,
38675 OPC_CheckPatternPredicate0,
38676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
38677 MVT::v32i8, 3, 1, 2, 0,
38678 15,
38679 OPC_CheckChild0Type, MVT::v16i16,
38680 OPC_RecordChild1,
38681 OPC_RecordChild2,
38682 OPC_CheckType, MVT::v16i16,
38683 OPC_CheckPatternPredicate0,
38684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
38685 MVT::v16i16, 3, 0, 1, 2,
38686 28,
38687 OPC_CheckChild0Type, MVT::v8i32,
38688 OPC_RecordChild1,
38689 OPC_RecordChild2,
38690 OPC_SwitchType , 9, MVT::v8i32,
38691 OPC_CheckPatternPredicate0,
38692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
38693 MVT::v8i32, 3, 0, 1, 2,
38694 9, MVT::v8f32,
38695 OPC_CheckPatternPredicate0,
38696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
38697 MVT::v8f32, 3, 0, 1, 2,
38698 0,
38699 28,
38700 OPC_CheckChild0Type, MVT::v4i64,
38701 OPC_RecordChild1,
38702 OPC_RecordChild2,
38703 OPC_SwitchType , 9, MVT::v4i64,
38704 OPC_CheckPatternPredicate0,
38705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
38706 MVT::v4i64, 3, 0, 1, 2,
38707 9, MVT::v4f64,
38708 OPC_CheckPatternPredicate0,
38709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
38710 MVT::v4f64, 3, 0, 1, 2,
38711 0,
38712 0,
38713 124, TARGET_VAL(LoongArchISD::VPICKEV),
38714 OPC_RecordChild0,
38715 OPC_RecordChild1,
38716 OPC_SwitchType , 8, MVT::v16i8,
38717 OPC_CheckPatternPredicate1,
38718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
38719 MVT::v16i8, 2, 0, 1,
38720 8, MVT::v8i16,
38721 OPC_CheckPatternPredicate1,
38722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
38723 MVT::v8i16, 2, 0, 1,
38724 8, MVT::v4i32,
38725 OPC_CheckPatternPredicate1,
38726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
38727 MVT::v4i32, 2, 0, 1,
38728 8, MVT::v2i64,
38729 OPC_CheckPatternPredicate1,
38730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
38731 MVT::v2i64, 2, 0, 1,
38732 8, MVT::v32i8,
38733 OPC_CheckPatternPredicate0,
38734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
38735 MVT::v32i8, 2, 0, 1,
38736 8, MVT::v16i16,
38737 OPC_CheckPatternPredicate0,
38738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
38739 MVT::v16i16, 2, 0, 1,
38740 8, MVT::v8i32,
38741 OPC_CheckPatternPredicate0,
38742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
38743 MVT::v8i32, 2, 0, 1,
38744 8, MVT::v4i64,
38745 OPC_CheckPatternPredicate0,
38746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
38747 MVT::v4i64, 2, 0, 1,
38748 8, MVT::v4f32,
38749 OPC_CheckPatternPredicate1,
38750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
38751 MVT::v4f32, 2, 0, 1,
38752 8, MVT::v2f64,
38753 OPC_CheckPatternPredicate1,
38754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
38755 MVT::v2f64, 2, 0, 1,
38756 8, MVT::v8f32,
38757 OPC_CheckPatternPredicate0,
38758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
38759 MVT::v8f32, 2, 0, 1,
38760 8, MVT::v4f64,
38761 OPC_CheckPatternPredicate0,
38762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
38763 MVT::v4f64, 2, 0, 1,
38764 0,
38765 124, TARGET_VAL(LoongArchISD::VPICKOD),
38766 OPC_RecordChild0,
38767 OPC_RecordChild1,
38768 OPC_SwitchType , 8, MVT::v16i8,
38769 OPC_CheckPatternPredicate1,
38770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
38771 MVT::v16i8, 2, 0, 1,
38772 8, MVT::v8i16,
38773 OPC_CheckPatternPredicate1,
38774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
38775 MVT::v8i16, 2, 0, 1,
38776 8, MVT::v4i32,
38777 OPC_CheckPatternPredicate1,
38778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
38779 MVT::v4i32, 2, 0, 1,
38780 8, MVT::v2i64,
38781 OPC_CheckPatternPredicate1,
38782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
38783 MVT::v2i64, 2, 0, 1,
38784 8, MVT::v32i8,
38785 OPC_CheckPatternPredicate0,
38786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
38787 MVT::v32i8, 2, 0, 1,
38788 8, MVT::v16i16,
38789 OPC_CheckPatternPredicate0,
38790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
38791 MVT::v16i16, 2, 0, 1,
38792 8, MVT::v8i32,
38793 OPC_CheckPatternPredicate0,
38794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
38795 MVT::v8i32, 2, 0, 1,
38796 8, MVT::v4i64,
38797 OPC_CheckPatternPredicate0,
38798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
38799 MVT::v4i64, 2, 0, 1,
38800 8, MVT::v4f32,
38801 OPC_CheckPatternPredicate1,
38802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
38803 MVT::v4f32, 2, 0, 1,
38804 8, MVT::v2f64,
38805 OPC_CheckPatternPredicate1,
38806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
38807 MVT::v2f64, 2, 0, 1,
38808 8, MVT::v8f32,
38809 OPC_CheckPatternPredicate0,
38810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
38811 MVT::v8f32, 2, 0, 1,
38812 8, MVT::v4f64,
38813 OPC_CheckPatternPredicate0,
38814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
38815 MVT::v4f64, 2, 0, 1,
38816 0,
38817 124, TARGET_VAL(LoongArchISD::VPACKEV),
38818 OPC_RecordChild0,
38819 OPC_RecordChild1,
38820 OPC_SwitchType , 8, MVT::v16i8,
38821 OPC_CheckPatternPredicate1,
38822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
38823 MVT::v16i8, 2, 0, 1,
38824 8, MVT::v8i16,
38825 OPC_CheckPatternPredicate1,
38826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
38827 MVT::v8i16, 2, 0, 1,
38828 8, MVT::v4i32,
38829 OPC_CheckPatternPredicate1,
38830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
38831 MVT::v4i32, 2, 0, 1,
38832 8, MVT::v2i64,
38833 OPC_CheckPatternPredicate1,
38834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
38835 MVT::v2i64, 2, 0, 1,
38836 8, MVT::v32i8,
38837 OPC_CheckPatternPredicate0,
38838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
38839 MVT::v32i8, 2, 0, 1,
38840 8, MVT::v16i16,
38841 OPC_CheckPatternPredicate0,
38842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
38843 MVT::v16i16, 2, 0, 1,
38844 8, MVT::v8i32,
38845 OPC_CheckPatternPredicate0,
38846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
38847 MVT::v8i32, 2, 0, 1,
38848 8, MVT::v4i64,
38849 OPC_CheckPatternPredicate0,
38850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
38851 MVT::v4i64, 2, 0, 1,
38852 8, MVT::v4f32,
38853 OPC_CheckPatternPredicate1,
38854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
38855 MVT::v4f32, 2, 0, 1,
38856 8, MVT::v2f64,
38857 OPC_CheckPatternPredicate1,
38858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
38859 MVT::v2f64, 2, 0, 1,
38860 8, MVT::v8f32,
38861 OPC_CheckPatternPredicate0,
38862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
38863 MVT::v8f32, 2, 0, 1,
38864 8, MVT::v4f64,
38865 OPC_CheckPatternPredicate0,
38866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
38867 MVT::v4f64, 2, 0, 1,
38868 0,
38869 124, TARGET_VAL(LoongArchISD::VPACKOD),
38870 OPC_RecordChild0,
38871 OPC_RecordChild1,
38872 OPC_SwitchType , 8, MVT::v16i8,
38873 OPC_CheckPatternPredicate1,
38874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
38875 MVT::v16i8, 2, 0, 1,
38876 8, MVT::v8i16,
38877 OPC_CheckPatternPredicate1,
38878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
38879 MVT::v8i16, 2, 0, 1,
38880 8, MVT::v4i32,
38881 OPC_CheckPatternPredicate1,
38882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
38883 MVT::v4i32, 2, 0, 1,
38884 8, MVT::v2i64,
38885 OPC_CheckPatternPredicate1,
38886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
38887 MVT::v2i64, 2, 0, 1,
38888 8, MVT::v32i8,
38889 OPC_CheckPatternPredicate0,
38890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
38891 MVT::v32i8, 2, 0, 1,
38892 8, MVT::v16i16,
38893 OPC_CheckPatternPredicate0,
38894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
38895 MVT::v16i16, 2, 0, 1,
38896 8, MVT::v8i32,
38897 OPC_CheckPatternPredicate0,
38898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
38899 MVT::v8i32, 2, 0, 1,
38900 8, MVT::v4i64,
38901 OPC_CheckPatternPredicate0,
38902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
38903 MVT::v4i64, 2, 0, 1,
38904 8, MVT::v4f32,
38905 OPC_CheckPatternPredicate1,
38906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
38907 MVT::v4f32, 2, 0, 1,
38908 8, MVT::v2f64,
38909 OPC_CheckPatternPredicate1,
38910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
38911 MVT::v2f64, 2, 0, 1,
38912 8, MVT::v8f32,
38913 OPC_CheckPatternPredicate0,
38914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
38915 MVT::v8f32, 2, 0, 1,
38916 8, MVT::v4f64,
38917 OPC_CheckPatternPredicate0,
38918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
38919 MVT::v4f64, 2, 0, 1,
38920 0,
38921 124, TARGET_VAL(LoongArchISD::VILVL),
38922 OPC_RecordChild0,
38923 OPC_RecordChild1,
38924 OPC_SwitchType , 8, MVT::v16i8,
38925 OPC_CheckPatternPredicate1,
38926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
38927 MVT::v16i8, 2, 0, 1,
38928 8, MVT::v8i16,
38929 OPC_CheckPatternPredicate1,
38930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
38931 MVT::v8i16, 2, 0, 1,
38932 8, MVT::v4i32,
38933 OPC_CheckPatternPredicate1,
38934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
38935 MVT::v4i32, 2, 0, 1,
38936 8, MVT::v2i64,
38937 OPC_CheckPatternPredicate1,
38938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
38939 MVT::v2i64, 2, 0, 1,
38940 8, MVT::v32i8,
38941 OPC_CheckPatternPredicate0,
38942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
38943 MVT::v32i8, 2, 0, 1,
38944 8, MVT::v16i16,
38945 OPC_CheckPatternPredicate0,
38946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
38947 MVT::v16i16, 2, 0, 1,
38948 8, MVT::v8i32,
38949 OPC_CheckPatternPredicate0,
38950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
38951 MVT::v8i32, 2, 0, 1,
38952 8, MVT::v4i64,
38953 OPC_CheckPatternPredicate0,
38954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
38955 MVT::v4i64, 2, 0, 1,
38956 8, MVT::v4f32,
38957 OPC_CheckPatternPredicate1,
38958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
38959 MVT::v4f32, 2, 0, 1,
38960 8, MVT::v2f64,
38961 OPC_CheckPatternPredicate1,
38962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
38963 MVT::v2f64, 2, 0, 1,
38964 8, MVT::v8f32,
38965 OPC_CheckPatternPredicate0,
38966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
38967 MVT::v8f32, 2, 0, 1,
38968 8, MVT::v4f64,
38969 OPC_CheckPatternPredicate0,
38970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
38971 MVT::v4f64, 2, 0, 1,
38972 0,
38973 124, TARGET_VAL(LoongArchISD::VILVH),
38974 OPC_RecordChild0,
38975 OPC_RecordChild1,
38976 OPC_SwitchType , 8, MVT::v16i8,
38977 OPC_CheckPatternPredicate1,
38978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
38979 MVT::v16i8, 2, 0, 1,
38980 8, MVT::v8i16,
38981 OPC_CheckPatternPredicate1,
38982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
38983 MVT::v8i16, 2, 0, 1,
38984 8, MVT::v4i32,
38985 OPC_CheckPatternPredicate1,
38986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
38987 MVT::v4i32, 2, 0, 1,
38988 8, MVT::v2i64,
38989 OPC_CheckPatternPredicate1,
38990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
38991 MVT::v2i64, 2, 0, 1,
38992 8, MVT::v32i8,
38993 OPC_CheckPatternPredicate0,
38994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
38995 MVT::v32i8, 2, 0, 1,
38996 8, MVT::v16i16,
38997 OPC_CheckPatternPredicate0,
38998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
38999 MVT::v16i16, 2, 0, 1,
39000 8, MVT::v8i32,
39001 OPC_CheckPatternPredicate0,
39002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
39003 MVT::v8i32, 2, 0, 1,
39004 8, MVT::v4i64,
39005 OPC_CheckPatternPredicate0,
39006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
39007 MVT::v4i64, 2, 0, 1,
39008 8, MVT::v4f32,
39009 OPC_CheckPatternPredicate1,
39010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
39011 MVT::v4f32, 2, 0, 1,
39012 8, MVT::v2f64,
39013 OPC_CheckPatternPredicate1,
39014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
39015 MVT::v2f64, 2, 0, 1,
39016 8, MVT::v8f32,
39017 OPC_CheckPatternPredicate0,
39018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
39019 MVT::v8f32, 2, 0, 1,
39020 8, MVT::v4f64,
39021 OPC_CheckPatternPredicate0,
39022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
39023 MVT::v4f64, 2, 0, 1,
39024 0,
39025 22|128,1, TARGET_VAL(ISD::FP_TO_SINT),
39026 OPC_RecordChild0,
39027 OPC_SwitchType , 85, MVT::v4i32,
39028 OPC_Scope, 9,
39029 OPC_CheckChild0Type, MVT::v4f32,
39030 OPC_CheckPatternPredicate1,
39031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
39032 MVT::v4i32, 1, 0,
39033 72,
39034 OPC_CheckChild0Type, MVT::v4f64,
39035 OPC_Scope, 33,
39036 OPC_CheckPatternPredicate3,
39037 OPC_EmitInteger64, 92|128,3,
39038 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39039 MVT::v32i8, 2, 0, 1,
39040 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39041 MVT::v32i8, 2, 2, 0,
39042 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39043 MVT::v32i8, 1, 3,
39044 OPC_EmitStringInteger32, LoongArch::sub_128,
39045 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39046 MVT::v4i32, 2, 4, 5,
39047 33,
39048 OPC_CheckPatternPredicate4,
39049 OPC_EmitInteger32, 92|128,3,
39050 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39051 MVT::v32i8, 2, 0, 1,
39052 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39053 MVT::v32i8, 2, 2, 0,
39054 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39055 MVT::v32i8, 1, 3,
39056 OPC_EmitStringInteger32, LoongArch::sub_128,
39057 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39058 MVT::v4i32, 2, 4, 5,
39059 0,
39060 0,
39061 7, MVT::v2i64,
39062 OPC_CheckPatternPredicate1,
39063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
39064 MVT::v2i64, 1, 0,
39065 7, MVT::v8i32,
39066 OPC_CheckPatternPredicate0,
39067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39068 MVT::v8i32, 1, 0,
39069 40, MVT::v4i64,
39070 OPC_Scope, 9,
39071 OPC_CheckChild0Type, MVT::v4f64,
39072 OPC_CheckPatternPredicate0,
39073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
39074 MVT::v4i64, 1, 0,
39075 27,
39076 OPC_CheckChild0Type, MVT::v4f32,
39077 OPC_CheckPatternPredicate0,
39078 OPC_EmitInteger64, 0,
39079 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
39080 MVT::v16i8, 1, 0,
39081 OPC_EmitStringInteger32, LoongArch::sub_128,
39082 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39083 MVT::v32i8, 3, 1, 2, 3,
39084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
39085 MVT::v4i64, 1, 4,
39086 0,
39087 0,
39088 22|128,1, TARGET_VAL(ISD::FP_TO_UINT),
39089 OPC_RecordChild0,
39090 OPC_SwitchType , 85, MVT::v4i32,
39091 OPC_Scope, 9,
39092 OPC_CheckChild0Type, MVT::v4f32,
39093 OPC_CheckPatternPredicate1,
39094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
39095 MVT::v4i32, 1, 0,
39096 72,
39097 OPC_CheckChild0Type, MVT::v4f64,
39098 OPC_Scope, 33,
39099 OPC_CheckPatternPredicate3,
39100 OPC_EmitInteger64, 92|128,3,
39101 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39102 MVT::v32i8, 2, 0, 1,
39103 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39104 MVT::v32i8, 2, 2, 0,
39105 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39106 MVT::v32i8, 1, 3,
39107 OPC_EmitStringInteger32, LoongArch::sub_128,
39108 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39109 MVT::v4i32, 2, 4, 5,
39110 33,
39111 OPC_CheckPatternPredicate4,
39112 OPC_EmitInteger32, 92|128,3,
39113 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39114 MVT::v32i8, 2, 0, 1,
39115 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39116 MVT::v32i8, 2, 2, 0,
39117 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39118 MVT::v32i8, 1, 3,
39119 OPC_EmitStringInteger32, LoongArch::sub_128,
39120 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39121 MVT::v4i32, 2, 4, 5,
39122 0,
39123 0,
39124 7, MVT::v2i64,
39125 OPC_CheckPatternPredicate1,
39126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
39127 MVT::v2i64, 1, 0,
39128 7, MVT::v8i32,
39129 OPC_CheckPatternPredicate0,
39130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
39131 MVT::v8i32, 1, 0,
39132 40, MVT::v4i64,
39133 OPC_Scope, 9,
39134 OPC_CheckChild0Type, MVT::v4f64,
39135 OPC_CheckPatternPredicate0,
39136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
39137 MVT::v4i64, 1, 0,
39138 27,
39139 OPC_CheckChild0Type, MVT::v4f32,
39140 OPC_CheckPatternPredicate0,
39141 OPC_EmitInteger64, 0,
39142 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
39143 MVT::v16i8, 1, 0,
39144 OPC_EmitStringInteger32, LoongArch::sub_128,
39145 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39146 MVT::v32i8, 3, 1, 2, 3,
39147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
39148 MVT::v4i64, 1, 4,
39149 0,
39150 0,
39151 80|128,5, TARGET_VAL(ISD::BUILD_VECTOR),
39152 OPC_RecordChild0,
39153 OPC_Scope, 11|128,2,
39154 OPC_CheckChild0TypeI64,
39155 OPC_CheckChild1Same, 0,
39156 OPC_Scope, 85,
39157 OPC_CheckChild2Same, 0,
39158 OPC_CheckChild3Same, 0,
39159 OPC_Scope, 68,
39160 OPC_MoveChild4,
39161 OPC_CheckSame, 0,
39162 OPC_MoveSibling5,
39163 OPC_CheckSame, 0,
39164 OPC_MoveSibling6,
39165 OPC_CheckSame, 0,
39166 OPC_MoveSibling7,
39167 OPC_CheckSame, 0,
39168 OPC_Scope, 42,
39169 OPC_MoveSibling, 8,
39170 OPC_CheckSame, 0,
39171 OPC_MoveSibling, 9,
39172 OPC_CheckSame, 0,
39173 OPC_MoveSibling, 10,
39174 OPC_CheckSame, 0,
39175 OPC_MoveSibling, 11,
39176 OPC_CheckSame, 0,
39177 OPC_MoveSibling, 12,
39178 OPC_CheckSame, 0,
39179 OPC_MoveSibling, 13,
39180 OPC_CheckSame, 0,
39181 OPC_MoveSibling, 14,
39182 OPC_CheckSame, 0,
39183 OPC_MoveSibling, 15,
39184 OPC_CheckSame, 0,
39185 OPC_MoveParent,
39186 OPC_CheckType, MVT::v16i8,
39187 OPC_CheckPatternPredicate2,
39188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
39189 MVT::v16i8, 1, 0,
39190 10,
39191 OPC_MoveParent,
39192 OPC_CheckType, MVT::v8i16,
39193 OPC_CheckPatternPredicate2,
39194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
39195 MVT::v8i16, 1, 0,
39196 0,
39197 9,
39198 OPC_CheckType, MVT::v4i32,
39199 OPC_CheckPatternPredicate2,
39200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
39201 MVT::v4i32, 1, 0,
39202 0,
39203 9,
39204 OPC_CheckType, MVT::v2i64,
39205 OPC_CheckPatternPredicate2,
39206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
39207 MVT::v2i64, 1, 0,
39208 36|128,1,
39209 OPC_CheckChild2Same, 0,
39210 OPC_CheckChild3Same, 0,
39211 OPC_Scope, 18|128,1,
39212 OPC_MoveChild4,
39213 OPC_CheckSame, 0,
39214 OPC_MoveSibling5,
39215 OPC_CheckSame, 0,
39216 OPC_MoveSibling6,
39217 OPC_CheckSame, 0,
39218 OPC_MoveSibling7,
39219 OPC_CheckSame, 0,
39220 OPC_Scope, 120,
39221 OPC_MoveSibling, 8,
39222 OPC_CheckSame, 0,
39223 OPC_MoveSibling, 9,
39224 OPC_CheckSame, 0,
39225 OPC_MoveSibling, 10,
39226 OPC_CheckSame, 0,
39227 OPC_MoveSibling, 11,
39228 OPC_CheckSame, 0,
39229 OPC_MoveSibling, 12,
39230 OPC_CheckSame, 0,
39231 OPC_MoveSibling, 13,
39232 OPC_CheckSame, 0,
39233 OPC_MoveSibling, 14,
39234 OPC_CheckSame, 0,
39235 OPC_MoveSibling, 15,
39236 OPC_CheckSame, 0,
39237 OPC_Scope, 74,
39238 OPC_MoveSibling, 16,
39239 OPC_CheckSame, 0,
39240 OPC_MoveSibling, 17,
39241 OPC_CheckSame, 0,
39242 OPC_MoveSibling, 18,
39243 OPC_CheckSame, 0,
39244 OPC_MoveSibling, 19,
39245 OPC_CheckSame, 0,
39246 OPC_MoveSibling, 20,
39247 OPC_CheckSame, 0,
39248 OPC_MoveSibling, 21,
39249 OPC_CheckSame, 0,
39250 OPC_MoveSibling, 22,
39251 OPC_CheckSame, 0,
39252 OPC_MoveSibling, 23,
39253 OPC_CheckSame, 0,
39254 OPC_MoveSibling, 24,
39255 OPC_CheckSame, 0,
39256 OPC_MoveSibling, 25,
39257 OPC_CheckSame, 0,
39258 OPC_MoveSibling, 26,
39259 OPC_CheckSame, 0,
39260 OPC_MoveSibling, 27,
39261 OPC_CheckSame, 0,
39262 OPC_MoveSibling, 28,
39263 OPC_CheckSame, 0,
39264 OPC_MoveSibling, 29,
39265 OPC_CheckSame, 0,
39266 OPC_MoveSibling, 30,
39267 OPC_CheckSame, 0,
39268 OPC_MoveSibling, 31,
39269 OPC_CheckSame, 0,
39270 OPC_MoveParent,
39271 OPC_CheckType, MVT::v32i8,
39272 OPC_CheckPatternPredicate3,
39273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
39274 MVT::v32i8, 1, 0,
39275 10,
39276 OPC_MoveParent,
39277 OPC_CheckType, MVT::v16i16,
39278 OPC_CheckPatternPredicate3,
39279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
39280 MVT::v16i16, 1, 0,
39281 0,
39282 10,
39283 OPC_MoveParent,
39284 OPC_CheckType, MVT::v8i32,
39285 OPC_CheckPatternPredicate3,
39286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
39287 MVT::v8i32, 1, 0,
39288 0,
39289 9,
39290 OPC_CheckType, MVT::v4i64,
39291 OPC_CheckPatternPredicate3,
39292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
39293 MVT::v4i64, 1, 0,
39294 0,
39295 0,
39296 11|128,2,
39297 OPC_CheckChild0TypeI32,
39298 OPC_CheckChild1Same, 0,
39299 OPC_Scope, 85,
39300 OPC_CheckChild2Same, 0,
39301 OPC_CheckChild3Same, 0,
39302 OPC_Scope, 68,
39303 OPC_MoveChild4,
39304 OPC_CheckSame, 0,
39305 OPC_MoveSibling5,
39306 OPC_CheckSame, 0,
39307 OPC_MoveSibling6,
39308 OPC_CheckSame, 0,
39309 OPC_MoveSibling7,
39310 OPC_CheckSame, 0,
39311 OPC_Scope, 42,
39312 OPC_MoveSibling, 8,
39313 OPC_CheckSame, 0,
39314 OPC_MoveSibling, 9,
39315 OPC_CheckSame, 0,
39316 OPC_MoveSibling, 10,
39317 OPC_CheckSame, 0,
39318 OPC_MoveSibling, 11,
39319 OPC_CheckSame, 0,
39320 OPC_MoveSibling, 12,
39321 OPC_CheckSame, 0,
39322 OPC_MoveSibling, 13,
39323 OPC_CheckSame, 0,
39324 OPC_MoveSibling, 14,
39325 OPC_CheckSame, 0,
39326 OPC_MoveSibling, 15,
39327 OPC_CheckSame, 0,
39328 OPC_MoveParent,
39329 OPC_CheckType, MVT::v16i8,
39330 OPC_CheckPatternPredicate5,
39331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
39332 MVT::v16i8, 1, 0,
39333 10,
39334 OPC_MoveParent,
39335 OPC_CheckType, MVT::v8i16,
39336 OPC_CheckPatternPredicate5,
39337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
39338 MVT::v8i16, 1, 0,
39339 0,
39340 9,
39341 OPC_CheckType, MVT::v4i32,
39342 OPC_CheckPatternPredicate5,
39343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
39344 MVT::v4i32, 1, 0,
39345 0,
39346 9,
39347 OPC_CheckType, MVT::v2i64,
39348 OPC_CheckPatternPredicate5,
39349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
39350 MVT::v2i64, 1, 0,
39351 36|128,1,
39352 OPC_CheckChild2Same, 0,
39353 OPC_CheckChild3Same, 0,
39354 OPC_Scope, 18|128,1,
39355 OPC_MoveChild4,
39356 OPC_CheckSame, 0,
39357 OPC_MoveSibling5,
39358 OPC_CheckSame, 0,
39359 OPC_MoveSibling6,
39360 OPC_CheckSame, 0,
39361 OPC_MoveSibling7,
39362 OPC_CheckSame, 0,
39363 OPC_Scope, 120,
39364 OPC_MoveSibling, 8,
39365 OPC_CheckSame, 0,
39366 OPC_MoveSibling, 9,
39367 OPC_CheckSame, 0,
39368 OPC_MoveSibling, 10,
39369 OPC_CheckSame, 0,
39370 OPC_MoveSibling, 11,
39371 OPC_CheckSame, 0,
39372 OPC_MoveSibling, 12,
39373 OPC_CheckSame, 0,
39374 OPC_MoveSibling, 13,
39375 OPC_CheckSame, 0,
39376 OPC_MoveSibling, 14,
39377 OPC_CheckSame, 0,
39378 OPC_MoveSibling, 15,
39379 OPC_CheckSame, 0,
39380 OPC_Scope, 74,
39381 OPC_MoveSibling, 16,
39382 OPC_CheckSame, 0,
39383 OPC_MoveSibling, 17,
39384 OPC_CheckSame, 0,
39385 OPC_MoveSibling, 18,
39386 OPC_CheckSame, 0,
39387 OPC_MoveSibling, 19,
39388 OPC_CheckSame, 0,
39389 OPC_MoveSibling, 20,
39390 OPC_CheckSame, 0,
39391 OPC_MoveSibling, 21,
39392 OPC_CheckSame, 0,
39393 OPC_MoveSibling, 22,
39394 OPC_CheckSame, 0,
39395 OPC_MoveSibling, 23,
39396 OPC_CheckSame, 0,
39397 OPC_MoveSibling, 24,
39398 OPC_CheckSame, 0,
39399 OPC_MoveSibling, 25,
39400 OPC_CheckSame, 0,
39401 OPC_MoveSibling, 26,
39402 OPC_CheckSame, 0,
39403 OPC_MoveSibling, 27,
39404 OPC_CheckSame, 0,
39405 OPC_MoveSibling, 28,
39406 OPC_CheckSame, 0,
39407 OPC_MoveSibling, 29,
39408 OPC_CheckSame, 0,
39409 OPC_MoveSibling, 30,
39410 OPC_CheckSame, 0,
39411 OPC_MoveSibling, 31,
39412 OPC_CheckSame, 0,
39413 OPC_MoveParent,
39414 OPC_CheckType, MVT::v32i8,
39415 OPC_CheckPatternPredicate4,
39416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
39417 MVT::v32i8, 1, 0,
39418 10,
39419 OPC_MoveParent,
39420 OPC_CheckType, MVT::v16i16,
39421 OPC_CheckPatternPredicate4,
39422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
39423 MVT::v16i16, 1, 0,
39424 0,
39425 10,
39426 OPC_MoveParent,
39427 OPC_CheckType, MVT::v8i32,
39428 OPC_CheckPatternPredicate4,
39429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
39430 MVT::v8i32, 1, 0,
39431 0,
39432 9,
39433 OPC_CheckType, MVT::v4i64,
39434 OPC_CheckPatternPredicate4,
39435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
39436 MVT::v4i64, 1, 0,
39437 0,
39438 0,
39439 96,
39440 OPC_CheckChild0Type, MVT::f32,
39441 OPC_CheckChild1Same, 0,
39442 OPC_CheckChild2Same, 0,
39443 OPC_CheckChild3Same, 0,
39444 OPC_Scope, 34,
39445 OPC_MoveChild4,
39446 OPC_CheckSame, 0,
39447 OPC_MoveSibling5,
39448 OPC_CheckSame, 0,
39449 OPC_MoveSibling6,
39450 OPC_CheckSame, 0,
39451 OPC_MoveSibling7,
39452 OPC_CheckSame, 0,
39453 OPC_MoveParent,
39454 OPC_CheckType, MVT::v8f32,
39455 OPC_CheckPatternPredicate0,
39456 OPC_EmitInteger64, 0,
39457 OPC_EmitStringInteger32, LoongArch::sub_32,
39458 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39459 MVT::v32i8, 3, 1, 0, 2,
39460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
39461 MVT::v8f32, 1, 3,
39462 50,
39463 OPC_CheckType, MVT::v4f32,
39464 OPC_Scope, 22,
39465 OPC_CheckPatternPredicate2,
39466 OPC_EmitInteger64, 0,
39467 OPC_EmitStringInteger32, LoongArch::sub_32,
39468 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39469 MVT::v16i8, 3, 1, 0, 2,
39470 OPC_EmitInteger64, 0,
39471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
39472 MVT::v4f32, 2, 3, 4,
39473 22,
39474 OPC_CheckPatternPredicate5,
39475 OPC_EmitInteger64, 0,
39476 OPC_EmitStringInteger32, LoongArch::sub_32,
39477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39478 MVT::v16i8, 3, 1, 0, 2,
39479 OPC_EmitInteger32, 0,
39480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
39481 MVT::v4f32, 2, 3, 4,
39482 0,
39483 0,
39484 81,
39485 OPC_CheckChild0Type, MVT::f64,
39486 OPC_CheckChild1Same, 0,
39487 OPC_SwitchType , 23, MVT::v4f64,
39488 OPC_CheckChild2Same, 0,
39489 OPC_CheckChild3Same, 0,
39490 OPC_CheckPatternPredicate0,
39491 OPC_EmitInteger64, 0,
39492 OPC_EmitStringInteger32, LoongArch::sub_64,
39493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39494 MVT::v32i8, 3, 1, 0, 2,
39495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
39496 MVT::v4f64, 1, 3,
39497 48, MVT::v2f64,
39498 OPC_Scope, 22,
39499 OPC_CheckPatternPredicate2,
39500 OPC_EmitInteger64, 0,
39501 OPC_EmitStringInteger32, LoongArch::sub_64,
39502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39503 MVT::v16i8, 3, 1, 0, 2,
39504 OPC_EmitInteger64, 0,
39505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
39506 MVT::v2f64, 2, 3, 4,
39507 22,
39508 OPC_CheckPatternPredicate5,
39509 OPC_EmitInteger64, 0,
39510 OPC_EmitStringInteger32, LoongArch::sub_64,
39511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39512 MVT::v16i8, 3, 1, 0, 2,
39513 OPC_EmitInteger32, 0,
39514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
39515 MVT::v2f64, 2, 3, 4,
39516 0,
39517 0,
39518 0,
39519 44|128,1, TARGET_VAL(LoongArchISD::VREPLVE),
39520 OPC_RecordChild0,
39521 OPC_RecordChild1,
39522 OPC_Scope, 83,
39523 OPC_CheckChild1TypeI64,
39524 OPC_SwitchType , 8, MVT::v16i8,
39525 OPC_CheckPatternPredicate2,
39526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
39527 MVT::v16i8, 2, 0, 1,
39528 8, MVT::v8i16,
39529 OPC_CheckPatternPredicate2,
39530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
39531 MVT::v8i16, 2, 0, 1,
39532 8, MVT::v4i32,
39533 OPC_CheckPatternPredicate2,
39534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
39535 MVT::v4i32, 2, 0, 1,
39536 8, MVT::v2i64,
39537 OPC_CheckPatternPredicate2,
39538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
39539 MVT::v2i64, 2, 0, 1,
39540 8, MVT::v32i8,
39541 OPC_CheckPatternPredicate3,
39542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
39543 MVT::v32i8, 2, 0, 1,
39544 8, MVT::v16i16,
39545 OPC_CheckPatternPredicate3,
39546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
39547 MVT::v16i16, 2, 0, 1,
39548 8, MVT::v8i32,
39549 OPC_CheckPatternPredicate3,
39550 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
39551 MVT::v8i32, 2, 0, 1,
39552 8, MVT::v4i64,
39553 OPC_CheckPatternPredicate3,
39554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
39555 MVT::v4i64, 2, 0, 1,
39556 0,
39557 83,
39558 OPC_CheckChild1TypeI32,
39559 OPC_SwitchType , 8, MVT::v16i8,
39560 OPC_CheckPatternPredicate5,
39561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
39562 MVT::v16i8, 2, 0, 1,
39563 8, MVT::v8i16,
39564 OPC_CheckPatternPredicate5,
39565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
39566 MVT::v8i16, 2, 0, 1,
39567 8, MVT::v4i32,
39568 OPC_CheckPatternPredicate5,
39569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
39570 MVT::v4i32, 2, 0, 1,
39571 8, MVT::v2i64,
39572 OPC_CheckPatternPredicate5,
39573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
39574 MVT::v2i64, 2, 0, 1,
39575 8, MVT::v32i8,
39576 OPC_CheckPatternPredicate4,
39577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
39578 MVT::v32i8, 2, 0, 1,
39579 8, MVT::v16i16,
39580 OPC_CheckPatternPredicate4,
39581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
39582 MVT::v16i16, 2, 0, 1,
39583 8, MVT::v8i32,
39584 OPC_CheckPatternPredicate4,
39585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
39586 MVT::v8i32, 2, 0, 1,
39587 8, MVT::v4i64,
39588 OPC_CheckPatternPredicate4,
39589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
39590 MVT::v4i64, 2, 0, 1,
39591 0,
39592 0,
39593 0,
39594 0
39595 }; // Total Array size is 80190 bytes
39596
39597 #undef TARGET_VAL
39598 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
39599}
39600#endif // GET_DAGISEL_BODY
39601
39602#ifdef GET_DAGISEL_DECL
39603bool CheckPatternPredicate(unsigned PredNo) const override;
39604#endif
39605#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
39606bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
39607#if DAGISEL_INLINE
39608 override
39609#endif
39610{
39611 switch (PredNo) {
39612 default: llvm_unreachable("Invalid predicate in table?");
39613 case 0: return (Subtarget->hasExtLASX());
39614 case 1: return (Subtarget->hasExtLSX());
39615 case 2: return (Subtarget->hasExtLSX()) && (Subtarget->is64Bit());
39616 case 3: return (Subtarget->hasExtLASX()) && (Subtarget->is64Bit());
39617 case 4: return (Subtarget->hasExtLASX()) && !((Subtarget->is64Bit()));
39618 case 5: return (Subtarget->hasExtLSX()) && !((Subtarget->is64Bit()));
39619 case 6: return (Subtarget->is64Bit()) && (Subtarget->is64Bit());
39620 case 7: return (Subtarget->is64Bit());
39621 case 8: return !((Subtarget->is64Bit()));
39622 case 9: return (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39623 case 10: return (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39624 case 11: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit());
39625 case 12: return (Subtarget->hasBasicF()) && !((Subtarget->is64Bit()));
39626 case 13: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit());
39627 case 14: return (Subtarget->hasBasicD()) && !((Subtarget->is64Bit()));
39628 case 15: return (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
39629 case 16: return (Subtarget->hasBasicD());
39630 case 17: return (Subtarget->hasBasicF());
39631 case 18: return (Subtarget->hasFrecipe());
39632 case 19: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
39633 case 20: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39634 case 21: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
39635 case 22: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39636 case 23: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39637 case 24: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
39638 }
39639}
39640#endif // GET_DAGISEL_BODY
39641
39642#ifdef GET_DAGISEL_DECL
39643bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
39644#endif
39645#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
39646bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
39647#if DAGISEL_INLINE
39648 override
39649#endif
39650{
39651 switch (PredNo) {
39652 default: llvm_unreachable("Invalid predicate in table?");
39653 case 0: {
39654 // Predicate_vsplat_imm_eq_1
39655 SDNode *N = Node;
39656 (void)N;
39657
39658 APInt Imm;
39659 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39660
39661 if (N->getOpcode() == ISD::BITCAST)
39662 N = N->getOperand(Num: 0).getNode();
39663
39664 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39665 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
39666
39667 }
39668 case 1: {
39669 // Predicate_store
39670 SDNode *N = Node;
39671 (void)N;
39672 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
39673return true;
39674
39675 }
39676 case 2: {
39677 // Predicate_unindexedstore
39678 SDNode *N = Node;
39679 (void)N;
39680if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
39681return true;
39682
39683 }
39684 case 3: {
39685 // Predicate_vsplati64_imm_eq_63
39686 SDNode *N = Node;
39687 (void)N;
39688
39689 APInt Imm;
39690 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39691
39692 if (N->getOpcode() == ISD::BITCAST)
39693 N = N->getOperand(Num: 0).getNode();
39694
39695 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39696 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
39697
39698 }
39699 case 4: {
39700 // Predicate_load
39701 SDNode *N = Node;
39702 (void)N;
39703if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
39704return true;
39705
39706 }
39707 case 5: {
39708 // Predicate_atomic_cmp_swap_i32
39709 // Predicate_atomic_load_32
39710 // Predicate_atomic_load_add_i32
39711 // Predicate_atomic_load_and_i32
39712 // Predicate_atomic_load_max_i32
39713 // Predicate_atomic_load_min_i32
39714 // Predicate_atomic_load_nand_i32
39715 // Predicate_atomic_load_or_i32
39716 // Predicate_atomic_load_sub_i32
39717 // Predicate_atomic_load_umax_i32
39718 // Predicate_atomic_load_umin_i32
39719 // Predicate_atomic_load_xor_i32
39720 // Predicate_atomic_store_32
39721 // Predicate_atomic_swap_i32
39722 // Predicate_extloadi32
39723 // Predicate_sextloadi32
39724 // Predicate_zextloadi32
39725 SDNode *N = Node;
39726 (void)N;
39727if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
39728return true;
39729
39730 }
39731 case 6: {
39732 // Predicate_unindexedload
39733 SDNode *N = Node;
39734 (void)N;
39735if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
39736return true;
39737
39738 }
39739 case 7: {
39740 // Predicate_vsplati8_imm_eq_7
39741 SDNode *N = Node;
39742 (void)N;
39743
39744 APInt Imm;
39745 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39746
39747 if (N->getOpcode() == ISD::BITCAST)
39748 N = N->getOperand(Num: 0).getNode();
39749
39750 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39751 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 7;
39752
39753 }
39754 case 8: {
39755 // Predicate_vsplati16_imm_eq_15
39756 SDNode *N = Node;
39757 (void)N;
39758
39759 APInt Imm;
39760 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39761
39762 if (N->getOpcode() == ISD::BITCAST)
39763 N = N->getOperand(Num: 0).getNode();
39764
39765 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39766 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 15;
39767
39768 }
39769 case 9: {
39770 // Predicate_vsplati32_imm_eq_31
39771 SDNode *N = Node;
39772 (void)N;
39773
39774 APInt Imm;
39775 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39776
39777 if (N->getOpcode() == ISD::BITCAST)
39778 N = N->getOperand(Num: 0).getNode();
39779
39780 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39781 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 31;
39782
39783 }
39784 case 10: {
39785 // Predicate_AddLike
39786 SDNode *N = Node;
39787 (void)N;
39788
39789 return CurDAG->isBaseWithConstantOffset(Op: SDValue(N, 0));
39790
39791 }
39792 case 11: {
39793 // Predicate_simm12
39794 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
39795return isInt<12>(x: Imm);
39796 }
39797 case 12: {
39798 // Predicate_mul_const_oneuse
39799 SDNode *N = Node;
39800 (void)N;
39801
39802 if (auto *N1C = dyn_cast<ConstantSDNode>(Val: N->getOperand(Num: 1)))
39803 return N1C->hasOneUse();
39804 return false;
39805
39806 }
39807 case 13: {
39808 // Predicate_atomic_load_8
39809 // Predicate_atomic_store_8
39810 // Predicate_extloadi8
39811 // Predicate_sextloadi8
39812 // Predicate_zextloadi8
39813 SDNode *N = Node;
39814 (void)N;
39815if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
39816return true;
39817
39818 }
39819 case 14: {
39820 // Predicate_atomic_load_16
39821 // Predicate_atomic_store_16
39822 // Predicate_extloadi16
39823 // Predicate_sextloadi16
39824 // Predicate_zextloadi16
39825 SDNode *N = Node;
39826 (void)N;
39827if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
39828return true;
39829
39830 }
39831 case 15: {
39832 // Predicate_atomic_cmp_swap_i64
39833 // Predicate_atomic_load_64
39834 // Predicate_atomic_load_add_i64
39835 // Predicate_atomic_load_and_i64
39836 // Predicate_atomic_load_max_i64
39837 // Predicate_atomic_load_min_i64
39838 // Predicate_atomic_load_nand_i64
39839 // Predicate_atomic_load_or_i64
39840 // Predicate_atomic_load_sub_i64
39841 // Predicate_atomic_load_umax_i64
39842 // Predicate_atomic_load_umin_i64
39843 // Predicate_atomic_load_xor_i64
39844 // Predicate_atomic_store_64
39845 // Predicate_atomic_swap_i64
39846 SDNode *N = Node;
39847 (void)N;
39848if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
39849return true;
39850
39851 }
39852 case 16: {
39853 // Predicate_sextload
39854 SDNode *N = Node;
39855 (void)N;
39856if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
39857return true;
39858
39859 }
39860 case 17: {
39861 // Predicate_extload
39862 SDNode *N = Node;
39863 (void)N;
39864if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
39865return true;
39866
39867 }
39868 case 18: {
39869 // Predicate_immZExt2
39870 // Predicate_uimm2
39871 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
39872return isUInt<2>(x: Imm);
39873 }
39874 case 19: {
39875 // Predicate_zextload
39876 SDNode *N = Node;
39877 (void)N;
39878if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
39879return true;
39880
39881 }
39882 case 20: {
39883 // Predicate_atomic_load_add_i32_monotonic
39884 // Predicate_atomic_load_and_i32_monotonic
39885 // Predicate_atomic_load_nand_i32_monotonic
39886 // Predicate_atomic_load_nand_i64_monotonic
39887 // Predicate_atomic_load_or_i32_monotonic
39888 // Predicate_atomic_load_sub_i32_monotonic
39889 // Predicate_atomic_load_xor_i32_monotonic
39890 // Predicate_atomic_swap_i32_monotonic
39891 SDNode *N = Node;
39892 (void)N;
39893if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false;
39894return true;
39895
39896 }
39897 case 21: {
39898 // Predicate_atomic_load_add_i32_acquire
39899 // Predicate_atomic_load_and_i32_acquire
39900 // Predicate_atomic_load_nand_i32_acquire
39901 // Predicate_atomic_load_nand_i64_acquire
39902 // Predicate_atomic_load_or_i32_acquire
39903 // Predicate_atomic_load_sub_i32_acquire
39904 // Predicate_atomic_load_xor_i32_acquire
39905 // Predicate_atomic_swap_i32_acquire
39906 SDNode *N = Node;
39907 (void)N;
39908if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Acquire) return false;
39909return true;
39910
39911 }
39912 case 22: {
39913 // Predicate_atomic_load_add_i32_release
39914 // Predicate_atomic_load_and_i32_release
39915 // Predicate_atomic_load_nand_i32_release
39916 // Predicate_atomic_load_nand_i64_release
39917 // Predicate_atomic_load_or_i32_release
39918 // Predicate_atomic_load_sub_i32_release
39919 // Predicate_atomic_load_xor_i32_release
39920 // Predicate_atomic_swap_i32_release
39921 SDNode *N = Node;
39922 (void)N;
39923if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Release) return false;
39924return true;
39925
39926 }
39927 case 23: {
39928 // Predicate_atomic_load_add_i32_acq_rel
39929 // Predicate_atomic_load_and_i32_acq_rel
39930 // Predicate_atomic_load_nand_i32_acq_rel
39931 // Predicate_atomic_load_nand_i64_acq_rel
39932 // Predicate_atomic_load_or_i32_acq_rel
39933 // Predicate_atomic_load_sub_i32_acq_rel
39934 // Predicate_atomic_load_xor_i32_acq_rel
39935 // Predicate_atomic_swap_i32_acq_rel
39936 SDNode *N = Node;
39937 (void)N;
39938if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false;
39939return true;
39940
39941 }
39942 case 24: {
39943 // Predicate_atomic_load_add_i32_seq_cst
39944 // Predicate_atomic_load_and_i32_seq_cst
39945 // Predicate_atomic_load_nand_i32_seq_cst
39946 // Predicate_atomic_load_nand_i64_seq_cst
39947 // Predicate_atomic_load_or_i32_seq_cst
39948 // Predicate_atomic_load_sub_i32_seq_cst
39949 // Predicate_atomic_load_xor_i32_seq_cst
39950 // Predicate_atomic_swap_i32_seq_cst
39951 SDNode *N = Node;
39952 (void)N;
39953if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
39954return true;
39955
39956 }
39957 case 25: {
39958 // Predicate_immZExt3
39959 // Predicate_uimm3
39960 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
39961return isUInt<3>(x: Imm);
39962 }
39963 case 26: {
39964 // Predicate_uimm5
39965 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
39966return isUInt<5>(x: Imm);
39967 }
39968 case 27: {
39969 // Predicate_truncstore
39970 SDNode *N = Node;
39971 (void)N;
39972 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
39973return true;
39974
39975 }
39976 case 28: {
39977 // Predicate_atomic_store_unordered_monotonic_32
39978 // Predicate_atomic_store_unordered_monotonic_64
39979 SDNode *N = Node;
39980 (void)N;
39981
39982 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
39983 return !isReleaseOrStronger(AO: Ordering);
39984
39985 }
39986 case 29: {
39987 // Predicate_uimm6
39988 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
39989return isUInt<6>(x: Imm);
39990 }
39991 case 30: {
39992 // Predicate_truncstorei8
39993 SDNode *N = Node;
39994 (void)N;
39995if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
39996 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
39997return true;
39998
39999 }
40000 case 31: {
40001 // Predicate_truncstorei16
40002 SDNode *N = Node;
40003 (void)N;
40004if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
40005 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
40006return true;
40007
40008 }
40009 case 32: {
40010 // Predicate_immZExt4
40011 // Predicate_uimm4
40012 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40013return isUInt<4>(x: Imm);
40014 }
40015 case 33: {
40016 // Predicate_immZExt1
40017 // Predicate_uimm1
40018 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40019return isUInt<1>(x: Imm);
40020 }
40021 case 34: {
40022 // Predicate_truncstorei32
40023 SDNode *N = Node;
40024 (void)N;
40025if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
40026 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
40027return true;
40028
40029 }
40030 case 35: {
40031 // Predicate_fma_nsz
40032 SDNode *N = Node;
40033 (void)N;
40034
40035 return N->getFlags().hasNoSignedZeros();
40036
40037 }
40038 case 36: {
40039 // Predicate_uimm2_plus1
40040 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40041return isUInt<2>(x: Imm - 1);
40042 }
40043 case 37: {
40044 // Predicate_simm14_lsl2
40045 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40046return isShiftedInt<14,2>(x: Imm);
40047 }
40048 case 38: {
40049 // Predicate_atomic_store_release_seqcst_32
40050 // Predicate_atomic_store_release_seqcst_64
40051 SDNode *N = Node;
40052 (void)N;
40053
40054 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
40055 return isReleaseOrStronger(AO: Ordering);
40056
40057 }
40058 case 39: {
40059 // Predicate_uimm15
40060 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40061return isUInt<15>(x: Imm);
40062 }
40063 case 40: {
40064 // Predicate_uimm12
40065 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40066return isUInt<12>(x: Imm);
40067 }
40068 case 41: {
40069 // Predicate_uimm14
40070 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40071return isUInt<14>(x: Imm);
40072 }
40073 case 42: {
40074 // Predicate_atomic_cmp_swap_i32_failure_monotonic
40075 // Predicate_atomic_cmp_swap_i64_failure_monotonic
40076 SDNode *N = Node;
40077 (void)N;
40078
40079 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40080 return Ordering == AtomicOrdering::Monotonic;
40081
40082 }
40083 case 43: {
40084 // Predicate_atomic_cmp_swap_i32_failure_acquire
40085 // Predicate_atomic_cmp_swap_i64_failure_acquire
40086 SDNode *N = Node;
40087 (void)N;
40088
40089 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40090 return Ordering == AtomicOrdering::Acquire;
40091
40092 }
40093 case 44: {
40094 // Predicate_atomic_cmp_swap_i32_failure_release
40095 // Predicate_atomic_cmp_swap_i64_failure_release
40096 SDNode *N = Node;
40097 (void)N;
40098
40099 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40100 return Ordering == AtomicOrdering::Release;
40101
40102 }
40103 case 45: {
40104 // Predicate_atomic_cmp_swap_i32_failure_acq_rel
40105 // Predicate_atomic_cmp_swap_i64_failure_acq_rel
40106 SDNode *N = Node;
40107 (void)N;
40108
40109 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40110 return Ordering == AtomicOrdering::AcquireRelease;
40111
40112 }
40113 case 46: {
40114 // Predicate_atomic_cmp_swap_i32_failure_seq_cst
40115 // Predicate_atomic_cmp_swap_i64_failure_seq_cst
40116 SDNode *N = Node;
40117 (void)N;
40118
40119 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40120 return Ordering == AtomicOrdering::SequentiallyConsistent;
40121
40122 }
40123 case 47: {
40124 // Predicate_fpimm1
40125 auto *N = cast<ConstantFPSDNode>(Val: Node);
40126 (void)N;
40127return N->isExactlyValue(V: +1.0);
40128 }
40129 case 48: {
40130 // Predicate_AlslSlliImm
40131 auto *N = cast<ConstantSDNode>(Val: Node);
40132 (void)N;
40133
40134 if (!N->hasOneUse())
40135 return false;
40136 uint64_t Imm = N->getZExtValue();
40137 unsigned I1 = llvm::countr_zero(Val: Imm);
40138 uint64_t Rem = Imm >> I1;
40139 return Rem == 3 || Rem == 5 || Rem == 9 || Rem == 17;
40140
40141 }
40142 case 49: {
40143 // Predicate_simm32_hi16_lo12
40144 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40145
40146 return !isInt<12>(x: Imm) && isShiftedInt<16, 16>(x: Imm - SignExtend64<12>(x: Imm));
40147
40148 }
40149 case 50: {
40150 // Predicate_AddiPair
40151 auto *N = cast<ConstantSDNode>(Val: Node);
40152 (void)N;
40153
40154 if (!N->hasOneUse())
40155 return false;
40156 // The immediate operand must be in range [-4096,-2049] or [2048,4094].
40157 int64_t Imm = N->getSExtValue();
40158 return (-4096 <= Imm && Imm <= -2049) || (2048 <= Imm && Imm <= 4094);
40159
40160 }
40161 case 51: {
40162 // Predicate_simm12_plus1
40163 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40164return (isInt<12>(x: Imm) && Imm != -2048) || Imm == 2048;
40165 }
40166 case 52: {
40167 // Predicate_vsplatf32_fpimm_eq_1
40168 SDNode *N = Node;
40169 (void)N;
40170
40171 APInt Imm;
40172 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
40173 N = N->getOperand(Num: 0).getNode();
40174
40175 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
40176 Imm.getBitWidth() == EltTy.getSizeInBits() &&
40177 Imm == APFloat(+1.0f).bitcastToAPInt();
40178
40179 }
40180 case 53: {
40181 // Predicate_vsplatf64_fpimm_eq_1
40182 SDNode *N = Node;
40183 (void)N;
40184
40185 APInt Imm;
40186 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
40187 N = N->getOperand(Num: 0).getNode();
40188
40189 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
40190 Imm.getBitWidth() == EltTy.getSizeInBits() &&
40191 Imm == APFloat(+1.0).bitcastToAPInt();
40192
40193 }
40194 case 54: {
40195 // Predicate_fpimm0
40196 auto *N = cast<ConstantFPSDNode>(Val: Node);
40197 (void)N;
40198return N->isExactlyValue(V: +0.0);
40199 }
40200 case 55: {
40201 // Predicate_fpimm0neg
40202 auto *N = cast<ConstantFPSDNode>(Val: Node);
40203 (void)N;
40204return N->isExactlyValue(V: -0.0);
40205 }
40206 case 56: {
40207 // Predicate_immZExt8
40208 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40209return isUInt<8>(x: Imm);
40210 }
40211 case 57: {
40212 // Predicate_simm16_lsl16
40213 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40214return isShiftedInt<16, 16>(x: Imm);
40215 }
40216 case 58: {
40217 // Predicate_BstrinsImm
40218 auto *N = cast<ConstantSDNode>(Val: Node);
40219 (void)N;
40220
40221 if (!N->hasOneUse())
40222 return false;
40223 uint64_t Imm = N->getZExtValue();
40224 // andi can be used instead if Imm <= 0xfff.
40225 if (Imm <= 0xfff)
40226 return false;
40227 unsigned MaskIdx, MaskLen;
40228 return N->getValueType(ResNo: 0).getSizeInBits() == 32
40229 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
40230 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
40231
40232 }
40233 case 59: {
40234 // Predicate_simm16_lsl2
40235 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40236return isInt<16>(x: Imm>>2);
40237 }
40238 }
40239}
40240#endif // GET_DAGISEL_BODY
40241
40242#ifdef GET_DAGISEL_DECL
40243bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
40244 SDValue N, unsigned PatternNo,
40245 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
40246#endif
40247#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
40248bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
40249 SDValue N, unsigned PatternNo,
40250 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
40251#if DAGISEL_INLINE
40252 override
40253#endif
40254{
40255 unsigned NextRes = Result.size();
40256 switch (PatternNo) {
40257 default: llvm_unreachable("Invalid pattern # in table?");
40258 case 0:
40259 Result.resize(N: NextRes+1);
40260 return SelectBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
40261 case 1:
40262 Result.resize(N: NextRes+1);
40263 return selectVSplatImm<5>(N, SplatVal&: Result[NextRes+0].first);
40264 case 2:
40265 Result.resize(N: NextRes+1);
40266 return selectNonFIBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
40267 case 3:
40268 Result.resize(N: NextRes+1);
40269 return selectVSplatImm<5, true>(N, SplatVal&: Result[NextRes+0].first);
40270 case 4:
40271 Result.resize(N: NextRes+2);
40272 return SelectAddrConstant(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
40273 case 5:
40274 Result.resize(N: NextRes+1);
40275 return selectVSplatUimmPow2(N, SplatImm&: Result[NextRes+0].first);
40276 case 6:
40277 Result.resize(N: NextRes+1);
40278 return selectVSplatUimmInvPow2(N, SplatImm&: Result[NextRes+0].first);
40279 case 7:
40280 Result.resize(N: NextRes+1);
40281 return selectVSplatImm<8>(N, SplatVal&: Result[NextRes+0].first);
40282 case 8:
40283 Result.resize(N: NextRes+1);
40284 return selectShiftMaskGRLen(N, ShAmt&: Result[NextRes+0].first);
40285 case 9:
40286 Result.resize(N: NextRes+1);
40287 return selectVSplatImm<3>(N, SplatVal&: Result[NextRes+0].first);
40288 case 10:
40289 Result.resize(N: NextRes+1);
40290 return selectVSplatImm<4>(N, SplatVal&: Result[NextRes+0].first);
40291 case 11:
40292 Result.resize(N: NextRes+1);
40293 return selectVSplatImm<6>(N, SplatVal&: Result[NextRes+0].first);
40294 case 12:
40295 Result.resize(N: NextRes+1);
40296 return selectShiftMask32(N, ShAmt&: Result[NextRes+0].first);
40297 case 13:
40298 Result.resize(N: NextRes+1);
40299 return selectSExti32(N, Val&: Result[NextRes+0].first);
40300 }
40301}
40302#endif // GET_DAGISEL_BODY
40303
40304#ifdef GET_DAGISEL_DECL
40305SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
40306#endif
40307#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
40308SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
40309#if DAGISEL_INLINE
40310 override
40311#endif
40312{
40313 switch (XFormNo) {
40314 default: llvm_unreachable("Invalid xform # in table?");
40315 case 0: {
40316 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40317
40318 uint64_t Imm = N->getZExtValue();
40319 unsigned I1 = llvm::countr_zero(Val: Imm);
40320 uint64_t I0;
40321 switch (Imm >> I1) {
40322 case 3: I0 = 1; break;
40323 case 5: I0 = 2; break;
40324 case 9: I0 = 3; break;
40325 default: I0 = 4; break;
40326 }
40327 return CurDAG->getTargetConstant(Val: I0, DL: SDLoc(N),
40328 VT: N->getValueType(ResNo: 0));
40329
40330 }
40331 case 1: {
40332 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40333
40334 uint64_t Imm = N->getZExtValue();
40335 unsigned I1 = llvm::countr_zero(Val: Imm);
40336 return CurDAG->getTargetConstant(Val: I1, DL: SDLoc(N),
40337 VT: N->getValueType(ResNo: 0));
40338
40339 }
40340 case 2: {
40341 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40342
40343 auto Imm = N->getSExtValue();
40344 return CurDAG->getTargetConstant(Val: (Imm - SignExtend64<12>(x: Imm)) >> 16,
40345 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
40346
40347 }
40348 case 3: {
40349 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40350
40351 return CurDAG->getTargetConstant(Val: SignExtend64<12>(x: N->getSExtValue()),
40352 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
40353
40354 }
40355 case 4: {
40356 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40357
40358 int64_t Imm = N->getSExtValue() < 0 ? -2048 : 2047;
40359 return CurDAG->getTargetConstant(Val: Imm, DL: SDLoc(N),
40360 VT: N->getValueType(ResNo: 0));
40361
40362 }
40363 case 5: {
40364 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40365
40366 int64_t Imm = N->getSExtValue();
40367 int64_t Adj = Imm < 0 ? -2048 : 2047;
40368 return CurDAG->getTargetConstant(Val: Imm - Adj, DL: SDLoc(N),
40369 VT: N->getValueType(ResNo: 0));
40370
40371 }
40372 case 6: {
40373 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40374
40375 return CurDAG->getTargetConstant(Val: N->getSExtValue() >> 16, DL: SDLoc(N),
40376 VT: N->getValueType(ResNo: 0));
40377
40378 }
40379 case 7: {
40380 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40381
40382 auto CN = cast<ConstantSDNode>(Val: N);
40383 return CurDAG->getTargetConstant(Val: CN->getSExtValue(), DL: SDLoc(N), VT: Subtarget->getGRLenVT());
40384
40385 }
40386 case 8: {
40387 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40388
40389 uint64_t Imm = N->getZExtValue();
40390 unsigned MaskIdx, MaskLen;
40391 N->getValueType(ResNo: 0).getSizeInBits() == 32
40392 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
40393 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
40394 return CurDAG->getTargetConstant(Val: MaskIdx + MaskLen - 1, DL: SDLoc(N),
40395 VT: N->getValueType(ResNo: 0));
40396
40397 }
40398 case 9: {
40399 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40400
40401 uint64_t Imm = N->getZExtValue();
40402 unsigned MaskIdx, MaskLen;
40403 N->getValueType(ResNo: 0).getSizeInBits() == 32
40404 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
40405 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
40406 return CurDAG->getTargetConstant(Val: MaskIdx, DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
40407
40408 }
40409 case 10: {
40410 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40411
40412 return CurDAG->getTargetConstant(Val: -N->getSExtValue(), DL: SDLoc(N),
40413 VT: N->getValueType(ResNo: 0));
40414
40415 }
40416 case 11: {
40417 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40418
40419 uint64_t Check = N->getZExtValue();
40420 unsigned Mask = 0;
40421 if (Check & fcSNan)
40422 Mask |= LoongArch::FClassMaskSignalingNaN;
40423 if (Check & fcQNan)
40424 Mask |= LoongArch::FClassMaskQuietNaN;
40425 if (Check & fcPosInf)
40426 Mask |= LoongArch::FClassMaskPositiveInfinity;
40427 if (Check & fcNegInf)
40428 Mask |= LoongArch::FClassMaskNegativeInfinity;
40429 if (Check & fcPosNormal)
40430 Mask |= LoongArch::FClassMaskPositiveNormal;
40431 if (Check & fcNegNormal)
40432 Mask |= LoongArch::FClassMaskNegativeNormal;
40433 if (Check & fcPosSubnormal)
40434 Mask |= LoongArch::FClassMaskPositiveSubnormal;
40435 if (Check & fcNegSubnormal)
40436 Mask |= LoongArch::FClassMaskNegativeSubnormal;
40437 if (Check & fcPosZero)
40438 Mask |= LoongArch::FClassMaskPositiveZero;
40439 if (Check & fcNegZero)
40440 Mask |= LoongArch::FClassMaskNegativeZero;
40441 return CurDAG->getTargetConstant(Val: Mask, DL: SDLoc(N), VT: Subtarget->getGRLenVT());
40442
40443 }
40444 }
40445}
40446#endif // GET_DAGISEL_BODY
40447
40448
40449#ifdef DAGISEL_INLINE
40450#undef DAGISEL_INLINE
40451#endif
40452#ifdef DAGISEL_CLASS_COLONCOLON
40453#undef DAGISEL_CLASS_COLONCOLON
40454#endif
40455#ifdef GET_DAGISEL_DECL
40456#undef GET_DAGISEL_DECL
40457#endif
40458#ifdef GET_DAGISEL_BODY
40459#undef GET_DAGISEL_BODY
40460#endif
40461